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

2019-07-21 08:29发布

大家好,IAP远程升级代码的时候,因为环境的因素,在通过串口无线烧录时有时会失败,这种情况很容易导致产品死机无法使用,大家有没想到更保险的方案呢?我看有些产品是用flash空间比较大的MCU,在IAP升级的过程中会先把原来可以用的代码先拷贝到别的地方,然后把新的代码下载进来,如果中途升级失败,再把旧的代码拷回原来的位置继续使用,这样不会导致产品无法使用,有没有人试过这种方法,或者有更好的方案,希望指教一下,感激不尽!!!!!!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
31条回答
莆田
1楼-- · 2019-07-23 21:37
 精彩回答 2  元偷偷看……
电脑小白
2楼-- · 2019-07-24 02:33
莆田 发表于 2016-6-1 15:02
IAP升级只能用USART1吗?

只要能通信的都可以的。
电脑小白
3楼-- · 2019-07-24 04:43
莆田 发表于 2016-6-1 15:02
IAP升级只能用USART1吗?

IIC  网口 CAN 等都能实现IAP的。
jermy_z
4楼-- · 2019-07-24 05:06
加上CRC校验,确保Bin文件是正确接收,应该无问题
钩月黄昏
5楼-- · 2019-07-24 08:25
电脑小白 发表于 2016-6-1 11:58
flash空间划分:bootloader,app,swap,rescue。
开机进入bootloader。
app中接收固件写入swap中去。

我觉得这样做不是有些繁琐吗?boot区,APP1区,APP2区,分成这个3个区,现在一个APP区运行待另一个APP区的数据全都正确写入了,在跳转过去不久可以了?这样做避免了来回多次的拷贝····这样是不是更好呢?
憨厚诚实大叔
6楼-- · 2019-07-24 10:10
 精彩回答 2  元偷偷看……

一周热门 更多>