PIC32MX210F016C memory map

Where everything sits, at its exact address. The PIC32MX210F016C has one 32-bit address space, seen through the MIPS32 segments: program flash at 0x9D000000 (KSEG0, cached), the boot flash the chip starts from after a reset at 0xBFC00000, RAM at 0xA0000000 and the special function registers from 0xBF800000 (KSEG1, uncached). These are the virtual addresses XC32 and the datasheet's register tables use; for flash, boot flash, RAM and the SFRs the physical address is the same with the top three bits cleared (0x9D000000 is 0x1D000000).

Memory map

Program flash, boot flash, RAM and the SFRs in the one 32-bit space (the configuration words are listed below).

Boot flash (bootconfig)0xBFC00000 – 0xBFC00BEF3 KB
SFRs (periph2)0xBF880000 – 0xBF886FFF28 KB
SFRs (periph1)0xBF80F000 – 0xBF80FBFF3 KB
SFRs (periph0)0xBF800000 – 0xBF80A3FF41 KB
RAM0xA0000000 – 0xA0000FFF4 KB
Program flash0x9D000000 – 0x9D003FFF16 KB

Every segment

SegmentSpaceStartEndSizePage
Program flashbase0x9D0000000x9D003FFF16 KB
RAMbase0xA00000000xA0000FFF4 KB
SFRs (periph0)base0xBF8000000xBF80A3FF41 KB
SFRs (periph1)base0xBF80F0000xBF80FBFF3 KB
SFRs (periph2)base0xBF8800000xBF886FFF28 KB
Boot flash (bootconfig)base0xBFC000000xBFC00BEF3 KB
Configuration words (config)base0xBFC00BF00xBFC00BFF16 B