×
单片机 > 单片机程序设计 > 详情

stm32 在线升级 总结

发布时间:2020-08-21 发布时间:
|

一、前两篇博客实现的功能是在APP和IAP之间进行程序跳转;

二、这里面有以下需要注意的地方;

1、程序跳转函数切记不要在定时器中断里编写,否则程序可以正常跳转但是中断功能却不能执行。原因,可以参考以下链接;

http://xzq1019.blog.163.com/blog/static/5996566520100181146689/

就是,在中断里进行跳转的话,stm32会认为跳转函数只是中断处理函数的一部分,所以会出现挂起,不能再响应中断。一般的做法是在中断里设标志位,在主函数里进行跳转。

2、在IAP程序跳转前关闭总中断,在跳转到APP程序后,打开总中断。

3、中断的打开和关闭可以利用下面的函数

__disable_irq();   

__enable_irq();

4、有些时候为了验证IAP程序有没有成功跳转到APP模式下,可以直接进行APP程序的调试。在APP程序的第一行代码设置断点,如果IAP程序跳转成功,则会在端点处停下来。




『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
单片机的抗干扰措施有哪些