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

2019-07-21 08:29发布

大家好,IAP远程升级代码的时候,因为环境的因素,在通过串口无线烧录时有时会失败,这种情况很容易导致产品死机无法使用,大家有没想到更保险的方案呢?我看有些产品是用flash空间比较大的MCU,在IAP升级的过程中会先把原来可以用的代码先拷贝到别的地方,然后把新的代码下载进来,如果中途升级失败,再把旧的代码拷回原来的位置继续使用,这样不会导致产品无法使用,有没有人试过这种方法,或者有更好的方案,希望指教一下,感激不尽!!!!!!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
31条回答
DongInker
1楼-- · 2019-07-23 04:36
目前我是使用一块FLASH做数据存储,BOOT与API都可以读写,如果怕失败我就在这个数据存储标记调试模式,调试模式就是每次上电会自动进入BOOT升级,升级完成后关闭调试模式。
这样即使升级失败只要复位下就再次进入boot设计。
电脑小白
2楼-- · 2019-07-23 08:37
 精彩回答 2  元偷偷看……
莆田
3楼-- · 2019-07-23 11:43
电脑小白 发表于 2016-6-1 11:58
flash空间划分:bootloader,app,swap,rescue。
开机进入bootloader。
app中接收固件写入swap中去。

IAP升级只能用USART1吗?
莆田
4楼-- · 2019-07-23 12:11
DongInker 发表于 2016-6-1 11:37
目前我是使用一块FLASH做数据存储,BOOT与API都可以读写,如果怕失败我就在这个数据存储标记调试模式,调试 ...

你好,能不能给个代码参考一下,我是做无刷电机驱动的,在这方面有需要我也可以共享
莆田
5楼-- · 2019-07-23 14:11
电脑小白 发表于 2016-6-1 11:58
flash空间划分:bootloader,app,swap,rescue。
开机进入bootloader。
app中接收固件写入swap中去。

对,我就是想用这方法,我觉得这个比较可靠,请问有代码参考吗?谢谢!
电脑小白
6楼-- · 2019-07-23 16:07
没有 stm32的例程。我的是在51822上实现的。stm32上自己写bootloader也是可以实现的。

一周热门 更多>