[发明专利]运用于系统迭代的双系统切换方法和装置有效
申请号: | 201911423143.2 | 申请日: | 2019-12-30 |
公开(公告)号: | CN111209141B | 公开(公告)日: | 2023-10-20 |
发明(设计)人: | 唐满良;陈晓群 | 申请(专利权)人: | 晶晨半导体(深圳)有限公司 |
主分类号: | G06F11/14 | 分类号: | G06F11/14;G06F9/4401 |
代理公司: | 深圳市诺正鑫泽知识产权代理有限公司 44689 | 代理人: | 罗华 |
地址: | 518054 广东省深圳市前海深港合作区前*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 运用于 系统 双系统 切换 方法 装置 | ||
本申请提供了一种运用于系统迭代的双系统切换方法和装置,运用于系统数据迭代领域,其方法包括:在启动链上生成slotA分区和slotB分区;用于当OTA对其中一套分区系统升级出现问题时,设备可以退回到另一套旧系统启动,从而解决用户无法使用系统的问题;接收迭代数据;根据预配置于bootrom中的切换规则,将所述迭代数据导入至所述slotA分区或slotB分区中,使OTA升级覆盖所有分区,可完全避免OTA升级的过程中,用户无法使用设备的问题。
技术领域
本申请涉及系统数据迭代技术领域,特别涉及为一种运用于系统迭代的双系统切换方法和装置。
背景技术
现有的AB系统(A/B System Updates)是从Android 7.0开始引入的新OTA(Over-the-Air,推送更新数据包)升级方式,其主要特点是实现无缝升级;参考附图1,为目前AB系统使用两组称为slot的分区设计示意图;设备上拥有A和B两套可以工作的系统,一套为正在工作的系统分区,另一套为备份分区;当系统检测到可更新的OTA包时,后台程序自动把新的OTA包更新到未启用slot分区上,而不影响当前正在使用的slot分区,更新完成后设备重启切换到新系统对应的slot分区,这种方式提高了用户体验,实现无缝衔接;
由图1可以看出,bootloader(启动程序)不处于slot a或slot b两套系统中,而目前启动设备的进程流程图如附图2所示,当OTA升级包括bootloader的升级时,如果OTA升级过程中出现bootloader分区更新失败的情况,会出现用户无法使用的问题;
特别是当前ARM架构的启动流程中,通常把bootloader细划成spl(secondprogram loader)和tpl(third program loader)两个分区,现有的AB系统只覆盖了整个启动链中一半的分区,使得设备在升级时仍有很高的概率导致用户无法使用。
发明内容
本申请旨在解决目前OTA升级过程中存在出现bootloader分区更新失败的情况,会出现用户无法使用的技术问题,提供一种运用于系统迭代的双系统切换方法和装置。
本申请为解决技术问题采用如下技术手段:
本申请提供一种运用于系统迭代的双系统切换方法,包括:
在启动链上生成slotA分区和slotB分区;
接收迭代数据;
根据预配置于bootrom中的切换规则,将所述迭代数据导入至所述slotA分区或slotB分区中。
进一步地,所述切换规则包括优先级切换,所述根据预配置于bootrom中的切换规则,将所述迭代数据导入至slotA分区或slotB分区中的步骤,包括:
分别获取所述slotA分区与slotB分区的当前优先级系数;
判断所述slotA分区与slotB分区中所述优先级系数较高的第一分区;
将所述迭代数据导入至第一分区执行迭代。
进一步地,所述切换规则包括尝试级切换,所述根据预配置于bootrom中的切换规则,将所述迭代数据导入至slotA分区或slotB分区中的步骤,包括
将所述迭代数据导入至slotA分区或slotB分区任一第二分区进行OTA升级;
监听所述OTA升级在所述第二分区是否升级失败;
若是,则所述第二分区的尝试系数下降1点,当所述尝试系数降至指定阈值时,判定所述第二分区无法进行OTA升级。
进一步地,所述切换规则包括成功例切换,所述根据预配置于bootrom中的切换规则,将所述迭代数据导入至slotA分区或slotB分区中的步骤,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于晶晨半导体(深圳)有限公司,未经晶晨半导体(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911423143.2/2.html,转载请声明来源钻瓜专利网。