CN113778496A - 固件升级方法、装置及电子设备和存储介质 - Google Patents
固件升级方法、装置及电子设备和存储介质 Download PDFInfo
- Publication number
- CN113778496A CN113778496A CN202111086676.3A CN202111086676A CN113778496A CN 113778496 A CN113778496 A CN 113778496A CN 202111086676 A CN202111086676 A CN 202111086676A CN 113778496 A CN113778496 A CN 113778496A
- Authority
- CN
- China
- Prior art keywords
- firmware
- target hardware
- upgrading
- hardware
- upgrade
- 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 65
- 230000015654 memory Effects 0.000 claims description 23
- 230000008569 process Effects 0.000 claims description 21
- 238000012545 processing Methods 0.000 claims description 10
- 238000009434 installation Methods 0.000 claims description 9
- 238000004891 communication Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Images
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
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1433—Saving, restoring, recovering or retrying at system level during software upgrading
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Quality & Reliability (AREA)
- Stored Programmes (AREA)
Abstract
本申请实施例公开了一种固件升级方法、装置及电子设备和存储介质,接收通过操作***更新工具推送的目标硬件的固件升级包,至少基于固件升级包对目标硬件的固件进行升级。基于本申请,通过操作***更新工具推送目标硬件的固件升级包,实现了固件升级包的自动推送和固件的自动升级,提高了硬件的固件升级的便利性和即时性。
Description
技术领域
本申请涉及计算机技术领域,更具体地说,涉及一种固件升级方法、装置及电子设备和存储介质。
背景技术
固件(Firmware,FW)就是写入硬件,比如EPROM(可擦写可编程只读存储器)或EEPROM(电可擦可编程只读存储器)等中的程序。在一些应用场景中,一些写入固件的硬件(比如,eMMC/UFS)是焊接在电子设备的主板上的,那么,当存储器中的固件出现问题时,会导致电子设备宕机,因此,有必要及时对焊接在主板上的存储器进行固件升级。
目前,对焊接在主板上的硬件进行固件升级的方法是固件提供商提供特定的固件升级工具,并放在特定的服务器上,供用户自行下载安装,但用户很难得到类似的信息以找到对应的固件,同时固件的安装需要特定的模式,对用户的要求较高,存在固件升级不即时的问题。
发明内容
本申请的目的是提供一种固件升级方法、装置及电子设备和存储介质,包括如下技术方案:
一种固件升级方法,所述方法包括:
接收通过操作***更新工具推送的目标硬件的固件升级包;
至少基于所述固件升级包对所述目标硬件的固件进行升级。
上述方法,优选的,还包括:确定待升级的目标硬件;
其中,所述确定待升级的目标硬件,包括:
接收所述操作***更新工具所对应的服务器推送的目标固件信息,所述目标固件信息表征上传至所述服务器的固件升级包的属性信息;
如果所述目标固件信息与第一硬件的第一标识信息和第一固件信息匹配,确定所述第一硬件为待升级的目标硬件;或者,
向所述服务器发送各个硬件的标识信息和固件信息,以在所述服务器确定所述目标固件信息与第一硬件的第一标识信息和第一固件信息匹配时,确定所述第一硬件为待升级的目标硬件。
上述方法,优选的,所述至少基于所述固件升级包对所述目标硬件的固件进行升级,包括:
运行所述固件升级包中的安装文件,以调用所述固件升级包中的固件更新工具和固件镜像文件对所述目标硬件的固件进行升级。
上述方法,优选的,所述调用所述固件更新工具和所述固件镜像文件对目标硬件的固件进行升级,包括:
确定所述目标硬件所属电子设备是否会进入低功耗状态;
如果确定所述电子设备会进入低功耗状态,更改注册表,以禁止所述电子设备进入低功耗状态;
将所述固件更新工具和所述固件镜像文件存至指定目录中,所述指定目录与所述目标硬件唯一对应;
向操作***注册所述固件更新工具,使得所述固件更新工具以后台服务进程运行,以利用所述固件镜像文件对所述目标硬件的固件进行升级。
上述方法,优选的,所述利用所述固件镜像文件对所述目标硬件的固件进行升级,包括:
利用所述后台服务进程确定所述目标硬件的当前固件版本;
如果基于所述固件镜像文件确定所述当前固件版本满足升级条件,将所述目标硬件的固件升级到第一版本;且/或,
如果基于所述固件镜像文件确定所述当前固件版本不满足升级条件,将所述目标硬件的固件升级到第二版本,或不对所述目标硬件的固件执行升级操作;
其中,所述第一版本的发布日期晚于所述所述第二版本。
上述方法,优选的,所述目标硬件包括如下至少一种:存储器、处理器、基本输入/输出***、嵌入式控制器、数字信号处理器、图形处理器或视频处理单元。
上述方法,优选的,所述接收通过操作***更新工具推送的目标硬件的固件升级包,包括:
接收通过操作***更新工具推送的多个目标硬件的固件升级包;
所述至少基于所述固件升级包对所述目标硬件的固件进行升级,包括:
至少基于所述固件升级包的来源信息确定所述多个目标硬件的固件升级策略,基于确定的升级策略和所述固件升级包对所述目标硬件的固件进行升级。
上述方法,优选的,还包括:
接收通过操作***更新工具推送的操作***升级包;
确定所述目标硬件和所述操作***的优先级,以按照确定的优先级对所述目标硬件的固件和所述操作***进行升级。
上述方法,优选的,还包括:
如果满足中断条件,中断目标硬件的固件升级;且/或,
如果电子设备在所述目标硬件的固件升级过程中执行了断电和上电操作,基于固件升级产生的标志位执行继续升级或完成升级的对应操作。
一种固件升级装置,包括:
接收模块,用于接收通过操作***更新工具推送的目标硬件的固件升级包;
升级模块,用于至少基于所述固件升级包对所述目标硬件的固件进行升级。
一种电子设备,包括:
存储器,用于存储程序;
处理器,用于调用并执行所述存储器中的所述程序,通过执行所述程序实现如上任一项所述的固件升级方法的各个步骤。
一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现如上任一项所述的固件升级方法的各个步骤。
通过以上方案可知,本申请提供的一种固件升级方法、装置及电子设备和存储介质,接收通过操作***更新工具推送的目标硬件的固件升级包,至少基于固件升级包对目标硬件的固件进行升级。基于本申请,通过操作***更新工具推送目标硬件的固件升级包,实现了固件升级包的自动推送和固件的自动升级,提高了硬件的固件升级的便利性和即时性。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的固件升级方法的一种实现流程图;
图2为本申请实施例提供的调用固件升级包中的固件更新工具和固件镜像文件对目标硬件的固件进行升级的一种实现流程图;
图3为本申请实施例提供的固件升级装置的一种结构示意图;
图4为本申请实施例提供的电子设备的一种结构示意图。
说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的部分,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例,能够以除了在这里图示的以外的顺序实施。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供的固件升级方法可以用于电子设备中,包括但不限于:笔记本电脑、台式计算机、一体式计算机等。该电子设备中配置有操作***更新工具,该操作***更新工具可以接收操作***更新工具对应的服务器推送的用于对电子设备中的操作***进行升级的升级包,并基于该升级包对操作***进行升级。
如图1所示,为本申请实施例提供的固件升级方法的一种实现流程图,可以包括:
步骤S101:接收通过操作***更新工具推送的目标硬件的固件升级包。
本申请实施例中,操作***更新工具除了可以用于推送给操作***的升级包外,还可以用于推送用于对硬件的固件进行升级的固件升级包。
其中,目标硬件可以仅有一个,有可以有多个。
步骤S102:至少基于固件升级包对目标硬件的固件进行升级。
可以仅基于固件升级包对目标硬件的固件进行升级,也可以基于固件升级包及其它信息对目标硬件的固件进行升级,比如基于操作***更新工具推送的其它信息对目标硬件的固件进行升级。
本申请实施例提供的固件升级方法,通过操作***更新工具推送目标硬件的固件升级包,实现了固件升级包的自动推送和固件的自动升级,提高了硬件的固件升级的便利性和即时性。
在一可选的实施例中,上述目标硬件的固件升级包可以是操作***更新工具对应服务器(记为第一服务器)推送给操作***更新工具,操作***更新工具又将固件升级包推送给目标硬件的硬件驱动的。其中,
操作***更新工具对应的第一服务器可以是操作***的供应商提供的用于对操作***进行维护(比如,升级,打补丁等)的服务器,也就是说,推送硬件的固件升级包的第一服务器与用于对操作***进行维护的服务器(记为第二服务器)是同一服务器。
或者,
操作***更新工具对应的第一服务器可以是专用于推送硬件的固件升级包的服务器,也就是说,推送硬件的固件升级包的第一服务器与用于对操作***进行维护的第二服务器是不同服务器。
硬件供应商在确定硬件的最新版本的固件后,将固件升级包上传到操作***更新工具对应的第一服务器上。
第一服务器在接收到固件升级包后,确定待升级的目标硬件,然后将固件升级包推送给目标硬件所属的电子设备的操作***更新工具。
可选的,第一服务器可以在接收到固件升级包后立即启动确定待升级的目标硬件的过程,或者,可以在接收到固件升级包后满足条件时才启动确定待升级的目标硬件的过程。其中,满足条件可以包括但不限于满足如下至少一个条件:在接收到固件升级包后等待了预设时长(给硬件供应商预留查错缓冲期,避免上传的固件升级包是错误的);到达推送时间点。
确定待升级的目标硬件的过程可以由第一服务器和电子设备进行交互而确定。可选的,
可选的,本申请实施例提供的确定待升级的目标硬件的一种实现方式可以为:
操作***更新工具对应的第一服务器向至少一个电子设备推送目标固件信息,该目标固件信息表征上传至第一服务器的固件升级包的属性信息。固件升级包的属性信息可以包括但不限于:固件升级包所适用的硬件的标识,以及固件升级包对应的固件信息(比如,固件版本);其中,硬件的标识可以包括但不限于以下至少一种信息:厂家标识、产品型号等。第一服务器可以通过操作***更新工具向电子设备推送目标固件信息,也可以通过其它方式或工具向电子设备推送目标固件信息,比如,通过预先配置的通信方式(例如,小程序等)推送等。上述至少一个电子设备可以是固件升级包上传者提供的固件升级包所适用的电子设备标识,当然这里的电子设备标识用于指代一类电子设备,而不是用于唯一识别电子设备。
任意一个电子设备接收到第一服务器推送的目标固件信息后,可以判断目标固件信息与电子设备中的各个硬件的标识信息和固件信息是否匹配(可以由硬件驱动判断目标固件信息与电子设备中的各个硬件的标识信息和固件信息是否匹配,或者,可以由操作***更新工具判断目标固件信息与电子设备中的各个硬件的标识信息和固件信息是否匹配),如果目标固件信息与第一硬件的第一标识信息和第一固件信息匹配,确定第一硬件为待升级的目标硬件,此时,电子设备可以将第一硬件的第一标识信息和第一固件信息发送给第一服务器,以便第一服务器将第一硬件确定为目标硬件。或者,
任意一个电子设备接收到第一服务器推送的目标固件信息后,可以向第一服务器发送各个硬件的标识信息和固件信息,以便服务器确定目标固件信息与目标电子设备反馈的第一硬件的第一标识信息和第一固件信息匹配时,确定第一硬件为待升级的目标硬件。或者,
任意一个电子设备接收到第一服务器推送的目标固件信息后,可以向操作***更新工具发送各个硬件的标识信息和固件信息,以便操作***更新工具确定目标固件信息与目标电子设备反馈的第一硬件的第一标识信息和第一固件信息匹配时,确定第一硬件为待升级的目标硬件。此时,操作***更新工具可以将第一硬件的第一标识信息和第一固件信息发送给第一服务器,以便第一服务器将第一硬件确定为目标硬件。
本申请实施例中,目标电子设备可能只有一类,比如,目标电子设备是同一厂商的电子设备。当然,目标电子设备也可能有多类,比如,目标电子设备是不同厂商的电子设备。
可选的,本申请实施例提供的确定待升级的目标硬件的另一种实现方式可以为:
操作***更新工具对应的第一服务器向至少一个电子设备发送固件更新通知;
任意一个电子设备接收到固件更新通知后,向第一服务器发送各个硬件的标识信息和固件信息,以便服务器确定目标固件信息与目标电子设备反馈的第一硬件的第一标识信息和第一固件信息匹配时,确定第一硬件为待升级的目标硬件。
在一可选的实施例中,上述至少基于固件升级包对目标硬件的固件进行升级的一种实现方式可以为:
运行固件升级包中的安装文件,以调用固件升级包中的固件更新工具和固件镜像文件对目标硬件的固件进行升级。
本申请实施例中,固件升级包中可以包括:安装文件、固件更新工具和固件镜像文件三部分,即固件更新工具和固件镜像文件独立于安装文件存在。或者,固件升级包仅包含安装文件这一部分,固件更新工具和固件镜像文件均携带于安装文件中,即固件更新工具和固件镜像文件是安装文件的组成部分。
在一可选的实施例中,上述调用固件升级包中的固件更新工具和固件镜像文件对目标硬件的固件进行升级的一种实现流程图如图2所示,可以包括:
步骤S201:确定目标硬件所属电子设备是否会进入低功耗状态。
可以查看注册表来确定目标硬件所属电子设备是否会进入低功耗状态。
步骤S202:如果确定电子设备会进入低功耗状态,更改注册表,以禁止电子设备进入低功耗状态。
通过禁止电子设备进入低功耗状态,可以保证硬件的固件升级环境不进入低功耗模式。
步骤S203:将固件更新工具和固件镜像文件存至指定目录中,指定目录与目标硬件唯一对应。
每次进行固件升级时,对应目标硬件建立指定目录,该指定目录唯一对应目标硬件。
步骤S204:向操作***注册固件更新工具,使得固件更新工具以后台服务进程运行,以利用固件镜像文件对目标硬件的固件进行升级。
也就是说,后台服务利用固件镜像文件对目标硬件的固件进行升级。
在将目标硬件的固件升级完成后,更改注册表,以恢复用户之前的设置,使得电子设备进入低功耗状态的功能使能,即电子设备能够进入低功耗状态。
在一可选的实施例中,上述后台服务利用固件镜像文件对目标硬件的固件进行升级的一种实现方式可以包括:
利用后台服务进程确定目标硬件的当前固件版本。
如果基于固件镜像文件确定当前固件版本满足升级条件,将目标硬件的固件升级到第一版本;且/或,
如果基于固件镜像文件确定当前固件版本不满足升级条件,将目标硬件的固件升级到第二版本,或不对目标硬件的固件执行升级操作。
其中,第一版本的发布日期晚于所述第二版本。
在实际应用场景中,会存从一个版本升级到另一个版本后,固件无法使用的问题,比如,从版本1升级到版本5后会存在问题,但从版本1升级到版本2就没有问题,从版本4升级到版本5也没有问题。
本申请实施例中,固件镜像文件中记载有指示信息,该指示标识表征是否可以从目标硬件的当前固件版本升级到最新版本。
如果指示信息表征可以从当前固件版本升级到最新版本,确定当前固件版本满足升级条件,否则,确定当前固件版本不满足升级条件。
在当前固件版本不满足升级条件时,可以不对目标硬件的固件进行升级,或者,可以先将目标硬件的固件升级到较低版本,然后再从升级后的较低版本升级到最新版本。比如,假如目标硬件的当前固件版本为版本2,固件升级包对应的版本为版本5,且,从版本2升级到版本5会有问题,但从版本2升级到版本4没有问题,则可以先将目标硬件的固件由版本2升级到版本4,然后再从版本4升级到版本5。
由于需要升级到版本4,因此,可以向第一服务器请求目标硬件的固件的第4版本的固件升级包,从而在第一服务器返回目标硬件的第4版本的固件升级包后,利用该第4版本的固件升级包将目标硬件的固件由版本2升级到版本4。
在一可选的实施例中,目标硬件可以包括但不限于以下至少一种:
存储器,比如NAND存储器,例如,emmc、ufs等;处理器cpu(CentralProcessingUnit);基本输入/输出***bios(Basic Input Output System);嵌入式控制器ec(Embedded Controller);数字信号处理器dsp(digital signal processing);图形处理器GPU(Graphics Processing Unit);视频处理单元VPU(Video ProcessingUnit)。
在一可选的实施例中,上述接收通过操作***更新工具推送的目标硬件的固件升级包的一种实现方式可以为:
接收通过操作***更新工具推送的多个目标硬件的固件升级包。
在一些场景下,第一服务器可能会向电子设备推送多个目标硬件的固件升级包。比如同时推送存储器的固件升级包和图形处理器的固件升级包等。
相应的,上述至少基于固件升级包对目标硬件的固件进行升级,可以包括:
至少基于固件升级包的来源信息确定多个目标硬件的固件升级策略,基于确定的升级策略和固件升级包对目标硬件的固件进行升级。
固件升级包的来源信息可以是固件升级包的提供商的信息。
多个目标硬件的固件升级策略可以包括:
对多个目标硬件中来自于同一厂商的目标硬件同时进行固件升级;
对多个目标硬件中来自于不同厂商的目标硬件依次进行固件升级。
可选的,对于来自于不同厂商的目标硬件,可以确定来自于不同厂商的目标硬件的优先级,按照优先级由高到低的顺序,对来自于不同厂商的目标硬件依次进行固件升级。
在一可选的实施例中,本申请实施例提供的固件升级方法还可以包括:
接收通过操作***更新工具推送的操作***升级包,该操作***升级包可以是第一服务器推送的,或者,可以是第二服务器推送的。
确定目标硬件和操作***的优先级,按照确定的优先级对目标硬件的固件和操作***进行升级。
可选的,可以基于设备运行信息确定目标硬件和操作***的优先级,比如,可以通过设备运行信息确定电子设备是否处于空闲状态(即用户未使用电子设备),若确定结果为是,确定操作***的优先级高于目标硬件的优先级,此时可以先对操作***进行升级,操作***升级完了,再对目标硬件的固件进行升级;若确定为否,可以确定目标硬件的优先级高于操作***的优先级,此时可以先对目标硬件的固件进行升级,在对目标硬件的固件升级完成后再对操作***进行升级。可选的,由于在对操作***进行升级时,可能用户正在使用电子设备,如果直接对操作***升级可能会影响用户的正常使用,因此,在目标硬件的固件升级完成后,可以先输出交互界面,该交互界面上显示有提示信息,以提示用户操作***可以升级,是否升级,若用户选择是,则不对操作***升级,等电子设备处于空闲状态时,再对操作***进行升级,若用户选择否,则对操作***进行升级。
可选的,可以判断目标硬件的固件升级和操作***的升级是否冲突,如果不冲突,可以确定目标硬件和操作***的优先级相同,此时二者可以同时升级。比如,如果目标硬件的固件升级不依赖于操作***,且操作***的升级不依赖于目标硬件,则二者可以同时升级。
在一可选的实施例中,本申请实施例提供的固件升级方法还可以包括:
如果满足中断条件,中断目标硬件的固件升级。
满足中断条件可以包括但不限于以下任意一项:获取到对目标硬件的读/写操作,或者,获取到其它需要立即处理的中断。
本申请实施例中,如果满足中断条件,则中断目标硬件的固件升级过程,并记录中止位置,处理中断,在中断处理完成后,再从中止位置处开始,继续对目标硬件的固件进行升级。基于此,保证了目标硬件的固件升级过程不影响用户的正常使用。
在一可选的实施例中,本申请实施例提供的固件升级方法还可以包括:
如果电子设备在目标硬件的固件升级过程中执行了断电和上电操作,基于固件升级产生的标志位执行继续升级或完成升级的对应操作。
本申请实施例中,如果在目标硬件的固件升级过程中电子设备掉电,则则电子设备上电后,可以检查目标硬件的固件升级完成的标志位,如果该标志位表征固件升级还未完成,则找到电子设备掉电时的更新中止位置,从该更新中止位置处开始继续对目标硬件的固件进行升级
在一可选的实施例中,本申请实施例提供的固件升级方法还可以包括:
如果满足中断条件,中断目标硬件的固件升级。
如果电子设备在目标硬件的固件升级过程中执行了断电和上电操作,基于固件升级产生的标志位执行继续升级或完成升级的对应操作。
与方法实施例相对应,本申请实施例还提供一种固件升级装置,本申请实施例提供的固件升级装置的一种结构示意图如图3所示,可以包括:
接收模块301和升级模块302;其中,
接收模块301用于接收通过操作***更新工具推送的目标硬件的固件升级包;
升级模块302用于至少基于所述固件升级包对所述目标硬件的固件进行升级。
本申请实施例提供的固件升级装置,通过操作***更新工具推送目标硬件的固件升级包,实现了固件升级包的自动推送和固件的自动升级,提高了硬件的固件升级的便利性和即时性。
在一可选的实施例中,还包括:
确定模块,用于确定待升级的目标硬件;具体可以用于:
接收所述操作***更新工具所对应的服务器推送的目标固件信息,所述目标固件信息表征上传至所述服务器的固件升级包的属性信息;
如果所述目标固件信息与第一硬件的第一标识信息和第一固件信息匹配,确定所述第一硬件为待升级的目标硬件;或者,
向所述服务器发送各个硬件的标识信息和固件信息,以在所述服务器确定所述目标固件信息与第一硬件的第一标识信息和第一固件信息匹配时,确定所述第一硬件为待升级的目标硬件。
在一可选的实施例中,所述升级模块用于:
运行所述固件升级包中的安装文件,以调用所述固件升级包中的固件更新工具和固件镜像文件对所述目标硬件的固件进行升级。
在一可选的实施例中,所述升级模块调用所述固件更新工具和所述固件镜像文件对目标硬件的固件进行升级时,用于:
确定所述目标硬件所属电子设备是否会进入低功耗状态;
如果确定所述电子设备会进入低功耗状态,更改注册表,以禁止所述电子设备进入低功耗状态;
将所述固件更新工具和所述固件镜像文件存至指定目录中,所述指定目录与所述目标硬件唯一对应;
向操作***注册所述固件更新工具,使得所述固件更新工具以后台服务进程运行,以利用所述固件镜像文件对所述目标硬件的固件进行升级。
在一可选的实施例中,所述升级模块利用所述固件镜像文件对所述目标硬件的固件进行升级时,用于:
利用所述后台服务进程确定所述目标硬件的当前固件版本;
如果基于所述固件镜像文件确定所述当前固件版本满足升级条件,将所述目标硬件的固件升级到第一版本;且/或,
如果基于所述固件镜像文件确定所述当前固件版本不满足升级条件,将所述目标硬件的固件升级到第二版本,或不对所述目标硬件的固件执行升级操作;
其中,所述第一版本的发布日期晚于所述所述第二版本。
在一可选的实施例中,所述目标硬件包括如下至少一种:存储器、处理器、基本输入/输出***、嵌入式控制器、数字信号处理器、图形处理器或视频处理单元。
在一可选的实施例中,所述接收模块用于:
接收通过操作***更新工具推送的多个目标硬件的固件升级包;
所述升级模块用于:
至少基于所述固件升级包的来源信息确定所述多个目标硬件的固件升级策略,基于确定的升级策略和所述固件升级包对所述目标硬件的固件进行升级。
在一可选的实施例中,所述接收模块还用于:
接收通过操作***更新工具推送的操作***升级包;
所述升级模块还用于:确定所述目标硬件和所述操作***的优先级,以按照确定的优先级对所述目标硬件的固件和所述操作***进行升级。
在一而可选的实施例中,所述升级模块还用于:
如果满足中断条件,中断目标硬件的固件升级;且/或,
如果电子设备在所述目标硬件的固件升级过程中执行了断电和上电操作,基于固件升级产生的标志位执行继续升级或完成升级的对应操作。
与方法实施例相对应,本申请还提供一种电子设备,该电子设备的一种结构示意图如图4所示,可以包括:至少一个处理器1,至少一个通信接口2,至少一个存储器3和至少一个通信总线4;
在本申请实施例中,处理器1、通信接口2、存储器3、通信总线4的数量为至少一个,且处理器1、通信接口2、存储器3通过通信总线4完成相互间的通信;
处理器1可能是一个中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本申请实施例的一个或多个集成电路等;
存储器3可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatilememory)等,例如至少一个磁盘存储器;
其中,存储器3存储有程序,处理器1可调用存储器3存储的程序,所述程序用于:
接收通过操作***更新工具推送的目标硬件的固件升级包;
至少基于所述固件升级包对所述目标硬件的固件进行升级。
可选的,所述程序的细化功能和扩展功能可参照上文描述。
本申请实施例还提供一种存储介质,该存储介质可存储有适于处理器执行的程序,所述程序用于:
接收通过操作***更新工具推送的目标硬件的固件升级包;
至少基于所述固件升级包对所述目标硬件的固件进行升级。
可选的,所述程序的细化功能和扩展功能可参照上文描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的***、装置和方法,可以通过其它的方式实现。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
应当理解,本申请实施例中,从权、各个实施例、特征可以互相组合结合,都能实现解决前述技术问题。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种固件升级方法,所述方法包括:
接收通过操作***更新工具推送的目标硬件的固件升级包;
至少基于所述固件升级包对所述目标硬件的固件进行升级。
2.根据权利要求1所述的方法,还包括:确定待升级的目标硬件;
其中,所述确定待升级的目标硬件,包括:
接收所述操作***更新工具所对应的服务器推送的目标固件信息,所述目标固件信息表征上传至所述服务器的固件升级包的属性信息;
如果所述目标固件信息与第一硬件的第一标识信息和第一固件信息匹配,确定所述第一硬件为待升级的目标硬件;或者,
向所述服务器发送各个硬件的标识信息和固件信息,以在所述服务器确定所述目标固件信息与第一硬件的第一标识信息和第一固件信息匹配时,确定所述第一硬件为待升级的目标硬件。
3.根据权利要求1所述的方法,所述至少基于所述固件升级包对所述目标硬件的固件进行升级,包括:
运行所述固件升级包中的安装文件,以调用所述固件升级包中的固件更新工具和固件镜像文件对所述目标硬件的固件进行升级。
4.根据权利要求3所述的方法,所述调用所述固件更新工具和所述固件镜像文件对目标硬件的固件进行升级,包括:
确定所述目标硬件所属电子设备是否会进入低功耗状态;
如果确定所述电子设备会进入低功耗状态,更改注册表,以禁止所述电子设备进入低功耗状态;
将所述固件更新工具和所述固件镜像文件存至指定目录中,所述指定目录与所述目标硬件唯一对应;
向操作***注册所述固件更新工具,使得所述固件更新工具以后台服务进程运行,以利用所述固件镜像文件对所述目标硬件的固件进行升级。
5.根据权利要求4所述的方法,所述利用所述固件镜像文件对所述目标硬件的固件进行升级,包括:
利用所述后台服务进程确定所述目标硬件的当前固件版本;
如果基于所述固件镜像文件确定所述当前固件版本满足升级条件,将所述目标硬件的固件升级到第一版本;且/或,
如果基于所述固件镜像文件确定所述当前固件版本不满足升级条件,将所述目标硬件的固件升级到第二版本,或不对所述目标硬件的固件执行升级操作;
其中,所述第一版本的发布日期晚于所述所述第二版本。
6.根据权利要求1-5任意一项所述的方法,所述目标硬件包括如下至少一种:存储器、处理器、基本输入/输出***、嵌入式控制器、数字信号处理器、图形处理器或视频处理单元。
7.根据权利要求1所述的方法,所述接收通过操作***更新工具推送的目标硬件的固件升级包,包括:
接收通过操作***更新工具推送的多个目标硬件的固件升级包;
所述至少基于所述固件升级包对所述目标硬件的固件进行升级,包括:
至少基于所述固件升级包的来源信息确定所述多个目标硬件的固件升级策略,基于确定的升级策略和所述固件升级包对所述目标硬件的固件进行升级。
8.根据权利要求1所述的方法,还包括:
接收通过操作***更新工具推送的操作***升级包;
确定所述目标硬件和所述操作***的优先级,以按照确定的优先级对所述目标硬件的固件和所述操作***进行升级。
9.根据权利要求1所述的方法,还包括:
如果满足中断条件,中断目标硬件的固件升级;且/或,
如果电子设备在所述目标硬件的固件升级过程中执行了断电和上电操作,基于固件升级产生的标志位执行继续升级或完成升级的对应操作。
10.一种固件升级装置,包括:
接收模块,用于接收通过操作***更新工具推送的目标硬件的固件升级包;
升级模块,用于至少基于所述固件升级包对所述目标硬件的固件进行升级。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111086676.3A CN113778496A (zh) | 2021-09-16 | 2021-09-16 | 固件升级方法、装置及电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111086676.3A CN113778496A (zh) | 2021-09-16 | 2021-09-16 | 固件升级方法、装置及电子设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113778496A true CN113778496A (zh) | 2021-12-10 |
Family
ID=78851498
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111086676.3A Pending CN113778496A (zh) | 2021-09-16 | 2021-09-16 | 固件升级方法、装置及电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113778496A (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101046749A (zh) * | 2006-03-31 | 2007-10-03 | 联想(北京)有限公司 | 一种芯片固件升级方法 |
US20130179872A1 (en) * | 2012-01-11 | 2013-07-11 | Eric Kuzmack | In-Band Hypervisor-Managed Firmware Updates |
CN108536452A (zh) * | 2017-02-28 | 2018-09-14 | 深圳市帝迈生物技术有限公司 | 一种嵌入式设备及其***软件升级方法、***和终端 |
CN109240720A (zh) * | 2018-08-23 | 2019-01-18 | 福州瑞芯微电子股份有限公司 | 一种安卓***的固件升级方法及一种存储设备 |
CN110268386A (zh) * | 2018-01-19 | 2019-09-20 | 深圳市大疆创新科技有限公司 | 一种固件升级方法、装置、电子设备及控制设备 |
CN110324193A (zh) * | 2019-07-31 | 2019-10-11 | 青岛海信医疗设备股份有限公司 | 一种终端升级管理方法及装置 |
US20190391799A1 (en) * | 2018-06-21 | 2019-12-26 | Dell Products, Lp | Apparatus and Method to Execute Prerequisite Code Before Delivering UEFI Firmware Capsule |
US20210048997A1 (en) * | 2019-08-14 | 2021-02-18 | Dell Products L.P. | Sequence and update rules in firmware update services |
CN113196230A (zh) * | 2021-03-24 | 2021-07-30 | 华为技术有限公司 | 终端升级的方法及装置 |
-
2021
- 2021-09-16 CN CN202111086676.3A patent/CN113778496A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101046749A (zh) * | 2006-03-31 | 2007-10-03 | 联想(北京)有限公司 | 一种芯片固件升级方法 |
US20130179872A1 (en) * | 2012-01-11 | 2013-07-11 | Eric Kuzmack | In-Band Hypervisor-Managed Firmware Updates |
CN108536452A (zh) * | 2017-02-28 | 2018-09-14 | 深圳市帝迈生物技术有限公司 | 一种嵌入式设备及其***软件升级方法、***和终端 |
CN110268386A (zh) * | 2018-01-19 | 2019-09-20 | 深圳市大疆创新科技有限公司 | 一种固件升级方法、装置、电子设备及控制设备 |
US20190391799A1 (en) * | 2018-06-21 | 2019-12-26 | Dell Products, Lp | Apparatus and Method to Execute Prerequisite Code Before Delivering UEFI Firmware Capsule |
CN109240720A (zh) * | 2018-08-23 | 2019-01-18 | 福州瑞芯微电子股份有限公司 | 一种安卓***的固件升级方法及一种存储设备 |
CN110324193A (zh) * | 2019-07-31 | 2019-10-11 | 青岛海信医疗设备股份有限公司 | 一种终端升级管理方法及装置 |
US20210048997A1 (en) * | 2019-08-14 | 2021-02-18 | Dell Products L.P. | Sequence and update rules in firmware update services |
CN113196230A (zh) * | 2021-03-24 | 2021-07-30 | 华为技术有限公司 | 终端升级的方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8555162B2 (en) | Activation of fonts using font sets | |
CN110825563B (zh) | ***恢复方法、装置以及电子设备 | |
US8949205B2 (en) | Information processing apparatus for processing application software and a patch file | |
CN105760200A (zh) | 终端设备及其***升级方法 | |
US20060282833A1 (en) | Apparatus and method for managing firmware of removable media device | |
JPWO2013103023A1 (ja) | 情報処理装置、情報処理方法、およびコンピュータプログラム | |
CN111427596B (zh) | 一种软件升级的方法、装置及终端设备 | |
US20140082346A1 (en) | Method and System for Managing Basic Input/Output System (BIOS) Configuration Data of BIOS | |
CN109117153B (zh) | 应用程序的处理方法、装置、终端和存储介质 | |
CN108121560A (zh) | 差分包升级方法、装置、终端及计算机可读存储介质 | |
CN114443081A (zh) | 终端升级的方法及终端 | |
CN104375854A (zh) | 一种应用更新下载方法及用户终端 | |
CN104978204A (zh) | 基于移动终端的应用安装更新方法及装置 | |
CN112486733B (zh) | ***还原方法、装置、终端及存储介质 | |
CN111400091B (zh) | 恢复出厂设置方法、恢复出厂设置装置及移动终端 | |
CN113032183A (zh) | ***管理方法、装置、计算机设备和存储介质 | |
CN110737455A (zh) | 固件的更新方法、装置及电子设备 | |
CN113778496A (zh) | 固件升级方法、装置及电子设备和存储介质 | |
KR101461319B1 (ko) | 셋탑박스의 펌웨어 업그레이드 방법 및 펌웨어 업그레이드 장치 | |
CN114780114A (zh) | 固件升级方法、***、车辆及存储介质 | |
JP5222204B2 (ja) | 移動端末およびソフトウェアアップデート方法 | |
CN114968297A (zh) | Ota升级方法、电子设备及芯片*** | |
CN111158733A (zh) | 一种bmc升级方法、装置、设备及计算机可读存储介质 | |
CN117150583B (zh) | 一种应用于PNOR flash的访问保护方法及装置 | |
CN113434211B (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 |