本帖最后由 感动 于 2019-9-23 19:42 编辑
通过使用STM32的IAP可以实现远程升级,需要准备两个程序,一个是BootLoader程序,一个是User Application用户应用程序。用户应用程序通过串口、GPRS、4G等等方式,远程下载固件,下载完成后校验是不是有效的程序,是有效的程序则跳转到BootLoader程序。bootload程序再跳转到User Application应用程序完成程序固件更新。这里出现了bootload程序跳转到User Application应用程序,User Application应用程序又跳转到bootload程序。 跳转过程中经常出现卡死、程序不运行等问题,这时我们首先要看下是不是中断的问题,程序跳转前要关闭总中端。下面是关闭开启总中断的方法。 __disable_irq(); // 关闭总中断 __enable_irq(); // 开启总中断
更多精彩内容关注我的博客
https://blog.csdn.net/gd1984812 |