大家好,IAP远程升级代码的时候,因为环境的因素,在通过串口无线烧录时有时会失败,这种情况很容易导致产品死机无法使用,大家有没想到更保险的方案呢?我看有些产品是用flash空间比较大的MCU,在IAP升级的过程中会先把原来可以用的代码先拷贝到别的地方,然后把新的代码下载进来,如果中途升级失败,再把旧的代码拷回原来的位置继续使用,这样不会导致产品无法使用,有没有人试过这种方法,或者有更好的方案,希望指教一下,感激不尽!!!!!!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
和楼上差不多吧,我是把flash分成3部分,一部分类似bootload,他判断flash固定位置的标志位,来确认程序跳到什么地址执行,更新是在正常运行的程序中偷偷更新的,等更新完毕并且确认无误后,改变flash固定位置的标志位,下一次复位就执行另外一套代码了,而且更新完毕后,程序也可以找合适的时机直接跳到另外一个地址执行。
不过的确是用大容量的芯片
一周热门 更多>