beautypg.com

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

Page 18

background image

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-

Programming” on page 272

.

“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

“Instruction Execution Tim-

ing” on page 15

.

Figure 8-1.

Program Memory Map

0x0000

0x1FFF/0x3FFF/0x7FFF

Program Memory

Application Flash Section

Boot Flash Section