一种固件升级的方法及装置制造方法及图纸

技术编号:23287727 阅读:41 留言:0更新日期:2020-02-08 17:53
本申请适用于计算机技术领域,提供了一种固件升级的方法,包括:获取固件升级请求;基于所述硬件身份信息获取所述待升级硬件对应的当前有效固件的第一固件信息,以及获取所述待升级硬件对应的待升级固件的第二固件信息;当所述第一固件信息与所述第二固件信息匹配,且检测到系统重新启动指令时,基于所述第二固件信息对所述当前有效固件进行升级。上述方法,对待升级固件的第二固件信息进行检测,检测第一固件信息与第二固件信息是否匹配,当匹配时进行升级,保证待升级固件为正确的固件,避免了由于文件错误,导致嵌入式设备无法按照预期运行的问题。

A method and device of firmware upgrade

【技术实现步骤摘要】
一种固件升级的方法及装置
本申请属于计算机
,尤其涉及一种固件升级的方法及装置。
技术介绍
固件是指在电路板上运行的嵌入式计算机程序。包括代码和数据,存放在电路板上,可能在单片机内部,也可能在单片机外部。目前嵌入式设备固件的升级主要采用授权验证的方式来决定是否对嵌入式设备进行无线升级操作,或者依赖人工选择或配置升级文件。但是,现有固件升级方案无法保证嵌入式设备是否接收到对应的设备固件升级文件,对升级文件是否为正确的固件也无相应检查,一旦文件错误,将导致嵌入式设备无法按照预期运行,甚至可能无法运行。
技术实现思路
本申请实施例提供了一种固件升级的方法及装置,可以解决现有固件升级方案无对升级文件是否为正确的固件无相应检查,一旦文件错误,将导致嵌入式设备无法按照预期运行,甚至可能无法运行的问题。第一方面,本申请实施例提供了一种固件升级的方法,包括:获取固件升级请求;所述固件升级请求包括待升级硬件的硬件身份信息;基于所述硬件身份信息获取所述待升级硬件对应的当前有效固件的第一固件信息,以及获取所述待升级硬件对应的待升级固件的第二固件信息;当所述第一固件信息与所述第二固件信息匹配,且检测到系统重新启动指令时,基于所述第二固件信息对所述当前有效固件进行升级。进一步地,在所述当所述第一固件信息与所述第二固件信息匹配,且检测到系统重新启动指令时,基于所述第二固件信息对所述当前有效固件进行升级之前,还包括:检测所述硬件身份信息分别与所述第一身份信息和所述第二身份信息是否匹配;当所述硬件身份信息分别与所述第一身份信息和所述第二身份信息匹配时,检测所述第一映像文件信息中的属性信息和所述第二映像文件信息中的属性信息是否一致;当所述硬件身份信息分别与所述第一身份信息和所述第二身份信息匹配时,且所述第一映像文件信息中的属性信息和所述第二映像文件信息中的属性信息一致时,判定所述第一固件信息与所述第二固件信息匹配。进一步地,所述当所述硬件身份信息分别与所述第一身份信息和所述第二身份信息匹配时,且所述第一映像文件信息中的属性信息和所述第二映像文件信息中的属性信息一致时,判定所述第一固件信息与所述第二固件信息匹配,包括:当所述硬件身份信息分别与所述第一身份信息和所述第二身份信息匹配时,且所述第一映像文件信息中的属性信息和所述第二映像文件信息中的属性信息一致时,判断所述第二固件的属性信息是否合法;所述第二固件的属性信息包括向量表、指令运行地址、数据区地址、特征指令;当所述硬件身份信息分别与所述第一身份信息和所述第二身份信息匹配,所述第一映像文件信息中的属性信息和所述第二映像文件信息中的属性信息一致时,且所述属性信息合法时,判定所述第一固件信息与所述第二固件信息匹配。进一步地,在所述基于所述硬件身份信息获取所述待升级硬件对应的当前有效固件的第一固件信息,以及获取所述待升级硬件对应的待升级固件的第二固件信息之后,还包括:当基于所述硬件身份信息未获取到所述待升级硬件对应的待升级固件的第二固件信息时,基于预设BOOT程序引导所述当前有效固件运行。进一步地,在所述基于所述硬件身份信息获取所述待升级硬件对应的当前有效固件的第一固件信息,以及获取所述待升级硬件对应的待升级固件的第二固件信息之后,还包括:当基于所述硬件身份信息未获取到所述当前有效固件时,获取第三固件及其第三固件身份信息;当所述第三固件身份信息与所述待升级硬件的硬件身份信息匹配时,基于预设BOOT程序引导所述第三固件运行。第二方面,本申请实施例提供了一种固件升级的装置,包括:第一获取单元,用于获取固件升级请求;所述固件升级请求包括待升级硬件的硬件身份信息;第二获取单元,用于基于所述硬件身份信息获取所述待升级硬件对应的当前有效固件的第一固件信息,以及获取所述待升级硬件对应的待升级固件的第二固件信息;第一处理单元,用于当所述第一固件信息与所述第二固件信息匹配,且检测到系统重新启动指令时,基于所述第二固件信息对所述当前有效固件进行升级。进一步地,所述第一固件信息包括第一身份信息、第一映像文件信息;所述第二固件信息包括第二身份信息、第二映像文件信息;固件升级的装置,还包括:第一检测单元,用于检测所述硬件身份信息分别与所述第一身份信息和所述第二身份信息是否匹配;第二检测单元,用于当所述硬件身份信息分别与所述第一身份信息和所述第二身份信息匹配时,检测所述第一映像文件信息中的属性信息和所述第二映像文件信息中的属性信息是否一致;第二处理单元,用于当所述硬件身份信息分别与所述第一身份信息和所述第二身份信息匹配时,且所述第一映像文件信息中的属性信息和所述第二映像文件信息中的属性信息一致时,判定所述第一固件信息与所述第二固件信息匹配。进一步地,固件升级的装置,还包括:提取单元,用于当所述硬件身份信息分别与所述第一身份信息和所述第二身份信息匹配时,且所述第一映像文件信息中的属性信息和所述第二映像文件信息中的属性信息一致时,判断所述第二固件的属性信息是否合法;所述第二固件的属性信息包括向量表、指令运行地址、数据区地址、特征指令;第三处理单元,用于当所述硬件身份信息分别与所述第一身份信息和所述第二身份信息匹配,所述第一映像文件信息中的属性信息和所述第二映像文件信息中的属性信息一致时,且所述属性信息合法时,判定所述第一固件信息与所述第二固件信息匹配。进一步地,固件升级的装置,还包括:第四处理单元,用于当基于所述硬件身份信息未获取到所述待升级硬件对应的待升级固件的第二固件信息时,基于预设BOOT程序引导所述当前有效固件运行。进一步地,固件升级的装置,还包括:第三获取单元,用于当基于所述硬件身份信息未获取到所述当前有效固件时,获取第三固件及其第三固件身份信息;第五处理单元,用于当所述第三固件身份信息与所述待升级硬件的硬件身份信息匹配时,基于预设BOOT程序引导所述第三固件运行。第三方面,本申请实施例提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面所述的固件升级的方法。第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述第一方面所述的固件升级的方法。第五方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备执行上述第一方面中任一项所述的固件升级的方法。本申请实施例中,获取固件升级请求;基于所述硬件身份信息获取所述待升级硬件对应的当前有效固件的第一固件信息,以及获取所述待升级硬件对应的待升级固件的第二固件信息;当所述第一固件信息与所述第二固件信息匹配,且检测到系统重新启动指令时,基于所述第二固件信息对所述当前有效固件进行升级。上述方法,对待升级固件的第二固件信本文档来自技高网...

【技术保护点】
1.一种固件升级的方法,其特征在于,包括:/n获取固件升级请求;所述固件升级请求包括待升级硬件的硬件身份信息;/n基于所述硬件身份信息获取所述待升级硬件对应的当前有效固件的第一固件信息,以及获取所述待升级硬件对应的待升级固件的第二固件信息;/n当所述第一固件信息与所述第二固件信息匹配,且检测到系统重新启动指令时,基于所述第二固件信息对所述当前有效固件进行升级。/n

【技术特征摘要】
1.一种固件升级的方法,其特征在于,包括:
获取固件升级请求;所述固件升级请求包括待升级硬件的硬件身份信息;
基于所述硬件身份信息获取所述待升级硬件对应的当前有效固件的第一固件信息,以及获取所述待升级硬件对应的待升级固件的第二固件信息;
当所述第一固件信息与所述第二固件信息匹配,且检测到系统重新启动指令时,基于所述第二固件信息对所述当前有效固件进行升级。


2.如权利要求1所述的固件升级的方法,其特征在于,所述第一固件信息包括第一身份信息、第一映像文件信息;所述第二固件信息包括第二身份信息、第二映像文件信息;
在所述当所述第一固件信息与所述第二固件信息匹配,且检测到系统重新启动指令时,基于所述第二固件信息对所述当前有效固件进行升级之前,还包括:
检测所述硬件身份信息分别与所述第一身份信息和所述第二身份信息是否匹配;
当所述硬件身份信息分别与所述第一身份信息和所述第二身份信息匹配时,检测所述第一映像文件信息中的属性信息和所述第二映像文件信息中的属性信息是否一致;
当所述硬件身份信息分别与所述第一身份信息和所述第二身份信息匹配时,且所述第一映像文件信息中的属性信息和所述第二映像文件信息中的属性信息一致时,判定所述第一固件信息与所述第二固件信息匹配。


3.如权利要求2所述的固件升级的方法,其特征在于,所述当所述硬件身份信息分别与所述第一身份信息和所述第二身份信息匹配时,且所述第一映像文件信息中的属性信息和所述第二映像文件信息中的属性信息一致时,判定所述第一固件信息与所述第二固件信息匹配,包括:
当所述硬件身份信息分别与所述第一身份信息和所述第二身份信息匹配时,且所述第一映像文件信息中的属性信息和所述第二映像文件信息中的属性信息一致时,判断所述第二固件的属性信息是否合法;所述第二固件的属性信息包括向量表、指令运行地址、数据区地址、特征指令;
当所述硬件身份信息分别与所述第一身份信息和所述第二身份信息匹配,所述第一映像文件信息中的属性信息和所述第二映像文件信息中的属性信息一致时,且所述属性信息合法时,判定所述第一固件信息与所述第二固件信息匹配。


4.如权利要求1所述的固件升级的方法,其特征在于,在所述基于所述硬件身份信息获取所述待升级硬件对应的当前有效固件的第一固件信息,以及获取所述待升级硬件对应的待升级固件的第二固件信息之后,还包括:
当基于所述硬件身份信息未获取到所述待升级硬件对应的待升级固件的第二固件信息时,基于预设BOOT程序引导所述当前有效固件运行。


5.如权利要求1所述的固件升级的方法,其特征在于,在所述基于所述硬件身份信息获取所述待升级硬件对应的当前有效固件的第一固件信息,以及...

【专利技术属性】
技术研发人员:罗沛杨培朋李京泽
申请(专利权)人:深圳优地科技有限公司
类型:发明
国别省市:广东;44

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

1