STM32CbueMX之 USB下载更新固件Download Firmware Update(DFU)之一BootLoader程序编写https://blog.csdn.net/sudaroot/article/details/102549606
STM32CbueMX之 USB下载更新固件Download Firmware Update(DFU)之二APP编写及烧录升级https://blog.csdn.net/sudaroot/article/details/102743141
STM32CbueMX之 USB下载更新固件Download Firmware Update(DFU)之三Leave DFU mode会卡死https://blog.csdn.net/sudaroot/article/details/102746505
STM32CbueMX之 USB下载更新固件Download Firmware Update(DFU)之四FreeRTOS跳转运行失败https://blog.csdn.net/sudaroot/article/details/102800541
像类似这种跳转,从某个区域执行跳转到另一个区域执行代码,运行失败的基本都是中断问题。
在跳转前所有用到的中断应该关闭,恢复外设默认功能状态。
在STM32CubeMX中,如果使用FreeRTOS的话,就不能用系统滴答失踪作为系统时钟,需要额外使用某个定时器作为系统时钟。
例如我使用了FreeRTOS + TIM14;那么在跳转前必须关闭TIM14的中断。否则会程序跑飞。
另一种方法就是你可以关闭所有的中断再进行跳转。
全篇完。
本人是一个嵌入式未入门小白,博客仅仅代表我个人主观见解,记录成长笔记。
笔记是以最简单的方式,只展示最核心的原理。
若有与 大神大大 见解有歧义,我绝对坚信 大神大大 见解是对的,我的是错的。
若无积分等无法下载源码,可加入QQ群657407920下载交流经验。感谢~!