[发明专利]一种安全易用的固件升级方法及系统在审
申请号: | 201611041902.5 | 申请日: | 2016-11-24 |
公开(公告)号: | CN108108193A | 公开(公告)日: | 2018-06-01 |
发明(设计)人: | 林建成 | 申请(专利权)人: | 厦门脉视数字技术有限公司 |
主分类号: | G06F9/44 | 分类号: | G06F9/44;G06F9/445 |
代理公司: | 北京挺立专利事务所(普通合伙) 11265 | 代理人: | 倪钜芳 |
地址: | 361000 福建省厦门市*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 固件升级 升级程序 分区 升级 分区版本 客户使用 启动参数 升级过程 主版本号 校验 校验码 主固件 断电 匹配 安全 生产 | ||
1.一种安全易用的固件升级方法,其特征在于,包括如下步骤:
S101:将嵌入式系统ROM中bootloader的分区划分为P1分区和P2分区;
S102:用户触发进入升级模式,将主固件下载到内存,所述主固件包含固件头信息和子固件;
S103:提取固件头信息并校验主固件是否完整正确,若否则停止升级,并反馈错误信息;若是则执行步骤S104;
S104:根据固件头信息,找到对应的新升级程序的地址,提取升级程序并对bootloader进行升级;
S105:新的升级程序通过主固件版本号判断固件是否匹配该设备;若否则停止升级,并反馈错误信息;若是则执行步骤S106;
S106:提取固件中子固件版本号,并与在环境变量中存储的当前P1分区正在使用的相应子固件的版本号进行对比,如果固件中的该子固件版本号不大于当前的版本号,那么就不对该子固件进行升级;如果大于当前的版本号,则提取出该子固件,写入P2分区对应的地址区间;
S107:重复步骤S106,直至所有子固件写入完成;
S108:修改启动参数,下次启动都从P2分区开始;
S109:下次升级就将新的固件写入P1分区,P1与P2分区如此交替进行升级。
2.根据权利要求1所述的一种安全易用的固件升级方法,其特征在于:所述固件头信息包括主固件校验码、子固件校验码、主固件版本号、子固件版本号、子固件地址及长度、子固件加载内存地址、子固件对应分区名称及升级程序。
3.根据权利要求1所述的一种安全易用的固件升级方法,其特征在于:所述子固件包括bootloader、内核、文件系统等部分。
4.根据权利要求1所述的一种安全易用的固件升级方法,其特征在于:步骤S106中,相应子固件写入完成后再次读取该子固件版本号进行校验,以确保数据完全正确写入。
5.根据权利要求1所述的一种安全易用的固件升级方法,其特征在于:在步骤S104中的升级程序之前判断存储介质,然后根据相对应的方式对bootloader进行升级,bootloader如果校验出错,再重复进行三次校验操作,增强可靠性。
6.一种安全易用的固件升级系统,其特征在于,包括:
分区单元,用于将嵌入式系统ROM中bootloader的分区划分为P1分区和P2分区;
下载单元,用于在用户触发进入升级模式后将主固件下载到内存,所述主固件包含固件头信息和子固件;
固件头信息提取单元,用于提取固件头信息并校验主固件是否完整正确;
升级程序运行单元,用于根据固件头信息找到对应的新升级程序的地址,提取升级程序并对bootloader进行升级;
主固件判断单元,用于通过主固件版本号判断固件是否匹配该设备;
子固件写入升级单元,用于提取固件中子固件版本号,并与在环境变量中存储的当前P1分区正在使用的相应子固件的版本号进行对比,如果固件中的该子固件版本号不大于当前的版本号,那么就不对该子固件进行升级;如果大于当前的版本号,则提取出该子固件,写入P2分区对应的地址区间;
修改单元,用于修改启动参数,下次启动都从P2分区开始。
7.根据权利要求6所述的一种安全易用的固件升级系统,其特征在于:还包括子固件校验单元,用于子固件写入完成后再次读取该子固件版本号进行校验,以确保数据完全正确写入。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于厦门脉视数字技术有限公司,未经厦门脉视数字技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611041902.5/1.html,转载请声明来源钻瓜专利网。