CN115562698B - 基本输入输出系统bios的升级方法和电子设备 - Google Patents

基本输入输出系统bios的升级方法和电子设备 Download PDF

Info

Publication number
CN115562698B
CN115562698B CN202210467487.9A CN202210467487A CN115562698B CN 115562698 B CN115562698 B CN 115562698B CN 202210467487 A CN202210467487 A CN 202210467487A CN 115562698 B CN115562698 B CN 115562698B
Authority
CN
China
Prior art keywords
bios
battery
terminal
upgrade
power
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.)
Active
Application number
CN202210467487.9A
Other languages
English (en)
Other versions
CN115562698A (zh
Inventor
相超
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Honor Device Co Ltd
Original Assignee
Honor Device Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Honor Device Co Ltd filed Critical Honor Device Co Ltd
Priority to CN202210467487.9A priority Critical patent/CN115562698B/zh
Publication of CN115562698A publication Critical patent/CN115562698A/zh
Application granted granted Critical
Publication of CN115562698B publication Critical patent/CN115562698B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本申请实施例提供了一种基本输入输出系统BIOS的升级方法和电子设备,该方法中,终端从服务器下载新版本的BIOS;重启,且在重启的开机过程中,检测终端是否连接电源适配器;在终端未连接电源适配器,且终端中的电池满足第一条件的情况下,根据新版本的BIOS升级终端中的BIOS。本申请实施例中可以在终端未连接电源适配器时进行BIOS升级,扩展了BIOS升级的条件,避免BIOS的升级条件局限于“连接电源适配器且电池电量大于30%”,可以提高BIOS升级率以及升级效率,进而保证可以修复旧版本BIOS中的bug,以提高终端的开机效率和成功率。

Description

基本输入输出系统BIOS的升级方法和电子设备
技术领域
本申请实施例涉及终端技术领域,尤其涉及一种基本输入输出系统BIOS的升级方法和电子设备。
背景技术
基本输入输出系统(basic input output system,BIOS)可以理解为在终端开机过程中运行的一组程序,若旧版本的BIOS存在程序故障(bug),则终端需要将旧版本的BIOS升级至新版本的BIOS。
目前个人计算机(personal computer,PC)中,在PC的电池电量大于30%且PC连接电源适配器的情况下,PC才升级其中的BIOS。现有技术中的BIOS升级条件导致BIOS的升级率低,进而影响PC开机的成功率和效率。
发明内容
本申请实施例提供一种基本输入输出系统BIOS的升级方法和电子设备,可以提高BIOS升级率。
第一方面,本申请实施例提供一种基本输入输出系统BIOS的升级方法,执行该方法的执行主体可以为终端或终端中的芯片,下述以终端为例进行说明。该方法中,终端从服务器下载新版本的BIOS;重启,且在重启的开机过程中,检测所述终端是否连接电源适配器;在所述终端未连接电源适配器,且所述终端中的电池满足第一条件的情况下,根据所述新版本的BIOS升级所述终端中的BIOS。
本申请实施例中可以在终端未连接电源适配器时进行BIOS升级,扩展了BIOS升级的条件,避免BIOS的升级条件局限于“连接电源适配器且电池电量大于30%”,可以提高BIOS升级率以及升级效率,进而保证可以修复旧版本BIOS中的bug,以提高终端的开机效率和成功率。
在一种可能的实现方式中,在所述终端连接电源适配器,且所述电池满足第二条件的情况下,根据所述新版本的BIOS升级所述终端中的BIOS,所述第一条件和所述第二条件不同。
在该实现方式中,在终端连接电源适配器时也可以实现BIOS的升级,因此本申请实施例中并不限制BIOS升级的条件,能够提高BIOS的升级率。
在一种可能的实现方式中,所述方法还包括:在重启的开机过程中,获取所述电池的第一信息,所述第一信息包括:所述电池的第一电池电量,其中,在所述终端连接电源适配器的情况下,所述第一信息还包括:第一充电功率;根据所述电池的第一信息,检测所述电池是否满足所述第一条件或所述第二条件。
在一种可能的实现方式中,所述第一信息还包括如下至少一项:所述电池的第一累计使用时长、第一电池温度。
在该实现方式中,终端可以根据电池的第一信息,可以在电池是否满足所述第一条件或所述第二条件时实现BIOS升级。也就是说,本申请实施例中,并不限制BIOS的升级条件,电池在不同累计使用时长、不同电池温度,以及不同充电功率下,对应的可以允许BIOS升级的电池电量可以不同。或者说,电池在不同累计使用时长、不同电池温度,不同电池电量以及不同充电功率下,允许BIOS升级的电池电量可以不同。应理解的是,电池的累计使用时长、电池温度,电池电量以及充电功率不同的条件下,电池的放电能力不同,因此本申请实施例中基于电池的累计使用时长、电池温度,电池电量以及充电功率,可以确定是否升级BIOS升级,其中,这样一方面可以在扩展BIOS升级条件的情况下,还可以保证BIOS顺利升级。
其一,在一种可能的实现方式中,在所述终端未连接电源适配器,且所述第一信息包括所述第一电池电量、所述第一累计使用时长,以及所述第一电池温度的情况下。
所述根据所述电池的第一信息,检测所述电池是否满足所述第一条件,包括:在第一BIOS升级条件集合中,查询所述第一累计使用时长和所述第一电池温度映射的第一目标电池电量,所述第一BIOS升级条件集合中包括:所述电池在不同累计使用时长、不同电池温度,以及不同充电功率下允许BIOS升级的最小电池电量;检测所述第一电池电量是否大于或等于所述第一目标电池电量,以检测所述电池是否满足所述第一条件,其中,所述第一电池电量大于或等于所述第一目标电池电量表征:所述电池满足所述第一条件。
换句话说,在终端未连接电源适配器的情况下,若电池的第一电池电量大于允许该情况下允许BIOS升级的最小电池电量(即第一目标电池电量),就可以实现BIOS升级。
应理解,本申请实施例中可以预先维护BIOS升级条件集合,该集合中包括不同电池温度、电池累计使用时长,以及电源适配器的充电功率映射的电池电量,因此无需像现有技术中一样使用固定的BIOS升级条件(必须满足电池电量大于30%且连接电源适配器),而是基于不同的电池温度、电池累计使用时长,以及电源适配器的充电功率,可以适应性调整允许BIOS升级的电池电量,本申请实施例中的BIOS升级方法可以提高BIOS升级率以及升级效率,进而保证可以修复旧版本BIOS中的bug,以提高终端的开机效率和成功率。
在一种可能的实现方式中,在所述终端未连接电源适配器,且所述第一电池电量小于所述第一目标电池电量的情况下,可以不升级BIOS,而是输出提示信息,所述提示信息用于提示将所述终端连接电源适配器。
其中,在预设时长内,终端响应于所述终端连接电源适配器,获取所述第一充电功率,以基于所述第一累计使用时长、所述第一电池温度、所述第一充电功率,以及所述第一电池电量,检测所述电池是否满足所述第二条件,可以参照下述的相关描述。其中,在所述预设时长内,终端响应于所述终端未连接电源适配器,记录BIOS升级失败,且退出BIOS升级。
在该实现方式中,在所述终端未连接电源适配器,且电池电量不满足允许BIOS升级的最小电池电量的情况下,可以提示用户将终端连接电源适配器,以便提高电池电量,提高BIOS的升级率。
其二,在一种可能的实现方式中,在所述终端连接电源适配器,且所述第一信息包括所述第一充电功率、所述第一电池电量、所述第一累计使用时长,以及所述第一电池温度的情况下。
所述根据所述电池的第一信息,检测所述电池是否满足所述第一条件,包括:在第一BIOS升级条件集合中,查询所述第一累计使用时长、所述第一电池温度,以及所述第一充电功率映射的第二目标电池电量,所述第一BIOS升级条件集合中包括:所述电池在不同累计使用时长、不同电池温度,以及不同充电功率下允许BIOS升级的最小电池电量;检测所述第一电池电量是否大于或等于所述第二目标电池电量,以检测所述电池是否满足所述第二条件,其中,所述第一电池电量大于或等于所述第二目标电池电量表征:所述电池满足所述第二条件。
换句话说,在终端连接电源适配器的情况下,若电池的第一电池电量大于允许该情况下允许BIOS升级的最小电池电量(即第二目标电池电量),就可以实现BIOS升级。
也就是说,本申请实施例中,无论终端是否连接电源适配器,均可以实现BIOS升级。
其中,在终端连接电源适配器,且所述第一电池电量小于所述第二目标电池电量的情况下,则等待电源适配器为所述电池充电,直至所述电池的电池电量大于或等于所述第二目标电池电量,根据所述新版本的BIOS升级所述BIOS。
在该实现方式中,因为终端连接电源适配器,因此电源适配器可以为电池进行充电,因此终端可以在电池的电池电量大于所述第二目标电池电量时升级BIOS。
在一种实施例中,所述根据所述新版本的BIOS升级所述终端中的BIOS,包括:将所述新版本的BIOS写入所述终端的BIOS只读存储器ROM中。
在一种实施例中,在重启的开机过程中,在所述BIOS ROM中写入升级标识,所述升级标识表征需要升级BIOS。
其中,所述根据所述新版本的BIOS升级所述终端中的BIOS之后,还包括:检测BIOS是否升级成功;响应于BIOS升级成功,则重新重启以运行所述新版本的BIOS进入操作系统,且删除所述BIOS ROM中的所述升级标识,以避免终端重新开机(或下次开机时)基于所述升级标识,还对BIOS进行升级的问题。
其中,响应于BIOS升级失败,在下次开机的过程中,响应于检测到所述BIOS ROM中存在所述升级标识,修复BIOS。
在该实施例中,终端还检测BIOS是否升级成功,以便BIOS升级成功时终端可以正常开机进入操作系统,且还可以实现BIOS升级失败时,对BIOS进行修复,以便终端能够正常开机。
其中,在一种实施例中,终端所述修复BIOS,包括:获取所述电池的第四信息;若根据所述第四信息,检测所述电池满足第一BIOS升级条件集合中的BIOS升级条件,则重新升级BIOS。第四信息可以参照第一信息的相关描述,终端检测所述电池是否满足第一BIOS升级条件集合中的BIOS升级条件,可以参照“终端根据第一信息,检测电池满足第一BIOS升级条件集合中的BIOS升级条件”的相关描述。
在该实施例中,终端在修复BIOS时,也可以根据电池的相关信息,检测电池是否满足第一BIOS升级条件集合中的BIOS升级条件,以便在电池满足第一BIOS升级条件集合中的BIOS升级条件时,升级BIOS,可以提高BIOS的升级成功率。
在一种可能的实现方式中,所述从服务器下载新版本的BIOS之后,终端还可以获取所述电池的第三信息;若根据所述第三信息,检测所述电池满足所述第一BIOS升级条件集合中的BIOS升级条件,则重启。第三信息可以参照第一信息的相关描述,终端检测所述电池是否满足第一BIOS升级条件集合中的BIOS升级条件,可以参照“终端根据第一信息,检测电池满足第一BIOS升级条件集合中的BIOS升级条件”的相关描述。
在该实现方式中,终端从服务器下载新版本的BIOS之后,可以根据电池的相关信息,检测电池是否满足第一BIOS升级条件集合中的BIOS升级条件,在所述电池满足所述第一BIOS升级条件集合中的BIOS升级条件,执行重启升级BIOS的后续操作。该种实施例中预先对电池是否满足第一BIOS升级条件集合中的BIOS升级条件进行检测,可以避免终端在不满足BIOS升级条件时及时终止BIOS的升级,减小终端功耗。
在一种实施例中,终端可以维护第一BIOS升级条件集合,且终端还可以根据每次BIOS的升级,更新第一BIOS升级条件集合,以便于BIOS升级条件集合更加适配于终端。
其中,在BIOS升级成功后,在重新重启开机的过程中,终端可以获取所述电池的第二信息;根据所述第一信息和所述第二信息,检测是否更新所述第一BIOS升级条件集合;若是,则更新所述第一BIOS升级条件集合,得到第二BIOS升级条件集合。其中,终端检测所述电池是否满足第一BIOS升级条件集合中的BIOS升级条件,可以参照“终端根据第一信息,检测电池满足第一BIOS升级条件集合中的BIOS升级条件”的相关描述。
在一种可能的实现方式中,在所述第一信息包括:所述第一累计使用时长、所述第一电池温度,所述第一电池电量,以及所述第一充电功率,且所述第二信息包括:第二累计使用时长、第二电池温度,第二电池电量,以及第二充电功率的情况下,所述根据所述第一信息和所述第二信息,检测是否更新所述第一BIOS升级条件集合,包括:若所述第一累计使用时长和所述第二累计使用时长处于相同的累计使用时长范围、所述第一电池温度和所述第二电池温度处于相同的电池温度范围,以及所述第一充电功率和所述第二充电功率处于相同的充电功率范围,则获取所述第二电池电量和所述第一电池电量的电量差值;在所述第一BIOS升级条件集合中查询,所述第一累计使用时长、所述第一电池温度,以及所述第一充电功率映射的第二目标电池电量;检测所述电量差值与所述第二目标电池电量的差值是否满足阈值,以确定是否更新所述第一BIOS升级条件集合。
其中,若所述差值大于或等于所述阈值(即所述电量差值与第二目标电量不属于相同的电量范围),则将所述第一BIOS升级条件集合中的所述第二目标电池电量更新为所述电量差值。若所述差值小于所述阈值(即所述电量差值与第二目标电量属于相同的电量范围),则确定不更新所述第一BIOS升级条件集合。
在该种实现方式中,终端可以自学习实现第一BIOS升级条件集合的更新,以便于第一BIOS升级条件集合中的升级条件更加适配于终端自身的条件,提高BIOS升级的准确度。
第二方面,本申请实施例提供一种电子设备,该电子设备可以包括:处理器、存储器。存储器用于存储计算机可执行程序代码,程序代码包括指令;当处理器执行指令时,指令使所述电子设备执行如第一方面中的方法。
第三方面,本申请实施例提供一种电子设备,该电子设备可以包括用于执行以上第一方面所提供的方法的实体单元、模块等,可以参照实施例中的具体描述。
第四方面,本申请实施例提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面中的方法。
第五方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面中的方法。
上述第二方面至第五方面的各可能的实现方式,其有益效果可以参见上述第一方面所带来的有益效果,在此不加赘述。
附图说明
图1为现有技术中BIOS升级的流程示意图;
图2为现有技术中BIOS修复的流程示意图;
图3为本申请实施例提供的终端的一种硬件结构示意图;
图4为本申请实施例提供的终端的另一种结构示意图;
图5为本申请实施例提供的BIOS的升级方法的一种实施例的流程示意图;
图6为本申请实施例提供的BIOS的升级方法的另一种实施例的流程示意图;
图7为本申请实施例提供的BIOS的升级方法的另一种实施例的流程示意图;
图8为本申请实施例提供的BIOS的升级方法的另一种实施例的流程示意图;
图9为本申请实施例提供的BIOS的升级方法的另一种实施例的流程示意图。
具体实施方式
基本输入输出系统(basic input output system,BIOS)是一组固化到终端主板上的程序。BIOS中保存着终端最重要的基本输入输出的程序、系统设置信息、开机后自检程序以及系统自启动程序,另外,BIOS还可以读写主板上的参数以进行设置。也就是说,BIOS可以为终端提供最底层的、最直接的硬件设置和控制。简单来说,BIOS是终端开机过程中加载的第一个程序,BIOS的设置直接关系到终端是否可以正常启动,并影响之后终端的使用效率。Windows操作系统,也是在BIOS的引导下进行工作的。
在一种实施例中,可以将BIOS看作一组程序,若旧版本的BIOS中存在程序故障(bug),则终端需要将旧版本的BIOS升级至新版本的BIOS,以修复旧版本的BIOS中的bug,进而保证终端顺利开机,或者是Windows系统正常工作。目前个人计算机(personalcomputer,PC)中,为了避免BIOS升级过程中出现升级中断的情况,现有技术中PC检测到PC中的BIOS需要升级时,还要检测PC的电池电量以及PC是否连接适配器。其中,当PC的电池电量大于30%且PC连接电源适配器的情况下,PC才升级旧版本的BIOS,当PC的电池电量小于30%或者PC未连接电源适配器的情况下,PC不升级旧版本的BIOS。
应理解,本申请实施例中以终端的操作系统为Windows系统为例进行说明。应理解的是,BIOS引导Windows启动成功后,会将控制权交给Windows系统,但BIOS仍会保留运行时服务,可以为Windows系统提供操作底层硬件的功能。比如在游戏场景中,Windows系统通过BIOS服务实现CPU和GPU资源的调度,提升游戏流畅度。因此,BIOS的故障修复,性能,功耗和散热的参数调优,会影响Windows下用户实际场景的体验,如游戏,会议和视频场景的性能和续航的体验。
现有技术中的BIOS升级的条件严苛,导致BIOS的升级率低,这样,旧版本BIOS的bug未被修复,会影响PC开机的成功率和Windows使用操作体验。
现有技术中之所以将BIOS升级的条件设置地如此严苛,是因为想要避免BIOS升级过程中因为电池电量不足出现升级中断的情况。但是不同的PC中电池自身的放电性能不同,且电池的放电性能还会受到温度、电池寿命,以及PC是否连接适配器等外界因素的影响。若一种情况下,PC的电池电量小于30%,但其放电性能能够支撑BIOS升级,采用现有技术中的一刀切的方式就限制了PC中的BIOS升级,使得BIOS升级的及时率和成功率低下。另外,不同的PC中的电池的型号不同,PC配置不同,现有技术中的BIOS升级的条件还不能匹配不同的PC,适用性差。
本申请实施例提供一种BIOS的升级方法,可以根据PC中电池的使用信息,以及PC的配置信息等,适应性调整BIOS升级的条件,在保证BIOS可以顺利升级的基础上,可以减少对电池电量大于30%以及PC连接适配器的限制,因此可以提高BIOS升级成功率和升级效率。应注意的是,本申请实施例中的BIOS的升级方法不仅可以适用于传统的BIOS,还可以适用于统一可扩展固件接口(unified extensible firmware interface,UEFI)BIOS,以及其他类型的BIOS,或BIOS中包含的固件、驱动、镜像等,下述实施例中以BIOS升级为例进行说明。
在一种实施例中,本申请实施例中的终端可以为PC,以及BIOS升级条件固定(电池电量大于阈值如30%且终端连接电源适配器)的其他电子设备。在一种实施例中,终端还可以为平板电脑(portable android device,PAD)、个人数字处理(personal digitalassistant,PDA)、具有无线通信功能的手持设备、计算设备、或可穿戴设备,虚拟现实(virtual reality,VR)终端设备、增强现实(augmented reality,AR)终端设备、工业控制(industrial control)中的无线终端、智慧家庭(smart home)中的无线终端等,本申请实施例中对终端的形态不做具体限定。
在介绍本申请实施例提供的BIOS的升级方法之前,首先参照图1和图2,对现有技术中BIOS升级的过程,以及BIOS修复的过程进行说明:
参照图1,现有技术中的BIOS升级的过程可以包括:
S101,当确定BIOS需要升级时,终端重启。
BIOS升级需要在终端开机过程中进行,因此终端确定BIOS需要升级(即检测到新版本的BIOS时)时,终端重启以进行开机,进而终端在开机过程中升级BIOS。应理解的是,BIOS升级是从BIOS的角度来讲,BIOS升级至新版本的BIOS,终端升级BIOS是从终端的角度来讲,终端将BIOS升级至新版本的BIOS,但无论从什么角度来讲,BIOS均是从旧版本升级至新版本。
S102,在终端重启的开机过程中,检测终端的电池电量是否大于30%,且检测终端是否连接电源适配器。若是,执行S103,若否,执行S107。
终端重启包括终端关机过程,以及重新开机过程。现有技术中,在终端重新开机过程中,因为要进行BIOS的升级,为了保证BIOS顺利升级,因此需要对终端的电池电量以及终端是否连接电源适配器进行检测,以避免因为电池电量低导致终端关机,进而导致BIOS升级中断。
现有技术中,在终端重启的开机过程中,需要检测终端的电池电量是否大于30%,以及检测终端是否连接电源适配器。其中,当终端的电池电量大于30%,以及终端连接电源适配器时,BIOS可以进行升级,当终端的电池电量小于30%或者终端未连接电源适配器时,BIOS不进行升级。
S103,升级BIOS。
终端可以将旧版本的BIOS升级至新版本的BIOS。
S104,检测BIOS是否升级成功。若是,执行S105,若否,执行S106。
BIOS升级成功指的是终端将新版本的BIOS成功写入终端中的BIOS只读存储器(read-only memory,ROM)。其中,终端若将新版本的BIOS写入完成,则表征BIOS升级成功,若终端未将新版本的BIOS写入完成,则表征BIOS未升级成功。
S105,终端重启进入操作系统OS。
当BIOS升级成功时,终端需要重启运行新版本的BIOS,以进入终端的操作系统(operating system,OS)。如此,终端可以使用新版本的BIOS顺利开机,避免因旧版本BIOS中的bug造成开机效率低以及开机成功率低的问题。
S106,终端升级失败。
当BIOS升级失败时,终端可能会有多种情况,例如终端黑屏,终端死机,终端提示升级失败,终端反复重启无法进入系统等。在该种情况下,用户以为终端故障,通常会采用强制关机的方式,例如拔掉电源适配器,长按电源键等操作,关闭终端。
S107,终端显示提示信息,提示信息用于提示用户将终端连接电源适配器。
当终端的电池电量小于30%或者终端未连接电源适配器时,终端未满足BIOS升级的条件,因此为了提高BIOS的升级率,终端可以在界面上显示提示信息。其中,该提示信息用于提示用户将终端连接电源适配器,以便于外接电源通过电源适配器为终端充电,进而使得终端满足BIOS升级的条件,以进行BIOS升级。
S108,响应于检测到终端连接电源适配器,检测终端的电池电量是否大于30%。若是,执行S103,若否,等待终端充电至电池电量大于30%时执行S103。
终端显示提示信息后,若用户将终端连接电源适配器,则外接电源可以通过电源适配器对终端充电,终端的电池电量会逐渐增加。
相应的,终端响应于检测到终端连接电源适配器,可以检测(如实时检测或者周期性检测)终端的电池电量是否大于30%,进而在终端的电池电量确认大于30%时,可以升级BIOS。若终端的电池电量还是小于30%,则可以等待终端充电至电池电量大于30%时,升级BIOS。
S109,响应于检测到终端未连接电源适配器,则不升级BIOS。
终端显示提示信息后,若用户未将终端连接电源适配器,则终端可以不升级BIOS。终端不升级BIOS后可以执行如下任一种操作:退出本次BIOS升级,继续引导使得终端进入操作系统OS,或者一直等待升级条件满足的情况。
在一种实施例中,因为在S101中终端确定BIOS需要升级,终端已经执行了重启操作,现有技术中还可以在检测到终端未连接电源适配器时,一直提示并等待用户连接电源适配器。在该种实施例中,因为终端的电池电量小于30%且终端并未连接电源适配器,因此在终端的电池电量耗光时,BIOS可能未升级成功,导致BIOS升级中断。
在终端升级BIOS失败的情况下,终端可能会出现黑屏,用户看到终端黑屏误以为终端故障,则通常会直接操作开关机按键(power button)强制关机。或者,BIOS升级过程中,若用户操作开关机按键,或者因为其他因素(如电池电量耗光,终端温度过高),也会导致BIOS升级中断。
在BIOS升级失败或者BIOS升级中断的情况下,当用户再次开启终端时,终端会执行BIOS修复流程。参照图2,现有技术中的BIOS修复的过程可以包括:
S201,在终端开机的过程中,检测终端的电池电量是否大于30%,且检测终端是否连接电源适配器。若是,执行S202,若否,执行S206。
应理解,BIOS修复指的是:BIOS重新进行升级。因此现有技术中,在终端开机过程中,若要进行BIOS修复,必须满足BIOS升级的条件,即终端的电池电量大于30%,且终端连接电源适配器。因此,在终端开机的过程中,终端检测终端的电池电量是否大于30%,且检测终端是否连接电源适配器。
S202,终端修复BIOS。
其中,当终端的电池电量大于30%以及终端连接电源适配器时,终端可以修复BIOS,即重新将新版本的BIOS写入终端的BIOS ROM中。
S203,检测BIOS是否修复成功。若是,执行S204,若否,执行S205。
检测BIOS是否修复成功可以理解为:检测BIOS升级是否成功,可以参照S104的相关描述。
S204,终端重启进入操作系统OS。
S205,终端修复失败。
S204-S205可以参照S105-S106中的相关描述。
S206,终端重启。
在终端开机的过程中,当终端的电池电量小于30%,或者终端未连接电源适配器时,即终端不满足BIOS修复的条件,因此终端无法开机,终端进行重启。应理解,在终端重启后,终端在重启的开机过程中,仍然可以继续执行S201。在该种实施例中,若终端重启后,仍不满足BIOS修复的条件,则终端会不断重启。
综上,现有技术中,因为BIOS升级的条件严苛,容易BIOS的升级率低,或者BIOS升级失败或中断,进而导致终端无法顺利开机,影响用户体验。另外,BIOS修复过程中的BIOS升级的条件也严苛,也会导致BIOS修复失败,进而导致终端无法顺利开机。
在介绍本申请实施例提供的BIOS的升级方法之前,参照图3和图4,对本申请实施例中的终端的结构进行介绍:
图3为本申请实施例提供的终端的一种硬件结构示意图。参照图3,终端30中可以包括:电池31、嵌入式控制器(embedded controller,EC)32,以及中央处理器(centralprocessing unit,CPU)33。其中,EC 32分别与CPU 33、电池31连接,电池31还与CPU 33连接。在一种实施例中,EC 32可以替换为其他类型的控制器,如微控制单元(microcontroller unit,MCU),或MCU芯片与EC的集成IC模组。
在一种实施例中,EC 32与电池31可以通过系统管理总线(system managementbus,SMBUS)连接。在一种实施例中,EC 32一方面通过GPIO端口与CPU 33连接,另一方面还可以通过平台环境式控制接口(platform environment control interface,PECI)与CPU33连接。
电池31,用于为EC 32和CPU 33供电。
在一种实施例中,终端31中还可以包括充电芯片34。其中,充电芯片34与EC 32连接,在一种实施例中,充电芯片34与EC 32可以通过系统管理总线(system managementbus,SMBUS)连接。
在一种实施例中,充电芯片34还可以称为charger芯片或charger IC。充电芯片34,其中还可以包括PD芯片,PD芯片用于EC获取外接电源的功率,根据充电的策略来调节来自外接电源的充电电压和电流,以实现外接电源为电池31充电,或者为EC 32以及CPU 33供电。在一种实施例中,终端30可以通过充电芯片34与电源适配器连接,进而使得终端连接外接电源。
在一种实施例中,参照图3,终端30中还可以包括第一传感器和第二传感器。第一传感器与EC 32连接,第二传感器与CPU 33连接。其中,第一传感器可以包括但不限于:温度传感器35。第二传感器包括但不限于:压力传感器,陀螺仪传感器,加速度传感器等,本申请实施例对第二传感器不做赘述。应理解,图3中未示出第二传感器,且图3中以温度传感器35表征第一传感器。
在一种实施例中,终端30中还可以包括第一存储器和第二存储器。第一存储器与EC 32连接,第二存储器与CPU 33连接。
在一种实施例中,第一存储器可以包括:闪存存储器flash。在一种实施例中,第一存储器可以独立于EC 32设置,且与EC 32连接,在一种实施例中,第一存储器设置在EC 32中,本申请实施例对第一存储器的设置方式不作限制。
第一存储器用于存储一个或多个计算机程序,以使得EC可以基于一个或多个计算机程序,实现本申请实施例中EC的操作。
第二存储器可以用于存储一个或多个计算机程序,该一个或多个计算机程序包括指令。第二存储器可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统;该存储程序区还可以存储一个或多个应用程序(比如图库、联系人等)等。存储数据区可存储电子设备使用过程中所创建的数据等。此外,第二存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。在一种实施例中,第二存储器可以为固态硬盘(SolidState Disk,SSD)。应理解,SSD可以用于存储新版本的BIOS,可以参照下述实施例中的相关描述。应理解,图3中未示出SSD。
本申请实施例中可以以存储器表征第一存储器和第二存储器,图3中未示出存储器。
参照图3,终端中还可以包括:ROM 36。在一种实施例中,图3中所示的ROM 36可以为下述实施例中所述的BIOS ROM,或者下述实施例中所述的BIOS ROM包含于图3中所示的ROM中。其中,ROM 36可以分别与EC 32、CPU 33连接。
图4为本申请实施例提供的终端的另一种结构示意图。参照图4,终端的软件系统可以采用分层架构,本申请实施例以终端(如PC)的PC系统架构为例说明终端的软件结构。分层架构可以将终端的软件系统分成若干个层,每一层都有清晰的角色和分工,层与层之间通过软件接口通信。
在一种实施例中,可以将PC系统分为四层,分别为应用程序层(applications)、系统层、驱动层以及硬件层。本申请实施例对终端的软件结构的分层不做限制。如下实施例中各分层中包括的模块为本申请实施例中涉及到的模块,如下各分层中包括的模块并不构成对终端的结构的限定,例如升级策略控制模块可以部署于应用层的PC管家APP中,也可以部署于系统层的Windows服务中,以下按升级策略控制模块部署于系统层进行介绍。在一种实施例中,图4中所示的模块可以单独部署,或者几个模块可以部署在一起,图4中对模块的划分为一种示例。在一种实施例中,图4中所示的模块的名称为示例说明。
其中,应用程序层可以包括应用程序包。示例性的,应用程序层内可以包括:相机,图库,日历,通话,地图,导航,蓝牙,音乐,视频,短信息等应用程序包。
参照图4,图4中以应用程序层包括PC管家应用(application,APP)为例进行说明。其中,PC管家APP,用于从空中下载技术(over the air technology,OTA)服务器中下载新版本的BIOS。在一种实施例中,新版本的BIOS可以为镜像文件或可执行文件,本申请实施例对新版本的BIOS的文件形式不做限制。
在一种实施例中,参照图4,系统层可以包括:升级策略控制模块和OTA升级服务模块。其中,升级策略控制模块,用于根据终端中电池的使用信息,以及终端是否连接电源适配器等信息,适应性调整BIOS升级的条件。OTA升级服务模块,用于传输来自PC管家APP的新版本的BIOS(镜像文件),以及升级策略控制模块调整后的BIOS升级的条件。
驱动层中至少包括硬件的驱动,用于驱动硬件工作。如驱动层中包括:传感器驱动、显示驱动(display driver)、图形处理器驱动(graphics processing unit driver,GPU driver)等,本申请实施例对此不做限制。示例性的,显示驱动用于驱动硬件层的显示屏工作,以显示终端的界面。应理解,图4中未示出各硬件的驱动模块。
在一种实施例中,驱动层中还可以包括:Windows管理接口(windows managementinterface,WMI)模块和升级模块。其中,WMI模块,用于实现EC和升级策略控制模块的数据交互。升级模块,用于将新版本的BIOS写入BIOS ROM,以实现BIOS的升级。
硬件层包括硬件设备,如显示屏、中央处理器(central processing unit,CPU)、温度传感器、电池、BIOS ROM等,如图3所示终端的硬件结构所示,在此不做赘述。应理解,图4中的硬件层中示出了本申请实施例中涉及到的温度传感器、电池、充电芯片以及BIOSROM。
应理解,图4中终端的各模块的功能可以参照下述实施例中的相关描述。
可以理解的是,图3、图4所示的结构并不构成对终端的具体限定。在本申请另一些实施例中,终端可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件,或软件和硬件的组合实现。
在图3和图4所示的终端的结构的基础上,下面结合具体的实施例对本申请实施例提供的BIOS的升级方法进行说明。下面这几个实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
图5为本申请实施例提供的BIOS的升级方法的一种实施例的流程示意图。参照图5,本申请实施例提供的BIOS的升级方法可以包括:
S501,PC管家APP从OTA服务器下载新版本的BIOS,且将新版本的BIOS存储在终端的硬盘中。
OTA服务器用于发布BIOS,当存在新版本的BIOS时,OTA服务器发布新版本的BIOS。PC管家APP可以周期性地请求OTA服务器,以检测OTA服务器中是否存在新版本的BIOS。其中,当OTA服务器中存在新版本的BIOS时,PC管家APP可以请求从OTA服务器下载新版本的BIOS,以下载得到新版本的BIOS。在一种实施例中,OTA服务器也可以称为服务器。
在一种实施例中,PC管家APP从OTA服务器完成下载新版本的BIOS,可以表征:终端需要升级BIOS。在一种实施例中,PC管家APP完成下载新版本的BIOS后,可以对镜像文件(新版本的BIOS)进行校验,在镜像文件校验成功时可以确定需要升级BIOS。
示例性的,PC管家APP可以校验镜像文件的校验值,以检测镜像文件是否下载完整,另外PC管家APP还可以检测PC中(如PC中SSD)的存储空间是否大于镜像文件所需的存储空间。示例性的,如PC管家APP在确定镜像文件下载完整,且PC中的存储空间大于镜像文件所需的存储空间(或者PC中的存储空间大于镜像文件所需的存储空间的3倍)时,PC管家APP可以确定终端需要升级BIOS。
其中,当PC管家APP从OTA服务器下载新版本的BIOS,可以将新版本的BIOS存储在终端的硬盘中,如PC管家APP可以将新版本的BIOS存储在SSD中。
在一种实施例中,BIOS升级的方式可以包括但不限于:强制升级、闲时升级以及手动升级。其中,强制升级可以理解为:当PC管家APP从OTA服务器下载新版本的BIOS后,可以强制将新版本的BIOS写入BIOS ROM,以强制实现BIOS升级。闲时升级可以理解为:当PC管家APP从OTA服务器下载新版本的BIOS后,可以在终端空闲时将新版本的BIOS写入BIOS ROM,以实现BIOS升级。示例性的,如终端可以在晚上12点后(即用户不使用终端时),将新版本的BIOS写入BIOS ROM。手动升级可以理解为:终端需要接收到用户同意BIOS升级的指示,再开始将新版本的BIOS写入BIOS ROM。
本申请实施例中对BIOS升级的方式不做限制,PC管家APP从OTA服务器下载新版本的BIOS之后,可以采用如上任一种方式升级BIOS,本申请实施例中对选择“强制升级、闲时升级以及手动升级”的过程不做赘述。应理解的是,无论终端采用哪一种方式进行BIOS升级,在PC管家APP确定升级BIOS时(如终端空闲,或者接收到用户同意BIOS升级的指示),可以执行S502。
S502,当PC管家APP确定升级BIOS时,向升级策略控制模块发送BIOS升级条件集合的请求。
其中,BIOS升级条件集合的请求用于请求升级策略控制模块维护的BIOS升级条件集合。
S503,升级策略控制模块响应于BIOS升级条件集合的请求,向PC管家APP发送第一BIOS升级条件集合。
在一种实施例中,当终端第一次升级BIOS时,该第一BIOS升级条件集合为:预置在升级策略控制模块的初始的BIOS升级条件集合,或者是终端从外部联网服务器及联网终端获取,且存储在升级策略控制模块中的。当终端不是第一次升级BIOS时,该第一BIOS升级条件集合为上一次BIOS升级后更新的或未更新的BIOS升级条件集合。其中,BIOS升级后更新BIOS升级条件集合的过程可以参照S514A-S517A中的相关描述。
升级策略控制模块用于维护和更新BIOS升级条件集合。示例性的,下述表一以表格的形式表征第一BIOS升级条件集合:
表一
应理解,表一中对于年份、温度、功率以及电池电量为举例说明,也可以采用其他方式对年份、温度、功率以及电池电量进行划分。在一种实施例中,如表一中的电池电量5%,即在对应的年份、温度、功率的条件下,允许BIOS升级的最小的电量为5%,因此可以将表一中的电池电量5%可以看做大于或等于5%。在一种实施例中,表一中的充电功率(135w、65w)也可以替换为充电功率范围。
如表一所示,第一BIOS升级条件集合中包括:电池在不同的累计使用时长、不同的电池温度、不同的充电功率(电源适配器的充电功率)下,可以允许BIOS升级的最小的电池电量。示例性的,如在电池累计使用时长为0-1年时、在电池温度处于10-35℃的范围内,以及电源适配器的充电功率为135w的条件下,允许BIOS升级的最小的电池电量为3%。示例性的,如在电池累计使用时长为0-1年时、在电池温度处于10-35℃的范围内,且终端没有连接电源适配器的条件下,允许BIOS升级的最小的电池电量为10%。
本申请实施例中,升级策略控制模块向PC管家APP发送第一BIOS升级条件集合的目的在于:将第一BIOS升级条件集合传输至升级模块,以便于升级模块根据该第一BIOS升级条件集合,升级BIOS。
在一种实施例中,第一BIOS升级条件集合中包括的电池的参数可以预先设置,表一中的第一BIOS升级条件集合以参数包括:电池累计使用时长、电池温度、充电功率以及电池电量为例进行说明。
示例性的,如预先设置的参数包括:电池电量和充电功率,则第一BIOS升级条件集合中可以包括电池电量和充电功率的映射关系,相应的,下述第一信息中可以包括第一电池电量和第一充电功率。如预先设置的参数包括:电池电量、充电功率,以及电池的累计使用时长,则第一BIOS升级条件集合中可以包括电池电量、充电功率,以及电池的累计使用时长的映射关系,相应的,下述第一信息中可以包括第一电池电量、第一充电功率,以及电池的第一累计使用时长。
本申请实施例中以当终端连接电源适配器时,第一信息包括:第一电池电量、第一充电功率,第一电池温度,以及电池的第一累计使用时长为例,当终端未连接电源适配器时,第一信息包括:第一电池电量、第一电池温度,以及电池的第一累计使用时长为例。应理解的是,无论电池的参数如何设置,均适用于本申请实施例提供的BIOS的升级方法。
S504,PC管家APP通过OTA升级服务模块和WMI模块,向升级模块发送第一BIOS升级条件集合。
S505,终端重启,且在终端重启的开机过程中,升级模块在BIOS ROM中写入升级标识。
终端重启,且在终端重启的开机过程中,BIOS升级。其中BIOS升级的第一步是升级模块在BIOS ROM中写入升级标识,该升级标识用于指示对BIOS进行升级(或者需要对BIOS进行升级)。应理解,终端重启可以为:PC管家APP调用系统重启命令,使得终端重启,图5中未示出PC管家APP的动作。
在一种实施例中,升级标识可以为升级标志位flag。在一种实施例中,升级flag可以为由4个字节组成的16进制的数,本申请实施例对升级flag的形式不做限制。
S506,在终端重启的开机过程中,EC采集电池的第一累计使用时长、第一电池温度,以及第一电池电量。
本申请实施例中的“第一”、“第二”等词语,用于区分不同时刻采集的信息,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。
其中,电池的第一累计使用时长指的是:电池出厂(如电池安装至终端)后至终端重启的开机时,电池的使用总时长。在一种实施例中,EC可以从电池出厂开始,记录电池的使用时长,可以得到电池的第一累计使用时长。在一种实施例中,EC可以通过SMBUS从电池中读取第一电池电量。在一种实施例中,EC可以通过SMBUS,读取温度传感器采集的第一电池温度。
S505中升级模块执行的动作和S506中EC执行的动作没有先后顺序的区分,二者可以同时执行。
应理解,本申请实施例中终端重启开机的过程中,EC采集“电池的第一累计使用时长、第一电池温度,以及第一电池电量”的目的在于:使得升级模块基于当前的“第一累计使用时长、第一电池温度,以及第一电池电量”等信息,检测是否满足第一BIOS升级条件集合中的BIOS升级条件,以决定是否执行BIOS升级。
S507,EC检测终端是否连接电源适配器。若是,执行S508,若否,执行S517。
EC可以检测终端是否连接电源适配器。如图3所示,当终端连接电源适配器时,电源适配器可以与终端中的充电芯片连接,当终端未连接电源适配器时,充电芯片未连接电源适配器。电源适配器与充电芯片连接或者断开时,充电芯片会检测到电压的变化,充电芯片响应于检测到电压的变化,可以通过GPIO端口(充电芯片和EC之间的GPIO端口)向EC通知电源适配器的连接状态,进而达到EC检测终端是否连接电源适配器的目的。
示例性的,如充电芯片检测到充电芯片的电压增大至电源适配器的输出电压(如5V),则可以确定充电芯片与电源适配器连接,此时由外部电源为终端供电,充电芯片可以拉高(或者拉低)GPIO端口的电平,以通知EC电源适配器为连接状态。相应的,充电芯片可以基于GPIO端口的电平拉高,确定电源适配器为连接状态,即终端连接电源适配器。
如充电芯片检测到充电芯片的电压减小至预设电压(小于5V,如0V),则可以确定充电芯片断开与电源适配器的连接,此时由电池为终端供电,充电芯片可以拉低(或者拉高)GPIO端口的电平,以通知EC电源适配器为未连接状态。相应的,充电芯片可以根据GPIO端口的电平减小,检测到电源适配器为断开状态,即终端未连接电源适配器。
在一种实施例中,因为电源适配器连接充电芯片或者断开与充电芯片之间的连接时,充电芯片会适应性地拉高或者拉低GPIO端口的电平,因此EC可以基于GPIO端口的电平的具体数值,确定终端是否连接电源适配器。示例性的,若GPIO端口的电平为拉高后的电平(如第一电平值),则EC确定终端连接电源适配器,若GPIO端口的电平为拉低后的电平(如第二电平值),则EC确定终端未连接电源适配器。其中,第一电平值大于第二电平值。
S508,EC采集终端连接的电源适配器的第一充电功率。
因为终端可以适配于多种电源适配器,不同的电源适配器的充电功率可以不同,如上表一,PC可以支持65w以及135w的电源适配器。在相同的充电时长的情况下,具有较高充电功率的电源适配器可以更快速地为终端充电,电池电量也较高。因此电源适配器的充电功率也会影响电池电量,进而影响电池的放电性能,在该种实施例中,EC需要检测电源适配器的充电功率。
在终端连接电源适配器的情况下,EC可以采集终端连接的电源适配器的第一充电功率。
在一种实施例中,EC可以通过充电芯片获取终端连接的电源适配器的充电功率。示例性的,当终端连接电源适配器时,充电芯片与电源适配器连接,EC通过SMBUS来查询电源适配器的充电电压和电流,如此EC可以获取终端连接的电源适配器的第一充电功率。
S509,EC通过WMI模块向升级模块发送电池的第一累计使用时长、第一电池温度、第一电池电量,以及第一充电功率。
在一种实施例中,第一累计使用时长、第一电池温度、第一电池电量,以及第一充电功率可以称为电池的第一信息。
在一种实施例中,EC也可以依次通过WMI模块、升级策略控制模块、PC管家APP、OTA升级服务,以及WMI模块,向升级模块发送第一累计使用时长、第一电池温度、第一电池电量,以及第一充电功率。
S510,升级模块根据第一累计使用时长、第一电池温度、第一电池电量、第一充电功率,以及第一BIOS升级条件集合,检测是否满足BIOS的升级条件。若是,执行S511,若否,执行S516。
第一BIOS升级条件集合中包括:电池的累计使用时长、电池温度、电池电量,以及充电功率的映射关系。升级模块可以查询第一BIOS升级条件集合,检测第一累计使用时长、第一电池温度以及第一充电功率映射的目标电池电量(可以称为第二目标电池电量),若第一电池电量大于或等于该目标电池电量,则升级模块确定(终端)满足BIOS的升级条件。若第一电池电量小于该目标电池电量,则升级模块确定不满足BIOS的升级条件。
示例性的,第一累计使用时长为半年、第一电池温度为20度、第一充电功率为135w,以及第一电池电量为10%,则升级模块可以查询第一BIOS升级条件集合中,第一累计使用时长为半年、第一电池温度为20度、第一充电功率为135w映射的目标电池电量为3%。第一电池电量为10%大于该目标电池电量为3%(即允许BIOS升级的最小电池电量),则升级模块确定满足BIOS的升级条件。
S511,升级模块从终端的硬盘中读取新版本的BIOS,且将新版本的BIOS写入BIOSROM。
其中,终端重启后,若升级模块确定满足BIOS的升级条件,则升级模块可以从终端的硬盘中读取新版本的BIOS,且升级BIOS,即将新版本的BIOS写入BIOS ROM。
S512,升级模块检测BIOS是否升级成功。若是,执行S513,若否,执行S515。
在一种实施例中,升级模块可以通过检测BIOS ROM中写入的新版本BIOS是否完整,来检测BIOS是否升级成功。其中,若升级模块成功将新版本的BIOS完整写入BIOS ROM,则BIOS升级成功,若升级模块未能将新版本的BIOS完整写入BIOS ROM,则BIOS升级失败。
S513,升级模块删除BIOS ROM中的升级标识。
S514,终端重启,在重启的开机过程中运行新版本的BIOS,以进入OS。
S514可以参照S105。
S515,终端重启,以执行BIOS修复流程(S801-S817)。
应理解,图5中未示出S801-S817。
S516,升级模块等待外接电源为电池充电,直至电池电量大于或等于“第一累计使用时长、第一电池温度,以及第一充电功率”映射的目标电池电量,执行S511。
当不满足BIOS的升级条件时,即第一电池电量小于第一BIOS升级条件集合中“第一累计使用时长、第一电池温度,以及第一充电功率”映射的目标电池电量,因为终端已连接电源适配器,则外接电源可以为电池充电。本申请实施例中,EC可以周期性或者实时检测电池电量,且通过WMI将电池电量同步至升级模块。升级模块响应于电池电量大于或等于“第一累计使用时长、第一电池温度,以及第一充电功率”映射的目标电池电量,可以确定满足BIOS的升级条件,升级模块可以执行S511。
S517,EC通过WMI模块向升级模块发送电池的第一累计使用时长、第一电池温度,以及第一电池电量。
在一种实施例中,第一累计使用时长、第一电池温度以及第一电池电量可以称为电池的第一信息。
本申请实施例中,因为终端未连接电源适配器,则EC可以向升级模块同步第一累计使用时长、第一电池温度,以及第一电池电量。
在一种实施例中,EC也可以依次通过WMI模块、升级策略控制模块、PC管家APP、OTA升级服务,以及WMI模块,向升级模块发送第一累计使用时长、第一电池温度,以及第一电池电量。
S518,升级模块根据第一累计使用时长、第一电池温度、第一电池电量,以及第一BIOS升级条件集合,检测是否满足BIOS的升级条件。若是,执行S511,若否,执行S519。
与S510类似的,升级模块可以查询第一BIOS升级条件集合,检测“第一累计使用时长、第一电池温度以及未接入电源适配器”映射的目标电池电量(可以称为第一目标电池电量),若第一电池电量大于或等于该目标电池电量,则升级模块确定满足BIOS的升级条件。若第一电池电量小于该目标电池电量,则升级模块确定不满足BIOS的升级条件。
示例性的,第一累计使用时长为半年、第一电池温度为20度,以及第一电池电量为8%,则升级模块查询第一BIOS升级条件集合中,“第一累计使用时长为半年、第一电池温度为20度未接入电源适配器”映射的目标电池电量为10%,第一电池电量为8%小于该目标电池电量为10%(即允许BIOS升级的最小电池电量),则升级模块确定不满足BIOS的升级条件。若第一电池电量为15%,则升级模块可以确定满足BIOS的升级条件。
S519,升级模块输出提示信息,提示信息用于提示用户将终端连接电源适配器。
在一种实施例中,升级模块可以控制终端中的显示屏显示提示信息。
其中,提示信息用于提示用户将终端连接电源适配器。示例性的,如显示屏上可以显示如“请插入电源适配器,以保证BIOS的顺利升级,避免开机故障”的文字提示信息。本申请实施例中对提示信息的方式和内容不作限制。
S520,在预设时长内,EC响应于终端连接电源适配器,返回执行S508。
本申请实施例中设置预设时长的目的在于:给用户一段时间缓冲,使得用户可以有充足的时间将终端连接电源适配器,若不设置该预设时长,则很容易造成终端执行521导致BIOS升级失败。
在一种实施例中,预设时长可以为10分钟。
S521,在预设时长内,响应于终端未连接电源适配器,升级模块记录BIOS升级失败,退出BIOS升级。
应理解,EC可以检测终端是否在预设时长内连接电源适配器,若在预设时长内,EC为检测到终端未连接电源适配器,则EC可以通过WMI模块向升级模块同步“终端未连接电源适配器”。相应的,升级模块可以记录BIOS升级失败,进而退出BIOS升级。
在一种实施例中,升级模块退出BIOS升级指的是:升级模块可以删除BIOS ROM中的升级标识。其中,升级模块删除BIOS ROM中的升级标识后,可以运行旧版本的BIOS开机,以进入OS。
在一种实施例中,图5中所示的步骤为可选步骤,且步骤可以相互组合。在一种实施例中,图5中所示的模块也可以组合,组合后的模块用于执行图5中的至少一个步骤。
本申请实施例中,升级策略控制模块用于维护BIOS升级条件集合,升级模块在升级BIOS时,可以基于重启开机过程中的电池温度、电池累计使用时长,以及电源适配器的充电功率,检测当前的电池电量是否大于BIOS升级条件的最小电池电量。应理解,BIOS升级条件集合中包括不同电池温度、电池累计使用时长,以及电源适配器的充电功率映射的电池电量,因此无需像现有技术中一样使用固定的BIOS升级条件(必须满足电池电量大于30%且连接电源适配器),而是基于不同的电池温度、电池累计使用时长,以及电源适配器的充电功率,可以适应性调整允许BIOS升级的电池电量,本申请实施例中的BIOS升级方法可以提高BIOS升级率以及升级效率,进而保证可以修复旧版本BIOS中的bug,以提高终端的开机效率和成功率。
另外,本申请实施例中在终端不满足BIOS升级条件时,可以记录BIOS升级失败,进而退出BIOS升级,可以避免现有技术中下次开机需要不断重启修复BIOS的问题。
在一种实施例中,升级策略控制模块还可以更新BIOS升级条件集合,以使得升级模块可以不断基于更新后的BIOS升级条件集合,采用更适合自身情况的BIOS升级条件进行BIOS升级,提高BIOS升级准确性和成功率。
参照图6,在S514之后,还可以执行S514A-S517A:
S514A,响应于终端开机,EC采集电池的第二累计使用时长、第二电池温度,以及第二电池电量。
应理解,电池的第二累计使用时长指的是:电池出厂至BIOS升级成功后终端开机时电池的使用总时长。
S515A,在终端连接电源适配器的情况下,EC采集终端连接的电源适配器的第二充电功率。
S514A-S515A可以参照S506-S508中的相关描述。
S516A,EC通过WMI模块向升级策略控制模块发送电池的第二累计使用时长、第二电池温度、第二电池电量,以及第二充电功率。
在一种实施例中,第二累计使用时长、第二电池温度、第二电池电量,以及第二充电功率可以称为电池的第二信息。
S517A,升级策略控制模块根据第一累计使用时长、第一电池温度、第一电池电量、第一充电功率、第二累计使用时长、第二电池温度、第二电池电量,以及第二充电功率,更新第一BIOS升级条件集合,得到第二BIOS升级条件集合。
本申请实施例中,因为BIOS升级前后,电池的累计使用时长、电池温度以及充电功率等信息均处与一个相对稳定的范围内,不会发生突变,本申请之所以在BIOS升级成功之后,还需要采集第二累计使用时长、第二电池温度、第二电池电量,以及第二充电功率的目的在于:升级策略控制模块可以与BIOS升级前的“第一累计使用时长、第一电池温度、第一电池电量,以及第一充电功率”进行对比,计算出在“第一累计使用时长、第一电池温度、以及第一充电功率”的条件下,BIOS升级消耗的电池电量(即第一电池电量和第二电池电量的电量差值)。
进而,升级策略控制模块可以更新第一BIOS升级条件集合中的“第一累计使用时长、第一电池温度、以及第一充电功率”映射的电池电量,如将“第一电池电量和第二电池电量的电量差值”,作为第一BIOS升级条件集合中的“第一累计使用时长、第一电池温度、以及第一充电功率”映射的电池电量。
在一种实施例中,若第一累计使用时长和第二累计使用时长处于相同的累计使用时长范围、第一电池温度和第二电池温度处于相同的电池温度范围,以及第一充电功率和第二充电功率处于相同的充电功率范围,则获取第二电池电量和第一电池电量的电量差值。应理解的是,第一累计使用时长和第二累计使用时长处于相同的累计使用时长范围表征:累计使用未发生突变,如均处与0-1年内。第一电池温度和第二电池温度处于相同的电池温度范围表征:电池温度未发生突变,如均处于10-35度。第一充电功率和第二充电功率处于相同的充电功率范围表征:终端使用的是电源适配器的功率未发生突变,如均为135w。
在一种实施例中,升级策略控制模块可以检测电量差值与第二目标电池电量的差值是否满足阈值,以确定是否更新第一BIOS升级条件集合。其中,若差值大于或等于阈值,则将第一BIOS升级条件集合中的第二目标电池电量更新为电量差值。其中,若差值小于阈值,则确定不更新第一BIOS升级条件集合。应理解,差值大于或等于阈值表征:电量差值与第二目标电池电量不处于相同的电池电量范围内,差值小于阈值表征:电量差值与第二目标电池电量处于相同的电池电量范围内。
升级策略控制模块通过更新第一BIOS升级条件集合,可以使得第一BIOS升级条件集合中的BIOS升级条件更加适配于终端自身情况。这样,对于不同的终端来说,终端中(升级策略控制模块)可以维护不同的BIOS升级条件集合,终端可以基于自身维护的BIOS升级条件集合升级BIOS。
在一种实施例中,在终端使用的过程中,用户还可能采用除了表一之外的电源适配器对终端进行充电,相应的,升级策略控制模块还可以在第一BIOS升级条件集合中,增加不同的电源适配器的充电功率对应的“累计使用时长、电池温度、以及电池电量”等映射关系。
在一种实施例中,升级策略控制模块更新第一BIOS升级条件集合,得到第二BIOS升级条件集合后,还可以向PC管家APP同步第二BIOS升级条件集合。PC管家APP可以在第二BIOS升级条件集合中添加终端的配置信息,以向OTA服务器上传第二BIOS升级条件集合。在一种实施例中,终端的配置信息可以包括但不限于:终端的型号、电池的型号等信息。
其中,OTA服务器可以维护来自不同终端的第二BIOS升级条件集合,以实现后续应用。示例性的,如工作人员可以将OTA服务器中的第二BIOS升级条件集合,预置在相同型号的未发售的终端中,以使得这些终端可以使用同类型的终端更新后的BIOS升级条件集合,来升级BIOS,以减少这些终端自学习的过程,提高终端升级BIOS的成功率和效率。
应理解的是,S514A-S517A中以终端连接电源适配器为例进行说明,在一种实施例中,在终端未连接电源适配器的情况下,升级策略控制模块还可以根据BIOS升级前后的“累计使用时长、电池温度、以及充电功率”,来更新第一BIOS升级条件集合。
在一种实施例中,图6中所示的步骤为可选步骤,且步骤可以相互组合。在一种实施例中,图6中所示的模块也可以组合,组合后的模块用于执行图6中的至少一个步骤。
在一种实施例中,当PC管家APP从OTA服务器下载新版本的BIOS后,还需要根据当前的电池的累计使用时长、电池温度,电池电量,以及电源适配器的充电功率,确定是否升级BIOS,进而在PC管家APP确定升级BIOS时,可以执行如上S502。在该种实施例中,在终端重启前,PC管家APP还可以对BIOS升级条件进行检测,可以提高BIOS的升级成功率。
在该实施例中,参照图7,在S502之前还可以执行S502A-S511A。应理解,图7为在图5的基础上增加S502A-S511A,可以想到的是,也可以在图6的基础上增加S502A-S511A。应理解,图7中单独示出了S501、S502A-S511A,以及S502。
S502A,PC管家APP通过升级策略控制模块和WMI模块向EC发送采集指示。
采集指示用于指示EC采集电池的累计使用时长、电池温度、电池电量,以及终端连接的电源适配器的充电功率。
S503A,EC响应于采集指示,采集电池的第三累计使用时长、第三电池温度,以及第三电池电量。
应理解,电池的第三累计使用时长指的是:电池出厂至EC接收到来自PC管家APP的采集指示时电池的使用总时长。
S504A,EC检测终端是否连接电源适配器。若是,执行S505A,若否,执行S511A。
S505A,EC采集终端连接的电源适配器的第三充电功率。
S506A,EC通过WMI模块向升级策略控制模块发送电池的第三累计使用时长、第三电池温度、第三电池电量,以及第三充电功率。
在一种实施例中,第三累计使用时长、第三电池温度、第三电池电量,以及第三充电功率可以称为电池的第三信息。
S507A,升级策略控制模块根据第三累计使用时长、第三电池温度、第三电池电量、第三充电功率,以及第一BIOS升级条件集合,检测是否满足BIOS的升级条件。若是,执行S508A,若否,执行S509A。
S503A-S507A可以参照S506-S510的相关描述。
S508A,升级策略控制模块向PC管家APP发送升级指示,升级指示用于指示PC管家APP执行S502。
其中,PC管家APP响应于接收到来自升级策略控制模块的升级指示,可以确定升级BIOS,进而执行S502。
在一种实施例中,PC管家APP可以根据第一BIOS升级条件集合,确定是否升级BIOS。相应的,S506A-S508A可以替换为:EC通过WMI模块和升级策略控制模块向PC管家APP发送电池的第三累计使用时长、第三电池温度、第三电池电量,以及第三充电功率。因为PC管家APP中存储有升级策略控制模块上一次BIOS升级成功后更新的第一BIOS升级条件集合,则PC管家APP根据第三累计使用时长、第三电池温度、第三电池电量、第三充电功率,以及第一BIOS升级条件集合,检测是否满足BIOS的升级条件。若满足BIOS的升级条件,PC管家APP执行S502,若不满足BIOS的升级条件,则执行S509A。
S509A,升级策略控制模块向PC管家APP发送取消指示,取消指示用于指示PC管家APP不升级BIOS。
S510A,PC管家APP确定不升级BIOS,不响应。
S511A,EC通过WMI模块向升级策略控制模块发送电池的第三累计使用时长、第三电池温度,以及第三电池电量。
在一种实施例中,第三累计使用时长、第三电池温度,以及第三电池电量可以称为电池的第三信息。
S512A,升级策略控制模块根据第三累计使用时长、第三电池温度、第三电池电量,以及第一BIOS升级条件集合,检测是否满足BIOS的升级条件。若是,执行S508A,若否,执行S509A。
S511A-S512A可以参照S517-S518的相关描述。
在一种实施例中,PC管家APP可以根据第三累计使用时长、第三电池温度、第三电池电量、以及第一BIOS升级条件集合,确定是否升级BIOS,可以参照S517-S518的描述。
在一种实施例中,PC管家APP还可以在电池电量大于30%,以及终端连接电源适配器的情况下,执行S502。
在一种实施例中,图7中所示的步骤为可选步骤,且步骤可以相互组合。在一种实施例中,图7中所示的模块也可以组合,组合后的模块用于执行图7中的至少一个步骤。
本申请实施例中,在PC管家APP下载新版本的BIOS后,可以初步根据第三累计使用时长、第三电池温度、第三电池电量、第三充电功率,以及第一BIOS升级条件集合,确定是否升级BIOS,本申请实施例中PC管家APP做初步判断的目的在于:避免终端在不满足BIOS升级条件时及时终止BIOS的升级,以避免终端执行S502以及之后的步骤,增大终端功耗。
与现有技术中类似的,在BIOS升级失败的情况下(如S515),用户重新开机时,可以执行BIOS修复流程,以重新升级BIOS。为了提高BIOS修复的成功率,参照图8,本申请实施例中的BIOS修复过程可以包括:
S801,在终端的开机过程中,升级模块响应于检测到BIOS ROM中存在升级标识,通过WMI向EC发送采集指示。
采集指示用于指示EC采集累计使用时长、电池温度、电池电量,以及充电功率。
应理解,在PC管家APP确定升级BIOS后,终端重启的开机过程中,升级模块会在BIOS ROM中写入升级标识,以表征需要升级BIOS。若BIOS升级成功,则升级模块删除BIOSROM中的升级标识,若BIOS升级失败,则BIOS ROM中一直会保留升级标识。
当终端重启的开机过程中,升级模块可以检测BIOS ROM中是否存在升级标识,若BIOS ROM中存在升级标识,则表征上一次BIOS升级失败,需要进行BIOS修复(即BIOS重新升级)流程。在该种实施例中,升级模块也需要检测终端是否满足BIOS升级条件,以在满足BIOS升级条件的情况下进行BIOS升级,以提高BIOS升级成功率(即BIOS修复成功率)。
S802,EC采集电池的第四累计使用时长、第四电池温度,以及第四电池电量。
应理解,电池的第四累计使用时长指的是:电池出厂至EC接收来自升级模块的采集指示时电池的使用总时长。
S803,EC检测终端是否连接电源适配器。若是,执行S804,若否,执行S813。
S804,EC采集终端连接的电源适配器的第四充电功率。
S805,EC通过WMI模块向升级模块发送电池的第四累计使用时长、第四电池温度、第四电池电量,以及第四充电功率。
在一种实施例中,第四累计使用时长、第四电池温度、第四电池电量,以及第四充电功率可以称为电池的第四信息。
S806,升级模块根据第四累计使用时长、第四电池温度、第四电池电量、第四充电功率,以及第一BIOS升级条件集合,检测是否满足BIOS的升级条件。若是,执行S807,若否,执行S812。
应理解的是,在下次终端开机时,若第一BIOS升级条件集合未更新,则S806中仍使用第一BIOS升级条件集合,若第一BIOS升级条件集合已经更新为第二BIOS升级条件集合,则S806中使用的是第二BIOS升级条件集合,此处以“第一BIOS升级条件集合”为例进行说明。
S807,升级模块从终端的硬盘中读取新版本的BIOS,且将新版本的BIOS写入BIOSROM。
S808,升级模块检测BIOS是否升级成功。若是,执行S809,若否,执行S811。
S809,升级模块删除BIOS ROM中的升级标识。
S810,终端重启,在重启的开机过程中运行新版本的BIOS,以进入OS。
S811,升级模块记录BIOS升级失败,退出BIOS升级。
本申请实施例中,在BIOS修复过程中若修复失败,为了保证升级的成功率,可能会出现终端不断重启修复BIOS。
S811可以参照S521中的相关描述。
S812,升级模块等待外接电源为电池充电,直至电池电量大于或等于“第四累计使用时长、第四电池温度,以及第四充电功率”映射的目标电池电量,执行S807。
S813,EC通过WMI模块向升级模块发送电池的第四累计使用时长、第四电池温度,以及第四电池电量。
在一种实施例中,第四累计使用时长、第四电池温度,以及第四电池电量可以称为电池的第四信息。
S814,升级模块根据第四累计使用时长、第四电池温度、第四电池电量,以及第一BIOS升级条件集合,检测是否满足BIOS的升级条件。若是,执行S807,若否,执行S815。
S815,升级模块输出提示信息,提示信息用于提示用户将终端连接电源适配器。
S816,在预设时长内,EC响应于终端连接电源适配器,返回执行S804。
S817,在预设时长内,响应于终端未连接电源适配器,升级模块记录BIOS升级失败,退出BIOS升级。
在一种实施例中,图8中所示的步骤为可选步骤,且步骤可以相互组合。在一种实施例中,图8中所示的模块也可以组合,组合后的模块用于执行图8中的至少一个步骤。
本申请实施例中,在升级模块升级BIOS失败后,可以在终端重启的过程中,继续根据电池的累计使用时长、电池温度、电池电量、充电功率,以及第一BIOS升级条件集合修复BIOS,以实现重新升级BIOS。
上述实施例中以终端中的各模块为执行主体讲述本申请实施例提供的BIOS的升级方法,下述结合图9,以终端为执行主体,讲述本申请实施例提供的BIOS的升级方法。
参照图9,本申请实施例提供的BIOS的升级方法可以包括:
S901,从服务器下载新版本的BIOS。
S901可以参照S501中的相关描述。
S902,重启,且在重启的开机过程中,检测终端是否连接电源适配器。若否,执行S903,若是,执行S904。
S902可以参照S507。
在一种实施例中,终端可以从服务器下载新版本的BIOS后,确定是否升级BIOS,以进行重启。其中,终端确定是否升级BIOS可以参照图7中的相关描述。
S903,在终端中的电池满足第一条件的情况下,根据新版本的BIOS升级终端中的BIOS。
当终端未连接电源适配器时,若检测到电池满足第一条件的情况下,终端可以根据新版本的BIOS升级终端中的BIOS。在一种实施例中,终端可以根据新版本的BIOS升级终端中的BIOS的过程可以参照图5中的相关描述。
在一种实施例中,第一条件可以为电池电量大于预设电量。其中当电池电量大于预设电量时,可以确定终端中的电池满足第一条件的情况下,则终端可以根据新版本的BIOS升级终端中的BIOS。
在一种实施例中,终端可以获取电池的第一信息,以检测电池是否满足第一条件。其中,当终端未连接电源适配器时,第一信息可以包括第一电池电量。在一种实施例中,第一信息还可以包括:电池的第一累计使用时长,和/或,第一电池温度。
在该实施例中,在终端未连接电源适配器,且第一信息包括第一电池电量、第一累计使用时长,以及第一电池温度的情况下,终端可以根据第一累计使用时长、第一电池温度、第一电池电量、以及第一BIOS升级条件集合,检测电池是否满足第一条件(即是否满足BIOS的升级条件),可以参照S510中的相关描述。
应理解的是,当第一信息中包括第一电池电量、第一累计使用时长时,终端可以根据第一累计使用时长、第一电池电量、以及第一BIOS升级条件集合,检测电池是否满足第一条件(即是否满足BIOS的升级条件),也可以参照S510中的相关描述。
S904,在终端中的电池满足第二条件的情况下,根据新版本的BIOS升级终端中的BIOS,第一条件和第二条件不同。
当终端连接电源适配器,且电池满足第二条件的情况下,终端可以根据新版本的BIOS升级终端中的BIOS。在该实施例中,电池的第一信息中可以包括第一充电功率。
其中,在终端连接电源适配器,且第一信息包括第一充电功率、第一电池电量、第一累计使用时长,以及第一电池温度的情况下,终端可以根据第一累计使用时长、第一电池温度、第一电池电量、第一充电功率,以及第一BIOS升级条件集合,检测电池是否满足第二条件(即是否满足BIOS的升级条件),可以参照S518中的相关描述。
本申请实施例中,可以在终端未连接电源适配器时,进行BIOS升级,扩展了BIOS升级的条件,避免BIOS的升级条件局限于“连接电源适配器且电池电量大于30%”,可以提高BIOS升级率以及升级效率,进而保证可以修复旧版本BIOS中的bug,以提高终端的开机效率和成功率。
需要说明的是,上述实施例中所述的模块或部件可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个专用集成电路(application specificintegrated circuit,ASIC),或,一个或多个微处理器(digital signal processor,DSP),或,一个或者多个现场可编程门阵列(field programmable gate array,FPGA)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(central processing unit,CPU)或其它可以调用程序代码的处理器如控制器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,SOC)的形式实现。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
本文中的术语“多个”是指两个或两个以上。本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系;在公式中,字符“/”,表示前后关联对象是一种“相除”的关系。另外,需要理解的是,在本申请的描述中,“第一”、“第二”等词汇,仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。
可以理解的是,在本申请的实施例中涉及的各种数字编号仅为描述方便进行的区分,并不用来限制本申请的实施例的范围。
可以理解的是,在本申请的实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请的实施例的实施过程构成任何限定。

Claims (16)

1.一种基本输入输出系统BIOS的升级方法,其特征在于,应用于终端,所述方法包括:
从服务器下载新版本的BIOS;
重启,且在重启的开机过程中,检测所述终端是否连接电源适配器;
在所述终端未连接电源适配器,且所述终端中的电池满足第一条件的情况下,根据所述新版本的BIOS升级所述终端中的BIOS;
所述方法还包括:
在所述终端连接电源适配器,且所述电池满足第二条件的情况下,根据所述新版本的BIOS升级所述终端中的BIOS,所述第一条件和所述第二条件不同;
在重启的开机过程中,获取所述电池的第一信息,所述第一信息包括:所述电池的第一电池电量,其中,在所述终端连接电源适配器的情况下,所述第一信息还包括:第一充电功率;
根据所述电池的第一信息,检测所述电池是否满足所述第一条件或所述第二条件;
所述第一信息还包括如下至少一项:所述电池的第一累计使用时长、第一电池温度;
在所述终端未连接电源适配器,且所述第一信息包括所述第一电池电量、所述第一累计使用时长,以及所述第一电池温度的情况下,所述根据所述电池的第一信息,检测所述电池是否满足所述第一条件,包括:
在第一BIOS升级条件集合中,查询所述第一累计使用时长和所述第一电池温度映射的第一目标电池电量,所述第一BIOS升级条件集合中包括:所述电池在不同累计使用时长、不同电池温度,以及不同充电功率下允许BIOS升级的最小电池电量;
检测所述第一电池电量是否大于或等于所述第一目标电池电量,以检测所述电池是否满足所述第一条件,其中,所述第一电池电量大于或等于所述第一目标电池电量表征:所述电池满足所述第一条件。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述第一电池电量小于所述第一目标电池电量,则输出提示信息,所述提示信息用于提示将所述终端连接电源适配器。
3.根据权利要求2所述的方法,其特征在于,所述输出提示信息之后,还包括:
在预设时长内,响应于所述终端连接电源适配器,获取所述第一充电功率,以基于所述第一累计使用时长、所述第一电池温度、所述第一充电功率,以及所述第一电池电量,检测所述电池是否满足所述第二条件;或者,
在所述预设时长内,响应于所述终端未连接电源适配器,记录BIOS升级失败,且退出BIOS升级。
4.根据权利要求1所述的方法,其特征在于,在所述终端连接电源适配器,且所述第一信息包括所述第一充电功率、所述第一电池电量、所述第一累计使用时长,以及所述第一电池温度的情况下,所述根据所述电池的第一信息,检测所述电池是否满足所述第一条件,包括:
在第一BIOS升级条件集合中,查询所述第一累计使用时长、所述第一电池温度,以及所述第一充电功率映射的第二目标电池电量,所述第一BIOS升级条件集合中包括:所述电池在不同累计使用时长、不同电池温度,以及不同充电功率下允许BIOS升级的最小电池电量;
检测所述第一电池电量是否大于或等于所述第二目标电池电量,以检测所述电池是否满足所述第二条件,其中,所述第一电池电量大于或等于所述第二目标电池电量表征:所述电池满足所述第二条件。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
若所述第一电池电量小于所述第二目标电池电量,则等待电源适配器为所述电池充电,直至所述电池的电池电量大于或等于所述第二目标电池电量,根据所述新版本的BIOS升级所述BIOS。
6.根据权利要求1-5中任一项所述的方法,其特征在于,所述根据所述新版本的BIOS升级所述终端中的BIOS,包括:
将所述新版本的BIOS写入所述终端的BIOS只读存储器ROM中。
7.根据权利要求6所述的方法,其特征在于,所述根据所述新版本的BIOS升级所述终端中的BIOS之后,还包括:
检测BIOS是否升级成功;
响应于BIOS升级成功,则重新重启以运行所述新版本的BIOS进入操作系统。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
在重新重启开机的过程中,获取所述电池的第二信息;
根据所述第一信息和所述第二信息,检测是否更新所述第一BIOS升级条件集合;
若是,则更新所述第一BIOS升级条件集合,得到第二BIOS升级条件集合。
9.根据权利要求8所述的方法,其特征在于,在所述第一信息包括:所述第一累计使用时长、所述第一电池温度,所述第一电池电量,以及所述第一充电功率,且所述第二信息包括:第二累计使用时长、第二电池温度,第二电池电量,以及第二充电功率的情况下,所述根据所述第一信息和所述第二信息,检测是否更新所述第一BIOS升级条件集合,包括:
若所述第一累计使用时长和所述第二累计使用时长处于相同的累计使用时长范围、所述第一电池温度和所述第二电池温度处于相同的电池温度范围,以及所述第一充电功率和所述第二充电功率处于相同的充电功率范围,则获取所述第二电池电量和所述第一电池电量的电量差值;
在所述第一BIOS升级条件集合中查询,所述第一累计使用时长、所述第一电池温度,以及所述第一充电功率映射的第二目标电池电量;
检测所述电量差值与所述第二目标电池电量的差值是否满足阈值,以确定是否更新所述第一BIOS升级条件集合。
10.根据权利要求9所述的方法,其特征在于,所述方法还包括:
若所述差值大于或等于所述阈值,则将所述第一BIOS升级条件集合中的所述第二目标电池电量更新为所述电量差值;
若所述差值小于所述阈值,则确定不更新所述第一BIOS升级条件集合。
11.根据权利要求7-9中任一项所述的方法,其特征在于,所述方法还包括:
在重启的开机过程中,在所述BIOS ROM中写入升级标识,所述升级标识表征需要升级BIOS。
12.根据权利要求11所述的方法,其特征在于,所述方法还包括:
响应于BIOS升级成功,删除所述BIOS ROM中的所述升级标识;
响应于BIOS升级失败,在下次开机的过程中,响应于检测到所述BIOS ROM中存在所述升级标识,修复BIOS。
13.根据权利要求12所述的方法,其特征在于,所述修复BIOS,包括:
获取所述电池的第四信息;
若根据所述第四信息,检测所述电池满足第一BIOS升级条件集合中的BIOS升级条件,则重新升级BIOS。
14.根据权利要求1-5、7-10、12-13中任一项所述的方法,其特征在于,所述从服务器下载新版本的BIOS之后,还包括:
获取所述电池的第三信息;
若根据所述第三信息,检测所述电池满足所述第一BIOS升级条件集合中的BIOS升级条件,则重启。
15.一种电子设备,其特征在于,包括:处理器和存储器;
所述存储器存储计算机指令;
所述处理器执行所述存储器存储的计算机指令,使得所述处理器执行如权利要求1-14中任一项所述的方法。
16.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序或指令,当所述计算机程序或指令被运行时,实现如权利要求1-14中任一项所述的方法。
CN202210467487.9A 2022-04-29 2022-04-29 基本输入输出系统bios的升级方法和电子设备 Active CN115562698B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210467487.9A CN115562698B (zh) 2022-04-29 2022-04-29 基本输入输出系统bios的升级方法和电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210467487.9A CN115562698B (zh) 2022-04-29 2022-04-29 基本输入输出系统bios的升级方法和电子设备

Publications (2)

Publication Number Publication Date
CN115562698A CN115562698A (zh) 2023-01-03
CN115562698B true CN115562698B (zh) 2023-10-20

Family

ID=84736525

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210467487.9A Active CN115562698B (zh) 2022-04-29 2022-04-29 基本输入输出系统bios的升级方法和电子设备

Country Status (1)

Country Link
CN (1) CN115562698B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106960155A (zh) * 2017-03-28 2017-07-18 联想(北京)有限公司 一种基本输入输出系统的更新方法和装置
CN110134412A (zh) * 2019-03-25 2019-08-16 北京车和家信息技术有限公司 软件更新方法、装置、车辆及计算机可读存储介质
CN110750287A (zh) * 2019-10-21 2020-02-04 上海庆科信息技术有限公司 智能机器人的固件升级方法、装置及智能机器人
CN111104137A (zh) * 2019-12-06 2020-05-05 山东信通电子股份有限公司 一种ota设备的升级方法及装置
CN113703799A (zh) * 2020-05-21 2021-11-26 华为技术有限公司 计算设备及其bios更新方法和介质
CN114185579A (zh) * 2020-09-15 2022-03-15 华为终端有限公司 软件升级的方法、装置、电子设备和可读存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106960155A (zh) * 2017-03-28 2017-07-18 联想(北京)有限公司 一种基本输入输出系统的更新方法和装置
CN110134412A (zh) * 2019-03-25 2019-08-16 北京车和家信息技术有限公司 软件更新方法、装置、车辆及计算机可读存储介质
CN110750287A (zh) * 2019-10-21 2020-02-04 上海庆科信息技术有限公司 智能机器人的固件升级方法、装置及智能机器人
CN111104137A (zh) * 2019-12-06 2020-05-05 山东信通电子股份有限公司 一种ota设备的升级方法及装置
CN113703799A (zh) * 2020-05-21 2021-11-26 华为技术有限公司 计算设备及其bios更新方法和介质
CN114185579A (zh) * 2020-09-15 2022-03-15 华为终端有限公司 软件升级的方法、装置、电子设备和可读存储介质

Also Published As

Publication number Publication date
CN115562698A (zh) 2023-01-03

Similar Documents

Publication Publication Date Title
US10007507B2 (en) Method for updating firmware of a battery included in a rechargeable battery module, portable electronic device, and rechargeable battery module
US9846472B2 (en) Firmware update method and power system thereof
CN105745617B (zh) 用于预启动固件更新的选择性功率管理
JP5340335B2 (ja) 情報処理装置
US20150007161A1 (en) Information processing apparatus, method for controlling the same, and storage medium
CN103513993A (zh) 固件更新系统及方法
KR20180103602A (ko) 전자 장치의 배터리 관리 방법 및 그 장치
US9864596B2 (en) Network switch system and operating method thereof
JP2015102889A (ja) ファームウェアの更新方法、電子機器、コンピュータおよびコンピュータ・プログラム
WO2017045419A1 (zh) 控制终端开机的方法及装置
CN108833981B (zh) 一种开关机的方法
CN109582372A (zh) 一种系统的启动方法及装置
US20190004948A1 (en) Systems and methods for prognosticating likelihood of successful save operation in persistent memory
CN114035818A (zh) 固件升级方法、装置、计算机设备和存储介质
WO2021018208A1 (zh) 固件升级方法及装置、电子设备、存储介质
CN111885420B (zh) 待机保护方法、装置、智能电视和可读存储介质
CN115562698B (zh) 基本输入输出系统bios的升级方法和电子设备
KR102516940B1 (ko) 부팅을 수행하는 전자 장치와 이의 동작 방법
US10389851B2 (en) Performing power management during a download and execute operation
JP6797991B1 (ja) 電子機器、及び稼働情報の出力方法
CN114020308A (zh) 一种摄像设备升级方法、装置、设备及介质
JP2014174697A (ja) 情報処理装置、情報処理装置の制御方法及び制御プログラム
CN114265492B (zh) 开机方法、装置和电子设备
WO2023216790A9 (zh) 基于输入输出系统bios的升级方法和终端设备
CN111782286B (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
GR01 Patent grant
GR01 Patent grant