I am new to NXP S32K1xx, I have a bootloader project with S32K116 now. the memory map is:
bootloader : 0 ~ 3FFF
application: 4000 ~ flash end.
in debug mode memory view, I see that application is programmed."Jump_To_Application" is called after programming is done.
/* APP_START_ADDRESS = 0x4000 */
but seems it doesn't work because I never see the application is running.
below is the implement of "Jump_To_Application"
void Jump_To_Application(uint32_t userSP, uint32_t userStartup)
if(userSP == 0xFFFFFFFF)
/* Set up stack pointer */
__asm("msr msp, r0");
__asm("msr psp, r0");
/* Relocate vector table */
S32_SCB->VTOR = (uint32_t)APP_START_ADDRESS;
/* Jump to application PC (r1) */
__asm("mov pc, r1");
I set a breakpoint at the beginning of "Jump_To_Application", I check the register "r0" , and "r1",
"r0" is 0x20003800
"r1" is 0x4411.
I don't find any problem, am I missing anything.
Any comment is welcome.