IAP,APP1和APP2两个应用程序交替更新的问题

2019-12-10 18:13发布

本帖最后由 vjcmain 于 2018-5-3 17:26 编辑

如题,想实现交替升级的方式来解决变砖的问题,booloader 主要做app 完整性诊断以及app 切换的功能,不知道原理上是否可行。
因为这个MCU比较特殊,控制着整个板卡的电源,板卡上跑X86PC host(COME)  想通过host给BMC 升级,因此升级的过程中不能断电。
IP.PNG (40.71 KB, 下载次数: 0) 下载附件 2018-5-3 16:50 上传



退而求其次的方案是 Application B 规划为固件暂存区,app 收到升级指令时往固件暂存区 写入新固件,然后下次重启的时候bootloader 把暂存区的固件搬运到 Application A 区。

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
29条回答
一心2013
2019-12-14 16:13
Ray______ 发表于 2018-5-6 10:20
没法做机制让boot判断吗?比如版本号或者标志位?

BOOT可以判断哪块APP是旧的,但如果要判断当前固件是什么基地址,也可以,只是这样固件会因此要分开操作,生成两个固件,但这样就失去意义了。

在我看来,固件跟BOOTLOADER要完全分开,如果固件代码一样,但是要因基地址分版本,这样如果哪天编译固件时搞错基地址,那就完了。每次升级还要先看固件是什么基地址,感觉BOOTLOADER失去意义

一周热门 更多>