stm32 在线升级 总结
扫描二维码
随时随地手机看文章
一、前两篇博客实现的功能是在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程序跳转成功,则会在端点处停下来。