STM32F4 IAP升级方案探讨
最近打算做IAP升级,用的STM32F4,遇到一个问题,就是IAP升级时是一边收数据一边写flash好还是等bin文件都收完了一次写flash好。因为有时APP程序会大于SRAM的大小,这样就不能一次收完bin文件再写了。但是一边收一边写flash(假如收2k的数据后就写flash),如果中间通信故障,那么升级失败,连原来的APP程序也运行不了了。有什么好的办法可以避免这种问题。(也想过先把原来的APP备份在某个扇区,如果中间升级失败在回退,但是不知道这样会不会很耗时间)
升级失败了还可以再次升级的呀 无法避免,因为在写APP时已经无法避免了(升级前会先擦除APP扇区)。
你不是还有IAP吗?有IAP在就可以无限次数升级APP。 flash1 flash2,一个crcerror 执行另一个 如果存储空间够大,备份一下现有的APP,好点时也没关系,在写APP时最好搞个标志,表示升级OK,在写完APP时设置这个存储区,以防中途断电导致升级到一半就挂了,后面IAP进来的话肯定会挂掉 1、确保IAP程序稳定;
2、增加校验,重传 gujiamao 发表于 2017-9-5 18:37
flash1 flash2,一个crcerror 执行另一个
也是用的这种, BOOT, APP, APP_BACK, 三个区
页:
[1]