Datasheet
8. AVR Memories
8.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.
8.2. In-System Reprogrammable Flash Program Memory
The ATmega16M1/32M1/64M1 contains 16/32/64Kbytes 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
16K × 16 / 32K x 16.
The Flash memory has an endurance of at least 10,000 write/erase cycles. The
ATmega16M1/32M1/64M1 Program Counter (PC) is 14 bits wide, thus addressing the 16K × 16 / 32K
program memory locations. The operation of Boot Program section and associated Boot Lock bits for
software protection are described in detail in Boot Loader Support – Read-While-Write Self-Programming.
Refer to Memory Programming for the description on 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 8-1. Program Memory Map ATmega16M1
0x0000
0x1FFF
Program Memory
Application Flash Section
Boot Flash Section
Atmel ATmega16M1/32M1/64M1 [DATASHEET]
Atmel-8209F-ATmega16M1/32M1/64M1_Datasheet_Complete-10/2016
32