Datasheet
18
7766F–AVR–11/10
ATmega16/32U4
5. AVR ATmega16U4/ATmega32U4 Memories
This section describes the different memories in the ATmega16U4/ATmega32U4. The AVR
architecture has two main memory spaces, the Data Memory and the Program Memory space.
In addition, the ATmega16U4/ATmega32U4 features an EEPROM Memory for data storage. All
three memory spaces are linear and regular.
Notes: 1. Byte address.
2. Word (16-bit) address.
5.1 In-System Reprogrammable Flash Program Memory
The ATmega16U4/ATmega32U4 contains 16/32K 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. 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 100,000 write/erase cycles. The
ATmega16U4/ATmega32U4 Program Counter (PC) is 16 bits wide, thus addressing the 32K
program memory locations. The operation of Boot Program section and associated Boot Lock
bits for software protection are described in detail in “Memory Programming” on page 346.
Table 5-1. Memory Mapping.
Memory Mnemonic ATmega32U4 ATmega16U4
Flash
Size
Flash size 32K bytes 16K bytes
Start Address
-
0x0000
End Address
Flash end
0x7FFF
(1)
0x3FFF
(2)
0x3FFF
(1)
0x1FFF
(2)
32
Registers
Size
- 32 bytes 32 bytes
Start Address
- 0x0000 0x0000
End Address
- 0x001F 0x001F
I/O
Registers
Size
- 64 bytes 64 bytes
Start Address
- 0x0020 0x0020
End Address
- 0x005F 0x005F
Ext I/O
Registers
Size
- 160 bytes 160 bytes
Start Address
- 0x0060 0x0060
End Address
- 0x00FF 0x00FF
Internal
SRAM
Size
ISRAM size 2,5K bytes 1.25K bytes
Start Address
ISRAM start 0x100 0x100
End Address
ISRAM end 0x0AFF 0x05FF
External
Memory
Not Present.
EEPROM
Size
E2 size 1K bytes 512 bytes
End Address
E2 end 0x03FF 0x01FF