CN116820528A - 固件版本升级方法、装置、芯片和电子设备 - Google Patents
固件版本升级方法、装置、芯片和电子设备 Download PDFInfo
- Publication number
- CN116820528A CN116820528A CN202310861714.0A CN202310861714A CN116820528A CN 116820528 A CN116820528 A CN 116820528A CN 202310861714 A CN202310861714 A CN 202310861714A CN 116820528 A CN116820528 A CN 116820528A
- Authority
- CN
- China
- Prior art keywords
- firmware
- upgraded
- version information
- target
- memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 60
- 238000012795 verification Methods 0.000 claims abstract description 28
- 238000009434 installation Methods 0.000 claims description 42
- 238000003860 storage Methods 0.000 claims description 13
- 238000010295 mobile communication Methods 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 8
- 230000003287 optical effect Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 5
- 238000004519 manufacturing process Methods 0.000 description 4
- 238000003491 array Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 239000000463 material Substances 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/654—Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Stored Programmes (AREA)
Abstract
本申请提出了一种固件版本升级方法、装置、芯片和电子设备,涉及终端技术领域。其中,上述固件版本升级方法包括:首先,获取待升级固件的版本信息。然后,从一次性可编程存储器内读取第一设备支持的目标版本信息。进而,可利用目标版本信息对待升级固件的版本信息进行校验,并在确定校验通过后安装待升级固件。通过上述技术方案,可在固件升级之前,基于预存的固件版本信息对待升级固件版本进行校验,从而可以防止安装错误版本的固件。并且,将固件版本信息预存于一次性可编程存储器中,可有效防止数据被篡改,增强了数据可信度,安全性更高。
Description
【技术领域】
本申请涉及终端技术领域,尤其涉及一种固件版本升级方法、装置、芯片和电子设备。
【背景技术】
在终端设备的生产和售后阶段,存在着对设备进行固件版本升级的场景需求。在设备进行固件版本升级时,一旦烧录了与设备不匹配的版本,则可能会损坏设备中存储的关键数据,如校准参数等,严重影响后续设备的正常使用。
【发明内容】
本申请实施例提供了一种固件版本升级方法、装置、芯片和电子设备,可用于在固件升级前,基于预存的固件版本信息对待升级固件的版本信息进行校验,从而防止待升级的固件版本与设备不匹配。
第一方面,本申请实施例提供一种固件版本升级方法,应用于第一设备之中,所述方法包括:获取待升级固件的版本信息;从目标存储器内读取所述第一设备支持的目标版本信息,所述目标存储器为一次性可编程存储器;利用所述目标版本信息对所述待升级固件的版本信息进行校验;确定所述待升级固件的版本信息校验通过,安装所述待升级固件。
上述技术方案中,一方面,可在固件升级之前,基于预存的固件版本信息对待升级固件版本进行校验,从而可以防止安装错误版本的固件。另一方面,将固件版本信息预存于一次性可编程存储器中,可有效防止数据被篡改,增强了数据可信度,安全性更高。
其中一种可能的实现方式中,获取待升级固件的版本信息,包括:获取第一密钥,所述第一密钥通过对所述待升级固件的版本信息执行哈希算法得到。
本实现方式中,可进一步对固件版本信息进行哈希加密,从而可增强信息安全,防止数据被篡改。
其中一种可能的实现方式中,获取第一密钥,包括:通过移动通信网络接收第二设备发送的待升级固件的安装文件,所述安装文件中包含所述第一密钥。
本实现方式中,在OTA固件升级场景下,可在远程获取待升级固件安装文件的同时,获取待升级固件的版本信息,提升了本方案的多场景适用性。
其中一种可能的实现方式中,获取第一密钥,包括:通过通用串行总线USB接收第三设备发送的目标程序,所述目标程序用于所述第一设备获取所述待升级固件的安装文件并完成安装,所述目标程序中包含所述第一密钥。
本实现方式中,在固件整机升级场景下,可在接收第三设备发送的目标程序的同时,获取待升级固件的版本信息,提升本方案的多场景适用性。
其中一种可能的实现方式中,所述目标版本信息的数量为多个;利用所述目标版本信息对所述待升级固件的版本信息进行校验,包括:分别将所述待升级固件的版本信息与各个目标版本信息进行比对;确定所述待升级固件的版本信息校验通过,包括:确定所述待升级固件的版本信息与任意一个目标版本信息相一致。
通过本实现方式,可对兼容多种固件版本的设备进行固件升级前校验。
其中一种可能的实现方式中,安装所述待升级固件,包括:基于所述待升级固件的安装文件,完成所述待升级固件的安装。
其中一种可能的实现方式中,安装所述待升级固件,包括:通过运行所述目标程序,从所述第三设备获取所述待升级固件的安装文件并完成所述待升级固件的安装。
其中一种可能的实现方式中,所述方法还包括:检测到所述目标存储器内不存在所述目标版本信息;安装所述待升级固件。
通过本实现方式,可在设备的固件版本调试阶段,对不同的固件版本进行灵活测试,而不受预存版本信息的约束。
第二方面,本申请实施例提供一种固件版本升级装置,包括:获取模块,用于获取待升级固件的版本信息;读取模块,用于从目标存储器内读取所述第一设备支持的目标版本信息,所述目标存储器为一次性可编程存储器;校验模块,用于利用所述目标版本信息对所述待升级固件的版本信息进行校验;执行模块,用于确定所述待升级固件的版本信息校验通过,安装所述待升级固件。
第三方面,本申请实施例提供一种电子设备,包括:至少一个处理器;以及与所述处理器通信连接的至少一个存储器,其中:所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如第一方面所述的方法。
第四方面,本申请实施例提供一种芯片,所述芯片包括处理器与数据接口,所述处理器通过所述数据接口读取存储器上存储的指令,能够执行如第一方面所述的方法。
第五方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行如第一方面所述的方法。
【附图说明】
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本申请实施例提供的一种固件版本升级方法的流程图;
图2为本申请实施例提供的一种固件版本升级方法的场景图;
图3为本申请实施例提供的另一种固件版本升级方法的流程图;
图4为本申请实施例提供的另一种固件版本升级方法的流程图;
图5为本申请实施例提供的另一种固件版本升级方法的场景图;
图6为本申请实施例提供的另一种固件版本升级方法的流程图;
图7为本申请实施例提供的一种固件版本升级装置的结构示意图;
图8为本申请实施例提供的一种电子设备的结构示意图。
【具体实施方式】
为了更好的理解本申请的技术方案,下面结合附图对本申请实施例进行详细描述。
应当明确,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在本申请实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
目前的技术方案中,在对电子设备进行固件升级时,常用的升级方案可以分为两类,分别是固件整机升级方式以及基于空中下载技术(Over-The-Air technology,OTA)的升级方式。其中,固件整机升级方式是通过通用串行总线(Universal Serial Bus,USB)方式,将电子设备与上位机连接,通过与上位机进行数据交互完成固件的下载与升级。基于OTA的升级方式是通过移动通信网络(3G、4G、5G、WIFI等)接收服务器发送的固件升级包,进而自动完成固件升级。然而,无论是哪种固件升级方式,一旦电子设备错误安装了自身不支持的固件版本,那么,可能会损坏电子设备内存储的关键数据,导致无法正常使用。
鉴于上述问题,本申请可提供一种固件版本升级方法,可在电子设备的一次性可编程存储器内预先存储电子设备可支持的固件版本信息,那么,当需要执行固件版本升级时,可利用一次性可编程存储器内预存的固件版本信息对待升级固件的版本信息进行校验。只有在校验通过的情况下,方可允许待升级估计的升级。从而可以防止电子设备错误安装了自身不支持的固件版本,提升固件升级过程的安全性。
本申请还可提供一种电子设备,用于执行本申请提供的固件版本升级方法。本申请还可提供一种芯片或芯片模组,芯片或芯片模组可位于本申请提供的电子设备内,本申请提供的固件版本升级方法具体可执行于该电子设备的芯片或芯片模组。
下面对本申请提供的固件版本升级方法进行具体说明。
图1为本申请实施例提供的一种固件版本升级方法的流程图,如图1所示,上述固件版本升级方法可以包括:
步骤101,获取待升级固件的版本信息。
一种可能的实现方式中,在整机固件升级场景下,电子设备可基于USB方式连接上位机,进而,可接收上位机发送的目标程序以及待升级固件的版本信息。其中,目标程序为下载引导程序,电子设备可通过运行下载引导程序从上位机下载待升级固件的安装文件并完成安装。待升级固件的版本信息可以添加于目标程序的头部。或者,待升级固件的版本信息可以独立于目标程序进行传输。
另一种可能的实现方式中,在基于OTA的固件升级场景下,电子设备可接收服务器远程下发的待升级固件的安装文件以及版本信息。
进一步的,为防止待升级固件的版本信息被篡改,本申请实施例中,电子设备获取到的版本信息可以是版本信息经过加密后得到的密钥信息。对待升级固件的版本信息进行加密的方式例如可以是,基于哈希算法进行加密。
步骤102,从目标存储器内读取第一设备支持的目标版本信息,目标存储器为一次性可编程存储器。
本申请实施例中,在电子设备的生产阶段,可在芯片的一次性可编程存储器(OneTime Programmable,OTP)内预先写入电子设备可支持的目标版本信息。与上述步骤101相对应的,一次性可编程存储器内预先写入的目标版本信息,可以是基于哈希算法对目标版本信息进行加密后得到的密钥信息。
上述实现方式中,一方面,基于一次性可编程存储器的特性,数据写入之后将不可再次更改和清除,另一方面,对电子设备可支持的目标版本信息进行哈希加密,从而可从两方面加强预存的目标版本信息的可信程度,有利于在后续提升对待升级固件校验过程的可靠性,进而防止安装错误固件版本。
本申请实施例中,上述一次性可编程存储器例如可以是eFuse。
步骤103,利用目标版本信息对待升级固件的版本信息进行校验。
步骤104,确定待升级固件的版本信息校验通过,安装待升级固件。
本申请实施例中,可将待升级固件的版本信息与电子设备内部预存的目标版本信息进行比对,在对比一致的情况下,可认为待升级固件的版本信息与电子设备支持的版本信息一致,校验通过。此时,电子设备可正常安装待升级固件。若比对不一致,说明待升级固件的版本并非电子设备支持的版本,校验失败。此时,电子设备可停止安装待升级固件。
一种可能的情况中,电子设备内部预存的目标版本信息只有一条,即电子设备仅支持一种类型的固件版本。或者,在另外的情况中,电子设备内部预存的目标版本信息有多条,即电子设备可兼容多种类型的固件版本。此时,可将待升级固件的版本信息依次与各个目标版本信息进行比对,只有与其中任意一个目标版本信息一致,则认为校验通过。
通过上述技术方案,可在对电子设备进行固件升级之前,基于预存的固件版本信息对待升级固件版本进行校验,从而可以防止安装错误版本的固件。并且,本申请中,预存的固件版本信息是位于一次性可编程存储器中,可有效防止数据被篡改,增强了数据可信度。
图2为本申请实施例提供的一种固件版本升级场景示意图。如图2所示,的固件整机升级场景中,第一设备21可通过USB方式与第三设备22连接,第一设备21为待升级设备,具体可以是任意类型的用户设备;第三设备22是可作为固件升级工具的其他用户设备,如上位机。第一设备21可在第三设备22的辅助下,完成固件版本升级。
下面以图2所示的场景为例,对本申请提供的固件版本升级方法进行说明。
图3为本申请实施例提供的另一种固件版本升级方法的流程图,如图3所示,本申请实施例提供的固件版本升级方法可以包括:
步骤201,第一设备接收第三设备发送的目标程序以及待升级固件的版本信息。
第一设备的芯片内可包含有启动代码BootROM。BootROM是固化在芯片内部的一段代码,是第一设备在上电时执行的首个代码。本申请实施例中,第一设备上电后,可响应于接收到的触发操作,通过运行BootROM进入固件升级流程。其中,该触发操作例如可以是用户对第一设备上特定按键(如声音调节按键)的按压操作。
进而,第一设备可通过USB方式连接第三设备,接收第三设备发送的下载引导程序,下载引导程序中,可添加有第一密钥,第一密钥可以是预先利用哈希算法对待升级固件的版本信息执行哈希加密后得到的。
步骤202,第一设备检测一次性可编程存储器中是否存储有目标版本信息。如果有,执行步骤203;否则,执行步骤204。
步骤203,第一设备确定待升级固件的版本信息与目标版本信息是否一致。如果一致,执行步骤204;否则,执行步骤205。
步骤204,第一设备通过运行目标程序,从第三设备获取待升级固件的安装文件并完成安装。
步骤205,第一设备向第三设备发送第一指示信息,第一指示信息用于指示固件版本信息校验失败。
本申请实施例中,第一设备在基于下载引导程序下载待升级固件之前,可根据接收到的第一密钥,对待升级固件的版本信息进行校验。
具体的,首先,第一设备可先检测eFuse中是否存储有第二密钥。第二密钥可以是利用哈希算法对第一设备支持的固件版本信息进行哈希加密得到的。本申请实施例中,第二密钥可在第一设备的生产阶段写入eFuse中。具体来说,如图4所示,第一设备生产阶段可依次包括如下各个流程节点:软件下载节点、序列号写入节点、安全部署节点以及恢复出厂设置节点。其中,本申请在eFuse中写入第二密钥的流程可发生于安全部署节点与恢复出厂设置节点之间。
在检测到eFuse中存储有第二密钥的情况下,可通过执行步骤203,完成对待升级固件的版本信息的校验。具体的,可将从第三设备接收到的第一密钥与第二密钥进行比对,如果比较结果一致,可认为待升级固件的版本信息校验通过。此时,可开始运行第三设备发送的下载引导程序,从而完成待升级固件的下载、安装。如果比较结果不一致,认为校验失败。此时,可结束固件升级流程,并向第三设备返回固件版本校验失败的指示信息。
通过上述实现方式,可通过在eFuse中预存版本信息的方式,对待升级固件的版本信息进行校验,防止用户错误安装与设备不匹配的固件版本。
在检测到eFuse中未存储有第二密钥的情况下,可直接开始运行第三设备发送的下载引导程序,从而完成待升级固件的下载、安装。
通过上述实现方式,可便于在第一设备的固件版本调试阶段,对不同的固件版本进行灵活测试,而不受预存版本信息的影响。
图5为本申请实施例提供的另一种固件版本升级场景示意图。如图5所示,的固件整机升级场景中,第一设备21可通过移动通信网络与第二设备23连接,第一设备21为待升级设备,具体可以是任意类型的用户设备。第二设备23为网络设备,例如服务器。
下面以图5所示的场景为例,对本申请提供的固件版本升级方法进行说明。
图6为本申请实施例提供的另一种固件版本升级方法的流程图,如图6所示,本申请实施例提供的固件版本升级方法可以包括:
步骤301,第一设备接收第二设备发送的待升级固件的安装文件以及版本信息。
本申请实施例中,当出现待升级固件后,第二设备可直接通过移动通信网络,将待升级固件的安装文件发送给第一设备,待升级固件的安装文件中可包含第一密钥,与前述实施例相同的,第一密钥可以是预先利用哈希算法对待升级固件的版本信息执行哈希加密后得到的。
步骤302,第一设备检测一次性可编程存储器中是否存储有目标版本信息。如果有,执行步骤303;否则,执行步骤304。
步骤303,第一设备确定待升级固件的版本信息与目标版本信息是否一致。如果一致,执行步骤304;否则,执行步骤305。
步骤304,第一设备基于待升级固件的安装文件,完成待升级固件安装。
步骤305,第一设备结束待升级固件安装流程。
本申请实施例中,第一设备在基于安装文件安装待升级固件之前,可根据接收到的第一密钥,对待升级固件的版本信息进行校验。
具体的,第一设备可先检测eFuse中是否存储有第二密钥。与前述实施例相同的,第二密钥可以是利用哈希算法对第一设备支持的固件版本信息进行哈希加密得到的。
在检测到eFuse中存储有第二密钥的情况下,可通过执行步骤303,完成对待升级固件的版本信息的校验。具体的,可将从第二设备接收到的第一密钥与第二密钥进行比对,如果比较结果一致,可认为待升级固件的版本信息校验通过。此时,可基于第二设备发送的安装文件,完成待升级固件的安装。如果比较结果不一致,认为校验失败。此时,第一设备可结束固件升级流程。
通过上述实现方式,可通过在eFuse中预存版本信息的方式,对待升级固件的版本信息进行校验,防止用户错误安装与设备不匹配的固件版本。
在检测到eFuse中未存储有第二密钥的情况下,第一设备可直接开始安装待升级固件。
通过上述实现方式,可便于在第一设备的固件版本调试阶段,对不同的固件版本进行灵活测试,而不受预存版本信息的约束。
图7为本申请实施例提供的一种固件版本升级装置的结构示意图。如图7所示,上述装置可以包括:获取模块71、读取模块72、校验模块73以及执行模块74。
获取模块71,用于获取待升级固件的版本信息。
读取模块72,用于从目标存储器内读取第一设备支持的目标版本信息,目标存储器为一次性可编程存储器。
校验模块73,用于利用目标版本信息对待升级固件的版本信息进行校验。
执行模块74,用于确定待升级固件的版本信息校验通过,安装待升级固件。
一种具体的实现方式中,获取模块71具体用于,获取第一密钥,第一密钥通过对待升级固件的版本信息执行哈希算法得到。
一种具体的实现方式中,获取模块71具体用于,通过移动通信网络接收第二设备发送的待升级固件的安装文件,安装文件中包含第一密钥。
一种具体的实现方式中,获取模块71具体用于,通过通用串行总线USB接收第三设备发送的目标程序,目标程序用于第一设备获取待升级固件的安装文件并完成安装,目标程序中包含第一密钥。
一种具体的实现方式中,目标版本信息的数量为多个;校验模块73具体用于,分别将待升级固件的版本信息与各个目标版本信息进行比对;确定待升级固件的版本信息校验通过,包括:确定待升级固件的版本信息与任意一个目标版本信息相一致。
一种具体的实现方式中,执行模块74具体用于,基于待升级固件的安装文件,完成待升级固件的安装。
一种具体的实现方式中,执行模块74具体用于,通过运行目标程序,从第三设备获取待升级固件的安装文件并完成待升级固件的安装。
一种具体的实现方式中,读取模块72检测到目标存储器内不存在目标版本信息,执行模块74还用于,安装待升级固件。
通过上述技术方案,可在对电子设备进行固件升级之前,基于预存的固件版本信息对待升级固件版本进行校验,从而可以防止安装错误版本的固件。并且,预存的固件版本信息位于一次性可编程存储器中,可有效防止数据被篡改,增强了数据可信度。
图8为本申请实施例提供的一种电子设备的结构示意图。如图8所示,上述电子设备可以包括至少一个处理器;以及与上述处理器通信连接的至少一个存储器,其中:存储器存储有可被处理器执行的程序指令,上述处理器调用上述程序指令能够执行本申请实施例提供的固件版本升级方法。
本实施例对上述电子设备的具体形态不作限定,可以包括但不限于个人计算机(Personal Computer;以下简称:PC)、个人数字助理(Personal Digital Assistant;以下简称:PDA)、无线手持设备、平板电脑(Tablet Computer)、手机、车辆等。
图8示出了适于用来实现本申请实施方式的示例性电子设备的框图。图8显示的电子设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图8所示,电子设备以通用计算设备的形式表现。电子设备的组件可以包括但不限于:一个或者多个处理器410,存储器430,连接不同系统组件(包括存储器430和处理器410)的通信总线440。
通信总线440表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(Industry StandardArchitecture;以下简称:ISA)总线,微通道体系结构(Micro Channel Architecture;以下简称:MAC)总线,增强型ISA总线、视频电子标准协会(Video Electronics StandardsAssociation;以下简称:VESA)局域总线以及外围组件互连(Peripheral ComponentInterconnection;以下简称:PCI)总线。
电子设备典型地包括多种计算机系统可读介质。这些介质可以是任何能够被电子设备访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
存储器430可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(Random Access Memory;以下简称:RAM)和/或高速缓存存储器。电子设备可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。尽管图8中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如:光盘只读存储器(Compact Disc Read Only Memory;以下简称:CD-ROM)、数字多功能只读光盘(Digital Video Disc Read Only Memory;以下简称:DVD-ROM)或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与通信总线440相连。存储器430可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本申请各实施例的功能。
具有一组(至少一个)程序模块的程序/实用工具,可以存储在存储器430中,这样的程序模块包括——但不限于——操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块通常执行本申请所描述的实施例中的功能和/或方法。
电子设备也可以与一个或多个外部设备(例如键盘、指向设备、显示器等)通信,还可与一个或者多个使得用户能与该电子设备交互的设备通信,和/或与使得该电子设备能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过通信接口420进行。并且,电子设备还可以通过网络适配器(图8中未示出)与一个或者多个网络(例如局域网(Local Area Network;以下简称:LAN),广域网(Wide AreaNetwork;以下简称:WAN)和/或公共网络,例如因特网)通信,上述网络适配器可以通过通信总线440与电子设备的其它模块通信。应当明白,尽管图8中未示出,可以结合电子设备使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、磁盘阵列(Redundant Arrays of Independent Drives;以下简称:RAID)系统、磁带驱动器以及数据备份存储系统等。
处理器410通过运行存储在存储器430中的程序,从而执行各种功能应用以及固件版本升级,例如实现本申请实施例提供的固件版本升级方法。
本申请实施例还提供一种计算机可读存储介质,上述计算机可读存储介质存储计算机指令,上述计算机指令使上述计算机执行本申请实施例提供的固件版本升级方法。
上述计算机可读存储介质可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ReadOnly Memory;以下简称:ROM)、可擦式可编程只读存储器(Erasable Programmable ReadOnly Memory;以下简称:EPROM)或闪存、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、RF等等,或者上述的任意合适的组合。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的装置、设备实施例仅仅是示意性的,例如,所述单元、模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (12)
1.一种固件版本升级方法,其特征在于,应用于第一设备之中,所述方法包括:
获取待升级固件的版本信息;
从目标存储器内读取所述第一设备支持的目标版本信息,所述目标存储器为一次性可编程存储器;
利用所述目标版本信息对所述待升级固件的版本信息进行校验;
确定所述待升级固件的版本信息校验通过,安装所述待升级固件。
2.根据权利要求1所述的方法,其特征在于,获取待升级固件的版本信息,包括:
获取第一密钥,所述第一密钥通过对所述待升级固件的版本信息执行哈希算法得到。
3.根据权利要求2所述的方法,其特征在于,获取第一密钥,包括:
通过移动通信网络接收第二设备发送的待升级固件的安装文件,所述安装文件中包含所述第一密钥。
4.根据权利要求2所述的方法,其特征在于,获取第一密钥,包括:
通过通用串行总线USB接收第三设备发送的目标程序,所述目标程序用于所述第一设备获取所述待升级固件的安装文件并完成安装,所述目标程序中包含所述第一密钥。
5.根据权利要求1所述的方法,其特征在于,所述目标版本信息的数量为多个;利用所述目标版本信息对所述待升级固件的版本信息进行校验,包括:
分别将所述待升级固件的版本信息与各个目标版本信息进行比对;
确定所述待升级固件的版本信息校验通过,包括:
确定所述待升级固件的版本信息与任意一个目标版本信息相一致。
6.根据权利要求3所述的方法,其特征在于,安装所述待升级固件,包括:
基于所述待升级固件的安装文件,完成所述待升级固件的安装。
7.根据权利要求4所述的方法,其特征在于,安装所述待升级固件,包括:
通过运行所述目标程序,从所述第三设备获取所述待升级固件的安装文件并完成所述待升级固件的安装。
8.根据权利要求1所述的方法,其特征在于,所述方法还包括:
检测到所述目标存储器内不存在所述目标版本信息;
安装所述待升级固件。
9.一种固件版本升级装置,其特征在于,包括:
获取模块,用于获取待升级固件的版本信息;
读取模块,用于从目标存储器内读取第一设备支持的目标版本信息,所述目标存储器为一次性可编程存储器;
校验模块,用于利用所述目标版本信息对所述待升级固件的版本信息进行校验;
执行模块,用于确定所述待升级固件的版本信息校验通过,安装所述待升级固件。
10.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述处理器通信连接的至少一个存储器,其中:
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如权利要求1至8任一所述的方法。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行如权利要求1至8任一所述的方法。
12.一种芯片,其特征在于,所述芯片包括处理器与数据接口,所述处理器通过所述数据接口读取存储器上存储的指令,能够执行如权利要求1至8任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310861714.0A CN116820528A (zh) | 2023-07-13 | 2023-07-13 | 固件版本升级方法、装置、芯片和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310861714.0A CN116820528A (zh) | 2023-07-13 | 2023-07-13 | 固件版本升级方法、装置、芯片和电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116820528A true CN116820528A (zh) | 2023-09-29 |
Family
ID=88120201
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310861714.0A Pending CN116820528A (zh) | 2023-07-13 | 2023-07-13 | 固件版本升级方法、装置、芯片和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116820528A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117055928A (zh) * | 2023-10-09 | 2023-11-14 | 深圳市好盈科技股份有限公司 | 一种目标航模电子调速器的固件错误的检测方法和装置 |
-
2023
- 2023-07-13 CN CN202310861714.0A patent/CN116820528A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117055928A (zh) * | 2023-10-09 | 2023-11-14 | 深圳市好盈科技股份有限公司 | 一种目标航模电子调速器的固件错误的检测方法和装置 |
CN117055928B (zh) * | 2023-10-09 | 2024-01-26 | 深圳市好盈科技股份有限公司 | 一种目标航模电子调速器的固件错误的检测方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106020865B (zh) | 一种系统升级方法和装置 | |
US20090228877A1 (en) | Intelligent terminal and method for managing intelligent terminal system | |
US9582262B2 (en) | Systems and methods for installing upgraded software on electronic devices | |
CN107783776B (zh) | 固件升级包的处理方法及装置、电子设备 | |
CN106897166B (zh) | 一种移动终端及其修复方法 | |
CN110874467B (zh) | 信息处理方法、装置、系统以及处理器、存储介质 | |
CN116820528A (zh) | 固件版本升级方法、装置、芯片和电子设备 | |
CN106843947B (zh) | 代码缺陷的处理方法和装置 | |
KR100660641B1 (ko) | 휴대 단말기의 부팅 보안 방법 및 그 휴대 단말기 | |
CN112016092A (zh) | 一种基于tpm服务器资产信息多层保护的装置及方法 | |
CN115220796A (zh) | 安全引导设备 | |
CN113806811B (zh) | 一种被篡改固件自动恢复方法、装置及存储介质 | |
CN111459496B (zh) | 一种防篡改的程序文件的生成方法、设备的升级方法 | |
CN112882743A (zh) | 一种软件升级的方法 | |
CN112231649A (zh) | 一种固件加密处理方法、装置、设备及介质 | |
WO2021012170A1 (zh) | 固件启动方法、设备及计算机可读存储介质 | |
CN116301995A (zh) | 基于bootloader架构的固件升级方法 | |
CN116662050A (zh) | 一种错误注入支持功能验证方法、装置、终端及介质 | |
CN112527371B (zh) | 一种引导加载程序升级方法、装置、电子设备及存储介质 | |
CN115828255A (zh) | 升级签名固件的方法、电子设备和存储介质 | |
CN112559349B (zh) | 一种程序的运行方法及运行装置 | |
CN115102855A (zh) | 智能水表嵌入式软件在线升级方法及系统 | |
CN112069009A (zh) | 一种在Recovery模式下进行压力测试的方法、装置和终端设备 | |
CN117494232B (zh) | 固件的执行方法和装置、系统、存储介质及电子设备 | |
CN113326055B (zh) | 一种设备更新方法及相关装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |