你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32F4 IAP升级方案探讨

[复制链接]
黑色裂变 提问时间:2017-9-5 16:42 /
最近打算做IAP升级,用的STM32F4,遇到一个问题,就是IAP升级时是一边收数据一边写flash好还是等bin文件都收完了一次写flash好。因为有时APP程序会大于SRAM的大小,这样就不能一次收完bin文件再写了。但是一边收一边写flash(假如收2k的数据后就写flash),如果中间通信故障,那么升级失败,连原来的APP程序也运行不了了。
有什么好的办法可以避免这种问题。(也想过先把原来的APP备份在某个扇区,如果中间升级失败在回退,但是不知道这样会不会很耗时间)

收藏 评论6 发布时间:2017-9-5 16:42

举报

6个回答
anobodykey 回答时间:2017-9-5 17:32:29
升级失败了还可以再次升级的呀
moyanming2013 回答时间:2017-9-5 18:27:24
无法避免,因为在写APP时已经无法避免了(升级前会先擦除APP扇区)。
你不是还有IAP吗?有IAP在就可以无限次数升级APP。

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2

查看全部评分

gujiamao 回答时间:2017-9-5 18:37:11
flash1 flash2,一个crcerror 执行另一个

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2

查看全部评分

黑皮男 回答时间:2017-9-5 19:40:38
如果存储空间够大,备份一下现有的APP,好点时也没关系,在写APP时最好搞个标志,表示升级OK,在写完APP时设置这个存储区,以防中途断电导致升级到一半就挂了,后面IAP进来的话肯定会挂掉

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2

查看全部评分

freeelectron 回答时间:2017-9-5 22:44:06
1、确保IAP程序稳定;
2、增加校验,重传

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2

查看全部评分

fishwantcat 回答时间:2017-9-7 10:40:42
gujiamao 发表于 2017-9-5 18:37
flash1 flash2,一个crcerror 执行另一个

也是用的这种, BOOT, APP, APP_BACK, 三个区
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版