Program memory
Flash, with the boot section at its top. Addresses in bytes.
Boot section0x3800 – 0x3FFF2 KB
Flash0x0000 – 0x3FFF16 KB
Where everything sits, at its exact address. The ATmega164A keeps program and data apart (Harvard): flash is read in words by the CPU, while registers, I/O and SRAM share one data address space.
Flash, with the boot section at its top. Addresses in bytes.
Working registers, I/O registers and SRAM in one space.
Non-volatile data, kept without power.
| Segment | Space | Start | End | Size | Page |
|---|---|---|---|---|---|
| Working registers R0–R31 | data | 0x0000 | 0x001F | 32 B | |
| I/O registers | data | 0x0020 | 0x00FF | 224 B | |
| SRAM | data | 0x0100 | 0x04FF | 1 KB | |
| EEPROM | eeprom | 0x0000 | 0x01FF | 512 B | 4 B |
| FUSES | fuses | 0x0000 | 0x0002 | 3 B | |
| LOCKBITS | lockbits | 0x0000 | 0x0000 | 1 B | |
| OSCCAL | osccal | 0x0000 | 0x0000 | 1 B | |
| Flash | prog | 0x0000 | 0x3FFF | 16 KB | 128 B |
| Boot section | prog | 0x3800 | 0x3FFF | 2 KB | 128 B |
| Boot section | prog | 0x3C00 | 0x3FFF | 1 KB | 128 B |
| Boot section | prog | 0x3E00 | 0x3FFF | 512 B | 128 B |
| Boot section | prog | 0x3F00 | 0x3FFF | 256 B | 128 B |
| SIGNATURES | signatures | 0x0000 | 0x0002 | 3 B |