3.5 CPU Boot
At Reset, the Cortex®-M4 processors always boot from a vector table at address zero. The processor reads the Main Stack Pointer value from address 0x0 and code entry point (Reset vector) from address 0x4. In the PIC32CX-BZ6 family of devices, the 0x0 address points to the secure boot ROM where the CPU starts after Reset. The Reset handler and interrupt vectors are stored here.
After the boot code is done running and the secure boot code is done with the authentication procedure, the program jumps to the application code image in the Flash section. The stack pointer and Reset vector are permanent in the boot ROM and will be pointing to the address in ROM code itself. Therefore, the debugger does not need to write the application Flash image-specific vector into these addresses.