CN114035831A - 一种cpld升级方法、系统及计算机可读存储介质 - Google Patents
一种cpld升级方法、系统及计算机可读存储介质 Download PDFInfo
- Publication number
- CN114035831A CN114035831A CN202210007572.7A CN202210007572A CN114035831A CN 114035831 A CN114035831 A CN 114035831A CN 202210007572 A CN202210007572 A CN 202210007572A CN 114035831 A CN114035831 A CN 114035831A
- Authority
- CN
- China
- Prior art keywords
- cpld
- upgrade
- upgrading
- main
- signal
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 55
- 238000003860 storage Methods 0.000 title claims abstract description 35
- 238000010200 validation analysis Methods 0.000 claims abstract description 59
- 238000002360 preparation method Methods 0.000 claims abstract description 33
- 239000000758 substrate Substances 0.000 claims abstract description 27
- 230000011664 signaling Effects 0.000 claims description 9
- 239000000284 extract Substances 0.000 claims description 4
- 230000009191 jumping Effects 0.000 claims description 3
- 230000008569 process Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 8
- 230000008447 perception Effects 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 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
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供一种CPLD升级方法、系统及计算机可读存储介质,系统包括基板管理控制器、主CPLD和从CPLD,主CPLD通过从CPLD向控制器发送电源控制信号,基板管理控制器与从CPLD之间设有升级生效信号,方法包括:基板管理控制器在确定主CPLD完成升级准备时,将升级生效信号设置为使能状态,以使从CPLD锁定当前电源控制信号,并利用当前电源控制信号对控制器进行控制;控制主CPLD进行CPLD升级;在确定主CPLD完成CPLD升级时,将升级生效信号设置为禁用状态,以使从CPLD释放当前电源控制信号,并利用主CPLD发送的电源控制信号对控制器进行控制;可在主CPLD升级时保持其之前的电源控制信号,以保持服务器正常运行。
Description
技术领域
本发明涉及服务器领域,特别涉及一种CPLD升级方法、系统及计算机可读存储介质。
背景技术
CPLD(Complex Programmable Logic Device)又称为复杂可编程逻辑器件,其功能包括对服务器主板、存储器上的控制器进行电源控制。相关技术中,CPLD一般在基板管理控制器(BMC,Baseboard Management Controller)的控制下进行升级,而在升级过程中会经历重启阶段,此时将无法进行电源控制,这会导致相关控制器出现下电再上电的问题,进而影响服务器主机的正常运行。
发明内容
本发明的目的是提供一种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将所述当前运行状态信息保存至所述掉电不丢失存储器中。
可选地,所述掉电不丢失存储器为SPI闪存。
本发明还提供一种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已完成CPLD升级时,会将升级生效信号设置为禁用状态,以控制从CPLD释放之前的电源控制信号,并重新利用主CPLD发送的电源控制信号对相关控制器进行电源控制。换而言之,本发明采用一个单独的从CPLD来记录主CPLD发送的电源控制信号,并在主CPLD进行升级时保持其最后发送出的电源控制信号,防止相关控制器出现下电在上电的情况,进而可在主CPLD升级过程中保障服务器的正常运行。本发明还提供一种CPLD升级系统及计算机可读存储介质,具有上述有益效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例所提供的一种CPLD升级系统的结构框图;
图2为本发明实施例所提供的另一种CPLD升级系统的结构框图;
图3为本发明实施例所提供的一种CPLD升级方法的流程图;
图4为本发明实施例所提供的一种状态值恢复对比图;
图5为本发明实施例所提供的另一种CPLD升级方法的流程图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
CPLD一般在基板管理控制器(BMC,Baseboard Management Controller)的控制下进行升级,而在升级过程中会经历重启阶段,此时将无法进行电源控制,这会导致相关控制器出现下电再上电的问题,进而影响服务器主机的正常运行。有鉴于此,本发明提供了一种CPLD升级方法,可在主CPLD升级时保持其向控制器最后发出的电源控制信号,以保持服务器正常运行。为便于理解,首先对本方法所适用的CPLD升级系统进行简单介绍。请参考图1,图1为本发明实施例所提供的一种CPLD升级系统的结构框图。CPLD升级系统包括基板管理控制器101、主CPLD102和从CPLD103,其中主CPLD102通过从CPLD103向控制器发送电源控制信号,基板管理控制器101与从CPLD之间设有升级生效信号。需要说明的是,本发明实施例并不限定具体的控制器,例如可以为主板控制器,也可以为存储设备控制器,可参考服务器的相关技术。本发明实施例也不限定电源控制信号,只要该信号能够对相关控制器进行电源控制即可,可参考GPIO(General-purpose input/output,通用型输入输出)的相关技术。需要说明的是,升级生效信号用于控制从CPLD开始工作,该信号包含使能状态和禁用状态,其具体用途及信号值请参考后续实施例中的描述。
基于上述系统描述,下面对本方法的具体实施方式进行介绍。请参考图3,图3为本发明实施例所提供的一种CPLD升级方法的流程图,该方法可以包括:
S101、基板管理控制器在确定主CPLD完成升级准备时,将升级生效信号设置为使能状态,以使从CPLD锁定当前电源控制信号,并利用当前电源控制信号对控制器进行控制。
在本发明实施例中,从CPLD用于在主CPLD升级时,锁定其最后发出的电源控制信号,以在主CPLD重启时保持对控制器的电源控制状态;而正常情况下,从CPLD仅对主CPLD发出的电源控制信号进行透明传输。本发明实施例之所以对电源控制信号进行单独锁定,是因为这类信号通常对服务器的运行起到至关重要的作用,而其他非电源控制类的信号则无需锁定,因为它们即便在信号状态乱序的情况下也不影响主板X86操作系统的正常运行;此外,电源控制信号占整个CPLD所有GPIO信号的很小一部分,一般为30~50根信号,非电源控制信号才是CPLD GPIO最大的消费者。因此,针对电源控制信号进行单独锁定,并不会显著地增加CPLD的制造成本。具体的,由于对主CPLD的升级过程由基板管理控制器发起,因此基板管理控制器在确定主CPLD完成升级准备时,会将升级生效信号设置为使能状态,以启动从CPLD的锁定状态;而从CPLD在确定该信号为使能状态时,将会锁定其当前收到的电源控制型号,直至该信号变为禁用状态。需要说明的是,本发明实施例并不限定使能状态和禁用状态分别对应的信号值,例如使能状态和禁用状态分别为高电平和低电平,也可以是使能状态和禁用状态分别为低电平和高电平。由于基板管理控制器所发出的GPIO信号通常在高电平时为使能状态,为便于管理,同样可将升级生效信号的使能状态设置为高电平。
在一种可能的情况中,将升级生效信号设置为使能状态,包括:
步骤11:将升级生效信号设置为高电平。
需要说明的是,本发明实施例并不限定升级生效信号在基板管理控制器中的设置形式,可参考GPIO的相关技术。
进一步,本发明实施例并不限定基板管理控制器如何确定主CPLD完成升级准备,例如基板管理控制器可向主CPLD发送预升级信号,以使主CPLD进行升级准备,并在准备完成后向基板管理控制器返回一个升级准备完成的信号;而基板管理控制器则在接收到该表示升级准备完成的信号时,确定主CPLD已完成升级准备。本发明实施例并不限定主CPLD如何进行升级准备,可参考CPLD升级的相关技术。
S102、控制主CPLD进行CPLD升级。
需要说明的是,本发明实施例并不限定基板管理控制器控制住CPLD进行CPLD升级的具体过程,可参考CPLD升级的相关技术。简单来说,基板管理控制器可采用Background模式(后台升级)将主CPLD的新固件写入其内存中,并在完成写入后向主CPLD发送重启命令;而主CPLD则在接收到重启命令时重新启动,以刷新内存读取新固件文件,并对新固件文件进行初始化。具体的,重启命令可通过升级通道(JTAG,Joint Test Action Group,联合测试工作组)进行传输,其具体形式可参考JTAG协议的相关技术。
在一种可能的情况中,控制主CPLD进行CPLD升级,可以包括:
步骤21:基板管理控制器将主CPLD的新固件写入主CPLD的内存中,并在完成写入时向主CPLD发送重启命令;
步骤22:主CPLD在接收到重启命令时重新启动,以从内存中读取新固件,并完成CPLD升级。
当然,由于基板管理控制器通常采用Background模式进行固件写入,即在固件写入过程中,主CPLD的老代码仍在运行,因此为提升升级效率,步骤22也可以在步骤S101之前完成。
S103、在确定主CPLD完成CPLD升级时,将升级生效信号设置为禁用状态,以使从CPLD释放当前电源控制信号,并利用主CPLD发送的电源控制信号对控制器进行控制。
相应的,在确定主CPLD已完成CPLD升级时,基板管理控制器会将升级生效信号设置为禁用状态,以使从CPLD释放当前电源控制信号,并将控制器的控制权移交给主CPLD。优选地,升级生效信号在高电平时为使能状态,因此低电平为禁用状态。
在一种可能的情况中,将升级生效信号设置为禁用状态,可以包括:
步骤31:将升级生效信号设置为低电平。
进一步,需要说明的是,本发明实施例并不限定基板管理控制器如何确定主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完成升级准备之前,还可以包括:
S201、基板管理控制器向主CPLD发送预升级信号。
在本发明实施例中,预升级信号用于通知主CPLD开始进行升级准备。需要说明的是,本发明实施例并不限定预升级信号的具体形式,可参考GPIO的相关技术。
S202、主CPLD在接收到预升级信号时,保存当前运行状态信息,并在完成保存后向基板管理控制器发送存储完成信号。
具体的,主CPLD上通常运行有与电源控制相关的状态机,而当前运行状态信息即为主CPLD在接收到预升级信号时对应的状态机状态。关于当前运行状态信息的具体内容可参考CPLD的相关技术。需要说明的是,本发明实施例并不限定当前运行状态信息的存储位置,可根据实际应用需求进行设定。优选地,为避免运行状态信息掉电丢失,可将当前运行状态信息保存在于主CPLD相连的掉电不丢失存储器中,即CPLD升级系统还可包含该掉电不丢失存储器。
在一种可能的情况中,CPLD升级系统还包括与主CPLD连接的掉电不丢失存储器,保存当前运行状态信息,可以包括:
步骤41:主CPLD将当前运行状态信息保存至掉电不丢失存储器中。
需要说明的是,本发明实施例并不限定具体的掉电不丢失存储器,例如可以为EEPROM(Electrically Erasable Programmable read only memory,带电可擦可编程只读存储器),也可以为SPI闪存(Serial Peripheral Interface Bus,串行外设接口)。优选地,该掉电不丢失存储器可以为SPI闪存。
进一步,需要说明的是,本发明实施例并不限定存储完成信号的具体形式,可参考GPIO的相关技术。
相应地,基板管理控制器确定主CPLD完成升级准备,包括:
S203、基板管理控制器在接收到存储完成信号时,确定主CPLD完成升级准备。
由于在升级之前,主CPLD缓存了运行状态信息,因此在升级之后,便可读取该运行状态信息,并跳转至对应运行状态。
在一种可能的情况中,在确定主CPLD完成升级之前,还可以包括:
S301、主CPLD在完成CPLD升级时,提取当前运行状态信息,并跳转至当前运行状态信息对应的运行状态。
S302、在完成跳转后,向基板管理控制器发送初始化完成信号。
当然,若主CPLD并未保存当前运行状态信息,例如相关状态机并未运行,并没有对应的运行状态信息时,主CPLD在进行对当前运行状态信息提取、确定无法提取到该信息时,也仍会向基板管理控制器发送初始化完成信号。
需要说明的是,本发明实施例并不限定初始化完成信号的具体形式,可参考GPIO的相关技术。
相应地,确定主CPLD完成CPLD升级,包括:
S303、基板管理控制器在接收到初始化完成信号时,确定主CPLD完成CPLD升级。
具体的,请参考图4,图4为本发明实施例所提供的一种状态值恢复对比图。其中,左半边为现有CPLD在升级后的状态机运行示意图,而右半边为本方法中的主CPLD在升级后的状态机运行示意图。可见,由于不具有缓存,现有CPLD在升级后只能从IDLE状态(空闲状态)重新运行状态机,容易导致相关控制器感知到CPLD的升级情况;而本申请由于使用了SPI闪存缓存了升级前的当前运行状态信息(即上下文信息),因此在升级后便可直接从SPI闪存中读取该信息,并跳转至对应的运行状态,可进一步减少相关控制器对CPID升级的感知。
基于上述实施例,本发明为提升主CPLD从升级状态恢复为工作状态的速度,还可在升级之前,控制主CPLD将其当前的运行状态进行保存,以在升级初始化后快速回复到原先的运行状态,可进一步减少主CPLD控制的控制器对其升级过程的感知。
下面基于具体的流程图介绍本CPLD升级方法。请参考图5,图5为本发明实施例所提供的另一种CPLD升级方法的流程图,该流程可以包括:
1、基板管理控制器向主CPLD发送预升级信号;
2、主CPLD在接收到预升级信号时,将当前运行状态信息保存至SPI闪存中,并在完成保存后基板管理控制器发送存储完成信号;
3、基板管理控制器在接收到存储完成信号时,确定主CPLD完成升级准备,并将升级生效信号设置为高电平,以使从CPLD锁定当前电源控制信号,并利用当前电源控制信号对控制器进行控制;
4、基板管理控制器将主CPLD的新固件写入主CPLD的内存中,并在完成写入时向主CPLD发送重启命令;
5、主CPLD在接收到重启命令时重新启动,以从内存中读取新固件,并完成CPLD升级;
6、主CPLD在完成CPLD升级时,提取当前运行状态信息,并跳转至当前运行状态信息对应的运行状态;
7、主CPLD在完成跳转后,向基板管理控制器发送初始化完成信号;
8、基板管理控制器在接收到初始化完成信号时,确定主CPLD完成CPLD升级,并将升级生效信号设置为低电平,以使从CPLD释放当前电源控制信号,并利用主CPLD发送的电源控制信号对控制器进行控制。
下面对本发明实施例提供的CPLD升级系统及计算机可读存储介质进行介绍,下文描述的CPLD升级系统及计算机可读存储介质与上文描述的CPLD升级方法可相互对应参照。
请参考图1,CPLD升级系统,包括:基板管理控制器101、主CPLD102和从CPLD103,主CPLD102通过从CPLD103向控制器发送电源控制信号,基板管理控制器101与从CPLD103之间设有升级生效信号,其中,
基板管理控制器101,用于在确定主CPLD102完成升级准备时,将升级生效信号设置为使能状态;控制主CPLD102进行CPLD升级;在确定主CPLD102完成CPLD升级时,将升级生效信号设置为禁用状态;
主CPLD102,用于在基板管理控制器101控制下进行CPLD升级;
从CPLD103,用于在确定升级生效信号为使能状态时,锁定当前电源控制信号,并利用当前电源控制信号对控制器进行控制;在确定升级生效信号为禁用状态时,释放当前电源控制信号,并利用主CPLD102发送的电源控制信号对控制器进行控制。
可选地,基板管理控制器101,还用于在确定主CPLD102完成升级准备时,将升级生效信号设置为高电平;在确定主CPLD102完成升级准备时,将升级生效信号设置为低电平。
可选地,基板管理控制器101,还用于将主CPLD102的新固件写入主CPLD102的内存中,并在完成写入时向主CPLD102发送重启命令;
主CPLD102,还用于在接收到重启命令时重新启动,以从内存中读取新固件,并完成CPLD升级。
可选地,基板管理控制器101,还用于向主CPLD102发送预升级信号;
主CPLD102,还用于在接收到预升级信号时,保存当前运行状态信息,并在完成保存后向基板管理控制器101发送存储完成信号;
相应地,基板管理控制器101,还用于在接收到存储完成信号时,确定主CPLD102完成升级准备。
可选地,主CPLD102,还用于在完成CPLD升级时,提取当前运行状态信息,并跳转至当前运行状态信息对应的运行状态;在完成跳转后,向基板管理控制器101发送初始化完成信号;
相应地,基板管理控制器101,还用于在接收到初始化完成信号时,确定主CPLD102完成CPLD升级。
可选地,请参考图2,图2为本发明实施例所提供的另一种CPLD升级系统的结构框图,CPLD升级系统还包括与主CPLD102连接的掉电不丢失存储器104,其中,
主CPLD102,还用于将当前运行状态信息保存至掉电不丢失存储器104中;
掉电不丢失存储器104,用于保存当前运行状态信息。
可选地,掉电不丢失存储器104为SPI闪存。
本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述任意实施例的CPLD升级方法的步骤。
由于计算机可读存储介质部分的实施例与CPLD升级方法部分的实施例相互对应,因此计算机可读存储介质部分的实施例请参见CPLD升级方法部分的实施例的描述,这里暂不赘述。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本发明所提供的一种CPLD升级方法、系统及计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
Claims (10)
1.一种CPLD升级方法,其特征在于,应用于CPLD升级系统,所述CPLD升级系统包括基板管理控制器、主CPLD和从CPLD,所述主CPLD通过所述从CPLD向控制器发送电源控制信号,所述基板管理控制器与所述从CPLD之间设有升级生效信号,所述方法包括:
所述基板管理控制器在确定所述主CPLD完成升级准备时,将所述升级生效信号设置为使能状态,以使所述从CPLD锁定当前电源控制信号,并利用所述当前电源控制信号对所述控制器进行控制;
控制所述主CPLD进行CPLD升级;
在确定所述主CPLD完成所述CPLD升级时,将所述升级生效信号设置为禁用状态,以使所述从CPLD释放所述当前电源控制信号,并利用所述主CPLD发送的电源控制信号对所述控制器进行控制。
2.根据权利要求1所述的CPLD升级方法,其特征在于,所述将所述升级生效信号设置为使能状态,包括:
将所述升级生效信号设置为高电平;
相应的,所述将所述升级生效信号设置为禁用状态,包括:
将所述升级生效信号设置为低电平。
3.根据权利要求1所述的CPLD升级方法,其特征在于,所述控制所述主CPLD进行CPLD升级,包括:
所述基板管理控制器将所述主CPLD的新固件写入所述主CPLD的内存中,并在完成写入时向所述主CPLD发送重启命令;
所述主CPLD在接收到所述重启命令时重新启动,以从所述内存中读取所述新固件,并完成所述CPLD升级。
4.根据权利要求1至3任一项所述的CPLD升级方法,其特征在于,在所述基板管理控制器确定所述主CPLD完成升级准备之前,还包括:
所述基板管理控制器向所述主CPLD发送预升级信号;
所述主CPLD在接收到所述预升级信号时,保存当前运行状态信息,并在完成保存后向所述基板管理控制器发送存储完成信号;
相应地,所述基板管理控制器确定所述主CPLD完成升级准备,包括:
所述基板管理控制器在接收到所述存储完成信号时,确定所述主CPLD完成所述升级准备。
5.根据权利要求4所述的CPLD升级方法,其特征在于,在确定所述主CPLD完成升级之前,还包括:
所述主CPLD在完成所述CPLD升级时,提取所述当前运行状态信息,并跳转至所述当前运行状态信息对应的运行状态;
在完成跳转后,向所述基板管理控制器发送初始化完成信号;
相应地,所述确定所述主CPLD完成所述CPLD升级,包括:
所述基板管理控制器在接收到所述初始化完成信号时,确定所述主CPLD完成所述CPLD升级。
6.根据权利要求4所述的CPLD升级方法,其特征在于,所述CPLD升级系统还包括与所述主CPLD连接的掉电不丢失存储器,所述保存当前运行状态信息,包括:
所述主CPLD将所述当前运行状态信息保存至所述掉电不丢失存储器中。
7.根据权利要求6所述的CPLD升级方法,其特征在于,所述掉电不丢失存储器为SPI闪存。
8.一种CPLD升级系统,其特征在于,包括:基板管理控制器、主CPLD和从CPLD,所述主CPLD通过所述从CPLD向控制器发送电源控制信号,所述基板管理控制器与所述从CPLD之间设有升级生效信号,其中,
所述基板管理控制器,用于在确定所述主CPLD完成升级准备时,将所述升级生效信号设置为使能状态;控制所述主CPLD进行CPLD升级;在确定所述主CPLD完成所述CPLD升级时,将所述升级生效信号设置为禁用状态;
所述主CPLD,用于在所述基板管理控制器控制下进行所述CPLD升级;
所述从CPLD,用于在确定所述升级生效信号为所述使能状态时,锁定当前电源控制信号,并利用所述当前电源控制信号对所述控制器进行控制;在确定所述升级生效信号为所述禁用状态时,释放当前电源控制信号,并利用所述主CPLD发送的电源控制信号对所述控制器进行控制。
9.根据权利要求8所述的CPLD升级系统,其特征在于,所述基板管理控制器,还用于在确定所述主CPLD完成升级准备时,将所述升级生效信号设置为高电平;在确定所述主CPLD完成升级准备时,将所述升级生效信号设置为低电平。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现如权利要求1至7任一项所述的CPLD升级方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210007572.7A CN114035831B (zh) | 2022-01-06 | 2022-01-06 | 一种cpld升级方法、系统及计算机可读存储介质 |
PCT/CN2022/095377 WO2023130649A1 (zh) | 2022-01-06 | 2022-05-26 | 一种cpld升级方法、系统及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210007572.7A CN114035831B (zh) | 2022-01-06 | 2022-01-06 | 一种cpld升级方法、系统及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114035831A true CN114035831A (zh) | 2022-02-11 |
CN114035831B CN114035831B (zh) | 2022-04-22 |
Family
ID=80147296
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210007572.7A Active CN114035831B (zh) | 2022-01-06 | 2022-01-06 | 一种cpld升级方法、系统及计算机可读存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN114035831B (zh) |
WO (1) | WO2023130649A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023130649A1 (zh) * | 2022-01-06 | 2023-07-13 | 苏州浪潮智能科技有限公司 | 一种cpld升级方法、系统及计算机可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110096291A (zh) * | 2019-04-15 | 2019-08-06 | 新华三技术有限公司 | 电源管理芯片升级电路、方法及网络设备 |
CN110673867A (zh) * | 2019-09-06 | 2020-01-10 | 苏州浪潮智能科技有限公司 | Cpld在线升级方法、装置及系统 |
CN111399879A (zh) * | 2020-03-12 | 2020-07-10 | 苏州浪潮智能科技有限公司 | 一种cpld的固件升级系统和方法 |
CN113687842A (zh) * | 2020-05-18 | 2021-11-23 | 佛山市顺德区顺达电脑厂有限公司 | 更新韧体不需断电的服务器及主板模块 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105094876B (zh) * | 2014-05-20 | 2019-02-12 | 华为技术有限公司 | Cpld的升级处理方法、装置和系统 |
CN109408088A (zh) * | 2018-10-09 | 2019-03-01 | 郑州云海信息技术有限公司 | Cpld升级方法、装置、系统和计算机可读存储介质 |
CN210666783U (zh) * | 2019-12-06 | 2020-06-02 | 苏州浪潮智能科技有限公司 | 一种高密度arm微服务器的控制电路 |
CN113157618A (zh) * | 2021-01-12 | 2021-07-23 | 苏州浪潮智能科技有限公司 | 一种升级cpld硬件的装置、方法及电子设备 |
CN113220324B (zh) * | 2021-04-23 | 2023-11-21 | 山东英信计算机技术有限公司 | 一种cpld远程更新的方法、系统及介质 |
CN114035831B (zh) * | 2022-01-06 | 2022-04-22 | 苏州浪潮智能科技有限公司 | 一种cpld升级方法、系统及计算机可读存储介质 |
-
2022
- 2022-01-06 CN CN202210007572.7A patent/CN114035831B/zh active Active
- 2022-05-26 WO PCT/CN2022/095377 patent/WO2023130649A1/zh unknown
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110096291A (zh) * | 2019-04-15 | 2019-08-06 | 新华三技术有限公司 | 电源管理芯片升级电路、方法及网络设备 |
CN110673867A (zh) * | 2019-09-06 | 2020-01-10 | 苏州浪潮智能科技有限公司 | Cpld在线升级方法、装置及系统 |
CN111399879A (zh) * | 2020-03-12 | 2020-07-10 | 苏州浪潮智能科技有限公司 | 一种cpld的固件升级系统和方法 |
CN113687842A (zh) * | 2020-05-18 | 2021-11-23 | 佛山市顺德区顺达电脑厂有限公司 | 更新韧体不需断电的服务器及主板模块 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023130649A1 (zh) * | 2022-01-06 | 2023-07-13 | 苏州浪潮智能科技有限公司 | 一种cpld升级方法、系统及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2023130649A1 (zh) | 2023-07-13 |
CN114035831B (zh) | 2022-04-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20120052406A (ko) | 펌웨어 이미지 갱신 및 관리 | |
US10303459B2 (en) | Electronic system with update control mechanism and method of operation thereof | |
US8972591B2 (en) | Method for downloading software | |
CN106874032B (zh) | 光模块固件升级的方法、装置及光模块 | |
CN103106083B (zh) | 一种固件的加载方法及装置 | |
CN103186390A (zh) | 家庭网关及其软件升级方法 | |
WO2022188690A1 (zh) | 升级电子设备的方法及装置 | |
CN114035831B (zh) | 一种cpld升级方法、系统及计算机可读存储介质 | |
CN110647340A (zh) | 复杂可编程逻辑器件cpld的升级方法和cpld | |
WO2022094855A1 (zh) | 固件升级方法及电子设备 | |
CN113127264A (zh) | 数据存储装置修复方法 | |
CN115113905A (zh) | 固件升级方法和固件升级装置 | |
US11604635B2 (en) | Online program updating method | |
CN115033267A (zh) | 一种设备树镜像版本校验的方法及终端设备 | |
CN111399889A (zh) | 一种服务器uboot分区的更新方法、装置及设备 | |
CN116795408A (zh) | Ecu的软件升级方法、系统及车辆 | |
CN117130672A (zh) | 服务器启动流程控制方法、系统、终端及存储介质 | |
KR102274668B1 (ko) | 차량용 avn 시스템의 소프트웨어 업데이트 제어 장치 및 방법 | |
CN116755749A (zh) | 板载mcu的升级方法、板载mcu、板卡及信息处理系统 | |
CN107526615B (zh) | 一种业务运行过程中的单机程序升级方法及装置 | |
CN116501343A (zh) | 一种程序升级方法、电源及计算设备 | |
CN114546455A (zh) | 一种双分区的mcu软件升级方法及装置 | |
CN114995852A (zh) | 一种设备升级方法、设备及计算机可读存储介质 | |
CN113377425A (zh) | Bmc固件生成方法和装置、bmc启动方法和装置及存储介质 | |
CN113835741A (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 |