PIC32MM0256GPM028 memory map
Where everything sits, at its exact address. The PIC32MM0256GPM028 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 0x80000000 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).
SFRs (udidx)0xBFC41840 – 0xBFC4185320 B
Boot flash (bootconfig)0xBFC00000 – 0xBFC016FF5.8 KB
SFRs (periph1)0xBF808000 – 0xBF80FFFF32 KB
SFRs (periph0)0xBF800000 – 0xBF807FFF32 KB
Program flash0x9D000000 – 0x9D03FFFF256 KB
RAM0x80000000 – 0x80007FFF32 KB