AVR microcontroller memory map

AVR microcontrollers are using Harvard architecture. This means that separate memory types (program memory and data memory) are used and connected with distinct buses in this architecture. Such memory architecture allows processors to access program memory and data memory at the same time. This allows increasing the performance of MCU comparing to CISC architecture, where the CPU uses the same bus for accessing program memory and data memory.

Each memory type has its own address space:

AVR memory map

For instance few Atmega series memory map examples:

Flash RAM EEPROM 
 TypeF_ENDSize, kBRAMENDSize, kBE_ENDSize, kB
Atmega8$0FFF8$045F1$1FF0.5
Atmega32$3FFF32$085F2$3FF1
Atmega64$7FFF64$10FF4$7FF2
Atmega128$FFFF128$10FF4$FFF4

Refer for more information in specific datasheet of your selected MCU.

Leave a Reply