IAP程序升级失败,产品变砖如何解决这个问题?

2019-07-21 08:29发布

大家好,IAP远程升级代码的时候,因为环境的因素,在通过串口无线烧录时有时会失败,这种情况很容易导致产品死机无法使用,大家有没想到更保险的方案呢?我看有些产品是用flash空间比较大的MCU,在IAP升级的过程中会先把原来可以用的代码先拷贝到别的地方,然后把新的代码下载进来,如果中途升级失败,再把旧的代码拷回原来的位置继续使用,这样不会导致产品无法使用,有没有人试过这种方法,或者有更好的方案,希望指教一下,感激不尽!!!!!!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
31条回答
一个爱做梦的人
2019-07-21 13:21
可以啊  我们就是用这种方法的 用了两份代码  一个有点类似于bootload  在这里判断升级标志位  升级成功就复制备份区代码到运行区 然后代码跳转到运行区 升级失败则直接跳转运行区;
运行区代码烧写时重新定义地址, 跳转到运行区后可以远程升级代码,成功就在内存中写入成功标志位 失败就写入失败标志位

一周热门 更多>