-
Recent Posts
Recent Comments
Archives
- May 2022
- December 2021
- September 2021
- July 2021
- May 2021
- April 2021
- October 2019
- August 2019
- April 2019
- February 2019
- January 2019
- May 2018
- January 2018
- November 2017
- May 2017
- January 2017
- December 2016
- November 2016
- May 2016
- April 2016
- March 2016
- February 2016
- January 2016
- December 2015
- November 2015
- October 2015
- September 2015
- August 2015
- July 2015
- June 2015
- April 2015
- March 2015
- February 2015
- January 2015
- December 2014
- July 2014
- June 2014
- May 2014
- April 2014
- November 2013
- October 2013
- September 2013
- July 2013
- June 2013
- May 2013
- April 2013
- March 2013
- February 2013
- December 2012
- November 2012
- October 2012
- August 2012
- June 2012
- May 2012
- April 2012
- March 2012
- February 2012
Categories
Meta
Monthly Archives: January 2015
Passage of AVR GCC Function Parameters
For the curious, below is the method and order that parameters are passed to and from functions in the 8-bit AVR GCC world. A description of the method is given here. uint8_t func1(uint8_t a, uint8_t b, uint8_t c, uint8_t d) … Continue reading
Arduino C Pointers
Below is an arduino program which demonstrates some basic principles about pointers. Keep in mind, memory pointers (i.e. pointers to variables) are pointers to SRAM memory, while function pointers are pointers to flash memory. The AVR uses a modified Harvard … Continue reading
Stack Grows Down
At first thought, it probably seems odd that the stack “grows” downward. The reason it expands downward is a consequence of GCC compiler commonality with other PC architectures. The AVR µC data memory is proportioned in a similar fashion to … Continue reading
Dump and Disassemble AVR µC Flash Memory
Read Flash Memory To dump the contents of the flash memory of an AVR microcontroller, you simply need to connect an ISP programmer, and execute the appropriate avrdude command. For example, to dump an ATmega328P based arduino, using an USBTiny … Continue reading
Posted in Uncategorized
Tagged arduino, avr, avr-objdump, avrdude, dissasemble, flash, hex, ihex, memory
3 Comments
Arduino Stack Painting
The stack is a data structure which operates in a last-in-first-out (LIFO) method. In a LIFO data structure, the last element added to the structure must be the first one to be removed. It is typical to visualize a stack … Continue reading