AVR microcontroller memory map

Topics:

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

Each memory type has its own address space:

 AVR microcontroller Memory Map

 

For instance few Atmega series memory map examples:

Type

Flash

RAM

EEPROM

F_END

Size, kB

RAMEND

Size, kB

E_END

Size, kB

Atmega8

$0FFF

8

$045F

1

$1FF

0.5

Atmega32

$3FFF

32

$085F

2

$3FF

1

Atmega64

$7FFF

64

$10FF

4

$7FF

2

Atmega128

$FFFF

128

$10FF

4

$FFF

4