Skip to: Site menu | Main content

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.