CN111104139A - 一种固件升级方法、装置、设备及存储介质 - Google Patents
一种固件升级方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN111104139A CN111104139A CN201911328615.6A CN201911328615A CN111104139A CN 111104139 A CN111104139 A CN 111104139A CN 201911328615 A CN201911328615 A CN 201911328615A CN 111104139 A CN111104139 A CN 111104139A
- Authority
- CN
- China
- Prior art keywords
- target
- target chip
- upgrading
- firmware
- chip
- 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 59
- 230000008569 process Effects 0.000 claims description 16
- 238000012795 verification Methods 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 10
- 230000005540 biological transmission Effects 0.000 claims description 7
- 238000004806 packaging method and process Methods 0.000 claims description 2
- 230000000694 effects Effects 0.000 abstract 1
- 238000004891 communication Methods 0.000 description 8
- 238000007726 management method Methods 0.000 description 8
- 238000012423 maintenance Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000004883 computer application Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000013024 troubleshooting Methods 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
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
本申请公开了一种固件升级方法,应用于基板管理控制器BMC,该方法包括:接收针对目标芯片的固件升级命令;在本地的目标文件夹中读取目标芯片的目标升级文件;按照目标芯片的升级协议将目标升级文件分成多个数据包;通过总线分别将每个数据包传输给目标芯片,以使目标芯片基于接收到的数据包进行固件升级操作。应用本申请实施例所提供的技术方案,可以有效避免因网络不稳定导致最终传输给目标芯片的数据出现问题,可以提高固件升级成功率,提高固件升级效率。本申请还公开了一种固件升级装置、设备及存储介质,具有相应技术效果。
Description
技术领域
本申请涉及计算机应用技术领域,特别是涉及一种固件升级方法、装置、设备及存储介质。
背景技术
随着计算机技术的快速发展,服务器的使用越来越频繁。在服务器运行过程中,总会涉及到为服务器中芯片进行固件升级的问题。
在现有技术中,是通过独立于服务器中的BMC(Baseboard ManagementController,基板管理控制器)之外的带内带外对芯片进行固件升级。具体过程是,升级工具读取解析固件升级文件,然后按照升级协议进行数据打包,通过建立和释放网络会话控制逐一将每个数据包发送给BMC,BMC再将接收到的数据发送给要进行固件升级的芯片,进行固件升级。
这种方式存在的缺点在于,升级工具每发一个数据包都要进行一次网络会话控制的建立与释放,而且依赖于网络的稳定性,因网络不稳定容易导致数据包出现问题,这将导致最终固件升级失败,从而需要反复传输,整个升级过程需要消耗的时间较长,升级效率较低。
发明内容
本申请的目的是提供一种固件升级方法、装置、设备及存储介质,以提高固件升级效率。
为解决上述技术问题,本申请提供如下技术方案:
一种固件升级方法,应用于基板管理控制器BMC,所述方法包括:
接收针对目标芯片的固件升级命令;
在本地的目标文件夹中读取所述目标芯片的目标升级文件;
按照所述目标芯片的升级协议将所述目标升级文件分成多个数据包;
通过总线分别将每个数据包传输给所述目标芯片,以使所述目标芯片基于接收到的数据包进行固件升级操作。
在本申请的一种具体实施方式中,在所述接收针对目标芯片的固件升级命令之前,还包括:
接收针对所述目标芯片的固件升级准备命令;
在本地创建针对所述目标芯片的所述目标文件夹;
停止访问所述总线上的其他设备;
切换总线通道,以对所述目标芯片进行操作访问。
在本申请的一种具体实施方式中,在所述通过总线分别将每个数据包传输给所述目标芯片之前,还包括:
获取所述目标芯片的属性信息;
在所述目标芯片的升级日志中记录所述目标芯片的属性信息。
在本申请的一种具体实施方式中,还包括:
在所述目标芯片基于接收到的数据包进行固件升级操作的过程中,如果读取到所述目标芯片返回的针对其中一个数据包的烧写失败或者校验失败的错误信息,则重复执行所述在本地的目标文件夹中读取所述目标芯片的目标升级文件的步骤。
在本申请的一种具体实施方式中,在接收到所述目标芯片返回的针对其中一个数据包的烧写失败或者校验失败的错误信息时,还包括:
在所述目标芯片的升级日志中记录所述错误信息。
在本申请的一种具体实施方式中,还包括:
在所述目标芯片基于接收到的数据包进行固件升级操作的过程中,如果未读取到所述目标芯片返回的针对任何一个数据包的烧写失败或者校验失败的错误信息,则获取所述目标芯片的升级结果;
在所述目标芯片的升级日志中记录所述目标芯片的升级结果。
一种固件升级装置,应用于基板管理控制器BMC,所述装置包括:
命令接收模块,用于接收针对目标芯片的固件升级命令;
文件读取模块,用于在本地的目标文件夹中读取所述目标芯片的目标升级文件;
文件打包模块,用于按照所述目标芯片的升级协议将所述目标升级文件分成多个数据包;
数据传输模块,用于通过总线分别将每个数据包传输给所述目标芯片,以使所述目标芯片基于接收到的数据包进行固件升级操作。
在本申请的一种具体实施方式中,还包括升级准备模块,用于:
在所述接收针对目标芯片的固件升级命令之前,接收针对所述目标芯片的固件升级准备命令;
在本地创建针对所述目标芯片的所述目标文件夹;
停止访问所述总线上的其他设备;
切换总线通道,以对所述目标芯片进行操作访问。
一种固件升级设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现上述任一项所述固件升级方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述固件升级方法的步骤。
应用本申请实施例所提供的技术方案,BMC接收到目标芯片的固件升级命令后,在本地的目标文件夹中读取目标芯片的目标升级文件,按照目标芯片的升级协议将目标升级文件分成多个数据包,通过总线分别将每个数据包传输给目标芯片,目标芯片基于接收到的数据包进行固件升级操作。将目标升级文件预先放入BMC的本地目标文件夹中,即先进行整个文件的传输,在要对目标芯片进行固件升级时,BMC在目标文件夹中读取目标升级文件,对目标升级文件进行打包得到多个数据包,再逐一通过总线将每个数据包传输给目标芯片,可以有效避免因网络不稳定导致最终传输给目标芯片的数据出现问题,可以提高固件升级成功率,提高固件升级效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例中一种固件升级方法的实施流程图;
图2为本申请实施例中一种固件升级装置的结构示意图;
图3为本申请实施例中一种固件升级设备的结构示意图。
具体实施方式
本申请的核心是提供一种固件升级方法,该方法可以应用于BMC(BaseboardManagement Controller,基板管理控制器)。BMC是服务器特有的管理控制器,可以自动监控服务器的运行状态,并及时根据当前状态进行调控。BMC可以管理其他芯片的固件的升级,比如BIOS(Basic Input Output System,基本输入输出系统)芯片、CPLD(ComplexProgrammable Logic Device,复杂可编程逻辑器件)芯片、SAS-Expander(SerialAttached SCSI,串行SCSI(Small Computer System Interface,(小型计算机系统接口))背板以及PSU(Power Supply Unit,电源)等。
为了使本技术领域的人员更好地理解本申请方案,下面结合附图和具体实施方式对本申请作进一步的详细说明。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
参见图1所示,为本申请实施例所提供的一种固件升级方法的实施流程图,该方法可以包括以下步骤:
S110:接收针对目标芯片的固件升级命令。
目标芯片可以是服务器中BMC可控制的任意一个芯片,如BIOS芯片、CPLD芯片、SAS-Expander背板、串行SCSI背板等。
在有对目标芯片的固件进行升级的需求时,可以向BMC发送针对目标芯片的固件升级命令。
BMC接收到针对目标芯片的固件升级命令后,可以继续执行步骤S120的操作。
S120:在本地的目标文件夹中读取目标芯片的目标升级文件。
在本申请实施例中,BMC可以预先创建一个本地的文件夹,对于不同芯片,可以创建不同的文件夹,如目标芯片对应于目标文件夹。
目标文件夹中可以预先放入目标芯片的目标升级文件。如可以由服务器维护人员使用远程工具将目标芯片的目标升级文件通过网络发送到目标文件夹。
BMC接收到针对目标芯片的固件升级命令后,可以在本地的目标文件夹中读取目标芯片的目标升级文件,进一步可以将目标升级文件加载到BMC为目标芯片固件升级的内存中。
S130:按照目标芯片的升级协议将目标升级文件分成多个数据包。
不同芯片可能支持相同或者不同升级协议。如SAS-Expander背板支持SMP(Symmetrical Multi-Processing,对称多处理)升级协议。
BMC在本地的目标文件夹中读取到目标芯片的目标升级文件后,可以按照目标芯片的升级协议对目标升级文件进行打包处理,分成多个数据包。
S140:通过总线分别将每个数据包传输给目标芯片,以使目标芯片基于接收到的数据包进行固件升级操作。
在本申请实施例中,BMC可以通过总线与服务器的各芯片通信。总线可以是I2C(Inter-Integrated Circuit,集成电路)总线,或者其他类型总线。
如,服务器的SAS-Expander负责硬盘的管理与驱动,BMC通过I2C总线通信可以获取SAS-Expander的温度、硬盘在位信息、硬盘错误信息等测量参数,根据SAS-Expander的设计,BMC可以通过I2C总线通信对SAS-Expander的固件按照升级协议进行升级。
BMC按照目标芯片的升级协议将目标升级文件分成多个数据包之后,可以通过总线分别将每个数据包传输给目标芯片。通过总线进行数据包的传输,会更稳定。目标芯片接收到数据包后,可以基于接收到的数据包进行固件升级操作,如内部进行解析升级数据、烧写固件等操作。
应用本申请实施例所提供的方法,BMC接收到目标芯片的固件升级命令后,在本地的目标文件夹中读取目标芯片的目标升级文件,按照目标芯片的升级协议将目标升级文件分成多个数据包,通过总线分别将每个数据包传输给目标芯片,目标芯片基于接收到的数据包进行固件升级操作。将目标升级文件预先放入BMC的本地目标文件夹中,即先进行整个文件的传输,在要对目标芯片进行固件升级时,BMC在目标文件夹中读取目标升级文件,对目标升级文件进行打包得到多个数据包,再逐一通过总线将每个数据包传输给目标芯片,可以有效避免因网络不稳定导致最终传输给目标芯片的数据出现问题,可以提高固件升级成功率,提高固件升级效率。
在本申请的一个实施例中,在步骤S110接收针对目标芯片的固件升级命令之前,该方法还可以包括以下步骤:
步骤一:接收针对目标芯片的固件升级准备命令;
步骤二:在本地创建针对目标芯片的目标文件夹;
步骤三:停止访问总线上的其他设备;
步骤四:切换总线通道,以对目标芯片进行操作访问。
为便于描述,将上述四个步骤结合起来进行说明。
在本申请实施例中,在需要对目标芯片进行固件升级时,可以先向BMC发送一个固件升级准备命令。BMC接收到针对目标芯片的固件升级准备命令后,可以在本地创建针对目标芯片的目标文件夹,该目标文件夹可以存放远程传送的目标升级文件和升级日志等。停止访问目标芯片所在总线上的其他设备,以便将总线访问控制权交由升级程序使用。根据目标芯片所在总线的设计情况进行总线通道切换,以对目标芯片进行操作访问,即实现升级程序可以直接操作访问所要升级的目标芯片。
经过上述准确操作,可以避免对于目标芯片的固件的升级不受到其他设备影响,提高固件升级成功率。
在本申请的一个实施例中,在通过总线分别将每个数据包传输给目标芯片之前,该方法还可以包括以下步骤:
步骤一:获取目标芯片的属性信息;
步骤二:在目标芯片的升级日志中记录目标芯片的属性信息。
在本申请实施例中,BMC在通过总线分别将每个数据包传输给目标芯片之前,可以先获取目标芯片的属性信息,目标芯片的属性信息可以包括目标芯片的型号、硬件配置以及当前目标芯片的固件版本号等信息。
获取到目标芯片的属性信息后,可以将目标芯片的属性信息记录到目标芯片的升级日志中,如记录到expander_update.log文件中,以便于对升级的目标芯片的相关信息进行检查。
在升级日志中还可以记录在本地目标文件夹中读取到的目标升级文件的大小和校验码等信息。便于后续进行信息查看和比对等。
在本申请的一个实施例中,该方法还可以包括以下步骤:
在目标芯片基于接收到的数据包进行固件升级操作的过程中,如果读取到目标芯片返回的针对其中一个数据包的烧写失败或者校验失败的错误信息,则重复执行在本地的目标文件夹中读取目标芯片的目标升级文件的步骤。
在本申请实施例中,BMC接收针对目标芯片的固件升级命令,在本地的目标文件夹中读取目标芯片的目标升级文件,按照目标芯片的升级协议将目标升级文件分成多个数据包,通过总线分别将每个数据包传输给目标芯片。目标芯片基于接收到的数据包进行固件升级操作。在目标芯片基于接收到的数据包进行固件升级操作的过程中,BMC可以对目标芯片的升级情况进行监测,根据升级协议读取当前升级状态、升级进度等信息。
目标芯片每接收到一个数据包,都可以对该数据包进行校验操作,校验数据包的完整性,如果校验成功,则可以进一步使用该数据包进行烧写操作,如果校验失败,或者烧写失败,则可以返回错误信息。
BMC每发一个数据包后,就可以读取目标芯片对于该数据包的烧写结果或者校验结果。如果读取到目标芯片返回的针对其中一个数据包的烧写失败或者校验失败的错误信息,则可以退出本次升级过程,重复执行在本地的目标文件夹中读取目标芯片的目标升级文件的步骤。因为如果在读取目标升级文件的过程中出错,则将导致基于目标升级文件分成的数据包有误,所以,如果目标芯片对某个数据包的烧写失败或者校验失败,则可以重新进行目标升级文件的读取。
当然,在实际应用中,也可以向服务器维护人员输出升级失败提示信息,以使服务器维护人员重新进行目标升级文件的传输。
当BMC仅读取到目标芯片返回的针对其中一个数据包的校验失败的错误信息时,可以先尝试重复发送该数据包,如果还是校验失败,则可以重复执行在本地的目标文件夹中读取目标芯片的目标升级文件的步骤。
这样可以提高目标芯片的固件升级成功率。
在本申请的一个实施例中,在接收到目标芯片返回的针对其中一个数据包的烧写失败或者校验失败的错误信息时,还可以在目标芯片的升级日志中记录错误信息。以便后续进行问题排查时查看。
在本申请的一个实施例中,该方法还可以包括以下步骤:
步骤一:在目标芯片基于接收到的数据包进行固件升级操作的过程中,如果未读取到目标芯片返回的针对任何一个数据包的烧写失败或者校验失败的错误信息,则获取目标芯片的升级结果;
步骤二:在目标芯片的升级日志中记录目标芯片的升级结果。
在本申请实施例中,在目标芯片基于接收到的数据包进行固件升级操作的过程中,如果未读取到目标芯片返回的针对任何一个数据包的烧写失败或者校验失败的错误信息,则表明目标芯片的固件升级成功,可以获取目标芯片的升级结果,如是否升级成功、目标芯片升级后的固件版本号等信息。
将目标芯片的升级结果记录在目标芯片的升级日志中,以便后续服务器运维人员进行信息查看。
在实际应用中,可以利用IPMI(Intelligent Platform Management Interface,智能平台管理界面)命令使BMC对产生的升级日志进行一键收集操作,也可以利用IPMI命令在BMC中产生需要的标志位,并根据标志位执行一些所需要的操作。IPMI是管理外围设备采用的一种工业标准,用户可以利用IPMI监视服务器的物理健康特征,如温度、电压、风扇工作状态、电源状态等。
BMC支持远程文件传输协议,在目标芯片的固件升级结束后,服务器运维人员可通过网络将BMC下保存的升级日志拷贝到本地进行查看与分析。
本申请实施例所提供的技术方案,将目标升级文件通过远程文件传输协议发送到BMC指定的目标文件夹下,然后在BMC下读取、解析目标升级文件打包成多个数据包,通过总线传输,直接操作目标芯片进行升级,缩短了目标芯片的固件升级的时间,提高了目标芯片的固件升级效率,提高了目标芯片的固件升级成功率,并且,本申请实施例在升级过程中能够记录升级相关的关键信息,在目标芯片的固件升级结束后通过读取、分析查看升级日志能够使服务器运维人员获知升级结果和升级失败原因,提高了固件升级管理的效率,同时还方便服务器运维人员快速有效的定位问题。
相应于上面的方法实施例,本申请实施例还提供了一种固件升级装置,应用于基板管理控制器BMC,下文描述的固件升级装置与上文描述的固件升级方法可相互对应参照。
参见图2所示,该装置可以包括以下模块:
命令接收模块210,用于接收针对目标芯片的固件升级命令;
文件读取模块220,用于在本地的目标文件夹中读取目标芯片的目标升级文件;
文件打包模块230,用于按照目标芯片的升级协议将目标升级文件分成多个数据包;
数据传输模块240,用于通过总线分别将每个数据包传输给目标芯片,以使目标芯片基于接收到的数据包进行固件升级操作。
应用本申请实施例所提供的装置,BMC接收到目标芯片的固件升级命令后,在本地的目标文件夹中读取目标芯片的目标升级文件,按照目标芯片的升级协议将目标升级文件分成多个数据包,通过总线分别将每个数据包传输给目标芯片,目标芯片基于接收到的数据包进行固件升级操作。将目标升级文件预先放入BMC的本地目标文件夹中,即先进行整个文件的传输,在要对目标芯片进行固件升级时,BMC在目标文件夹中读取目标升级文件,对目标升级文件进行打包得到多个数据包,再逐一通过总线将每个数据包传输给目标芯片,可以有效避免因网络不稳定导致最终传输给目标芯片的数据出现问题,可以提高固件升级成功率,提高固件升级效率。
在本申请的一种具体实施方式中,还包括升级准备模块,用于:
在接收针对目标芯片的固件升级命令之前,接收针对目标芯片的固件升级准备命令;
在本地创建针对目标芯片的目标文件夹;
停止访问总线上的其他设备;
切换总线通道,以对目标芯片进行操作访问。
在本申请的一种具体实施方式中,还包括属性记录模块,用于:
在通过总线分别将每个数据包传输给目标芯片之前,获取目标芯片的属性信息;
在目标芯片的升级日志中记录目标芯片的属性信息。
在本申请的一种具体实施方式中,还包括重复执行模块,用于:
在目标芯片基于接收到的数据包进行固件升级操作的过程中,如果读取到目标芯片返回的针对其中一个数据包的烧写失败或者校验失败的错误信息,则重复执行在本地的目标文件夹中读取目标芯片的目标升级文件的步骤。
在本申请的一种具体实施方式中,还包括错误记录模块,用于:
在接收到目标芯片返回的针对其中一个数据包的烧写失败或者校验失败的错误信息时,在目标芯片的升级日志中记录错误信息。
在本申请的一种具体实施方式中,还包括结果记录模块,用于:
在目标芯片基于接收到的数据包进行固件升级操作的过程中,如果未读取到目标芯片返回的针对任何一个数据包的烧写失败或者校验失败的错误信息,则获取目标芯片的升级结果;
在目标芯片的升级日志中记录目标芯片的升级结果。
相应于上面的方法实施例,本申请实施例还提供了一种固件升级设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行计算机程序时实现上述固件升级方法的步骤。
如图3所示,为固件升级设备的组成结构示意图,固件升级设备可以包括:处理器10、存储器11、通信接口12和通信总线13。处理器10、存储器11、通信接口12均通过通信总线13完成相互间的通信。
在本申请实施例中,处理器10可以为中央处理器(Central Processing Unit,CPU)、特定应用集成电路、数字信号处理器、现场可编程门阵列或者其他可编程逻辑器件等。
处理器10可以调用存储器11中存储的程序,具体的,处理器10可以执行固件升级方法的实施例中的操作。
存储器11中用于存放一个或者一个以上程序,程序可以包括程序代码,程序代码包括计算机操作指令,在本申请实施例中,存储器11中至少存储有用于实现以下功能的程序:
接收针对目标芯片的固件升级命令;
在本地的目标文件夹中读取目标芯片的目标升级文件;
按照目标芯片的升级协议将目标升级文件分成多个数据包;
通过总线分别将每个数据包传输给目标芯片,以使目标芯片基于接收到的数据包进行固件升级操作。
在一种可能的实现方式中,存储器11可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统,以及至少一个功能(比如声音播放功能、图像播放功能)所需的应用程序等;存储数据区可存储使用过程中所创建的数据,如行驶数据、轨迹数据等。
此外,存储器11可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件或其他易失性固态存储器件。
通信接口13可以为通信模块的接口,用于与其他设备或者系统连接。
当然,需要说明的是,图3所示的结构并不构成对本申请实施例中固件升级设备的限定,在实际应用中固件升级设备可以包括比图3所示的更多或更少的部件,或者组合某些部件。
相应于上面的方法实施例,本申请实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述固件升级方法的步骤。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的技术方案及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
Claims (10)
1.一种固件升级方法,其特征在于,应用于基板管理控制器BMC,所述方法包括:
接收针对目标芯片的固件升级命令;
在本地的目标文件夹中读取所述目标芯片的目标升级文件;
按照所述目标芯片的升级协议将所述目标升级文件分成多个数据包;
通过总线分别将每个数据包传输给所述目标芯片,以使所述目标芯片基于接收到的数据包进行固件升级操作。
2.根据权利要求1所述的方法,其特征在于,在所述接收针对目标芯片的固件升级命令之前,还包括:
接收针对所述目标芯片的固件升级准备命令;
在本地创建针对所述目标芯片的所述目标文件夹;
停止访问所述总线上的其他设备;
切换总线通道,以对所述目标芯片进行操作访问。
3.根据权利要求1所述的方法,其特征在于,在所述通过总线分别将每个数据包传输给所述目标芯片之前,还包括:
获取所述目标芯片的属性信息;
在所述目标芯片的升级日志中记录所述目标芯片的属性信息。
4.根据权利要求1所述的方法,其特征在于,还包括:
在所述目标芯片基于接收到的数据包进行固件升级操作的过程中,如果读取到所述目标芯片返回的针对其中一个数据包的烧写失败或者校验失败的错误信息,则重复执行所述在本地的目标文件夹中读取所述目标芯片的目标升级文件的步骤。
5.根据权利要求4所述的方法,其特征在于,在接收到所述目标芯片返回的针对其中一个数据包的烧写失败或者校验失败的错误信息时,还包括:
在所述目标芯片的升级日志中记录所述错误信息。
6.根据权利要求1至5任一项所述的方法,其特征在于,还包括:
在所述目标芯片基于接收到的数据包进行固件升级操作的过程中,如果未读取到所述目标芯片返回的针对任何一个数据包的烧写失败或者校验失败的错误信息,则获取所述目标芯片的升级结果;
在所述目标芯片的升级日志中记录所述目标芯片的升级结果。
7.一种固件升级装置,其特征在于,应用于基板管理控制器BMC,所述装置包括:
命令接收模块,用于接收针对目标芯片的固件升级命令;
文件读取模块,用于在本地的目标文件夹中读取所述目标芯片的目标升级文件;
文件打包模块,用于按照所述目标芯片的升级协议将所述目标升级文件分成多个数据包;
数据传输模块,用于通过总线分别将每个数据包传输给所述目标芯片,以使所述目标芯片基于接收到的数据包进行固件升级操作。
8.根据权利要求7所述的装置,其特征在于,还包括升级准备模块,用于:
在所述接收针对目标芯片的固件升级命令之前,接收针对所述目标芯片的固件升级准备命令;
在本地创建针对所述目标芯片的所述目标文件夹;
停止访问所述总线上的其他设备;
切换总线通道,以对所述目标芯片进行操作访问。
9.一种固件升级设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至6任一项所述固件升级方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述固件升级方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911328615.6A CN111104139A (zh) | 2019-12-20 | 2019-12-20 | 一种固件升级方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911328615.6A CN111104139A (zh) | 2019-12-20 | 2019-12-20 | 一种固件升级方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111104139A true CN111104139A (zh) | 2020-05-05 |
Family
ID=70422070
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911328615.6A Pending CN111104139A (zh) | 2019-12-20 | 2019-12-20 | 一种固件升级方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111104139A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111625263A (zh) * | 2020-05-22 | 2020-09-04 | 苏州浪潮智能科技有限公司 | 一种服务器部件固件更新方法 |
CN111880825A (zh) * | 2020-07-24 | 2020-11-03 | 北京浪潮数据技术有限公司 | 一种固件升级方法、装置及电子设备和存储介质 |
CN111949285A (zh) * | 2020-09-25 | 2020-11-17 | 苏州浪潮智能科技有限公司 | 一种扩展芯片固件升级方法、装置、设备及存储介质 |
CN113434179A (zh) * | 2021-07-08 | 2021-09-24 | 恒安嘉新(北京)科技股份公司 | 一种可编程电源的在线升级方法、装置、设备及存储介质 |
CN114265614A (zh) * | 2021-12-21 | 2022-04-01 | 红石阳光(北京)科技股份有限公司 | 一种代理差分升级的方法及系统 |
CN117075949A (zh) * | 2023-10-16 | 2023-11-17 | 苏州元脑智能科技有限公司 | 一种电压转换芯片升级方法、装置、电子设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105389281A (zh) * | 2015-10-15 | 2016-03-09 | 珠海格力电器股份有限公司 | Can总线数据发送、接收方法及固件升级方法 |
CN108572848A (zh) * | 2018-06-26 | 2018-09-25 | 深圳市未来感知科技有限公司 | 交互系统的底层固件在线升级方法、装置及存储介质 |
CN110505077A (zh) * | 2018-05-18 | 2019-11-26 | 视联动力信息技术股份有限公司 | 一种升级的方法和装置 |
-
2019
- 2019-12-20 CN CN201911328615.6A patent/CN111104139A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105389281A (zh) * | 2015-10-15 | 2016-03-09 | 珠海格力电器股份有限公司 | Can总线数据发送、接收方法及固件升级方法 |
CN110505077A (zh) * | 2018-05-18 | 2019-11-26 | 视联动力信息技术股份有限公司 | 一种升级的方法和装置 |
CN108572848A (zh) * | 2018-06-26 | 2018-09-25 | 深圳市未来感知科技有限公司 | 交互系统的底层固件在线升级方法、装置及存储介质 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111625263A (zh) * | 2020-05-22 | 2020-09-04 | 苏州浪潮智能科技有限公司 | 一种服务器部件固件更新方法 |
CN111880825A (zh) * | 2020-07-24 | 2020-11-03 | 北京浪潮数据技术有限公司 | 一种固件升级方法、装置及电子设备和存储介质 |
CN111880825B (zh) * | 2020-07-24 | 2022-06-10 | 北京浪潮数据技术有限公司 | 一种固件升级方法、装置及电子设备和存储介质 |
CN111949285A (zh) * | 2020-09-25 | 2020-11-17 | 苏州浪潮智能科技有限公司 | 一种扩展芯片固件升级方法、装置、设备及存储介质 |
CN111949285B (zh) * | 2020-09-25 | 2023-01-10 | 苏州浪潮智能科技有限公司 | 一种扩展芯片固件升级方法、装置、设备及存储介质 |
CN113434179A (zh) * | 2021-07-08 | 2021-09-24 | 恒安嘉新(北京)科技股份公司 | 一种可编程电源的在线升级方法、装置、设备及存储介质 |
CN113434179B (zh) * | 2021-07-08 | 2023-12-19 | 恒安嘉新(北京)科技股份公司 | 一种可编程电源的在线升级方法、装置、设备及存储介质 |
CN114265614A (zh) * | 2021-12-21 | 2022-04-01 | 红石阳光(北京)科技股份有限公司 | 一种代理差分升级的方法及系统 |
CN117075949A (zh) * | 2023-10-16 | 2023-11-17 | 苏州元脑智能科技有限公司 | 一种电压转换芯片升级方法、装置、电子设备及存储介质 |
CN117075949B (zh) * | 2023-10-16 | 2024-02-09 | 苏州元脑智能科技有限公司 | 一种电压转换芯片升级方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111104139A (zh) | 一种固件升级方法、装置、设备及存储介质 | |
CN108600029B (zh) | 一种配置文件更新方法、装置、终端设备及存储介质 | |
CN111124850A (zh) | Mqtt服务器性能测试方法、系统、计算机设备及存储介质 | |
US20140123121A1 (en) | Rack and method thereof for simultaneously updating basic input output systems | |
US20140122931A1 (en) | Performing diagnostic tests in a data center | |
US20100095159A1 (en) | Apparatus and method for automatic testing of software or digital devices | |
US20150100296A1 (en) | Method and system for automated test and result comparison | |
CN107066300B (zh) | 一种存储设备的固件升级方法和存储设备 | |
CN106445577A (zh) | 更新方法、服务器系统以及非瞬态计算机可读取介质 | |
JP6823785B2 (ja) | ネットワークにおけるノードの設定管理 | |
CN113419747A (zh) | 中间件部署方法、装置、设备及存储介质 | |
CN106557405A (zh) | 服务器机柜监控方法 | |
CN117251333A (zh) | 一种硬盘信息获取方法、装置、设备及存储介质 | |
CN104181927B (zh) | 一种飞行控制律管理方法及装置 | |
US10445201B2 (en) | System and method for automated integration and stress testing of hardware and software service in management controller using containerized toolbox | |
CN115904846A (zh) | 系统紧急故障的测试方法、装置及系统 | |
WO2021192318A1 (ja) | 検証装置、検証システム、検証方法及びコンピュータ可読媒体 | |
CN112506729B (zh) | 一种故障模拟方法及装置 | |
CN114138574A (zh) | 控制器测试方法、装置、服务器和存储介质 | |
CN113032054A (zh) | 一种服务执行方法、装置、存储介质及电子装置 | |
CN112162887A (zh) | 存储设备及其机框共享部件访问方法、装置、存储介质 | |
CN116955093B (zh) | 一种cpu状态监控方法、装置、系统、设备及存储介质 | |
US9417863B2 (en) | System and method for expedited loading of an image onto a storage device | |
CN117311769B (zh) | 服务器日志生成方法和装置、存储介质及电子设备 | |
CN116719712B (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 |