PIC18F55Q35 memory map

Where everything sits, at its exact address. The PIC18F55Q35 keeps program and data apart (Harvard): program memory holds 16-bit instruction words, addressed in bytes, while the special function registers and the general-purpose RAM share the banked data memory.

Program memory

Instructions, the user ID and the configuration words.

Configuration words0x300000 – 0x30000B12 B
User ID0x200000 – 0x20003F64 B
Flash0x0000 – 0x7FFF32 KB

Data memory

Banked: special function registers and general-purpose RAM in each bank.

RAM, bank 120x0C00 – 0x0CFF256 B
RAM, bank 110x0B00 – 0x0BFF256 B
RAM, bank 100x0A00 – 0x0AFF256 B
RAM, bank 90x0900 – 0x09FF256 B
RAM, bank 80x0800 – 0x08FF256 B
RAM, bank 70x0700 – 0x07FF256 B
RAM, bank 60x0600 – 0x06FF256 B
RAM, bank 50x0560 – 0x05FF160 B
RAM, bank 00x0500 – 0x055F96 B

EEPROM

Non-volatile data, kept without power.

EEPROM0x0000 – 0x00FF256 B

Every segment

SegmentSpaceStartEndSizePage
RAM, bank 0data0x05000x055F96 B
General-purpose RAM, all banksdata0x05000x0CFF2 KB
RAM, bank 5data0x05600x05FF160 B
RAM, bank 6data0x06000x06FF256 B
RAM, bank 7data0x07000x07FF256 B
RAM, bank 8data0x08000x08FF256 B
RAM, bank 9data0x09000x09FF256 B
RAM, bank 10data0x0A000x0AFF256 B
RAM, bank 11data0x0B000x0BFF256 B
RAM, bank 12data0x0C000x0CFF256 B
EEPROMeeprom0x00000x00FF256 B
Flashprog0x00000x7FFF32 KB
User IDprog0x2000000x20003F64 B
Configuration wordsprog0x3000000x30000B12 B