CN116301984A - 固件升级方法、带外控制器和计算设备 - Google Patents
固件升级方法、带外控制器和计算设备 Download PDFInfo
- Publication number
- CN116301984A CN116301984A CN202310234480.7A CN202310234480A CN116301984A CN 116301984 A CN116301984 A CN 116301984A CN 202310234480 A CN202310234480 A CN 202310234480A CN 116301984 A CN116301984 A CN 116301984A
- Authority
- CN
- China
- Prior art keywords
- target
- cpld
- firmware
- firmware upgrade
- identifier
- 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 62
- 230000015654 memory Effects 0.000 claims description 31
- 230000004044 response Effects 0.000 claims description 30
- 238000004590 computer program Methods 0.000 claims description 9
- 230000000694 effects Effects 0.000 claims description 4
- 230000006870 function Effects 0.000 description 20
- 239000002609 medium Substances 0.000 description 15
- 238000007726 management method Methods 0.000 description 9
- 238000012545 processing Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 238000012360 testing method Methods 0.000 description 7
- 230000002452 interceptive effect Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 238000013461 design Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 101100384355 Mus musculus Ctnnbip1 gene Proteins 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012546 transfer 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/17—Interprocessor communication using an input/output type connection, e.g. channel, I/O port
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本申请关于一种固件升级方法、带外控制器和计算设备,涉及计算机硬件技术领域。在本申请中,在不同的CPLD具有不同制造商的情况下,通过响应于第一指令,确定出目标CPLD对应的目标固件升级文件,以使得目标CPLD基于目标固件升级文件完成固件升级,相比较于相关技术中,计算设备向目标CPLD提供不同的多个固件升级文件,目标CPLD依次尝试使用不同的固件升级文件进行升级的方式,本申请提供的方法能够减少目标CPLD的固件升级时间,提升固件升级效率。
Description
技术领域
本申请涉及计算机硬件技术领域,尤其涉及一种固件升级方法、带外控制器和计算设备。
背景技术
随着计算机技术的发展,计算设备的主板和背板上通常设置有复杂可编程逻辑器件(comp lex programmable logic device,CPLD)。CPLD是一种用户根据各自需要而自行构造逻辑功能的数字集成电路和控制上电时序等功能的器件。在计算设备的使用过程中,基于用户的使用需求可能需要对CPLD的固件进行升级。
但由于当前CPLD存在多个制造商,且每个制造商所使用的固件升级文件均不同,因此,相关技术中,当需要对待升级CPLD的固件进行升级时,由于计算设备无法难以待升级CPLD的制造商对应的固件升级文件,因此存在固件升级时间长,固件升级效率低的缺点。
发明内容
本申请实施例提供了一种固件升级方法、带外控制器和计算设备,用于减少CPLD的固件升级时间,提升固件升级效率。
为达到上述目的,本申请的实施例采用如下技术方案:
第一方面,提供了一种固件升级方法,上述方法包括:接收第一指令,第一指令用于指示升级目标复杂可编程逻辑器件CPLD的固件;响应于第一指令,从软件升级包中确定目标CPLD的目标固件升级文件,软件升级包包括多个不同的固件升级文件,目标固件升级文件为多个不同的固件升级文件中的一个;向目标CPLD发送目标固件升级文件,以使得目标CPLD基于目标固件升级文件完成固件升级。在目标CPLD具有多个制造商的情况下,本申请提供的方法通过响应于升级目标CPLD的固件的第一指令,确定出目标CPLD的目标固件升级文件,以使得目标CPLD基于目标固件升级文件完成固件升级,相比较于相关技术中,计算设备向目标CPLD提供不同的多个固件升级文件,目标CPLD依次尝试使用不同的固件升级文件进行升级的方式,本申请提供的方法能够减少目标CPLD的固件升级时间,提升固件升级效率。
在第一方面的一种可能的实现方式中,响应于第一指令,确定目标CPLD的目标固件升级文件,包括:响应于第一指令,获取目标CPLD的目标标识;根据目标标识确定目标CPLD的目标固件升级文件。本申请提供的方法通过获取目标CPLD的目标标识,能够使得计算设备基于目标标识确定目标CPLD的目标固件升级文件,从而减少目标CPLD的固件升级时间,提升固件升级效率。
在第一方面的一种可能的实现方式中,根据目标标识确定目标CPLD的目标固件升级文件,包括:根据目标CPLD的目标标识,从第一预设关系表中确定目标CPLD的目标标识对应的目标制造商标识;基于目标制造商标识,从软件升级包中确定目标固件升级文件;其中,软件升级包中包括多个子软件包,每个子软件包包括包头和固件升级文件,每个包头中包括每个固件升级文件对应的制造商标识。本申请提供的方法基于第一预设关系表,能够根据获取到的目标CPLD的目标标识首先确定目标CPLD的目标制造商标识,然后根据目标制造商标识确定目标CPLD的目标固件升级文件。这样一来,在计算设备中存在多个制造商提供的CPLD的情况下,能够快速基于目标标识确定目标CPLD的制造商对应的固件升级文件,从而减少目标CPLD的固件升级时间,提升固件升级效率。
在第一方面的一种可能的实现方式中,第一指令中携带有目标CPLD的位置信息;获取目标CPLD的目标标识,包括:基于目标CPLD的位置信息,向目标CPLD发送获取目标标识的第二指令;接收目标CPLD响应于第二指令发送的目标标识。本申请提供的方法位置信息确定目标CPLD,然后向目标CPLD发送第二指令,并接收来自目标CPLD的目标标识,能够使得计算设备基于目标标识确定目标CPLD的目标固件升级文件,从而减少目标CPLD的固件升级时间,提升固件升级效率。
在第一方面的一种可能的实现方式中,目标CPLD配置有联合测试工作组JTAG接口,JTAG接口用于目标CPLD接收第二指令,以及用于目标CPLD响应于第二指令发送目标标识。本申请提供的方法通过基于目标CPLD的JTAG接口获取目标CPLD的目标标识,能够实现目标标识的快速获取,进而根据目标标识确定目标CPLD的目标固件升级文件,从而提升目标CPLD的固件升级效率。
在第一方面的一种可能的实现方式中,第一指令中携带有目标单板的标识,目标单板为设置目标CPLD的单板,目标单板上设置有现场可更换单元FRU,FRU中存储了目标CPLD的目标制造商标识;确定目标CPLD的目标固件升级文件,包括:从FRU中获取目标CPLD的目标制造商标识,并基于目标CPLD的目标制造商标识,从软件升级包中确定目标固件升级文件;其中,软件升级包中包括多个子软件包,每个子软件包包括包头和固件升级文件,每个包头中包括每个固件升级文件对应的CPLD的制造商标识。本申请提供的方法在指示升级目标CPLD的固件的指令中携带有目标单板的标识的情况下,基于第二预设关系表,能够根据设置目标CPLD的目标单板的标识确定目标CPLD的目标制造商标识,然后根据目标制造商标识确定目标CPLD的目标固件升级文件。这样一来,在计算设备中存在多个制造商提供的CPLD的情况下,能够快速基于目标CPLD的目标标识确定目标固件升级文件,从而减少目标CPLD的固件升级时间,提升固件升级效率。
在第一方面的一种可能的实现方式中,第一指令中携带有目标单板的标识,目标单板为设置目标CPLD的单板,单板上设置有现场可能更换单元FRU,FRU中存储了目标CPLD的制造商标识;确定目标CPLD的目标固件升级文件,包括:从FRU中获取目标CPLD的目标制造商标识,并基于目标CPLD的目标制造商标识,从软件升级包中确定目标固件升级文件;其中,软件升级包中包括多个子软件包,每个子软件包包括包头和固件升级文件,每个包头中包括每个固件升级文件对应的CPLD的制造商标识。本申请提供的方法通过从FRU中获取目标CPLD的目标制造商标识,能够快速确定目标CPLD的目标固件升级文件,从而减少目标CPLD的固件升级时间,提升固件升级效率。
第二方面,本申请提供了一个固件升级装置,上述装置包括:接收单元,用于接收第一指令,第一指令用于指示升级目标复杂可编程逻辑器件CPLD的固件;确定单元,用于响应于第一指令,从软件升级包中确定目标CPLD的目标固件升级文件,软件升级包包括多个不同的固件升级文件,目标固件升级文件为多个不同的固件升级文件中的一个;发送单元,用于向目标CPLD发送目标固件升级文件,以使得目标CPLD基于目标固件升级文件完成固件升级。
在第二方面的一种可能的实现方式中,确定单元,具体用于响应于第一指令,获取目标CPLD的目标标识;根据目标标识确定目标CPLD的目标固件升级文件。
在第二方面的一种可能的实现方式中,确定单元,具体用于根据目标CPLD的目标标识,从第一预设关系表中确定目标CPLD的目标标识对应的目标制造商标识;基于目标制造商标识,从软件升级包中确定目标固件升级文件;其中,软件升级包中包括多个子软件包,每个子软件包包括包头和固件升级文件,每个包头中包括每个固件升级文件对应的制造商标识。
在第二方面的一种可能的实现方式中,第一指令中携带有目标CPLD的位置信息;确定单元具体用于:基于目标CPLD的位置信息,向目标CPLD发送获取目标标识的第二指令;接收目标CPLD响应于第二指令发送的目标标识。
在第二方面的一种可能的实现方式中,目标CPLD配置有联合测试工作组JTAG接口,JTAG接口用于目标CPLD接收第二指令,以及用于目标CPLD响应于第二指令发送目标标识。
在第二方面的一种可能的实现方式中,第一指令中携带有目标单板的标识,目标单板为设置目标CPLD的单板;确定单元,具体用于:根据目标单板的标识,从第二预设关系表中确定目标单板的标识对应的目标制造商标识;基于目标制造商标识,从软件升级包中确定目标固件升级文件;其中,软件升级包中包括多个子软件包,每个子软件包包括包头和固件升级文件,每个包头中包括每个固件升级文件对应的制造商标识。
在第二方面的一种可能的实现方式中,第一指令中携带有目标单板的标识,目标单板为设置目标CPLD的单板,目标单板上设置有现场可更换单元FRU,FRU中存储了目标CPLD的目标制造商标识;确定单元,具体用于:从FRU中获取目标CPLD的目标制造商标识,并基于目标CPLD的目标制造商标识,从软件升级包中确定目标固件升级文件;其中,软件升级包中包括多个子软件包,每个子软件包包括包头和固件升级文件,每个包头中包括每个固件升级文件对应的CPLD的制造商标识。
第三方面,提供了一种计算设备,包括:带外控制器和目标复杂可编程逻辑器件CPLD;带外控制器与CPLD连接;带外控制器,用于接收第一指令,响应于第一指令,从软件升级包中确定目标CPLD的目标固件升级文件;向目标CPLD发送目标固件升级文件;其中,第一指令用于指示升级目标CPLD的固件,软件升级包包括多个不同的固件升级文件,目标固件升级文件为多个不同的固件升级文件中的一个;目标CPLD,用于基于目标固件升级文件完成固件升级。
第四方面,提供了一种带外控制器,带外控制器连接有目标复杂可编程逻辑器件CPLD,带外控制器用于接收第一指令,响应于第一指令,从软件升级包中确定目标CPLD的目标固件升级文件;向目标CPLD发送目标固件升级文件,以使得目标CPLD基于目标固件升级文件完成固件升级;其中,第一指令用于指示升级目标CPLD的固件,软件升级包包括多个不同的固件升级文件,目标固件升级文件为多个不同的固件升级文件中的一个。
第五方面,提供了一种计算设备,包括:存储器、带外控制器和至少一个目标复杂可编程逻辑器件CPLD;带外控制器分别与存储器和目标CPLD连接;其中,存储器中存储有计算机程序代码,计算机程序代码包括计算机指令,当计算机指令被带外控制器执行时,计算设备执行上述第一方面或任一种可能的实现方式提供的任意一种方法,以实现目标CPLD的固件升级。
第六方面,提供了一种芯片,该芯片包括:处理器和接口电路;接口电路,用于接收代码指令并传输至处理器;处理器,用于运行代码指令以执行上述第一方面或任一种可能的实现方式提供的任意一种方法。
第七方面,提供了一种计算机可读存储介质,存储有计算机执行指令,当计算机执行指令在计算机上运行时,使得计算机执行上述第一方面或任一种可能的实现方式提供的任意一种方法。
第八方面,提供了一种计算机程序产品,包括计算机执行指令,当计算机执行指令在计算机上运行时,使得计算机执行上述第一方面或任一种可能的实现方式提供的任意一种方法。
其中,第二方面至第八方面中任一种设计方式所带来的技术效果可以参见第一方面或任一种可能的实现方式中不同实现方式所带来的技术效果,此处不再赘述。
附图说明
图1示出了本申请实施例提供的一种计算设备的结构示意图;
图2示出了本申请实施例提供的另一种计算设备的结构示意图;
图3示出了本申请实施例提供的又一种计算设备的结构示意图;
图4a示出了本申请实施例提供的一种固件升级方法的交互流程图;
图4b示出了本申请实施例提供的一种第一界面的示意图;
图4c示出了本申请实施例提供的另一种第一界面的示意图;
图4d示出了本申请实施例提供的又一种第一界面的示意图;
图5示出了本申请实施例提供的另一种固件升级方法的交互流程图;
图6示出了本申请实施例提供的又一种固件升级方法的交互流程图;
图7示出了本申请实施例提供的又一种固件升级方法的交互流程图;
图8示出了本申请实施例提供的又一种固件升级方法的交互流程图;
图9示出了本申请实施例提供的一种固件升级方法的流程示意图;
图10示出了本申请实施例提供的一种固件升级装置的结构方框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。其中,在本申请的描述中,除非另有说明,“多个”是指两个或多于两个。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。
另外,为了便于清楚描述本申请实施例的技术方案,在本申请的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。同时,在本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念,便于理解。
当前复杂可编程逻辑器件(comp lex programmab le logic device,CPLD)存在多个制造商,每个制造商所对应的固件升级文件不同,当CPLD需要升级时,由于计算设备难以确定待升级CPLD的制造商对应的固件升级文件,因此存在固件升级时间长,固件升级效率低的缺点。
并且,将多个制造商提供的固件升级文件依次发送给待升级CPLD的过程中,需要将多个制造商提供的固件升级文件缓存在内存中,在制造商数量较多的情况下,存在多个固件升级文件占用内存空间的问题,影响用户的使用体验。
鉴于此,本申请提供一种固件升级方法,应用于计算设备的带外控制器,计算设备还包括CPLD,上述方法包括:带外控制器通过响应于第一指令,确定出CPLD的制造商对应的固件升级文件,以使得CPLD基于制造商对应的固件升级文件完成固件升级。在本申请实施例提供的方法能够在未知CPLD的制造商的情况下,确定CPLD的制造商对应的固件升级文件,完成CPLD的固件升级,从而减少CPLD的固件升级时间,提升固件升级效率。
图1示出了本申请实施例提供的计算设备110的结构示意图。该计算设备110包括处理器210、存储器220、带外控制器230以及CPLD240。其中,处理器210分别与存储器220、带外控制器230以及CPLD240通信,带外控制器230与CPLD240通信。
处理器210可以包括一个或者多个处理核心。处理器210利用各种接口和线路连接计算设备110内的各个部件,通过运行或执行存储在存储器220内的指令、程序、代码集或指令集,以及调用存储在存储器220内的数据,执行计算设备110的各种功能。
可选地,处理器210可以采用数字信号处理(d igita l s igna l process ing,DSP)、现场可编程门阵列(fie ld-programmab le gate array,FPGA)、可编程逻辑阵列(programmab le logic array,PLA)中的至少一种硬件形式来实现。处理器210可集成中央处理器(Centra l Process ing Un it,CPU)、图像处理器(graph ics process ing unit,GPU)和调制解调器等中的一种或几种的组合。可以理解的是,上述调制解调器也可以不集成到处理器210中,单独通过一块通信芯片进行实现。
存储器220可以包括随机存储器(random access memory,RAM),也可以包括只读存储器(read-on ly memory,ROM)。可选地,该存储器220包括非瞬时性计算机可读介质(non-trans itory computer-readab le storage med ium,NCSM)。存储器220可用于存储指令、程序、代码、代码集或指令集。存储器220可包括存储程序区。其中,存储程序区可存储用于实现操作系统的指令、用于实现至少计算设备的一个功能的指令(比如固件升级功能、执行客户端的业务等),用于实现下述各个方法实施例的指令等。
带外控制器230可以根据接收到的指令操作码和时序信号,产生操作控制信号,完成获取指令和执行指令的操作。其中,带外控制器230,独立于计算设备的处理器210之外,可以通过计算设备的带外管理接口与处理器210进行通信,并且,可以通过专用的数据通道对计算设备进行远程维护和管理。示例性的,带外控制器230可以是计算机设备外部的监控管理单元、处理器外的管理芯片中的管理系统、基板管理控制器(baseboard managementcontro l ler,BMC)、系统管理模块(system management mode,SMM)中的一个。需要说明的,本申请实施例对带外控制器的具体形式并不限定,以上仅为示例性说明。
CPLD240是一种用户根据各自需要而自行构造逻辑功能的数字集成电路。其基本设计方法是借助集成开发软件平台,用原理图、硬件描述语言等方法,生成相应的固件,通过JTAG接口将固件文件传送到CPLD中,进而CPLD通过配置的固件实现设计的数字系统,从而使得CPLD能够实现不同的功能。
CPLD240可以包括一个或多个接口。其中,该接口可以包括联合测试工作组(jointtest act ion group,JTAG)接口。
其中,JTAG接口是一种用于集成电路内部测试的接口。通常,JTAG接口兼容国际标准测试协议电气和电子工程师协会(inst itute of e lectr ica l and e lectron icsengineers,I EEE)1149.1。通常JTAG接口由4线组成,4线分别为模式选择线、时钟线、数据输入线和数据输出线。
带外控制器230可以通过发送不同的控制信号控制与带外控制器230连接的器件。在一种示例中,带外控制器230可以通过CPLD240的JTAG接口与CPLD240连接,以实现对CPLD240的控制。
需要说明的是,该CPLD240的数量可以为多个。带外控制器230可以与图1所示的多个CPLD240连接,以实现对多个CPLD240的控制,进而实现对多个CPLD240的固件进行升级。此处对计算设备110中的CPLD240的数量不作特别限制。
可选的,参见图2,图1所示的计算设备110还可以包括主板250和背板260。主板250与背板260连接。其中,处理器210、存储器220、带外控制器230设置在主板250上,CPLD240可以设置在主板250和/或背板260上。带外控制器230通过总线与主板250上的CPLD240和/或背板260上的CPLD240连接;具体地,总线可以是串行通用输入/输出总线(Ser ia l general purpose input/output,SGPIO)或者是双相二线制同步串行总线(I nter-I ntegratedCi rcu it,I2C)。
主板250和背板260之间可以通过的连接器和线缆连接。
具体的,本申请实施例中的背板可以为硬盘背板或RISER卡等单板,也可以为用于实现计算设备其他功能的单板,本申请实施例对背板260的具体种类不作特别限制。
同时需要说明的是,本申请实施例对主板250和背板260上设置的CPLD数量不作特别限制,例如,可以在主板250上设置多个CPLD240,也可以只在主板250上设置一个CPLD240。
在一个示例中,为了满足计算设备同一个主板250或背板260上多个CPLD的兼容性,本申请实施例中设置在同一主板250和背板260上的多个CPLD240均为同一制造商制造的,以避免不同制造商制造的CPLD240设置在同一主板250或背板260上,导致出现无法兼容的问题,影响计算设备110的正常使用。
可选的,参见图3,图1所示的计算设备110还包括switch(开关)270。其中,switch270用于实现带外控制器230与CPLD240连接。switch270还用于实现固件加载座280与CPLD240的连接,也就是说,用户可以将固件加载座280与switch270连接,然后控制switch270使得CPLD240由与带外控制器230连接的状态切换为与固件加载座280连接的状态。这样一来,固件加载座280能够响应于用户输入的指令,在用户已知CPLD的制造商的情况下,直接向CPLD240发送CPLD240的制造商提供的固件升级文件,以使得CPLD240完成固件升级。其中,固件加载座280可以是一个连接器,用于传输CPLD的固件升级文件。
具体实现时,在物理实现上,上述各器件(如处理器210、存储器220、带外控制器230以及CPLD240)可以是同一个计算设备(如服务器)中的器件;或者,其中的至少两个器件可以设置在同一个计算设备中,即作为一个计算设备中的不同器件。
需要说明的是,不同计算设备对BMC有不同的称呼,例如,一些计算设备称为BMC,一些计算设备称为远程服务器管理工具(integrated l igths-out,iLO),另一计算设备称为集成远程访问控制器(integrated de l l remote access contro l ler,iDRAC)。不论是叫BMC,还是叫iLO或iDRAC,都可以理解为是本申请实施例中的BMC。
可以理解的是,本实施例示意的结构并不构成对计算设备110的具体限定。在本申请另一些实施例中,计算设备110可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
以下结合说明书附图,对本申请实施例提供的固件升级方法进行说明。
图4a为本申请实施例提供的一种固件升级方法的交互流程图,该方法可以由带外控制器执行。可选的,执行本申请提供的方法的带外控制器,可以为图1、图2或图3所示硬件结构的计算设备110中部署的带外控制器230。
在下述实施例中,以带外控制器230为BMC为例进行示例性说明,该方法可以包括以下步骤:
S401、BMC接收第一指令。
具体的,第一指令用于指示升级目标CPLD的固件,目标CPLD为计算设备110中的CPLD240,其中,第一指令中携带有目标CPLD的位置信息,该位置信息用于BMC识别目标CPLD,示例性的,该位置信息可以为目标CPLD所设置的单板(主板或背板),也可以为目标CPLD所在的主板或者背板上的具体的方位信息。
在一些实施例中,第一指令可以为用户在计算设备110显示的第一界面输入的。作为响应,BMC接收第一指令。
在一个示例中,参见图4b,图4b为本申请实施例示出的一种第一界面的示意图,该示意图中显示有主板a的平面图,主板a上设置有2个CPLD。并且,在主板a的平面图上设置CPLD对应的位置上分别显示有控件1和控件2,控件1被配置为响应于用户输入的选中操作,向BMC发送第一指令,该第一指令用于指示升级该控件1对应的CPLD的固件。控件2被配置为响应于用户输入的选中操作,向BMC发送第一指令,该第一指令用于指示升级该控件2对应的CPLD的固件。
应理解的是,第一界面上显示控件的数量与第一界面显示的单板上设置的CPLD的数量相同,且每个控件分别对应一个CPLD,以使得响应于用户对任一个控件的选中操作,向BMC发送升级该控件对应的CPLD的固件。
在另一个示例中,在计算设备中设置有多个单板的情况下,该第一界面中还包括单板切换控件,单板切换控件响应于用户的选中操作,切换显示不同的单板。具体的,当用户在图4c所示的第一界面中点击单板切换控件时,参见图4c,第一界面由显示主板a的平面图切换为背板b的平面图,并显示设置在背板b上的3个CPLD。每个CPLD分别对应一个控件(控件3、控件4和控件5),以使得用户能够对背板b上的任一个CPLD进行固件升级。
在另一些实施例中,第一指令也可以为用户在与计算设备110连接的其他计算设备上输入的,并在用户输入完成后由该其他计算设备发送给计算设备110的BMC。
当然,第一指令也可以通过其他方式输入,本申请实施例对用户输入第一指令的具体输入方式不作特别限制。
S402、响应于第一指令,BMC确定目标CPLD的目标固件升级文件。
具体的,不同的CPLD分别为不同的制造商所制造的,一个CPLD的固件升级只有采用自身对应的固件升级文件才能升级成功。CPLD对应的固件升级文件可以为该CPLD的制造商提供的固件升级文件。因此,目标固件升级文件为目标CPLD的制造商提供的固件升级文件。
在一些实施例中,上述S402中,BMC可以先获取目标CPLD的目标标识,然后根据该目标标识确定目标固件升级文件,具体实现可以参照下述图5示意的过程。
在又一些实施例中,在计算设备的同一单板上的CPLD的制造商相同的情况下,上述S402中,BMC也可以基于第一指令中携带的目标CPLD的位置信息,确定目标CPLD的目标固件升级文件,具体实现可以参照下述图8示意的过程。
在一个示例中,位置信息可以为设置目标单板的标识,目标单板为设置目标CPLD的单板。BMC根据目标单板的标识确定目标CPLD的目标固件升级文件,以使得目标CPLD基于目标固件升级文件完成固件升级。
可选的,可以将多个制造商的所有固件升级文件一起打包形成一个软件包,并将该软件包预先存储在BMC的存储器中,具体可以BMC的快闪存储器f l ash中,也可以预先存储在计算设备的存储介质中,例如内存硬盘等,BMC通过解析该软件包获得每个制造商对应的子软件包,子软件包包括:包头和固件升级文件,其中每个制造商对应子软件包的包头中包括与该制造商对应的标识信息(制造商标识),而每个子软件包中的固件升级文件则用于对每个包头中的制造商标识对应的CPLD进行升级。BMC基于目标CPLD对应的目标制造商标识(制造商的标识信息),在多个子软件包中确定出目标子软件包中的目标CPLD的目标固件升级文件,然后基于目标CPLD的位置信息,将目标固件升级文件发送给目标CPLD。其中,目标CPLD的位置信息可以为设置目标CPLD的单板标识,例如,背板b,然后BMC将目标CPLD的目标固件升级文件发送给设置在背板b上的目标CPLD,以使得目标CPLD接收到目标固件升级文件,完成固件升级。
S403、BMC向目标CPLD发送目标固件升级文件。
其中,BMC可以基于CPLD的JTAG接口向目标CPLD发送目标固件升级文件,也可以通过其他通信接口发送,例如,I2C接口、I3C接口等,本申请实施例对BMC向目标CPLD发送目标固件升级文件的具体实现方式不作特别限制。
S404、目标CPLD基于目标固件升级文件完成固件升级。
需要说明的是,不同制造商提供的固件升级文件不同,基于固件升级文件完成固件升级的方式也不同,本申请实施例对目标CPLD基于目标固件升级文件完成固件升级的具体实现方式不作特别限制。
由S401-S404可知,本申请提供的方法通过响应于升级目标CPLD的固件的第一指令,确定出目标CPLD的目标固件升级文件,以使得目标CPLD基于目标固件升级文件完成固件升级,相比较于相关技术中,计算设备向目标CPLD提供不同的多个固件升级文件,目标CPLD依次尝试使用不同的固件升级文件进行升级的方式,本申请提供的方法能够减少目标CPLD的固件升级时间,提升固件升级效率。在一些实施例中,结合图4a,参见图5,上述S402,具体包括以下步骤:
S501、响应于第一指令,BMC获取目标CPLD的目标标识。
具体的,目标CPLD的目标标识可以为目标CPLD配置的身份标识号码(ident itydocument,I D)信息。CPLD的I D信息用于唯一识别CPLD。
示例性的,CPLD的I D信息可以由CPLD的制造商预先配置,并存储在CPLD内部的存储器中。
可选的,目标CPLD的目标标识可以为数字、字母或字符中的一种或多种的组合,例如,目标CPLD1的目标标识可以为001,目标CPLD2的目标标识可以为002。本申请实施例对目标CPLD的目标标识的具体实现方式不作特别限制。
在一种可能的实现方式中,第一指令中携带有目标CPLD的位置信息;上述第一指令中携带有目标CPLD的目标标识,BMC可以基于CPLD的目标标识,确定目标固件升级文件。
示例性的,结合图4b,参见图4d,第一界面中还显示有每个CPLD的目标标识,两个CPLD的目标标识分别为CPLD1和CPLD2,当用户选中任一CPLD对应的控件的选择操作,向BMC发送第一指令,该第一指令用于指示BMC升级该CPLD的固件,且该第一指令中携带有该CPLD的目标标识。例如,当用户选中CPLD1对应的控件时,向BMC发送第一指令,该第一指令用于指示BMC升级CPLD1的固件,且该第一指令中携带有该CPLD的目标标识为“1”。BMC基于目标标识“1”确定CPLD1的目标固件升级文件。
结合图5,参见图6,上述S501,具体包括以下步骤S601和S602:
S601、响应于第一指令,BMC基于目标CPLD的位置信息向目标CPLD发送用于获取目标标识的第二指令。
具体的,BMC根据目标CPLD的位置信息确定目标CPLD,然后向目标CPLD发送第二指令。第二指令用于指示目标CPLD返回目标CPLD的目标标识,作为响应,目标CPLD在接收到第二指令时,向BMC发送目标CPLD的目标标识。
在一个示例中,计算设备包括多个单板(主板和/或背板),目标CPLD的位置信息可以包括设置目标CPLD的目标单板的标识,目标单板为上述多个单板中的一个。BMC根据目标单板的标识确定目标单板,然后向设置在目标单板上的目标CPLD发送第二指令。
可选的,第二指令可以基于getcode基础命令实现,目标CPLD在接收到BMC发送的getcode基础命令后,向BMC返回存储在目标CPLD内部的存储器中的目标标识。
S602、BMC接收目标CPLD响应于第二指令发送的目标标识。
示例性的,BMC响应于第一指令,BMC基于目标CPLD1的位置信息向目标CPLD1发送获取目标标识的第二指令,然后接收目标CPLD响应于第二指令发送的目标标识为001。
本申请实施例提供的方法通过基于目标CPLD的位置信息向目标CPLD发送指令,并接收来自目标CPLD的目标标识,能够使得计算设备基于目标标识确定目标CPLD的目标固件升级文件,从而减少目标CPLD的固件升级时间,提升固件升级效率。
可选的,目标CPLD配置有JTAG接口,上述S501,具体包括:响应于第一指令,BMC通过JTAG接口获取目标标识。
具体的,JTAG接口包括四根线,分别为用于模式选择、设置时钟、数据输入和数据输出。
在一个示例中,BMC基于JTAG接口中的数据输入线向目标CPLD发送第二指令,作为响应,目标CPLD通过JTAG接口中的数据输出线返回目标CPLD的目标标识。以使得BMC能够通过JTAG接口获取目标标识。
本申请实施例提供的方法通过JTAG接口获取CPLD的标识,能够实现CPLD的标识的快速获取,进而根据CPLD的标识确定CPLD的固件升级文件,从而提升CPLD的固件升级效率。
S502、BMC根据目标标识确定目标CPLD的目标固件升级文件。
具体的,每个CPLD均通过每个CPLD的制造商提供的固件升级文件进行固件升级,目标固件升级文件为目标CPLD的制造商提供的固件升级文件。BMC根据目标标识确定目标CPLD的制造商,然后根据目标CPLD的制造商确定目标CPLD的制造商对应的目标固件升级文件。
在一种可能的实现方式中,参见图7,上述S502,具体包括以下步骤:
S701、BMC根据目标CPLD的目标标识,从第一预设关系表中确定目标CPLD的目标标识对应的目标制造商标识。
具体的,第一预设关系表包括多个制造商标识以及多个制造商标识中每个制造商标识对应的CPLD的标识,目标制造商标识为多个制造商标识中的一个。
在一种可能的实现方式中,第一预设关系表可以预先存储在现场可更换单元(field rep l ace un it,FRU)FRU中,在BMC根据目标标识确定目标CPLD的目标制造商标识之前,BMC从现场可更换单元中获取第一预设关系表。现场可更换单元FRU设置于主板上,且与主板上的CPLD、CPU、BMC等部件均具有电连接关系。示例性的,参见表1,表1为本申请实施例提供的一种第一预设关系表的示意表,包括制造商标识A、制造商标识B和制造商标识C,以及每个制造商标识对应的CPLD的标识。
表1
CPLD标识 | 制造商标识 |
001 | A |
002 | B |
003 | C |
进一步的,结合表1,在目标CPLD的目标标识为002的情况下,目标CPLD的目标制造商标识为B,在目标CPLD的目标标识为003的情况下,目标CPLD的目标制造商标识为C。可理解,每个制造商标识对应一个该制造商的CPLD的固件升级文件。
S702、BMC基于目标制造商标识,从软件升级包中确定目标固件升级文件。
其中,软件升级包中包括多个子软件包,每个子软件包包括包头和固件升级文件,每个包头中包括每个固件升级文件对应的制造商标识。可理解,通过BMC解析出来的每个子软件包的包头中都包括其对应的制造商标识,BMC在确定目标CPLD的目标制造商标识后,即可将包头中的制造商标识与目标制造商标识相同的包头对应的固件升级文件确定为目标固件升级文件。
本申请实施例提供的方法基于第一预设关系表,能够根据获取到的目标CPLD的目标标识首先确定目标CPLD的目标制造商标识,然后根据目标制造商标识在软件升级包中确定目标CPLD的目标固件升级文件。这样一来,在计算设备中存在多个制造商提供的CPLD的情况下,能够快速基于目标标识确定目标CPLD的制造商对应的固件升级文件,从而减少目标CPLD的固件升级时间,提升固件升级效率。
为了满足计算设备同一单板上设置的多个CPLD的兼容性,设置在同一单板上的多个CPLD均为同一制造商制造的,以避免不同制造商制造的CPLD设置在同一单板上会出现无法兼容的问题,影响计算设备的正常使用。
在一些实施例中,在设置在同一单板上的多个CPLD均为同一制造商制造的场景下,第一指令中携带有目标单板的标识,目标单板为设置目标CPLD的单板;结合图4a,参见图8,上述S402具体包括以下步骤:
S801、BMC根据目标单板的标识,从第二预设关系表中确定目标单板的标识对应的目标制造商标识。
具体的,第二预设关系表包括多个单板的标识以及多个单板的标识中每个单板的标识对应的制造商标识,目标单板的标识为多个单板的标识中的一个,目标制造商标识为多个单板的标识中每个单板的标识对应的制造商标识中的一个。
示例性的,参见表2,表2为本申请实施例提供的一种第二预设关系表示意表,包括单板标识X、单板标识Y以及单板标识Z,以及单板标识X、单板标识Y以及单板标识Z对应的制造商标识。
表2
单板标识 | 制造商标识 |
X | A |
Y | B |
Z | C |
进一步的,结合表2,在目标CPLD的目标单板的标识为Z的情况下,基于第二预设关系表,BMC能够目标CPLD的目标制造商标识为C。
S802、BMC基于目标制造商标识,从软件升级包中确定目标固件升级文件。
应理解的是,BMC基于目标制造商标识,从软件升级包中确定目标固件升级文件的方式与上述S702的确定方式相同,此处不再赘述。
在一种可能的实现方式中,第二预设关系表可以预先存储在现场可更换单元中,在BMC根据目标标识确定目标CPLD的目标制造商标识之前,BMC从FRU中获取第二预设关系。第二预设关系表也可以存储于BMC或者主板上的存储器中,此处对第二预设关系表的存储位置不做特别限制。
在一种可能实现的方式中,每个单板上设置的现场可更换单元中只存储了设置在每个单板上的CPLD的制造商标识,BMC可以基于第一指令中携带的目标单板的标识,找到目标单板,并从目标单板上的FRU中获取设置在目标单板上的目标CPLD的目标制造商标识,基于目标制造商标识,确定目标CPLD的目标固件升级文件。
例如,单板X上设置的现场可更换单元中存储有设置在单板X上的CPLD1的制造商标识。单板Y上设置的现场可更换单元中存储有设置在单板X上的CPLD2的制造商标识。在第一指令中携带的目标单板标识为“X”的情况下,BMC可以基于该标识“X”找到对应的单板(即单板X),并从单板X上的FRU中读取到设置在单板X上的CPLD1的制造商标识“A”,最后BMC基于制造商标识“A”确定CPLD1的目标固件升级文件。应理解的是,由于多个子软件包的每一个包头中都包含了各自的制造商标识,因此,BMC可以基于该制造商标识“A”,确定目标子软件包中的目标固件升级文件,从而实现对“X”单板上的CPLD的固件升级。
本实施例的方法在指示升级目标CPLD的固件的指令中携带有目标单板的标识的情况下,基于第二预设关系表,首先能够根据设置目标CPLD的目标单板的标识确定目标CPLD的目标制造商标识,然后根据目标制造商标识确定,目标CPLD的目标固件升级文件。这样一来,在计算设备中存在多个制造商提供的CPLD的情况下,能够快速基于目标CPLD的目标标识确定目标固件升级文件,从而减少目标CPLD的固件升级时间,提升固件升级效率。
在一种可能的实现方式中,参见图9,在接收第一指令之前,本申请实施例的方法还包括以下步骤:
S901、BMC根据多个制造商标识以及多个制造商标识中每个制造商标识对应的CPLD的标识生成第一预设关系表。
S902、BMC根据多个单板的标识以及多个单板的标识中每个单板的标识对应的制造商标识生成第二预设关系表。
S903、BMC存储第一预设关系表和第二预设关系表。
在一个示例中,可以以数据表的形式将第一预设关系表和第二预设关系表存储在存储介质中。
本申请提供的方法通过预先生成并存储第一预设关系表和第二预设关系表,能够使得计算设备基于目标CPLD的目标标识或目标单板的单板标识快速确定目标CPLD的目标固件升级文件,以完成目标CPLD的固件升级,从而提升固件升级效率。
可选的,在获取到目标CPLD的目标固件升级文件的情况下,且目标CPLD通过开关与固件加载座连接,用户可以通过固件加载座将目标固件升级文件发送给目标CPLD,以使得目标CPLD基于目标固件升级文件完成固件升级。
本申请实施例提供的方法通过固件加载座直接实现目标CPLD的固件升级,能够提升固件升级效率。并且,本申请实施例提供的方法能够通过多种方式实现目标CPLD的固件升级,使得固件升级的方式更加灵活,从而能够提升用户的使用体验。
上述主要从方法的角度对本申请实施例的方案进行了介绍。可以理解的是,上述固件升级装置为了实现上述功能,其包含了执行各个功能相应的硬件结构和软件模块中的至少一个。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据上述方法示例对固件升级装置进行功能单元的划分,例如,可以对应各个功能划分各个功能单元,也可以将两个或两个以上的功能集成在一个处理单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。需要说明的是,本申请实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
示例性的,图10示出了本申请实施例提供的一种固件升级装置的结构框图。上述装置包括接收单元1010、确定单元1020和发送单元1030;接收单元1010,用于接收第一指令,第一指令用于指示升级目标复杂可编程逻辑器件CPLD的固件;确定单元1020,用于响应于第一指令,从软件升级包中确定目标CPLD的目标固件升级文件,软件升级包包括多个不同的固件升级文件,目标固件升级文件为多个不同的固件升级文件中的一个;发送单元1030,用于向目标CPLD发送目标固件升级文件,以使得目标CPLD基于目标固件升级文件完成固件升级。
可选的,确定单元1020,具体用于响应于第一指令,获取目标CPLD的目标标识;根据目标标识确定目标CPLD的目标固件升级文件。
可选的,确定单元1020,具体用于根据目标CPLD的目标标识,从第一预设关系表中确定目标CPLD的目标标识对应的目标制造商标识;基于目标制造商标识,从软件升级包中确定目标固件升级文件;其中,软件升级包中包括多个子软件包,每个子软件包包括包头和固件升级文件,每个包头中包括每个固件升级文件对应的制造商标识。
可选的,第一指令中携带有目标CPLD的位置信息;确定单元1020具体用于:基于目标CPLD的位置信息,向目标CPLD发送获取目标标识的第二指令;接收目标CPLD响应于第二指令发送的目标标识。
可选的,目标CPLD配置有联合测试工作组JTAG接口,JTAG接口用于目标CPLD接收第二指令,以及用于目标CPLD响应于第二指令发送目标标识。
可选的,第一指令中携带有目标单板的标识,目标单板为设置目标CPLD的单板;确定单元1020,具体用于:根据目标单板的标识,从第二预设关系表中确定目标单板的标识对应的目标制造商标识;基于目标制造商标识,从软件升级包中确定目标固件升级文件;其中,软件升级包中包括多个子软件包,每个子软件包包括包头和固件升级文件,每个包头中包括每个固件升级文件对应的制造商标识。
可选的,第一指令中携带有目标单板的标识,目标单板为设置目标CPLD的单板,目标单板上设置有现场可更换单元FRU,FRU中存储了目标CPLD的目标制造商标识;确定单元1020,具体用于:从FRU中获取目标CPLD的目标制造商标识,并基于目标CPLD的目标制造商标识,从软件升级包中确定目标固件升级文件;其中,软件升级包中包括多个子软件包,每个子软件包包括包头和固件升级文件,每个包头中包括每个固件升级文件对应的CPLD的制造商标识。
关于上述可选方式的具体描述可以参见前述的方法实施例,此处不再赘述。此外,上述提供的任一种固件升级装置的解释以及有益效果的描述均可参考上述对应的方法实施例,不再赘述。
本申请实施例还提供了一种带外控制器,带外控制器连接有目标复杂可编程逻辑器件CPLD,带外控制器用于接收第一指令,响应于第一指令,从软件升级包中确定目标CPLD的目标固件升级文件;向目标CPLD发送目标固件升级文件,以使得目标CPLD基于目标固件升级文件完成固件升级;其中,第一指令用于指示升级目标CPLD的固件,软件升级包包括多个不同的固件升级文件,目标固件升级文件为多个不同的固件升级文件中的一个。
本申请实施例还提供了一种计算设备,计算设备包括带外控制器和目标复杂可编程逻辑器件CPLD;带外控制器与CPLD连接;带外控制器,用于接收第一指令,响应于第一指令,从软件升级包中确定目标CPLD的目标固件升级文件;向目标CPLD发送目标固件升级文件;其中,第一指令用于指示升级目标CPLD的固件,软件升级包包括多个不同的固件升级文件,目标固件升级文件为多个不同的固件升级文件中的一个;目标CPLD,用于基于目标固件升级文件完成固件升级。
本申请实施例还提供了一种计算设备,包括:存储器、带外控制器和至少一个目标复杂可编程逻辑器件CPLD;带外控制器分别与存储器和目标CPLD连接;其中,存储器中存储有计算机程序代码,计算机程序代码包括计算机指令,当计算机指令被带外控制器执行时,计算设备执行上述第一方面或任一种可能的实现方式提供的任意一种方法,以实现目标CPLD的固件升级。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有至少一条计算机指令,该至少一条计算机指令由处理器加载并执行以实现如上各个实施例的固件升级方法。关于上述提供的任一种计算机可读存储介质中相关内容的解释及有益效果的描述,均可以参考上述对应的实施例,此处不再赘述。
本申请实施例还提供了一种芯片。该芯片中集成了用于实现上述固件升级装置的功能的控制电路和一个或者多个端口。可选的,该芯片支持的功能可以参考上文,此处不再赘述。本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可通过程序来指令相关的硬件完成。的程序可以存储于一种计算机可读存储介质中。上述提到的存储介质可以是只读存储器,随机接入存储器等。上述处理单元或处理器可以是中央处理器,通用处理器、特定电路结构(app l icat ion specific integrated ci rcu it,ASIC)、微处理器(digita l s igna l processor,DSP),现场可编程门阵列(fie ld programmab le gatearray,FPGA)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。
本申请实施例还提供了一种包含指令的计算机程序产品,当该指令在计算机上运行时,使得计算机执行上述实施例中的任意一种方法。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或者数据中心通过有线(例如同轴电缆、光纤、数字用户线(d igita l subscr iber l ine,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可以用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质(例如,软盘、硬盘、磁带),光介质(例如,DVD),或者半导体介质(例如SSD)等。
应注意,本申请实施例提供的上述用于存储计算机指令或者计算机程序的器件,例如但不限于,上述存储器、计算机可读存储介质和通信芯片等,均具有非易失性(non-trans itory)。本领域技术人员应该可以意识到,在上述一个或多个示例中,本申请实施例所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读存储介质中或者作为计算机可读存储介质上的一个或多个指令或代码进行传输。计算机可读存储介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (9)
1.一种固件升级方法,其特征在于,所述方法包括:
接收第一指令,所述第一指令用于指示升级目标复杂可编程逻辑器件CPLD的固件;
响应于所述第一指令,从软件升级包中确定所述目标CPLD的目标固件升级文件,所述软件升级包包括多个不同的固件升级文件,所述目标固件升级文件为所述多个不同的固件升级文件中的一个;
向所述目标CPLD发送所述目标固件升级文件,以使得所述目标CPLD基于所述目标固件升级文件完成固件升级。
2.根据权利要求1所述的方法,其特征在于,所述响应于所述第一指令,确定所述目标CPLD的目标固件升级文件,包括:
响应于所述第一指令,获取所述目标CPLD的目标标识;
根据所述目标标识确定所述目标CPLD的目标固件升级文件。
3.根据权利要求2所述的方法,其特征在于,所述根据所述目标标识确定所述目标CPLD的目标固件升级文件,包括:
根据所述目标CPLD的目标标识,从第一预设关系表中确定所述目标CPLD的目标标识对应的目标制造商标识;
基于所述目标制造商标识,从所述软件升级包中确定所述目标固件升级文件;其中,所述软件升级包中包括多个子软件包,每个子软件包包括包头和固件升级文件,每个所述包头中包括每个所述固件升级文件对应的制造商标识。
4.根据权利要求2或3所述的方法,其特征在于,所述第一指令中携带有所述目标CPLD的位置信息;所述获取所述目标CPLD的目标标识,包括:
基于所述目标CPLD的位置信息,向所述目标CPLD发送获取所述目标标识的第二指令;
接收所述目标CPLD响应于所述第二指令发送的所述目标标识。
5.根据权利要求1所述的方法,其特征在于,所述第一指令中携带有目标单板的标识,所述目标单板为设置所述目标CPLD的单板;所述确定所述目标CPLD的目标固件升级文件,包括:
根据所述目标单板的标识,从第二预设关系表中确定所述目标单板的标识对应的目标制造商标识;
基于所述目标制造商标识,从所述软件升级包中确定所述目标固件升级文件;其中,所述软件升级包中包括多个子软件包,每个子软件包包括包头和固件升级文件,每个所述包头中包括每个所述固件升级文件对应的制造商标识。
6.根据权利要求1所述的方法,其特征在于,所述第一指令中携带有目标单板的标识,所述目标单板为设置所述目标CPLD的单板,所述目标单板上设置有现场可更换单元FRU,所述FRU中存储了所述目标CPLD的目标制造商标识;所述确定所述目标CPLD的目标固件升级文件,包括:
从所述FRU中获取所述目标CPLD的目标制造商标识,并基于所述目标CPLD的目标制造商标识,从所述软件升级包中确定所述目标固件升级文件;其中,所述软件升级包中包括多个子软件包,每个子软件包包括包头和固件升级文件,每个所述包头中包括每个所述固件升级文件对应的CPLD的制造商标识。
7.一种带外控制器,其特征在于,所述带外控制器连接有目标复杂可编程逻辑器件CPLD,所述带外控制器用于接收第一指令,响应于所述第一指令,从软件升级包中确定所述目标CPLD的目标固件升级文件;向所述目标CPLD发送所述目标固件升级文件,以使得所述目标CPLD基于所述目标固件升级文件完成固件升级;
其中,所述第一指令用于指示升级所述目标CPLD的固件,所述软件升级包包括多个不同的固件升级文件,所述目标固件升级文件为所述多个不同的固件升级文件中的一个。
8.一种计算设备,其特征在于,包括:带外控制器和目标复杂可编程逻辑器件CPLD;所述带外控制器与所述CPLD连接;
所述带外控制器,用于接收第一指令,响应于所述第一指令,从软件升级包中确定所述目标CPLD的目标固件升级文件;向所述目标CPLD发送所述目标固件升级文件;其中,所述第一指令用于指示升级所述目标CPLD的固件,所述软件升级包包括多个不同的固件升级文件,所述目标固件升级文件为所述多个不同的固件升级文件中的一个;
所述目标CPLD,用于基于所述目标固件升级文件完成固件升级。
9.一种计算设备,其特征在于,包括:存储器、带外控制器和目标复杂可编程逻辑器件CPLD;所述带外控制器分别与所述存储器和所述目标CPLD连接;其中,所述存储器中存储有计算机程序代码,所述计算机程序代码包括计算机指令,当所述计算机指令被所述带外控制器执行时,所述计算设备执行如权利要求1-6中任一项所述的方法,以实现所述目标CPLD的固件升级。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310234480.7A CN116301984A (zh) | 2023-03-10 | 2023-03-10 | 固件升级方法、带外控制器和计算设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310234480.7A CN116301984A (zh) | 2023-03-10 | 2023-03-10 | 固件升级方法、带外控制器和计算设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116301984A true CN116301984A (zh) | 2023-06-23 |
Family
ID=86784653
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310234480.7A Pending CN116301984A (zh) | 2023-03-10 | 2023-03-10 | 固件升级方法、带外控制器和计算设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116301984A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116578322A (zh) * | 2023-07-13 | 2023-08-11 | 北京大禹智芯科技有限公司 | 一种cpld芯片固件升级方法 |
CN117111979A (zh) * | 2023-08-14 | 2023-11-24 | 江苏舒茨测控设备股份有限公司 | Mcu程序更新方法、系统、设备及存储介质 |
-
2023
- 2023-03-10 CN CN202310234480.7A patent/CN116301984A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116578322A (zh) * | 2023-07-13 | 2023-08-11 | 北京大禹智芯科技有限公司 | 一种cpld芯片固件升级方法 |
CN117111979A (zh) * | 2023-08-14 | 2023-11-24 | 江苏舒茨测控设备股份有限公司 | Mcu程序更新方法、系统、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN116301984A (zh) | 固件升级方法、带外控制器和计算设备 | |
EP1876458B1 (en) | Diagnosis program, switching program, test device, and diagnosis method | |
US11748218B2 (en) | Methods, electronic devices, storage systems, and computer program products for error detection | |
JP2014532862A (ja) | 構成可能なインターフェースを有する試験機器 | |
EP0887739B1 (en) | Detection of SCSI devices at illegal locations | |
CN111289922A (zh) | 线缆插接检测方法及相关设备 | |
CN110347539B (zh) | 应用于服务器的测试方法、装置、系统、计算设备、介质 | |
CN114338493A (zh) | 基于网络协议栈的ncsi测试方法、系统、装置及存储介质 | |
CN117978811B (zh) | 映射关系的确定方法及系统、存储介质及电子装置 | |
CN116032746B (zh) | 资源池的信息处理方法及装置、存储介质及电子装置 | |
CN115496018A (zh) | 一种SoC芯片多版本验证方法、装置及设备 | |
KR102353517B1 (ko) | 유도 인터럽트를 통해 테스트 흐름을 제어함으로써 무선 주파수 트랜시버를 테스트하는 시스템 및 방법 | |
US11157378B2 (en) | Method, device, data storage system, and computer product for error injection | |
CN109428778B (zh) | 主板网络连通性测试方法及装置 | |
CN109660386B (zh) | 一种半导体存储器老化测试系统软件升级方法 | |
CN108259895A (zh) | 机顶盒测试方法、系统及终端设备 | |
CN115361327B (zh) | 一种自动化测试网卡ncsi命令的方法、装置、终端及介质 | |
CN111147400B (zh) | 一种命令行配置同步的方法、装置及电子设备 | |
CN115454896A (zh) | 基于smbus的ssd mctp控制消息验证方法、装置、计算机设备及存储介质 | |
US11093301B2 (en) | Input output adapter error recovery concurrent diagnostics | |
CN113746694A (zh) | 自动测试智能网卡pxe功能稳定性的方法、装置及存储介质 | |
CN113472611A (zh) | 获取WiFi信号强度的方法、装置及可读存储介质 | |
CN115033466B (zh) | 批量刷机压力测试方法及装置、存储介质、计算机设备 | |
CN114640403B (zh) | eSIM终端的测试方法、装置、终端及存储介质 | |
CN116208495B (zh) | 一种网络性能的调优方法、bmc及服务器 |
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 |