System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 固件升级方法、装置、电子设备及计算机可读存储介质制造方法及图纸_技高网

固件升级方法、装置、电子设备及计算机可读存储介质制造方法及图纸

技术编号:40829442 阅读:3 留言:0更新日期:2024-04-01 14:51
本申请实施例提供一种固件升级方法、装置、电子设备及计算机可读存储介质,属于固件升级技术领域。该方法包括:A系统进入恢复模式,若A系统的当前uboot版本低于最新uboot版本,则在B系统的uboot分区对当前uboot版本进行备份;根据最新uboot版本对A系统的uboot分区进行升级;若A系统升级异常,则启动B系统,通过B系统根据备份的当前uboot版本恢复A系统的uboot分区,重新启动A系统。这样,可以减少A系统的uboot分区升级的次数,提高OTA的稳定性和可靠性,在A系统的uboot分区擦写异常时,通过B系统恢复,重启A系统,避免A系统变砖的情况,提高A系统升级过程的可靠性。

【技术实现步骤摘要】

本申请涉及固件升级,尤其涉及一种固件升级方法、装置、电子设备及计算机可读存储介质


技术介绍

1、目前市面上已有的系统的ota(空中下载技术,over the air)升级方案主要有恢复(recovery)模式和ab系统模式等。recovery模式下,升级引导加载程序(uboot)时不允许断电或者其他异常,否则会出现升级失败导致死机的情况,用户无法正常使用。ab系统模式下,系统需要占用双倍的资源空间,成本高。


技术实现思路

1、为了解决上述技术问题,本申请实施例提供了一种固件升级方法、装置、电子设备及计算机可读存储介质。

2、第一方面,本申请实施例提供了一种固件升级方法,所述方法包括:

3、若a系统需要升级,则下载最新ota升级包,所述a系统进入恢复模式,所述a系统包括uboot分区和其他分区;

4、在所述恢复模式下,将所述最新ota升级包的最新uboot版本与所述a系统的当前uboot版本进行对比;

5、若所述当前uboot版本低于所述最新uboot版本,则在b系统的uboot分区对所述当前uboot版本进行备份;

6、根据所述最新uboot版本对所述a系统的uboot分区进行升级;

7、若所述a系统升级异常,则启动所述b系统,通过所述b系统根据备份的当前uboot版本恢复所述a系统的uboot分区,重新启动所述a系统。

8、在一实施方式中,所述方法还包括:

9、若所述当前uboot版本高于或等于所述最新uboot版本,则不对所述a系统的uboot分区进行升级,根据所述最新ota升级包对所述a系统的其他分区进行升级。

10、在一实施方式中,所述方法还包括:

11、若检测到断电或所述a系统的uboot分区升级异常事件,则确定所述a系统升级异常。

12、在一实施方式中,所述uboot分区升级异常事件包括uboot分区升级包校验异常和/或uboot分区升级包写入异常。

13、在一实施方式中,所述重新启动所述a系统之后,还包括:

14、确定所述最新ota升级包中除uboot分区升级包之外的其他分区升级包;

15、根据所述其他分区升级包对所述a系统的其他分区进行升级。

16、在一实施方式中,所述若a系统需要升级,则所述a系统进入恢复模式之前,所述方法还包括:

17、判断系统启动项是否为所述a系统;

18、若所述系统启动项为所述a系统,则根据升级标志配置文件判断所述a系统是否需要升级。

19、在一实施方式中,所述在b系统的uboot分区对所述当前uboot版本进行备份之后,所述方法还包括:

20、将系统启动项设置为所述b系统。

21、第二方面,本申请实施例提供了一种固件升级装置,所述固件升级装置包括:

22、下载模块,用于若a系统需要升级,则下载最新ota升级包,所述a系统进入恢复模式,所述a系统包括uboot分区和其他分区;

23、比对模块,用于在所述恢复模式下,将所述最新ota升级包的最新uboot版本与所述a系统的当前uboot版本进行对比;

24、备份模块,用于若所述当前uboot版本低于所述最新uboot版本,则在b系统的uboot分区对所述当前uboot版本进行备份;

25、升级模块,用于根据所述最新uboot版本对所述a系统的uboot分区进行升级;

26、启动模块,用于若所述a系统升级异常,则启动所述b系统,通过所述b系统根据备份的当前uboot版本恢复所述a系统的uboot分区,重新启动所述a系统。

27、第三方面,本申请实施例提供了一种电子设备,包括存储器以及处理器,所述存储器用于存储计算机程序,所述计算机程序在所述处理器运行时执行第一方面提供的固件升级方法。

28、第四方面,本申请实施例提供了一种计算机可读存储介质,其存储有计算机程序,所述计算机程序在处理器上运行时执行第一方面提供的固件升级方法。

29、上述本申请提供的固件升级方法、装置、电子设备及计算机可读存储介质,若a系统需要升级,则下载最新ota升级包,a系统进入恢复模式;将最新ota升级包的最新uboot版本与a系统的当前uboot版本进行对比;若当前uboot版本低于最新uboot版本,则在b系统的uboot分区对当前uboot版本进行备份;根据最新uboot版本对a系统的uboot分区进行升级;若a系统升级异常,则启动b系统,通过b系统根据备份的当前uboot版本恢复a系统的uboot分区,重新启动a系统。这样,可以减少a系统的uboot分区升级的次数,提高ota的稳定性和可靠性,在a系统的uboot分区擦写异常时,通过b系统恢复,重启a系统,避免a系统变砖的情况,提高a系统升级过程的可靠性。

本文档来自技高网...

【技术保护点】

1.一种固件升级方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述方法还包括:

3.根据权利要求1所述的方法,其特征在于,所述方法还包括:

4.根据权利要求3所述的方法,其特征在于,所述uboot分区升级异常事件包括uboot分区升级包校验异常和/或uboot分区升级包写入异常。

5.根据权利要求1所述的方法,其特征在于,所述重新启动所述A系统之后,还包括:

6.根据权利要求1所述的方法,其特征在于,所述若A系统需要升级,则所述A系统进入恢复模式之前,所述方法还包括:

7.根据权利要求1所述的方法,其特征在于,所述在B系统的uboot分区对所述当前uboot版本进行备份之后,所述方法还包括:

8.一种固件升级装置,其特征在于,所述装置包括:

9.一种电子设备,其特征在于,包括存储器以及处理器,所述存储器存储有计算机程序,所述计算机程序在所述处理器运行时执行权利要求1至7中任一项所述的固件升级方法。

10.一种计算机可读存储介质,其特征在于,其存储有计算机程序,所述计算机程序在处理器上运行时执行权利要求1至7中任一项所述的固件升级方法。

...

【技术特征摘要】

1.一种固件升级方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述方法还包括:

3.根据权利要求1所述的方法,其特征在于,所述方法还包括:

4.根据权利要求3所述的方法,其特征在于,所述uboot分区升级异常事件包括uboot分区升级包校验异常和/或uboot分区升级包写入异常。

5.根据权利要求1所述的方法,其特征在于,所述重新启动所述a系统之后,还包括:

6.根据权利要求1所述的方法,其特征在于,所述若a系统需要升级,则所述a系统进入恢复模式之前...

【专利技术属性】
技术研发人员:何围
申请(专利权)人:深圳市优必选科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1