像类似这种跳转,从某个区域执行跳转到另一个区域执行代码,运行失败的基本都是中断问题。

在跳转前所有用到的中断应该关闭,恢复外设默认功能状态。

 

在STM32CubeMX中,如果使用FreeRTOS的话,就不能用系统滴答失踪作为系统时钟,需要额外使用某个定时器作为系统时钟。

STM32CbueMX之 USB下载更新固件Download Firmware Update(DFU)之四FreeRTOS调整运行失败

 

 

例如我使用了FreeRTOS + TIM14;那么在跳转前必须关闭TIM14的中断。否则会程序跑飞。

STM32CbueMX之 USB下载更新固件Download Firmware Update(DFU)之四FreeRTOS调整运行失败

 

另一种方法就是你可以关闭所有的中断再进行跳转。

相关文章:

  • 2022-12-23
  • 2021-04-12
  • 2022-12-23
  • 2021-09-28
  • 2021-12-13
  • 2021-11-27
  • 2021-12-19
猜你喜欢
  • 2021-12-16
  • 2021-12-16
  • 2022-12-23
  • 2021-05-07
  • 2022-12-23
  • 2021-04-27
  • 2022-12-23
相关资源
相似解决方案