AI Interactive Datasheet ATmega328
AVR · megaAVR

ATmega328 memory map

Where everything sits, at its exact address. The ATmega328 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.

Program memory

Flash, with the boot section at its top. Addresses in bytes.

Boot section0x7000 – 0x7FFF4 KB
Flash0x0000 – 0x7FFF32 KB

Data memory

Working registers, I/O registers and SRAM in one space.

SRAM0x0100 – 0x08FF2 KB
I/O registers0x0020 – 0x00FF224 B
Working registers R0–R310x0000 – 0x001F32 B

EEPROM

Non-volatile data, kept without power.

EEPROM0x0000 – 0x03FF1 KB

Every segment

SegmentSpaceStartEndSizePage
Working registers R0–R31data0x00000x001F32 B
I/O registersdata0x00200x00FF224 B
SRAMdata0x01000x08FF2 KB
EEPROMeeprom0x00000x03FF1 KB4 B
FUSESfuses0x00000x00023 B
LOCKBITSlockbits0x00000x00001 B
OSCCALosccal0x00000x00001 B
Flashprog0x00000x7FFF32 KB128 B
Boot sectionprog0x70000x7FFF4 KB128 B
Boot sectionprog0x78000x7FFF2 KB128 B
Boot sectionprog0x7C000x7FFF1 KB128 B
Boot sectionprog0x7E000x7FFF512 B128 B
SIGNATURESsignatures0x00000x00023 B