Data Sheet
17
ATmega48A/PA/88A/PA/168A/PA/328/P [DATASHEET]
Atmel-8271H-AVR- ATmega-Datasheet_08/2014
8. AVR Memories
8.1 Overview
This section describes the different memories in the ATmega48A/PA/88A/PA/168A/PA/328/P. The AVR
architecture has two main memory spaces, the Data Memory and the Program Memory space. In addition, the
ATmega48A/PA/88A/PA/168A/PA/328/P features an EEPROM Memory for data storage. All three memory
spaces are linear and regular.
8.2 In-System Reprogrammable Flash Program Memory
The ATmega48A/PA/88A/PA/168A/PA/328/P contains 4/8/16/32Kbytes 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
2/4/8/16K x 16. For software security, the Flash Program memory space is divided into two sections, Boot
Loader Section and Application Program Section in ATmega88PA and ATmega168PA. See SPMEN description
in section ”SPMCSR – Store Program Memory Control and Status Register” on page 279 for more details.
The Flash memory has an endurance of at least 10,000 write/erase cycles. The
ATmega48A/PA/88A/PA/168A/PA/328/P Program Counter (PC) is 11/12/13/14 bits wide, thus addressing the
2/4/8/16K program memory locations. The operation of Boot Program section and associated Boot Lock bits for
software protection are described in detail in ”Self-Programming the Flash, ATmega 48A/48PA” on page 256
and ”Boot Loader Support – Read-While-Write Self-Programming” on page 264. ”Memory Programming” on
page 281 contains a detailed description on Flash Programming in SPI- or Parallel Programming mode.
Constant tables can be allocated within the entire program memory address space (see the LPM – Load
Program Memory instruction description).
Timing diagrams for instruction fetch and execution are presented in ”Instruction Execution Timing” on page 14.