5. AVR AT90USB64/128 Memories
This section describes the different memories in the AT90USB64/128. The AVR architecture has
two main memory spaces, the Data Memory and the Program Memory space. In addition, the
AT90USB64/128 features an EEPROM Memory for data storage. All three memory spaces are
linear and regular.
Table 5-1.
Memory
Memory Mapping.
Mnemonic
AT90USB64
64 K bytes
0x00000
AT90USB128
Size
Flash size
-
128K bytes
Start Address
Flash
0x0FFFF(1)
0x7FFF(2)
0x1FFFF(1)
0xFFFF(2)
End Address
Flash end
Size
-
32 bytes
0x0000
32
Registers
Start Address
End Address
Size
-
-
0x001F
-
64 bytes
0x0020
I/O
Start Address
End Address
Size
-
Registers
-
0x005F
-
160 bytes
0x0060
Ext I/O
Start Address
End Address
Size
-
Registers
-
0x00FF
4 K bytes
0x0100
ISRAM size
ISRAM start
ISRAM end
XMem size
XMem start
XMem end
E2 size
-
8 K bytes
0x20FF
0x2100
Internal
SRAM
Start Address
End Address
Size
0x10FF
0-64 K bytes
0x1100
External
Memory
Start Address
End Address
Size
0xFFFF
2 K bytes
0x0000
4K bytes
0x0FFF
Start Address
End Address
EEPROM
E2 end
0x07FF
Notes: 1. Byte address.
2. Word (16-bit) address.
5.1
In-System Reprogrammable Flash Program Memory
The AT90USB64/128 contains 128K 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
64K 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
AT90USB64/128 Program Counter (PC) is 16 bits wide, thus addressing the 128K program
18
AT90USB64/128
7593A–AVR–02/06