Memories, 1 overview, 2 in-system reprogrammable flash program memory – Rainbow Electronics ATmega64M1 User Manual
Page 18

18
8209A–AVR–08/09
ATmega16M1/32M1/64M1
8.
Memories
8.1
Overview
This section describes the different memories in the ATmega16M1/32M1/64M1. The AVR archi-
tecture has two main memory spaces, the Data Memory and the Program Memory space. In
addition, the ATmega16M1/32M1/64M1 features an EEPROM Memory for data storage. All
three memory spaces are linear and regular.
8.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 or 32 bits wide, the Flash
is organized as 16K x 16 / 32K x 16. For software security, the Flash Program memory space is
divided into two sections, Boot Program section and Application Program section.
T h e F la s h m e m o r y h a s a n e n d u r a n c e o f a t l e a s t 1 0 ,0 0 0 w r i t e / e r a s e c y c l e s . T h e
ATmega16M1/32M1/64M1 Program Counter (PC) is 14 bits wide, thus addressing the 16K pro-
gram 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-
“Memory Programming” on page 289
contains a detailed descrip-
tion 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.
Timing diagrams for instruction fetch and execution are presented in
Figure 8-1.
Program Memory Map
0x0000
0x1FFF/0x3FFF/0x7FFF
Program Memory
Application Flash Section
Boot Flash Section