本帖最后由 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 区。
自己升级自己才容易变砖。
但这样会有一个问题,两个APP的初始地址都不一样, 那是否在编译HEX的时候 ,需要知道APP的初始地址来设置HEX的基地址,
早上主管说可能 会有这样问题,我想了半天,也没解决,最后主管说貌似他跳转都是PC+偏移量,应该可以直接交替升级。
重启时检查应用区是否完整正确就可以了。即使升级过程断电,再启动也能从下载区得到程序重新写入。
谢谢,综合评估下下来还是这种方式比较好。
一周热门 更多>