我正在使用 stm32f4 探索板,我试图跳转到闪存的一部分,在那里我将开始执行另一个程序。变量ApplicationAddress
是 0x08008000。当我的代码到达此部分时,PC 会转到 0x0000000 并且系统会死机。我不确定到底发生了什么。感谢您的时间。我的跳转代码如下所示。
NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x8000);
JumpAddress = *(__IO uint32_t*) (ApplicationAddress + 4);
Jump_To_Application = (pFunction) JumpAddress;
/* Initialize user application's Stack Pointer */
__set_MSP(*(__IO uint32_t*) ApplicationAddress);
Jump_To_Application();