一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

电源控制器固件加载的方法、装置、电子设备及存储介质与流程

2022-06-02 16:37:55 来源:中国专利 TAG:


1.本发明涉及固件加载技术领域,更为具体地,本发明能够提供电源控制器固件加载的方法、装置、电子设备及存储介质。


背景技术:

2.随着云计算技术的应用和发展,信息化逐渐覆盖到社会的各个领域,服务器和交换机等网络设备的数量和功耗也随之增加。服务器和交换机等相关设备的主板上的中央处理器(cpu)和内存的供电基本都采用了先进的数字电源方案,数字电源方案相对于传统模拟电源方案具有很多优点,例如包括但不限于电源控制更为精准、电源响应更迅速等。但是,目前的主板上往往设计有多颗cpu和多个内存,一个cpu或一个内存可以对应配备一个数字电源控制器;可见cpu和内存的总数量越多,需要设置的数字电源控制器越多。本领域一般通过逐一烧录的方式将各个不同的固件分别烧录至对应电源控制器的存储器,在数字电源控制器启动时需要加载相对应的固件,以基于加载的固件为cpu或内存正常供电。但由于现有技术存在的技术局限,易出现电源控制器无法正常加载固件的问题,电源控制器的工作异常,影响主板正常工作,严重时甚至可直接导致cpu或者内存损坏。因此,如何保证电源控制器能够正常加载固件,已经成为了本领域技术人员亟待解决的技术问题和始终研究的重点。


技术实现要素:

3.为解决具有多颗cpu和/或多个内存的主板易出现无法正常加载电源控制器固件的问题,本发明提供一种电源控制器固件加载的方法、装置、电子设备及存储介质,以达到保证电源控制器正常加载固件的技术目的。
4.为实现上述的技术目的,本发明能够提供一种电源控制器固件加载的方法,本发明电源控制器固件加载的方法可包括但不限于如下的至少一个步骤。
5.确定与待加载固件相对应的目标地址,所述目标地址为存储器的分区地址。
6.基于所述目标地址进行寻址的方式访问所述存储器的目标分区,所述目标分区用于存储所述待加载固件;所述存储器按地址划分为多个分区,分区与地址一一对应,不同的分区分别用于存储不同的固件。
7.从所述目标分区中读取所述待加载固件,以利用所述待加载固件进行电源控制器固件的加载。
8.为实现上述技术目的,本发明还能够提供一种电源控制器固件加载的装置,该电源控制器固件加载的装置可包括但不限于目标地址确定单元、目标分区访问单元以及固件数据读取单元。
9.目标地址确定单元,用于确定与待加载固件相对应的目标地址,所述目标地址为存储器的分区地址。
10.目标分区访问单元,用于基于所述目标地址进行寻址的方式访问所述存储器的目
标分区,所述目标分区用于存储所述待加载固件;所述存储器按地址划分为多个分区,分区与地址一一对应,不同的分区分别用于存储不同的固件。
11.固件数据读取单元,用于从所述目标分区中读取所述待加载固件,以利用所述待加载固件进行电源控制器固件的加载。
12.为实现上述技术目的,本发明还能够提供一种电子设备,该电子设备可包括但不限于存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器可执行本发明任一实施例中所述电源控制器固件加载的方法的步骤。
13.为实现上述技术目的,本发明还能够提供一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得所述一个或多个处理器执行本发明任一实施例中所述电源控制器固件加载的方法的步骤。
14.本发明的有益效果为:
15.通过在存储器不同分区内分别存储不同的固件,并基于与待加载固件对应的目标地址进行寻址的方式,以及从与目标地址相匹配的目标分区中读取当前控制器需要的待加载固件,即使对于具有多颗cpu和多个内存的主板,本发明仍然能够准确地从与目标地址对应的存储器分区得到电源控制器固件,固件加载的准确率不再受cpu数量和内存数量影响,保证了电源控制器正常加载固件,极大提高了电源控制器固件加载的准确率。另外,本发明在一个存储器中通过分区存储的方式存储了多个不同的固件,这种方式能够满足对各个控制器的存储器进行无差别地烧录,具体可使用同一份烧录文件即可,而无需区分不同存储器所对应的不同固件,在相应固件读取时根据地址进行对应控制器固件的读取,可见本发明明显地降低了对固件烧录的要求,极大地降低了误烧或漏烧情况发生的可能性。
附图说明
16.图1示出了本发明一个或多个实施例中电源控制器固件加载的方法的流程示意图。
17.图2示出了本发明一个或多个实施例中访问存储器目标分区的流程示意图。
18.图3示出了本发明一个或多个实施例中存储器目标分区访问可选的实现方式示意图。
19.图4示出了本发明一个或多个实施例中电源控制器固件加载的装置组成的示意图。
20.图5示出了本发明一个或多个实施例中电子设备的内部结构组成的示意图。
具体实施方式
21.下面结合说明书附图对本发明所提供的电源控制器固件加载的方法、装置、电子设备及存储介质进行详细的解释和说明。
22.鉴于现有电源控制器固件加载方案受到cpu和内存数量影响,cpu和内存的总数量越多,则常规技术越容易出现电源控制器固件加载错误的问题。其中一部分原因包括固件烧录过程中误烧或者漏烧的情况,而且,同一主板上cpu和内存数量越多,这种情况往往越明显,导致电源控制器无法正常加载固件的问题。鉴于此,本发明提供了一种电源控制器固
件加载的方法、装置、电子设备及存储介质,以解决上述的至少一个问题。
23.如图1所示,本发明一个或多个实施例能够提供一种电源控制器固件加载的方法,该电源控制器固件加载的方法包括但不限于如下的至少一个步骤。
24.步骤100,确定与待加载固件相对应的目标地址,目标地址为存储器的分区地址。本发明所涉及的电源包括但不限于数字电源,涉及的待加载固件为控制器调压模块(vr,voltage regulator)的固件(fw,firmware)。本发明涉及的存储器可包括但不限于非易失性存储器(nvm,non-volatile memory)等。可见,本发明实施例具体能够提供一种电源控制器调压模块固件加载的方法。
25.可选地,本发明一个或多个实施例确定与待加载固件相对应的目标地址包括:检测到电源控制器所在的芯片上电后,确定待加载固件,芯片上设置有多个电源控制器;选择与待加载固件相对应的地址作为目标地址。对于具有多个电源控制器的主板,本发明实施例在当前芯片(主板)上电后,需要通过各个电源控制器分别为对应的内存或者cpu供电;为实现正常为内存或cpu供电,则各个电源控制器需要加载对应固件。相比于常规的固件直接读取和加载方式,本发明通过目的地址方式能够更准确地加载相对应的待加载固件,降低固件读取错误情况发生的可能性。
26.具体地,本发明实施例选择与待加载固件相对应的地址作为目标地址包括:选择与待加载固件相对应的总线地址作为目标地址。其中,芯片上还设置有总线,多个电源控制器均连接于总线上。具体地,本发明涉及的总线可为电源管理总线(pmbus,power management bus),主板上电源控制器具有pmbus接口,电源控制器通过pmbus接口接入到电源管理总线上;当然,本发明可使用的总线并不限于此。基于电源管理总线进行控制器连接,本发明提高目标地址可靠性的同时还有助于优化硬件架构。
27.步骤200,基于目标地址进行寻址的方式访问存储器的目标分区,目标分区用于存储待加载固件;存储器按地址划分为多个分区,分区与地址一一对应,不同的分区分别用于存储不同的固件。基于本发明提供的存储器分区存储固件的方式,每一个存储器都按照分区管理的方式存储有多个电源控制器固件,在此基础上,本发明实施例具体在烧录电源控制器固件时使用一份烧录文件即可,即对所有的电源控制器的存储器进行无区分、无差别地烧录,各个电源控制器的存储器中均存储有多个不同固件,不同电源控制器通过不同目标地址获取对应的电源控制器固件,用于存储固件的存储器之间完全可以不区分,只需要按照设置的分区地址对应地获取所需要的固件即可。其中,本发明可事先通过在线或离线的方式将当前主板上的数字电源控制器所需要的多个固件无差别、无区分地烧录至电源控制器的存储器。由此可知,基于在各个存储器中均采用分区存储的方式存储多个不同固件,烧录时无需按照固件内容不同而有区分地将固件对应烧录至指定存储器中,避免了烧错的可能性同时也避免了漏烧的可能性,所以本发明能够极大地降低烧录要求,提高了电源控制器固件加载的可靠性和安全性,有助于保护主板上的cpu和内存等硬件设备。
28.如图2所示,本发明一个或多个实施例基于目标地址进行寻址的方式访问存储器的目标分区可包括但不限于如下的步骤210至步骤230。
29.步骤210,基于目标地址生成用于输入至预设多路选择器的数字选择信号。本发明实施例中,作为目标地址的一个pmbus总线地址对应一个非易失性存储器(nvm)分区,即一个数字选择信号对应一个nvm分区。例如,不同的数字选择信号的具体值对应不同的nvm分
区,或者不同的数字信号的具体范围可对应不同的nvm分区,当然并不限于此,本发明可通过多路选择器的方式更可靠地访问相对应的存储器分区。
30.如图3所示,本发明一个或多个实施例基于目标地址生成用于输入至预设多路选择器的数字选择信号包括:基于目标地址对应地生成模拟电压信号,将模拟电压信号输入至模数转换器,以通过模数转换器输出数字选择信号。其中,本发明实施例涉及的模数转换器(adc,analog-to-digitalconverter)具体型号可根据实际需要进行选择,本发明不进行赘述。在本发明已提供内容的基础上,或可以根据实际情况直接生成用于输入至预设多路选择器的数字选择信号,而无需使用模拟电压信号生成和模数转换的步骤,该可选方案也在本发明保护范围之内,对此不再进行详述。
31.具体地,本发明实施例基于目标地址对应地生成模拟电压信号包括:基于目标地址确定用于生成模拟电压信号的电阻阻值,不同的电阻阻值对应着不同的目标地址;通过预设恒流源提供的电流信号和电阻阻值生成模拟电压信号。应当理解的是,本发明一些实施例可通过软件控制策略选择合适的电阻阻值,例如软件控制可变电阻方式,以结合恒流源的电流信号产生所需要的模拟电压信号。当然,本发明另一些实施例可通过硬件改进设置所需的电阻,例如图3中在电源控制器芯片的一个引脚外挂一颗电阻r1,电阻r1的阻值与目标地址相对应,进而通过恒流源u1提供的电流信号ia得到模拟电压信号ua;其中,ua=ia*r1。其中,本发明电源控制器芯片上外挂电阻r1的引脚例如可以包括但不限于电源控制器芯片地址引脚,不同阻值的电阻r1对应着不同的pmbus地址。通过该地址引脚外挂电阻的方式,本发明实现外挂电阻不同的阻值对应不同的存储器分区的功能,具有可靠性较强等优点。
32.步骤220,利用预设多路选择器根据数字选择信号进行寻址。本发明多路选择器与存储器连接,根据接收的数字选择信号的大小或者范围进行寻址,以实现后述选择对应的nvm分区和获取固件数据。其中,本发明实施例涉及的预设多路选择器(multiplexers)具体型号根据实际需要进行选择,本发明不进行赘述。通过预设多路选择器与存储器直接连接,实现根据不同的数字选择信号确定不同的存储分区,保证了分区访问准确性。
33.步骤230,按照寻址的结果访问存储器的目标分区。具体实施时,本发明可采用相对于常规存储器具有更大容量的存储器,例如具有更大容量的非易失性存储器,以能够满足存储器分区需求,进而存储更多的固件。
34.以cpu和内存的总数量为8个为例,电源控制器可支持8个地址,例如为0x10~0x17,此时本发明将非易失性存储器的空间按地址至少分为8个区,非易失性存储器的空间大小至少可为一般非易失性存储器的八倍;如下表所示的本发明实施例pmbus地址与nvm分区的对应关系,电源控制器在启动过程中需要按不同的地址读取对应不同分区的内容,以实现后续按此启动并配置控制器和启动电源。例如0x10地址对应分区1,0x11地址对应分区2,0x12地址对应分区3,0x13地址对应分区4,0x14地址对应分区5,0x15地址对应分区6,0x16地址对应分区7,0x17地址对应分区8。应当理解的是,pmbus地址与nvm空间的对应关系根据实际情况进行设定的,并不限于如下的示例;当然,分区大小可采用平均分配方式,或者也可采用按需分配方式,以能够实现本发明技术目的为准。
35.pmbus地址 nvm空间0x10
‑‑‑‑‑
》分区1
0x11
‑‑‑‑‑
》分区20x12
‑‑‑‑‑
》分区30x13
‑‑‑‑‑
》分区40x14
‑‑‑‑‑
》分区50x15
‑‑‑‑‑
》分区60x16
‑‑‑‑‑
》分区70x17
‑‑‑‑‑
》分区8
36.当然,cpu和内存的总数量可以小于分区的数量,例如本发明实施例以普通2路服务器的ddr4内存电源供电设计为例,该类服务器的主板包括4个或4组ddr4,则需要4颗电源控制器。本发明实施例通过将这4颗服务器连接于同一条pmbus总线上,该实现方式不仅在线路设计时方便了电源管理,而且便于使用不同的地址进行有效区分。本发明实施例设置的电源控制器(电源控制芯片)的地址分别可为:0x10、0x12、0x14、0x16,即该实施例中的内存的总数量小于存储器分区的数量,当然并不限于此。在具体实施时,工程师对电源调试(debug)过程中只需要对应修正上述四个地址对应的存储器nvm中的内容,则能够为对应的电源控制器提供准确的固件;当然,如果主板上还有更多的控制器,也需要修正对应存储器分区中的内容。在确定相应存储器分区中的内容后,即本发明固件设计调整完毕后只需要形成一份调压模块固件(vr fw,voltage regulatorfirmware)文件,从根本上避免了固件误烧或漏烧可能性。与常规按脚位烧录的方式完全不同,本发明单个芯片上所有电源控制器的存储器中固件可相同,即本发明能够使用芯片烧录的方式极大地提高固件烧录效率。
37.步骤300,从目标分区中读取待加载固件,以利用待加载固件进行电源控制器固件的加载。与常规固件读取方式不同,本发明从存储器分区中读取所需要的待加载固件,从而极大地提升了固件读取的准确率。
38.可选地,本发明一个或多个实施例从目标分区中读取待加载固件具体包括:在芯片(主板)上电后,从非易失性存储器目标分区中读出待加载固件包含的配置文件,解析出配置文件中的配置参数,配置参数用于配置电源控制器的工作参数,在得到配置参数后电源控制器按照配置参数中的内容进行工作,即实现了电源控制器芯片启动的配置,然后启动电源控制器对应的电源,为对应的cpu或内存供电。
39.本发明能够对主板上多个电源控制器固件进行有效管理,并具体通过存储器分区的方式实现在各控制器的存储器分区上存储多个固件,且通过寻址的方式访问需要的电源控制器固件,保证固件准确加载,可靠性较高。由此可以确定,本发明基于与待加载固件所对应的目标地址确定相匹配的存储器分区,进而能够准确无误地从该存储器分区中获得需要的电源控制器固件。可见本发明的电源控制器固件加载的准确率不再受内存和cpu数量的影响,即使内存和cpu总数量较多,本发明多个电源控制器仍然能够准确地获取对应的电源控制器固件。而且本发明还能够基于分区存储电源控制器固件的方式降低对固件烧录的要求,避免了常规方案中易出现因固件较多而发生漏烧或错烧等问题,极大降低了误烧或漏烧的可能性,通过提高烧录准确性,本发明进一步提升电源控制器固件加载的准确率。
40.如图4所示,与电源控制器固件加载的方法基于同一发明技术构思,本发明一个或多个实施例还能够提供一种电源控制器固件加载的装置。
41.该电源控制器固件加载的装置可以包括但不限于目标地址确定单元、目标分区访
问单元、固件数据读取单元,具体说明如下。
42.目标地址确定单元,用于确定与待加载固件相对应的目标地址,目标地址为存储器的分区地址。
43.可选地,目标地址确定单元用于检测到电源控制器所在的芯片上电后确定待加载固件,芯片上设置有多个电源控制器;目标地址确定单元用于选择与待加载固件相对应的地址作为目标地址。
44.具体地,目标地址确定单元用于选择与待加载固件相对应的总线地址作为目标地址;其中,芯片上还设置有总线,多个电源控制器均连接于总线上。
45.目标分区访问单元,用于基于目标地址进行寻址的方式访问存储器的目标分区,目标分区用于存储待加载固件;存储器按地址划分为多个分区,分区与地址一一对应,不同的分区分别用于存储不同的固件。
46.可选地,目标分区访问单元可用于基于目标地址生成用于输入至预设多路选择器的数字选择信号,并可用于利用预设多路选择器根据数字选择信号进行寻址,以及用于按照寻址的结果访问存储器的目标分区。
47.可选地,目标分区访问单元可用于基于目标地址对应地生成模拟电压信号,并用于将模拟电压信号输入至模数转换器,以通过模数转换器输出数字选择信号。
48.可选地,目标分区访问单元用于基于目标地址确定用于生成模拟电压信号的电阻阻值,并用于通过预设恒流源提供的电流信号和电阻阻值生成模拟电压信号。
49.固件数据读取单元,用于从目标分区中读取待加载固件,以利用待加载固件进行电源控制器固件的加载。
50.可选地,固件数据读取单元可用于从目标分区中读出待加载固件包含的配置文件,以及用于解析出配置文件中的配置参数;配置参数用于配置电源控制器的工作参数。
51.相比于现有技术,本发明在存储器不同分区内分别存储不同的固件,以及基于与待加载固件对应的目标地址进行寻址的方式确定目标分区,并从该目标分区读取当前控制器需要的待加载固件,即使对于具有多颗cpu和多个内存的主板,本发明仍能够非常准确地从与目标地址对应的存储器分区得到电源控制器固件,本发明固件加载的准确率不再受cpu数量和内存数量影响,保证了电源控制器可正常加载固件,极大提高了电源控制器固件加载的准确率。另外,基于本发明在一个存储器中通过分区存储的方式存储了多个不同的固件,本发明能够满足对各个控制器的存储器进行无差别地烧录,具体使用同一份烧录文件即可,而无需区分不同存储器所对应的不同固件,在相应固件读取时根据不同地址进行对应控制器固件的读取,可见本发明显著降低了对固件烧录的要求,极大地降低了现有技术中误烧或漏烧情况发生的可能性。
52.如图5所示,与电源控制器固件加载的方法基于同一发明技术构思,本发明一个或多个实施例还能够提供一种电子设备,电子设备可包括存储器和处理器,存储器中存储有计算机可读指令,计算机可读指令被处理器执行时,使得处理器执行本发明任一实施例中电源控制器固件加载的方法的步骤。应理解的是,本发明电源控制器固件加载的方法的详细实现过程已在本说明书中有详细的记载,此处不再进行赘述。
53.如图5所示,与电源控制器固件加载的方法基于同一发明技术构思,本发明一个或多个实施例还能够提供一种存储有计算机可读指令的存储介质,计算机可读指令被一个或
多个处理器执行时,使得一个或多个处理器执行本发明任一实施例中的电源控制器固件加载的方法的步骤。应理解的是,本发明电源控制器固件加载的方法的详细实现过程已在本说明书中有详细的记载,此处不再进行赘述。
54.在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读存储介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读存储介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读存储介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram,random access memory),只读存储器(rom,read-only memory),可擦除可编辑只读存储器(eprom,erasable programmable read-only memory,或闪速存储器),光纤装置,以及便携式光盘只读存储器(cdrom,compact disc read-only memory)。另外,计算机可读存储介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
55.应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga,programmable gate array),现场可编程门阵列(fpga,field programmable gate array)等。
56.在本说明书的描述中,参考术语“本实施例”、“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
57.此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
58.以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明实质内容上所作的任何修改、等同替换和简单改进等,均应包含在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献