7.3 In-System Reprogrammable Flash Program Memory

The AVR128DA28/32/48/64 contains 128 KB on-chip in-system reprogrammable Flash memory for program storage. Since all AVR instructions are 16 or 32 bits wide, the Flash is organized with a 16-bit data width. For write protection, the Flash program memory space can be divided into three sections: Boot Code section, Application Code section, and Application Data section. The code placed in one section may be restricted from writing to addresses in other sections. The Program Counter (PC) is able to address the whole program memory.

Refer to the Code Size (CODESIZE) and Boot Size (BOOTSIZE) descriptions and the Nonvolatile Memory Controller section for further details.

The Program Counter can address the whole program memory. The procedure for writing Flash memory is described in detail in the Nonvolatile Memory Controller (NVMCTRL) section.

Each 32 KB section from Flash memory can be mapped into the data memory space and will be accessible with LD/ST instructions. For LD/ST instructions, the Flash is mapped from address 0x8000 to 0xFFFF.

The entire Flash memory space can be also accessed with LPM/SPM instruction. For LPM/SPM instruction, the Flash start address is 0x0000.

Table 7-1. Physical Properties of Flash Memory
Property

AVR128DA28

AVR128DA32

AVR128DA48

AVR128DA64

Size128 KB
Page size512B
Number of pages256
Start address in data space0x8000
Start address in code space0x0