求助,关于S32K144单片机BootLoader的跳转问题

这两天写了一个S32K144的BootLoader,应用程序的起始地址是0x4000,现在已经将Keil生成的Bin文件从头开始整个烧写进了从0x4000开始的Flash上,并且又读出来完成了检查。
但是程序跳转之后,发现应用程序没有成功运行。
我的跳转程序如下:

#define ApplicationAddress (0x4000)
typedef void (pFunction)(void);
pFunction Jump_To_Application;
void bl_jump2app()
{
uint32_t JumpAddress;
__disable_irq();
/
复位用过的模块 /
bsp_pit_deinit();
bsp_uart_deinit();
bsp_can_deinit();
JumpAddress = (__IO uint32_t) (ApplicationAddress + 4);
Jump_To_Application = (pFunction) JumpAddress;
__set_MSP(
(__IO uint32_t*) ApplicationAddress);
S32_SCB->VTOR = (uint32_t) ApplicationAddress;
Jump_To_Application();
}

Keil生成的BIN文件如下:
求助,关于S32K144单片机BootLoader的跳转问题_第1张图片
求助,关于S32K144单片机BootLoader的跳转问题_第2张图片
应用程序的KEIL设置如下:
求助,关于S32K144单片机BootLoader的跳转问题_第3张图片

希望各位大佬指正,谢谢!

你可能感兴趣的:(求助,关于S32K144单片机BootLoader的跳转问题)