Datasheet
18
ATmega16U4/32U4 [DATASHEET]
Atmel-7766J-USB-ATmega16U4/32U4-Datasheet_04/2016
5. AVR Memories
This section describes the different memories in the device. The AVR architecture has two main memory
spaces, the Data Memory and the Program Memory space. In addition, the device 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 device 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 device 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 353. “Memory Programming” on page 353 contains a detailed description on Flash data serial
downloading using the SPI pins or the JTAG interface.
Table 5-1. Memory Mapping
Memory Mnemonic ATmega32U4 ATmega16U4
Flash
Size
Flash size 32KB 16KB
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.5KB 1.25KB
Start Address
ISRAM start 0x100 0x100
End Address
ISRAM end 0x0AFF 0x05FF
External Memory
Not Present.
EEPROM
Size
E2 size 1KB 512 bytes
End Address
E2 end 0x03FF 0x01FF