
17
ATmega16M1/32M1/64M1 [DATASHEET]
8209E–AVR–11/2012
7.
Memories
7.1
Overview
This section describes the different memories in the Atmel ATmega16M1/32M1/64M1. The AVR architecture has
t w o main memory spaces, the Data Memor y and t he Pr ogram Memor y sp ace. I n addition , the
ATmega16M1/32M1/64M1 features an EEPROM Memory for data storage. All three memory spaces are linear
and regular.
7.2
In-system reprogrammable flash program memory
The ATmega16M1/32M1/64M1 contains 16/32/64K bytes On-chip In-System Reprogrammable Flash memory for
program storage. Since all AVR instructions are 16 bits or 32 bits wide, the Flash is organized as 16K × 16 / 32K ×
16. For software security, the Flash Program memory space is divided into two sections, Boot Program section and
Application Program section.
The Flash memory has an endurance of at least 10,000 write/erase cycles. The ATmega16M1/32M1/64M1 Pro-
gram Counter (PC) is 14 bits wide, thus addressing the 16K program memory locations. The operation of Boot
Program section and associated Boot Lock bits for software protection are described in detail in
“Boot loader sup-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).
Figure 7-1.
Program memory map.
7.3
SRAM data memory
Figure 7-2 shows how the Atmel ATmega16M1/32M1/64M1 SRAM memory is organized.
0x0000
0x1FFF/0x3FFF/0x7FFF
Program memory
Application flash section
Boot flash section