Jonathan Oxer
[Talks & Presentations]
» Arduino Memory Architecture
Mon, Jan 18th 2010: Wellington, New Zealand: Arduino Miniconf
After spending years working on desktop or server systems with vast amounts of memory it can be hard to get your head around the restrictions of working within a microcontroller. Instead of floating around in a sea of gigabytes of memory you have to start watching every individual byte, and often the difference between defining a variable as a "byte" or an "int" can determine whether your program will fit in memory. This talk explains how the ATmega CPU segments its memory; how the stack and the heap actually work; what sorts of things can go wrong when you run out of memory; and how to tell how much memory your program is using.
After spending years working on desktop or server systems with vast amounts of memory it can be hard to get your head around the restrictions of working within a microcontroller. Instead of floating around in a sea of gigabytes of memory you have to start watching every individual byte, and often the difference between defining a variable as a "byte" or an "int" can determine whether your program will fit in memory. This talk explains how the ATmega CPU segments its memory; how the stack and the heap actually work; what sorts of things can go wrong when you run out of memory; and how to tell how much memory your program is using.
- 20100118-AMC-ArduinoMemory.pdf (555.5 kB)
[ Back to top ]
