/* USER CODE BEGIN 0 */typedef void (*APP_START_F)(void); //定义一个函数类型的参数.
static APP_START_F s_pfnAppStart = NULL;
//跳转到应用程序段
uint8_t Jump_to_APP(void)// 实现跳转到app
{
uint32_t JumpAddress;
if (((*(__IO uint32_t*)APPLICATION_ADDRESS) & 0x2FFE0000 ) == 0x20000000)
{
JumpAddress = *(__IO uint32_t*) (APPLICATION_ADDRESS + 4);
s_pfnAppStart = (APP_START_F) JumpAddress;
__set_MSP(*(__IO uint32_t*) APPLICATION_ADDRESS);
s_pfnAppStart();
return 0;
}
else return 1;
}
/* USER CODE END 0 */
这个函数连结果都返回不了,总是卡死在倒数第2句上!
是因为我boot中用到的中断没有清吗?可是我APP中也都有这些中断的使用啊,没理由进入死循环啊。。。。。
哪位大神帮忙分析下原因~
谢谢!
是中断向量表迁移的时候出了问题
一周热门 更多>