AVR microcontroller memory map

AVR microcontrollers are using Harvard architecture. This means, that in this architecture a separate memory types (program memory and data memory) are used and connected with distinct buses. Such memory architecture allows processor to access program memory and data memory at the same time. This allows to increase the 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:

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

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

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.