IAP程序跳转之后死机现象

2019-10-15 23:43发布

 

 
 

请救原子哥!
写了IAP程序想练习一下这个功能的,从串口接口BIN文件是可以的,而且也能写入FLASH,但在跳转时,感觉已经进入APP程序了,就出现死机不动了。
几张截图,如下:

 
 

 




      

 

出现这种状况实在是不解啊,请指点迷津
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
22条回答
小陀螺爱炒蛋
1楼-- · 2019-10-18 05:31
中断向量表跳转后需要重新配置,不知道题主有没有做
zc123
2楼-- · 2019-10-18 06:58
hejin 发表于 2016-12-5 10:56
楼主怎么解决的啊

如果bootload使用了中断配置,需要在跳转前清除相应中断设置位,这样就可以避免跳转后触发中断导致出现异常。
具体实现是跳转函数前添加
__ASM volatile ("cpsid i");
或者
__disable_irq(); (需要头文件core_cm3.h,如果没有用上面那个)
swallow_sw
3楼-- · 2019-10-18 12:54
遇到同样的问题: IAP升级之后程序可以跳转,但是进不了任何中断
513393302@qq.co
4楼-- · 2019-10-18 15:58
17楼正确
出现进入APP后死机的朋友,请在APP代码里面第一条语句执行
SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET
这句代码我猜测的意思 是   把中断APP程序中的中断向量表偏移成APP的中断向量表的位置
如果在APP代码中不加这个偏移,那么在APP代码中一进中断,那么程序就恢复不了了,程序会进入硬件中断出不来了

一周热门 更多>