QSDK 双分区dual image之实现自动切换分区的功能

我现在用的板子是高通的,flash是nornand的,有两个分区,分别爲rootfs和rootfs_1
板子切换分区的功能是由环境变量priority_root=rootfs来控制的
通过fw_printenv来查看环境变量,如下:

root@:/# fw_printenv
flash_type=0
hw_mac_addr=00:A0:11:22:33:44
.......省略
netmask=255.255.255.0
stderr=serial
stdin=serial
stdout=serial
priority_root=rootfs

当priority_root=rootfs_1时,再重啓,板子就会从rootfs_1这个分区啓动进入。

那麽现在有个问题:这两个分区中有一个损坏了,如何自动切换到另外一个好的分区呢?
例如现在我的分区是rootfs,但是这个rootfs分区损坏了,进不去文件系统了,怎麽切换到rootfs_1分区?

(注意,进不去文件系统证明系统已经无法正常工作!,如果你的板子只有一个分区且分区又损坏了,那麽可以换另外一块板子了。
因爲一般分区损坏便是flash出问题,硬件出问题的机会更大,如果软件有问题,那麽这版软件是不允许发佈的!所以能发佈的软件必须是OK的!)

那麽针对上面提出的问题,提供两种解决方法!
一种是通过检查分区的CRC值来检验,二是初始化出两个分区信息

由于时间有限,解决方法预计週末更新。

本文章由作者:佐须之男 整理编辑,原文地址: QSDK 双分区dual image之实现自动切换分区的功能
本站的文章和资源来自互联网或者站长的原创,按照 CC BY -NC -SA 3.0 CN协议发布和共享,转载或引用本站文章应遵循相同协议。如果有侵犯版权的资 源请尽快联系站长,我们会在24h内删除有争议的资源。欢迎大家多多交流,期待共同学习进步。

相关推荐