【技术实现步骤摘要】
一种固件升级方法和装置
本专利技术涉及一种固件升级领域,尤其涉及一种固件升级方法和装置。
技术介绍
FOTA(FirmwareOver-the-Air)固件空中下载技术,即固件在线升级技术,是通过FOTA固件升级引擎以固件升级包作为输入完成固件的升级。现有的Linux和Android固件升级,绝大多数都依赖于设备分区节点,对应的固件升级引擎基本都是基于既有的设备分区节点来完成对应分区的固件升级,这就意味着在升级过程中不能改变设备的分区表。为解决现有设备分区表无法改变的问题,现有的支持分区表升级的固件升级方法通常采用如下几种方式加以实现:一、通过逻辑分区的方式实现分区,也就是在物理上只有一个分区,在这个物理分区上通过软件模拟出多个逻辑分区,支持逻辑分区表的升级。这种方式不涉及到设备物理分区表的变更,升级时实际不会更新物理分区表(即仍不支持物理分区的变更)。二、支持物理分区表变更,但只能支持部分分区表变更或某些特定方式的变更,例如与引导程序相关联的实际物理分区不能变更,或者只能调整已有分区的大小等。然而,在很多应用场景下,需要支持设备物理分区表的任意变更。比如某一款设备早期采用一种架构方式构建其基础固件平台,它包括A、B、C、D、E五个分区,几年后出现并采用一种新的不兼容系统固件架构,它包括完全不同的A1、A2、B1、B2、C、E、F、G、K九个分区,此时就希望能够将设备固件升级到新的系统固件,这就需要支持对设备物理分区表进行任意变更的FOTA固件升级方案。然而现有的技术方案并不支持对设备 ...
【技术保护点】
1.一种固件升级方法,其特征在于,所述方法包括:/n制定固件升级包,并将所述固件升级包存储于预设存储介质中;所述固件升级包包括分区表描述文件;/n待升级设备进入升级模式,解析第一指令,开始固件升级;所述待升级设备包括固件分区,所述固件分区包括引导控制分区,所述第一指令被预先写入所述引导控制分区的第一位置;所述第一位置与第一路径信息相对应,所述第一路径信息为所述固件升级包在所述预设存储介质的路径信息;/n根据所述固件升级包在所述预设存储介质的路径信息读取所述固件升级包,根据所述分区表描述文件重新编程所述待升级设备的分区表,得到升级结果,并将所述升级结果和第二路径信息写入所述引导控制分区的第二位置;所述第二路径信息与所述第一路径信息相对应。/n
【技术特征摘要】
1.一种固件升级方法,其特征在于,所述方法包括:
制定固件升级包,并将所述固件升级包存储于预设存储介质中;所述固件升级包包括分区表描述文件;
待升级设备进入升级模式,解析第一指令,开始固件升级;所述待升级设备包括固件分区,所述固件分区包括引导控制分区,所述第一指令被预先写入所述引导控制分区的第一位置;所述第一位置与第一路径信息相对应,所述第一路径信息为所述固件升级包在所述预设存储介质的路径信息;
根据所述固件升级包在所述预设存储介质的路径信息读取所述固件升级包,根据所述分区表描述文件重新编程所述待升级设备的分区表,得到升级结果,并将所述升级结果和第二路径信息写入所述引导控制分区的第二位置;所述第二路径信息与所述第一路径信息相对应。
2.如权利要求1所述的固件升级方法,其特征在于,“将所述升级结果和第二路径信息写入所述引导控制分区的第二位置”之后还包括:
擦除所述第一位置预先写入的信息,并同步在所述第一位置写入升级标记指令和数据擦除指令,而后重启所述待升级设备。
3.如权利要求2述的固件升级方法,其特征在于,重启所述待升级设备后,所述方法还包括:
读取所述第一位置的升级标记指令,重新进入升级模式;
根据所述第一位置的数据擦除指令,擦除所述待升级设备的可读写区域;
读取所述第二位置的升级结果和第二路径信息,在指定的特定目录下创建一个升级成功标记文件,并将所述第二位置的升级结果和第二路径信息写入所述升级成功标记文件,清除当前所述第一位置和第二位置对应的所有信息。
4.如权利要求3所述的固件升级方法,其特征在于,在清除当前所述第一位置和第二位置对应的所有信息之后还包括:
进入升级成功的新固件系统,判断所述升级成功标记文件是否存在,若是则表示固件升级成功,根据用户的数据恢复指令执行所述可读写区域的数据恢复操作。
5.如权利要求1所述的固件升级方法,其特征在于,所述固件升级包还包括标识信息、分区数据和预设校验信息;在读取所述固件升级包之后还包括对读取的所述固件升级包进行校验,具体包括:
读取所述固件升级包的标识信息,将其与预设标识信息进行比较,若不一致则退出本次升级,若一致则读取所述固件升级包中的分区数据,并根据所述分区数据计算一个校验信息,将计算得到的校验信息与所述预设校验信息进行比较,若一致则继续固件升级,否则退出固件升级。<...
【专利技术属性】
技术研发人员:纪大峣,
申请(专利权)人:瑞芯微电子股份有限公司,
类型:发明
国别省市:福建;35
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。