大家好,IAP远程升级代码的时候,因为环境的因素,在通过串口无线烧录时有时会失败,这种情况很容易导致产品死机无法使用,大家有没想到更保险的方案呢?我看有些产品是用flash空间比较大的MCU,在IAP升级的过程中会先把原来可以用的代码先拷贝到别的地方,然后把新的代码下载进来,如果中途升级失败,再把旧的代码拷回原来的位置继续使用,这样不会导致产品无法使用,有没有人试过这种方法,或者有更好的方案,希望指教一下,感激不尽!!!!!!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
我想在有两个产品硬件复用,我准备直接同一个芯片烧写两个固件进入,在生产的时候通过boot区选择进入那个APP区,这样就可以两个产品无差别的生产,只在出厂的时候在boot运行时设置一下···
APP1和APP2的中断向量表不一样的,不能用同一个固件的。做两个工程岂不是更麻烦了么。
+----------+ 0X08000000
| Boot Code|
+----------+
| Boot Cfg | 1 Page
+----------+ 0X08002000
| Api Code |
+----------+
| License | 1 Page
+----------+
| ResetTime| 2 Page
+----------+
| RunTime | 2 Page
+----------+
| Api Cfg | 2 Page
+----------+ MCU MAX ADDR
*/
ROM分配 其中Boot Cfg是可以供Api Code及Boot Code共同配置及访问。
加上license和config的想法真的不错哦。
STM32F103远程网络升级,www.sharing-iot.com有一个视频课程,附参考代码。思路就是将新程序保存在一片FLASH中,无误后替换旧程序。有错误不进行替换,这样就不会变砖。
一周热门 更多>