CN115408012A - 一种自动烧录电源管理芯片固件的方法及装置 - Google Patents
一种自动烧录电源管理芯片固件的方法及装置 Download PDFInfo
- Publication number
- CN115408012A CN115408012A CN202210907833.0A CN202210907833A CN115408012A CN 115408012 A CN115408012 A CN 115408012A CN 202210907833 A CN202210907833 A CN 202210907833A CN 115408012 A CN115408012 A CN 115408012A
- Authority
- CN
- China
- Prior art keywords
- firmware
- burning
- power management
- management chip
- 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
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/61—Installation
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
本申请实施例公开了一种自动烧录电源管理芯片固件的方法及装置,可实现快速灵活的电源管理芯片固件版本更换以及增加了集中生产管理的便捷性。本申请包括:检测是否已进入UBOOT运行状态;若已进入UBOOT运行状态,则获取至少一个电源管理芯片的状态信息,所述状态信息包括芯片型号以及芯片地址;根据所述状态信息中的芯片地址获取对应所述至少一个电源管理芯片的固件文件,所述固件文件中包含固件烧录程序;按照所述芯片型号的排列顺序依次运行所述至少一个电源管理芯片的固件烧录程序进行固件烧录,并生成第一固件烧录结果;根据第一固件烧录结果判断是否烧录成功,若是,则根据第一固件烧录结果点亮对应的状态指示灯,并向上位机发送第一固件烧录结果。
Description
技术领域
本申请实施例涉及电源管理芯片领域,特别涉及一种自动烧录电源管理芯片固件的方法及装置。
背景技术
在服务器主板设计中,电源管理芯片是中央处理器(Central Processing Unit,CPU)等器件电源的重要控制芯片,一般主板设计会有多个电源管理芯片,因此在主板生产过程中,如何减少主板芯片的固件烧录所需时间,是提高主板生产效率的一个重要因素。
目前,很多服务器主板厂商的固件烧录方案都是在基板管理控制器(BaseboardManagement Controller,BMC)系统加入主板电源管理芯片烧录程序,将电源管理芯片固件包入BMC固件中。
但是,这种方法依赖BMC系统的启动,需要等待BMC完全启动的时间,且不能灵活的更换电源管理芯片的固件版本,针对不同的电源管理方案不能实现快速切换固件生产,大批量生产时没办法进行集中管理。
发明内容
本申请提供了一种自动烧录电源管理芯片固件的方法及装置,不仅可实现快速烧录,还可实现快速灵活的电源管理芯片固件方案版本更换;同时,也增加了现场生产测试和集中生产管理的便捷性。
本申请实施例第一方面提供了一种自动烧录电源管理芯片固件的方法,包括:
检测是否已进入UBOOT运行状态;
若已进入UBOOT运行状态,则获取至少一个电源管理芯片的状态信息,所述状态信息包括芯片型号以及芯片地址;
根据所述状态信息中的芯片地址获取对应所述至少一个电源管理芯片的固件文件,所述固件文件中包含固件烧录程序;
按照所述芯片型号的排列顺序依次运行所述至少一个电源管理芯片的固件烧录程序进行固件烧录,并生成第一固件烧录结果;
根据所述第一固件烧录结果判断是否烧录成功,若是,则根据所述第一固件烧录结果点亮对应的状态指示灯,并向上位机发送所述第一固件烧录结果。
可选的,在所述获取至少一个电源管理芯片的状态信息之前,所述方法还包括:
从复杂型可编程逻辑器件(Complex Programmable Logic Device,CPLD)中获取当前主板型号信息;
根据所述当前主板型号信息从上位机的存储数据库中调取对应的电源管理芯片信息表,所述电源管理芯片信息表包含至少一个电源管理芯片的状态信息;
所述获取至少一个电源管理芯片的状态信息,包括:
从所述电源管理芯片信息表中获取至少一个电源管理芯片的状态信息。
可选的,所述状态信息还包括芯片固件的烧录记录,在所述根据所述状态信息中的芯片地址获取对应所述至少一个电源管理芯片的固件文件,所述固件文件中包含固件烧录程序之前,所述方法还包括:
根据所述状态信息中的烧录记录判断所述至少一个电源管理芯片中是否存在未烧录的电源管理芯片,若否,则向上位机发送第二固件烧录结果,并根据所述第二固件烧录结果点亮对应的状态指示灯。
可选的,所述状态信息还包括芯片固件的烧录次数,在所述根据所述第一固件烧录结果判断是否烧录成功之后,所述方法还包括:
若否,则根据所述状态信息中的烧录次数判断所述至少一个电源管理芯片是否达到最大烧录限制次数,若否,则重新运行烧录失败的电源管理芯片的固件烧录程序进行固件烧录,并根据烧录结果执行相对应的操作;
若是,则记录所述至少一个电源管理芯片的烧录失败原因,并生成第三固件烧录结果;
将所述第三固件烧录结果发送上位机,并根据所述第三固件烧录结果点亮对应的状态指示灯。
可选的,在所述根据所述第一固件烧录结果点亮对应的状态指示灯,并向上位机发送所述第一固件烧录结果之后,所述方法还包括:
通过平台控制单元(Platform Controller Hub,PCH)对所述至少一个电源管理芯片进行实时监控。
可选的,在所述根据所述第一固件烧录结果点亮对应的状态指示灯,并向上位机发送所述第一固件烧录结果之后,所述方法还包括:
根据所述第一固件烧录结果更新所述上位机中存储的电源管理芯片信息表。
本申请实施例第二方面提供了一种自动烧录电源管理芯片固件的装置,包括:
检测单元,用于检测是否已进入UBOOT运行状态;
第一获取单元,用于若已进入UBOOT运行状态,则获取至少一个电源管理芯片的状态信息,所述状态信息包括芯片型号以及芯片地址;
第二获取单元,用于根据所述状态信息中的芯片地址获取对应所述至少一个电源管理芯片的固件文件,所述固件文件中包含固件烧录程序;
第一烧录单元,用于按照所述芯片型号的排列顺序依次运行所述至少一个电源管理芯片的固件烧录程序进行固件烧录,并生成第一固件烧录结果;
第一判断单元,用于根据所述第一固件烧录结果判断是否烧录成功;
第一点亮单元,用于若是,则根据所述第一固件烧录结果点亮对应的状态指示灯;
第一发送单元,用于向上位机发送所述第一固件烧录结果。
可选的,在所述第一获取单元之前,所述装置还包括:
第三获取单元,用于从复杂型可编程逻辑器件(Complex Programmable LogicDevice,CPLD)中获取当前主板型号信息;
调取单元,用于根据所述当前主板型号信息从上位机的存储数据库中调取对应的电源管理芯片信息表,所述电源管理芯片信息表包含至少一个电源管理芯片的状态信息;
所述第一获取单元,包括:
获取模块,用于从所述电源管理芯片信息表中获取至少一个电源管理芯片的状态信息。
可选的,所述状态信息还包括芯片固件的烧录记录,在所述第二获取单元之前,所述装置还包括:
第二判断单元,用于根据所述状态信息中的烧录记录判断所述至少一个电源管理芯片中是否存在未烧录的电源管理芯片;
第二发送单元,用于若否,则向上位机发送第二固件烧录结果;
第二点亮单元,用于根据所述第二固件烧录结果点亮对应的状态指示灯。
可选的,所述状态信息还包括芯片固件的烧录次数,在所述第一判断单元之后,所述装置还包括:
第三判断单元,用于若否,则根据所述状态信息中的烧录次数判断所述至少一个电源管理芯片是否达到最大烧录限制次数;
第二烧录单元,用于若否,则重新运行烧录失败的电源管理芯片的固件烧录程序进行固件烧录;
第三点亮单元,用于根据烧录结果执行相对应的操作;
记录单元,用于若是,则记录所述至少一个电源管理芯片的烧录失败原因,并生成第三固件烧录结果;
第三发送单元,用于将所述第三固件烧录结果发送上位机;
第四点亮单元,用于根据所述第三固件烧录结果点亮对应的状态指示灯。
本申请实施例第三方面提供了一种自动烧录电源管理芯片固件的装置,包括:
处理器、存储器、输入输出单元以及总线;
所述处理器与所述存储器、输入输出单元以及总线相连;
所述处理器执行如下操作:
检测是否已进入UBOOT运行状态;
若已进入UBOOT运行状态,则获取至少一个电源管理芯片的状态信息,所述状态信息包括芯片型号以及芯片地址;
根据所述状态信息中的芯片地址获取对应所述至少一个电源管理芯片的固件文件,所述固件文件中包含固件烧录程序;
按照所述芯片型号的排列顺序依次运行所述至少一个电源管理芯片的固件烧录程序进行固件烧录,并生成第一固件烧录结果;
根据所述第一固件烧录结果判断是否烧录成功,若是,则根据所述第一固件烧录结果点亮对应的状态指示灯,并向上位机发送所述第一固件烧录结果。
本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上保存有程序,所述程序在计算机上执行时执行上述第一方面任意一种自动烧录电源管理芯片固件的方法。
以上技术方案可以看出,本申请实施例具有以下优点:
本申请中,设计一种自动烧录电源管理芯片固件的方法,在进入UBOOT运行阶段就获取至少一个电源管理芯片的状态信息,并根据该状态信息获取对应包含固件烧录程序的固件文件,进行电源管理芯片的固件烧录程序,该方法不仅可实现快速烧录,还可实现快速灵活的电源管理芯片固件方案版本更换;此外,将固件烧录结果以本地状态指示灯显示,及上报上位机的方式,也增加了现场生产测试和集中生产管理的便捷性。
附图说明
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整的阐述,显然阐述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应当属于本申请保护范围。
需要说明的是,在本申请中,术语“上”、“下”、“左”、“右”、“前”、“后”、“顶”、“底”、“内”、“外”、“中”、“竖直”、“水平”、“横向”、“纵向”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅用于说明各部件或组成部分之间的相对位置关系,并不特别限定各部件或组成部分的具体安装方位。
并且,上述部分术语除了可以用于表示方位或位置关系以外,还可能用于表示其他含义,例如术语“上”在某些情况下也可能用于表示某种依附关系或连接关系。对于本领域普通技术人员而言,可以根据具体情况理解这些术语在本申请中的具体含义。
此外,术语“安装”、“设置”、“设有”、“连接”、“相连”应做广义理解。例如,可以是固定连接,可拆卸连接,或整体式构造;可以是机械连接,或电连接;可以是直接相连,或者是通过中间媒介间接相连,又或者是两个装置、元件或组成部分之间内部的连通。对于本领域普通技术人员而言,可以根据具体情况理解上述术语在本申请中的具体含义。
此外,在本申请中所附图式所绘制的结构、比例、大小等,均仅用于配合说明书所揭示的内容,以供本领域技术人员了解与阅读,并非用于限定本申请可实施的限定条件,故不具有技术上的实质意义,任何结构的修饰、比例关系的改变或大小的调整,在不影响本申请所能产生的功效及所能达成的目的下,均仍应落在本申请所揭示的技术内容涵盖的范围内。
图1为本申请实施例中自动烧录电源管理芯片固件的方法一个流程示意图;
图2为本申请实施例中自动烧录电源管理芯片固件的方法另一流程示意图;
图3为本申请实施例中自动烧录电源管理芯片固件的装置一个流程示意图;
图4为本申请实施例中自动烧录电源管理芯片固件的装置另一流程示意图;
图5为本申请实施例中自动烧录电源管理芯片固件的装置另一流程示意图;
图6为本申请实施例中自动烧录电源管理芯片固件的装置一个系统架构图。
具体实施方式
本申请实施例提供了一种自动烧录电源管理芯片固件的方法及装置,不仅可实现快速烧录,还可实现快速灵活的电源管理芯片固件方案版本更换;同时,也增加了现场生产测试和集中生产管理的便捷性。
需要说明的是,本申请中关于自动烧录电源管理芯片固件的方法的执行主体可以是服务器,可以是系统,也可以是装置,下面将以BMC(基板管理控制器)作为执行主体进行阐述说明。此外,关于自动烧录电源管理芯片固件的方法及装置所描述的各个部位之间的位置关系皆是以图6为依据,图6中,电源管理芯片位于BMC(基板管理控制器)的右边,上位机位于BMC(基板管理控制器)的下边。
还需要说明的是,固件(firmware)一般存储于设备中的电可擦除只读存储器EEPROM(Electrically Erasable Programmable ROM)或FLASH芯片中,一般可由用户通过特定的刷新程序进行升级的程序。一般来说,担任着一个数码产品最基础、最底层工作的软件才可以称之为固件,比如计算机主板上的基本输入/输出系统BIOS(Basic Input/outputSystem),在以前其实更多的专业人士叫它固件。
通俗说,固件其实就是放在存储介质上的数据,当嵌入式板子启动时,能够从特定的位置找到这些文件,使得板子能够跑起来,这些文件就是固件。嵌入式板子上电后,会去特定的位置寻找UBOOT,UBOOT初始化内存,初始化串口,设置linux启动参数以后,会将内核从flash中加载到内存,然后内核会去挂载根文件系统并启动init。
而烧录的意思是将一些嵌入式启动所必须的硬件下载到嵌入式的储存设备中,这可能是Nor Flash,有可能是Nor Flash,也有可能是SD卡。当这些固件烧录到储存器中,板子下次启动的时候,直接从这些储存器中找到这些文件,嵌入式系统就能够直接跑起来。
请参阅图1和图6,本申请实施例提供了一种自动烧录电源管理芯片固件的方法,包括:
101、检测是否已进入UBOOT运行状态;
本申请实施例中,UBOOT就是BootLoader,全称是Universal Boot Loader,UBOOT是通用的嵌入式系统引导程序,其可以支持包含arm在内的多种处理器架构,如mips、riscv、powerpc以及x86等。Linux系统要启动就必须需要一个BootLoader程序,也就说芯片上电以后先运行一段BootLoader程序,这段BootLoader程序会先初始化DDR等外设,然后将Linux内核从flash(NAND,NOR FLASH,SD,MMC等)拷贝到DDR中,最后启动Linux内核。
需要说明的是,linux启动和烧录的区别:linux启动是指linux以哪种方式启动,如从Nor Flash中启动,从inand中启动,从SD卡启动等,可以理解为从哪个地方启动表明UBOOT放在哪个存储器中。这个是启动而已,但是并不代表启动就一定能够成功,有可能启动到UBOOT阶段,发现kernel被破坏了,系统起不起来,这个时候就需要重现烧录系统;而烧录是指将这些固件下载到嵌入式的存储器中。这是两个概念。但是在linux启动UBOOT后,我们可以通过UBOOT的命令来烧录系统。
本申请实施例中,在对电源管理芯片固件进行烧录之前,要先确认BMC是否已启动进入UBOOT运行阶段,如果当前已处于UBOOT运行阶段,此时可以执行下述烧录步骤。
102、若已进入UBOOT运行状态,则获取至少一个电源管理芯片的状态信息,所述状态信息包括芯片型号以及芯片地址;
需要说明的是,本申请实施例中,如图6所示,设置有多块电源管理芯片,保存在上位机中,BMC通过CH_CTL信号控制SW(切换芯片)选通CH2至CH3,与电源管理芯片连接,通过I2C总线获取所有在位的电源管理芯片的状态信息,该状态信息包括但不限于芯片地址是否侦测到,芯片型号信息,芯片固件是否以已经烧录,芯片固件烧录次数是否以达限制次数。
103、根据所述状态信息中的芯片地址获取对应所述至少一个电源管理芯片的固件文件,所述固件文件中包含固件烧录程序;
本申请实施例中,事先存储有固件烧录程序,BMC通过电源管理芯片的状态信息确认是否需要烧录,如果需要,那么BMC需要先运行固件烧录程序,此时BMC启动TFTP服务,通过LAN向上位机请求获取对应主板电源管理芯片型号及芯片地址的固件文件,该固件文件中包含有固件烧录程序。
104、按照所述芯片型号的排列顺序依次运行所述至少一个电源管理芯片的固件烧录程序进行固件烧录,并生成第一固件烧录结果;
本申请实施例中,获取到电源管理芯片的芯片型号以及芯片地址的固件文件之后,BMC运行电源管理芯片对应的固件烧录程序按指定芯片顺序进行固件烧录,即将文件(固件/数据)写到存储介质(Nand Flash,Nor Flash等)上。
需要说明的是,芯片烧写时,需要保证烧写和标记的同步,即实际操作中应做到烧写一片,标记一片。
105、根据所述第一固件烧录结果判断是否烧录成功;
需要说明的是,本申请实施例中,烧录程序结束后,BMC根据所有电源管理芯片的烧录结果生成第一固件烧录结果,该第一固件烧录结果中包括但不限于烧录是否成功,烧录失败原因,烧录剩余次数,烧录的执行时间等。
BMC检查固件烧录结果,判断是否烧录成功,若是,则执行步骤106。
106、根据所述第一固件烧录结果点亮对应的状态指示灯,并向上位机发送所述第一固件烧录结果。
需要说明的是,本申请实施例中,BMC根据第一固件烧录结果,点亮状态状态指示灯,所有芯片烧录成功点亮绿色指示灯,1个或多个芯片烧录失败则点亮红色指示灯。此外,BMC还要将所有电源管理芯片的烧录结果,包括失败原因,烧录剩余次数,执行时间等生成烧录报告文件通过TFTP上报给上位机,以使得上位机管理程序根据该烧录报告文件执行相应的操作,比如返回判断是否进入主板生产下一阶段、重新执行固件烧录流程或者将新的电源芯片控制方案固件替换原存储目录中的固件。
本申请实施例中,设计一种自动烧录电源管理芯片固件的方法,在进入UBOOT运行阶段就获取至少一个电源管理芯片的状态信息,并根据该状态信息获取对应包含固件烧录程序的固件文件,进行电源管理芯片的固件烧录程序,该方法不仅可实现快速烧录,还可实现快速灵活的电源管理芯片固件方案版本更换;此外,将固件烧录结果以本地状态指示灯显示,及上报上位机的方式,也增加了现场生产测试和集中生产管理的便捷性。
上面对自动烧录电源管理芯片固件的方法进行了一个大概的说明,下面将对自动烧录电源管理芯片固件的方法进行一个详细的介绍。
请参阅图1和图6,本申请实施例中自动烧录电源管理芯片固件的方法另一实施例包括:
201、检测是否已进入UBOOT运行状态;
本申请实施例中,在对电源管理芯片固件进行烧录之前,要先确认BMC是否已启动进入UBOOT运行阶段,如果当前已处于UBOOT运行阶段,此时可以执行下述烧录步骤。
202、从CPLD中获取当前主板型号信息;
需要说明的是,CPLD(Complex Programmable Logic Device)复杂可编程逻辑器件,是从PAL和GAL器件发展出来的器件,相对而言规模大,结构复杂,属于大规模集成电路范围,是一种用户根据各自需要而自行构造逻辑功能的数字集成电路,其基本设计方法是借助集成开发软件平台,用原理图、硬件描述语言等方法,生成相应的目标文件,通过下载电缆(“在系统”编程)将代码传送到目标芯片中,实现设计的数字系统。
本申请实施例中,如图6所示,BMC通过SGPIO/I2C总线从CPLD中获取当前主板型号信息。
203、根据所述当前主板型号信息从上位机的存储数据库中调取对应的电源管理芯片信息表,所述电源管理芯片信息表包含至少一个电源管理芯片的状态信息;
需要说明的是,本申请实施例中,上位机事先创建有一张电源管理芯片信息表,该电源管理芯片信息表包含有所有电源管理芯片的状态信息,当BMC从CPLD中获取当前主板型号信息之后,再根据所述当前主板型号信息从上位机的存储数据库中调取对应的电源管理芯片信息表,以获取所有电源管理芯片的状态信息。
204、若已进入UBOOT运行状态,则从所述电源管理芯片信息表中获取至少一个电源管理芯片的状态信息,所述状态信息包括芯片型号以及芯片地址;
需要说明的是,本申请实施例中,如图6所示,设置有多块电源管理芯片,保存在上位机中,BMC通过CH_CTL信号控制SW(切换芯片)选通CH2至CH3,与电源管理芯片连接,通过I2C总线从电源管理芯片信息表中获取所有在位的电源管理芯片的状态信息,该状态信息包括但不限于芯片地址是否侦测到,芯片型号信息,芯片固件是否以已经烧录,芯片固件烧录次数是否以达限制次数。
205、所述状态信息还包括芯片固件的烧录记录,根据所述状态信息中的烧录记录判断所述至少一个电源管理芯片中是否存在未烧录的电源管理芯片,若是,则执行步骤207;若否,则执行步骤206;
本申请实施例中,每一次烧录结束后,BMC都会收集相关数据信息进行存储和更新,为了确认这些电源管理芯片是否是新的未烧录的芯片或者上一次烧录失败的芯片,需要调取状态信息中的烧录记录,BMC根据烧录记录确认这些电源管理芯片是否需要烧录,如果需要,那么执行步骤207;如果不需要,则执行步骤206。
206、向上位机发送第二固件烧录结果,并根据所述第二固件烧录结果点亮对应的状态指示灯,然后直接执行步骤215;
需要说明的是,本申请实施例中,如果电源管理芯片信息表中没有在位的电源管理芯片,则无需进行烧录步骤,此时BMC生成第二固件烧录结果,并向上位机发送该第二固件烧录结果,以使得上位机管理程序根据该第二固件烧录结果判断是否进入主板生产下一阶段,并且,根据该上位机管理程序根据该第二固件烧录结果点亮对应的状态指示灯,然后执行步骤215。
207、根据所述状态信息中的芯片地址获取对应所述至少一个电源管理芯片的固件文件,所述固件文件中包含固件烧录程序;
本申请实施例中,事先存储有固件烧录程序,BMC通过电源管理芯片的状态信息确认是否需要烧录,如果需要,那么BMC需要先运行固件烧录程序,此时BMC启动TFTP服务,通过LAN向上位机请求获取对应主板电源管理芯片型号及芯片地址的固件文件,该固件文件中包含有固件烧录程序。
208、按照所述芯片型号的排列顺序依次运行所述至少一个电源管理芯片的固件烧录程序进行固件烧录,并生成第一固件烧录结果;
本申请实施例中,获取到电源管理芯片的芯片型号以及芯片地址的固件文件之后,BMC运行电源管理芯片对应的固件烧录程序按指定芯片顺序进行固件烧录,即将文件(固件/数据)写到存储介质(Nand Flash,Nor Flash等)上。
需要说明的是,芯片烧写时,需要保证烧写和标记的同步,即实际操作中应做到烧写一片,标记一片。
209、根据所述第一固件烧录结果判断是否烧录成功,若是,则执行步骤214;若否,则执行步骤210;
需要说明的是,本申请实施例中,烧录程序结束后,BMC根据所有电源管理芯片的烧录结果生成第一固件烧录结果,该第一固件烧录结果中包括但不限于烧录是否成功,烧录失败原因,烧录剩余次数,烧录的执行时间等。
BMC检查固件烧录结果,判断是否烧录成功,若是,则执行步骤214;若否,则执行步骤210。
210、所述状态信息还包括芯片固件的烧录次数,根据所述状态信息中的烧录次数判断所述至少一个电源管理芯片是否达到最大烧录限制次数,若是,则执行步骤212;若否,则执行步骤211;
需要说明的是,本申请实施例中,芯片的烧录次数是有限制的,对于烧录失败的芯片,可以重新进行烧录,但烧录到达限制之后,将不能再烧录,因为本步骤中,若是BMC检测到有电源管理芯片烧录失败,在重新进行烧录之前,会先调取电源管理芯片信息表中的烧录次数信息,根据该状态信息中的烧录次数判断电源管理芯片是否达到最大烧录限制次数,若是,则执行步骤212;若否,则执行步骤211。
211、重新运行烧录失败的电源管理芯片的固件烧录程序进行固件烧录,并执行步骤209;
需要说明的是,本申请实施例中,对于烧录失败但是烧录次数未到达最大烧录限制次数的电源管理芯片,BMC将重新运行固件烧录程序对其进行烧录,并判断是否烧录成功,具体的步骤见步骤209。
212、记录所述至少一个电源管理芯片的烧录失败原因,并生成第三固件烧录结果;
需要说明的是,本申请实施例中,对于烧录失败的电源管理芯片,BMC在生成固件烧录结果时,会记录烧录失败原因信息。
213、将所述第三固件烧录结果发送上位机,并根据所述第三固件烧录结果点亮对应的状态指示灯,然后直接执行步骤215;
需要说明的是,本申请实施例中,BMC根据第三固件烧录结果,点亮状态状态指示灯,所有芯片烧录成功点亮绿色指示灯,1个或多个芯片烧录失败则点亮红色指示灯。此外,BMC还要将所有电源管理芯片的烧录结果,包括失败原因,烧录剩余次数,执行时间等生成烧录报告文件通过TFTP上报给上位机,以使得上位机管理程序根据该烧录报告文件执行相应的操作,比如返回判断是否进入主板生产下一阶段、重新执行固件烧录流程或者将新的电源芯片控制方案固件替换原存储目录中的固件。
214、根据所述第一固件烧录结果点亮对应的状态指示灯,并向上位机发送所述第一固件烧录结果;
需要说明的是,本申请实施例中,BMC根据第一固件烧录结果,点亮状态状态指示灯,所有芯片烧录成功点亮绿色指示灯,1个或多个芯片烧录失败则点亮红色指示灯。此外,BMC还要将所有电源管理芯片的烧录结果,包括失败原因,烧录剩余次数,执行时间等生成烧录报告文件通过TFTP上报给上位机,以使得上位机管理程序根据该烧录报告文件执行相应的操作,比如返回判断是否进入主板生产下一阶段、重新执行固件烧录流程或者将新的电源芯片控制方案固件替换原存储目录中的固件。
215、通过PCH芯片对所述至少一个电源管理芯片进行实时监控;
需要说明的是,本申请实施例中,烧录程序结束后,BMC通过CH_CTL信号控制SW(切换芯片)选通CH1至CH3,将电源管理芯片交还回PCH监控。
216、根据所述第一固件烧录结果更新所述上位机中存储的电源管理芯片信息表。
例需要说明的是,本申请实施中,无论电源管理芯片烧录成功还是失败,都会生成烧录结果并发送上位机,上位机根据该烧录结果更新替换原存储目录中的固件,然后重新开始固件烧录流程。
本申请实施例中,通过BMC可快速进入UBOOT阶段的特点,BMC启动进入UBOOT运行阶段就进行电源管理芯片的固件烧录程序可快速烧录,在UBOOT阶段实现电源管理芯片的固件烧录程序,节约等待BMC进入系统阶段的时间;通过LAN向上位机获取当前需要烧录的固件,电源管理芯片对应固件存放在上位机可灵活替换,实现了快速灵活的电源管理芯片固件方案版本更换;同时,将烧录结果以本地状态灯显示,及上报上位机的方式,烧录结果可以在上位机集中收集管理,也增加现场生产测试和集中生产管理的便捷性。
上面对自动烧录电源管理芯片固件的方法进行了描述,下面将对该自动烧录电源管理芯片固件的装置进行说明。
请参阅图3,本申请实施例中自动烧录电源管理芯片固件的装置一个实施例包括:
检测单元301,用于检测是否已进入UBOOT运行状态;
第一获取单元302,用于若已进入UBOOT运行状态,则获取至少一个电源管理芯片的状态信息,所述状态信息包括芯片型号以及芯片地址;
第二获取单元303,用于根据所述状态信息中的芯片地址获取对应所述至少一个电源管理芯片的固件文件,所述固件文件中包含固件烧录程序;
第一烧录单元304,用于按照所述芯片型号的排列顺序依次运行所述至少一个电源管理芯片的固件烧录程序进行固件烧录,并生成第一固件烧录结果;
第一判断单元305,用于根据所述第一固件烧录结果判断是否烧录成功;
第一点亮单元306,用于若是,则根据所述第一固件烧录结果点亮对应的状态指示灯;
第一发送单元307,用于向上位机发送所述第一固件烧录结果。
本申请实施例中,设计一种自动烧录电源管理芯片固件的装置,在进入UBOOT运行阶段就通过第一获取单元302获取至少一个电源管理芯片的状态信息,并根据该状态信息通过第二获取单元303获取对应包含固件烧录程序的固件文件,进行电源管理芯片的固件烧录程序,该装置不仅可实现快速烧录,还可实现快速灵活的电源管理芯片固件方案版本更换;此外,将固件烧录结果以本地状态指示灯显示,及上报上位机的功能,也增加了现场生产测试和集中生产管理的便捷性。
上面对自动烧录电源管理芯片固件的装置的各单元功能进行一个大概的描述,下面将对自动烧录电源管理芯片固件的装置的各单元功能进行一个详细的描述。
请参阅图4,本申请实施例中,自动烧录电源管理芯片固件的装置另一实施例包括:
检测单元401,用于检测是否已进入UBOOT运行状态;
第三获取单元402,用于从复杂型可编程逻辑器件(Complex Programmable LogicDevice,CPLD)中获取当前主板型号信息;
调取单元403,用于根据所述当前主板型号信息从上位机的存储数据库中调取对应的电源管理芯片信息表,所述电源管理芯片信息表包含至少一个电源管理芯片的状态信息;
第一获取单元404,用于若已进入UBOOT运行状态,则获取至少一个电源管理芯片的状态信息,所述状态信息包括芯片型号以及芯片地址;
第一获取单元404,进一步还可以包括:
获取模块4041,用于从所述电源管理芯片信息表中获取至少一个电源管理芯片的状态信息。
第二判断单元405,用于根据所述状态信息中的烧录记录判断所述至少一个电源管理芯片中是否存在未烧录的电源管理芯片.所述状态信息还包括芯片固件的烧录记录;
第二发送单元406,用于若否,则向上位机发送第二固件烧录结果;
第二点亮单元407,用于根据所述第二固件烧录结果点亮对应的状态指示灯。
第二获取单元408,用于若是,则根据所述状态信息中的芯片地址获取对应所述至少一个电源管理芯片的固件文件,所述固件文件中包含固件烧录程序;
第一烧录单元409,用于按照所述芯片型号的排列顺序依次运行所述至少一个电源管理芯片的固件烧录程序进行固件烧录,并生成第一固件烧录结果;
第一判断单元410,用于根据所述第一固件烧录结果判断是否烧录成功;
第三判断单元411,用于若否,则根据所述状态信息中的烧录次数判断所述至少一个电源管理芯片是否达到最大烧录限制次数,所述状态信息还包括芯片固件的烧录次数;
第二烧录单元412,用于若否,则重新运行烧录失败的电源管理芯片的固件烧录程序进行固件烧录;
第三点亮单元413,用于根据烧录结果执行相对应的操作;
记录单元414,用于若是,则记录所述至少一个电源管理芯片的烧录失败原因,并生成第三固件烧录结果;
第三发送单元415,用于将所述第三固件烧录结果发送上位机;
第四点亮单元416,用于根据所述第三固件烧录结果点亮对应的状态指示灯。
第一点亮单元417,用于若是,则根据所述第一固件烧录结果点亮对应的状态指示灯;
第一发送单元418,用于向上位机发送所述第一固件烧录结果。
本申请实施例中,各单元模块的功能与前述图1至图2中所示实施例中的步骤对应,此处不再赘述。
请参阅图5,本申请实施例中自动烧录电源管理芯片固件的装置另一实施例包括:
处理器501、存储器502、输入输出单元503以及总线504;
处理器501与存储器502、输入输出单元503以及总线504相连;
处理器501执行如下操作:
检测是否已进入UBOOT运行状态;
若已进入UBOOT运行状态,则获取至少一个电源管理芯片的状态信息,所述状态信息包括芯片型号以及芯片地址;
根据所述状态信息中的芯片地址获取对应所述至少一个电源管理芯片的固件文件,所述固件文件中包含固件烧录程序;
按照所述芯片型号的排列顺序依次运行所述至少一个电源管理芯片的固件烧录程序进行固件烧录,并生成第一固件烧录结果;
根据所述第一固件烧录结果判断是否烧录成功,若是,则根据所述第一固件烧录结果点亮对应的状态指示灯,并向上位机发送所述第一固件烧录结果。
本实施例中,处理器501的功能与前述图1至图2所示实施例中的步骤对应,此处不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令,用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,read-onlymemory)、随机存取存储器(RAM,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
Claims (10)
1.一种自动烧录电源管理芯片固件的方法,其特征在于,包括:
检测是否已进入UBOOT运行状态;
若已进入UBOOT运行状态,则获取至少一个电源管理芯片的状态信息,所述状态信息包括芯片型号以及芯片地址;
根据所述状态信息中的芯片地址获取对应所述至少一个电源管理芯片的固件文件,所述固件文件中包含固件烧录程序;
按照所述芯片型号的排列顺序依次运行所述至少一个电源管理芯片的固件烧录程序进行固件烧录,并生成第一固件烧录结果;
根据所述第一固件烧录结果判断是否烧录成功,若是,则根据所述第一固件烧录结果点亮对应的状态指示灯,并向上位机发送所述第一固件烧录结果。
2.根据权利要求1所述的方法,其特征在于,在所述获取至少一个电源管理芯片的状态信息之前,所述方法还包括:
从复杂型可编程逻辑器件(Complex Programmable Logic Device,CPLD)中获取当前主板型号信息;
根据所述当前主板型号信息从上位机的存储数据库中调取对应的电源管理芯片信息表,所述电源管理芯片信息表包含至少一个电源管理芯片的状态信息;
所述获取至少一个电源管理芯片的状态信息,包括:
从所述电源管理芯片信息表中获取至少一个电源管理芯片的状态信息。
3.根据权利要求1所述的方法,其特征在于,所述状态信息还包括芯片固件的烧录记录,在所述根据所述状态信息中的芯片地址获取对应所述至少一个电源管理芯片的固件文件,所述固件文件中包含固件烧录程序之前,所述方法还包括:
根据所述状态信息中的烧录记录判断所述至少一个电源管理芯片中是否存在未烧录的电源管理芯片,若否,则向上位机发送第二固件烧录结果,并根据所述第二固件烧录结果点亮对应的状态指示灯。
4.根据权利要求1所述的方法,其特征在于,所述状态信息还包括芯片固件的烧录次数,在所述根据所述第一固件烧录结果判断是否烧录成功之后,所述方法还包括:
若否,则根据所述状态信息中的烧录次数判断所述至少一个电源管理芯片是否达到最大烧录限制次数,若否,则重新运行烧录失败的电源管理芯片的固件烧录程序进行固件烧录,并根据烧录结果执行相对应的操作;
若是,则记录所述至少一个电源管理芯片的烧录失败原因,并生成第三固件烧录结果;
将所述第三固件烧录结果发送上位机,并根据所述第三固件烧录结果点亮对应的状态指示灯。
5.根据权利要求1至4中任意一项所述的方法,其特征在于,在所述根据所述第一固件烧录结果点亮对应的状态指示灯,并向上位机发送所述第一固件烧录结果之后,所述方法还包括:
通过平台控制单元(Platform Controller Hub,PCH)对所述至少一个电源管理芯片进行实时监控。
6.根据权利要求2所述的方法,其特征在于,在所述根据所述第一固件烧录结果点亮对应的状态指示灯,并向上位机发送所述第一固件烧录结果之后,所述方法还包括:
根据所述第一固件烧录结果更新所述上位机中存储的电源管理芯片信息表。
7.一种自动烧录电源管理芯片固件的装置,其特征在于,包括:
检测单元,用于检测是否已进入UBOOT运行状态;
第一获取单元,用于若已进入UBOOT运行状态,则获取至少一个电源管理芯片的状态信息,所述状态信息包括芯片型号以及芯片地址;
第二获取单元,用于根据所述状态信息中的芯片地址获取对应所述至少一个电源管理芯片的固件文件,所述固件文件中包含固件烧录程序;
第一烧录单元,用于按照所述芯片型号的排列顺序依次运行所述至少一个电源管理芯片的固件烧录程序进行固件烧录,并生成第一固件烧录结果;
第一判断单元,用于根据所述第一固件烧录结果判断是否烧录成功;
第一点亮单元,用于若是,则根据所述第一固件烧录结果点亮对应的状态指示灯;
第一发送单元,用于向上位机发送所述第一固件烧录结果。
8.根据权利要求7所述的装置,其特征在于,在所述第一获取单元之前,所述装置还包括:
第三获取单元,用于从CPLD中获取当前主板型号信息;
调取单元,用于根据所述当前主板型号信息从上位机的存储数据库中调取对应的电源管理芯片信息表,所述电源管理芯片信息表包含至少一个电源管理芯片的状态信息;
所述第一获取单元,包括:
获取模块,用于从所述电源管理芯片信息表中获取至少一个电源管理芯片的状态信息。
9.根据权利要求7所述的装置,其特征在于,所述状态信息还包括芯片固件的烧录记录,在所述第二获取单元之前,所述装置还包括:
第二判断单元,用于根据所述状态信息中的烧录记录判断所述至少一个电源管理芯片中是否存在未烧录的电源管理芯片;
第二发送单元,用于若否,则向上位机发送第二固件烧录结果;
第二点亮单元,用于根据所述第二固件烧录结果点亮对应的状态指示灯。
10.根据权利要求7所述的装置,其特征在于,所述状态信息还包括芯片固件的烧录次数,在所述第一判断单元之后,所述装置还包括:
第三判断单元,用于若否,则根据所述状态信息中的烧录次数判断所述至少一个电源管理芯片是否达到最大烧录限制次数;
第二烧录单元,用于若否,则重新运行烧录失败的电源管理芯片的固件烧录程序进行固件烧录;
第三点亮单元,用于根据烧录结果执行相对应的操作;
记录单元,用于若是,则记录所述至少一个电源管理芯片的烧录失败原因,并生成第三固件烧录结果;
第三发送单元,用于将所述第三固件烧录结果发送上位机;
第四点亮单元,用于根据所述第三固件烧录结果点亮对应的状态指示灯。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210907833.0A CN115408012A (zh) | 2022-07-29 | 2022-07-29 | 一种自动烧录电源管理芯片固件的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210907833.0A CN115408012A (zh) | 2022-07-29 | 2022-07-29 | 一种自动烧录电源管理芯片固件的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115408012A true CN115408012A (zh) | 2022-11-29 |
Family
ID=84159692
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210907833.0A Pending CN115408012A (zh) | 2022-07-29 | 2022-07-29 | 一种自动烧录电源管理芯片固件的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115408012A (zh) |
-
2022
- 2022-07-29 CN CN202210907833.0A patent/CN115408012A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8423991B2 (en) | Embedded network device and firmware upgrading method | |
US6247126B1 (en) | Recoverable software installation process and apparatus for a computer system | |
CN102629206B (zh) | 一种嵌入式系统软件升级方法及系统 | |
US20140310698A1 (en) | Apparatus and method for upgrading firmware of mobile terminal | |
US20120303940A1 (en) | System, method and program product to manage firmware on a system board | |
CN101593120A (zh) | 带外升级方法和系统 | |
CN102479121A (zh) | 独立磁盘冗余阵列实现及测试方法 | |
CN101807152A (zh) | 自我验证选择只读存储器的基本输出入系统及其验证方法 | |
CN113641390B (zh) | 一种系统升级方法、装置、设备及存储介质 | |
CN111221553A (zh) | 一种固件升级的方法及装置 | |
CN114265733A (zh) | 固态硬盘异常掉电自动化测试方法及装置 | |
CN115408012A (zh) | 一种自动烧录电源管理芯片固件的方法及装置 | |
CN110837376A (zh) | 用于无线平面调车系统设备的linux系统及引入方法 | |
CN110737455A (zh) | 固件的更新方法、装置及电子设备 | |
CN113377425B (zh) | Bmc固件生成方法和装置、bmc启动方法和装置及存储介质 | |
CN102455919A (zh) | 基本输入输出系统自动最佳化设定方法 | |
CN112506817B (zh) | 一种控制硬盘背板led的方法和设备 | |
CN112527366B (zh) | 嵌入式处理器引导程序的更新回卷容错设计技术 | |
CN108052337A (zh) | 一种eMMC量产工具的固件升级方法及装置 | |
CN101727333A (zh) | 微处理器中固件更新的方法及固件更新系统 | |
CN113703823A (zh) | 一种bmc固件升级方法、装置、电子设备及存储介质 | |
CN114995852A (zh) | 一种设备升级方法、设备及计算机可读存储介质 | |
CN111949278B (zh) | 一种自动安装mcs系统的方法、系统、终端及存储介质 | |
CN114510375A (zh) | 一种Flash芯片数据区域动态共享系统及方法 | |
CN114398087A (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 |