Datasheet

19
8272E–AVR–04/2013
ATmega164A/PA/324A/PA/644A/PA/1284/P
8. AVR memories
8.1 Overview
This section describes the different memories in the Atmel
ATmega164A/164PA/324A/324PA/644A/644PA/1284/1284P. The AVR architecture has two
main memory spaces, the Data Memory and the Program Memory space. In addition, the
ATmega164A/164PA/324A/324PA/644A/644PA/1284/1284P features an EEPROM Memory for
data storage. All three memory spaces are linear and regular.
8.2 In-System Reprogrammable Flash Program Memory
The ATmega164A/164PA/324A/324PA/644A/644PA/1284/1284P contains 16/32/64/128Kbytes
On-chip In-System Reprogrammable Flash memory for program storage. Since all AVR instruc-
tions are 16 or 32 bits wide, the Flash is organized as 32/64 x 16. For software security, the
Flash Program memory space is divided into two sections, Boot Program section and Applica-
tion Program section.
The Flash memory has an endurance of at least 10,000 write/erase cycles. The
ATmega164A/164PA/324A/324PA/644A/644PA/1284/1284P Program Counter (PC) is 15/16
bits wide, thus addressing the 32/64K program memory locations. The operation of Boot Pro-
gram section and associated Boot Lock bits for software protection are described in detail in
”Memory programming” on page 298. ”Memory programming” on page 298 contains a detailed
description on Flash data serial downloading using the SPI pins or the JTAG interface.
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 Tim-
ing” on page 15.