Datasheet
12. AVR Memories
12.1 Overview
This section describes the different memory types in the device. The AVR architecture has two main
memory spaces, the Data Memory and the Program Memory space. In addition, the device features an
EEPROM Memory for data storage. All memory spaces are linear and regular.
12.2 In-System Reprogrammable Flash Program Memory
The ATmega48A/88A/168A contains 4K/8K/16Kbytes on-chip in-system reprogrammable Flash memory
for program storage. Since all AVR instructions are 16 or 32 bits wide, the Flash is organized as 2K/4K/8K
x 16. For software security, the Flash Program memory space is divided into two sections - Boot Loader
Section and Application Program Section in the device (ATmega88A and ATmega168A).
The ATmega48A/88A/168A Program Counter (PC) is 11/12/13 bits wide, thus addressing the 2K/4K/8K
program memory locations. The operation of the Boot Program section and associated Boot Lock bits for
software protection are described in detail in Self-Programming for ATmega48A and Boot Loader Support
– Read-While-Write Self-Programming. Refer to Memory Programming for the description of Flash data
serial downloading using the SPI pins.
Constant tables can be allocated within the entire program memory address space, using the Load
Program Memory (LPM) instruction.
Timing diagrams for instruction fetch and execution are presented in Instruction Execution Timing.
Figure 12-1. Program Memory Map ATmega48A
0x0000
0x7FF
Program Memory
Application Flash Section
ATmega48A/88A/168A
AVR Memories
© 2018 Microchip Technology Inc.
Datasheet Complete
DS40002007A-page 39