AVR Tutorials
The Best AVR Microcontroller Tutorials on the Web

AVR Memory Map

Tutorial Objectives

After completing this AVR microcontroller tutorial readers should be able to:
  • Give a technical definition for the term memory map.
  • Draw the memory map of an AVR microcontroller.
  • Extract the necessary information for a microcontroller's datasheet to create its memory map.

AVR Microcontrollers Memory Map

What is a memory map?

The memory map of a microcontroller is a diagram which gives the size, type and layout of the memories that are available in the microcontroller. The information use to construct the memory map is extracted from the datasheet of the microcontroller.

The diagram below gives the memory map for the ATMega8515 AVR 8-bit Microcontroller from Atmel. The ATMega8515 microcontroller contains three(3) blocks of memory: Program Memory, EEPROM Memory and Data Memory.

Data Memory Contains:

  • 32 8-bits General Purpose
  • 64 8-bits Input/Output Registers
  • 512 8-bits SRAM space

Program Memory Contains:

  • 8K byte Flash Memory
  • Organized as 4K-16bits space

EEPROM Memory Contains:

  • 512 8-bits EEPROM space

The information above was extracted from the ATMega81515 Data Sheet Summary. The full data sheet can be obtain on Atmel's website.

ATMega8515 Memory Map


  1. Although this map includes the EEPROM as part of the memory map its is seen by some as a peripheral and not included as part of the map.
  2. This memory map is basic. We could expand the General Purpose and Input/Output giving more details.
  3. The external memory option could also be included in the memory map.
  4. Each section can also be seen as a memory map in and of itself. Namely the Data Memory Map, the Program Memory Map and the EEPROM Memory Map.

AVR Tutorials hopes this tutorial on the AVR memory map was beneficial to you and looks forward to your continued visits for all your microcontroller tutorial needs.