升级固件的方法和电子设备技术

技术编号:34038426 阅读:28 留言:0更新日期:2022-07-06 12:52
本申请涉及固件升级技术领域,特别涉及一种固件升级的方法和电子设备。所述一种固件升级的方法,包括:通过AB升级将包含非AB固件的子固件升级包升级至保留固件包分区;通过预设的子固件升级包指令对存储在所述保留固件包分区中的非AB固件的子固件升级包进行升级。对于AB系统中的不存在AB两个分区的非AB固件,通过以上方法,一样可以在AB系统中实现非AB固件的升级。的升级。的升级。

【技术实现步骤摘要】
升级固件的方法和电子设备


[0001]本申请涉及固件升级
,特别涉及升级固件的方法和电子设备。

技术介绍

[0002]在现有的安卓(Android)AB系统中,进行Android AB升级时,要求所有待升级固件都要有A和B两个分区,以后缀_a或者_b的形式存在(如boot_a和boot_b)。在进行双分区(AB)升级时,如果当前运行的系统位于a slot,则将固件升级到b slot,反之亦然。
[0003]而在实际的场景中,即使是AB系统,有些固件也是非AB的(即只有一个实际的分区),比如与芯片ROM直接关联的一级启动引导程序通常是非AB的,因为ROM通常不实现AB逻辑,因此它的分区只有一个。
[0004]同时有些场景为了节省空间的考虑,对系统中的关键分区采用AB分区,非关键分区采用非AB的形式(如logo/resource等资源分区)。在这些场景情况下,当需要对非AB固件进行升级时,现有的AB系统升级方法无法实现。

技术实现思路

[0005]本申请提供了升级固件的方法和电子设备,其能够使得在AB系统中针对本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种升级固件的方法,其特征在于,包括:将具有非双分区形式的固件放入单独的子固件升级包;将包含所述固件的所述子固件升级包升级至设备分区表中的一对保留固件包分区中的保留固件包分区;以及响应于子固件升级包指令对存储在所述保留固件包分区中的所述子固件升级包进行升级。2.根据权利要求1所述的方法,其特征在于,将包含所述固件的所述子固件升级包升级至设备分区表中的一对保留固件包分区中的保留固件包分区包括:制作包含所述子固件升级包的第一镜像文件,并将所述第一镜像文件存放至系统固件的主升级包中;将所述主升级包以新的系统固件版本号存放至服务器;以及响应于双分区升级指令,将所述第一镜像文件升级至所述保留固件包分区。3.根据权利要求2所述的方法,其特征在于,将所述第一镜像文件升级至所述保留固件包分区包括:响应于双分区升级指令,判断当前的保留固件包分区中是否存在按照预设规则命名的子固件升级包,若存在,则删除所述子固件升级包;以及根据所述主升级包,通过双分区升级将所述第一镜像文件升级至所述保留固件包分区。4.根据权利要求1所述的方法,其特征在于,响应于子固件升级包指令对存储在所述保留固件包分区中的所述子固件升级包进行升级包括:判断所述保留固件包分区中是否存在按照预设规则进行命名的子固件升级包,若不存在,则退出非双分区固件升级;若存在,判断预定路径下是否存在非双分区固件升级结果标记文件,若存在则根据所述升级结果标记文件判断升级结果,若升级成功,则执行第一操作,所述第一操作包括:删除保留固件包分区中预定名称的子固件升级包、删除该标记文件中子固件升级包路径中的子固件升级包、删除预定路径下的非AB固件升级结果标记文件,然后退出非AB固件升级服务。5.根据权利要求4所述的方法,其特征在于,还包括:若升级失败,检测是否继续,若不继续,则执行所述第一操作;若继续,则检测当前双分区系统是否升级成功,若升级不成功,休眠预定时间后继续查询;若升级成功,则对子固件升级包进行校验,若校验通过,设置待升级的子固件升级包路径为所述保留固件包分区中按预设规则命名的子固件升级包的路径,在设备的引导通信分区的预定位置写入针对非双分区固件进行升级的预设的子固件升级包指令和待升级的子固件升级包路径。6.根据权利要求4所述的方法,其特征在于,响应于子固件升级包指令对存储在所述保留固件包分区中的所述子固件升级包进行升级还包括:若不存在非双分区固件升级结果标记文件,则检测当前双分区系统是否升级成功,若升级不成功,休眠预定时间后继续查询;
若升级成功,则对子固件升级包进行校验,若校验通过,设置待升级的子固件升级包路径为所述保留固件包分区中按预设规则命...

【专利技术属性】
技术研发人员:纪大峣
申请(专利权)人:瑞芯微电子股份有限公司
类型:发明
国别省市:

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

1