一种升级BMC的方法、装置、电子设备及存储介质制造方法及图纸

技术编号:27974681 阅读:26 留言:0更新日期:2021-04-06 14:08
本发明专利技术实施例提供一种升级BMC的方法、装置、电子设备及存储介质。所述方法包括:开启LPC到AHB的通道,以便通过所述AHB控制待升级BMC上的寄存器,其中所述待升级BMC上的寄存器为所述AHB的从机;向所述待升级BMC上的寄存器发送升级指令,通过所述寄存器控制所述待升级BMC完成升级过程。本发明专利技术实施例提供的升级BMC的方法,开启LPC到AHB的通道,从而通过AHB控制待升级BMC上的寄存器完成BMC升级操作,缩短了从CPU侧升级BMC的时间。

【技术实现步骤摘要】
一种升级BMC的方法、装置、电子设备及存储介质
本专利技术实施例涉及通信
,具体涉及一种升级BMC的方法、装置、电子设备及存储介质。
技术介绍
BMC(BoardManagementController,基板管理控制器)是一个设备监控系统,主要通过各类基础的接口来监控设备的状态,如监控CPU的温度、电压、电源等,并在系统硬件出现异常时做相应的调节工作,以保证设备处于健康的状态。目前,BMC的固件程序存放在主板上的flash内,从CPU侧升级BMC使用的是ASPEED提供的socflash程序,擦除flash的某块地址然后进行烧写,烧写完成后再进行回读校验,之后再擦除flash的下一块地址直至完成整个flash烧写校验,然而这种方案升级BMC的时间比较长,通常需要16~20分钟左右。且由于socflash是第三方的工具,无法对其进行优化。
技术实现思路
针对现有技术中的缺陷,本专利技术实施例提供了一种升级BMC的方法、装置、电子设备及存储介质。第一方面,本专利技术实施例提供一种升级BMC的方法,包括:开启LPC到AHB的通道,以便通过所述AHB控制待升级BMC上的寄存器,其中所述待升级BMC上的寄存器为所述AHB的从机;向所述待升级BMC上的寄存器发送升级指令,通过所述寄存器控制所述待升级BMC完成升级过程。如上述方法,可选地,所述待升级BMC上的寄存器包括:所述待升级BMC上FMC的寄存器;相应地,所述向所述待升级BMC上的寄存器发送升级指令,通过所述寄存器控制所述待升级BMC完成升级过程,包括:向所述FMC上的寄存器发送擦除指令,通过所述寄存器控制所述待升级BMC擦除flash中的原有程序;擦除完成之后,向所述FMC上的寄存器发送烧写指令,通过所述寄存器向所述flash中写入升级程序;写入完成之后,向所述FMC上的寄存器发送校验指令,通过所述寄存器控制所述待升级BMC完成升级校验。如上述方法,可选地,所述待升级BMC上的寄存器还包括:所述待升级BMC上SCU的寄存器;相应地,所述向所述FMC上的寄存器发送擦除指令之前,还包括:控制所述待升级BMC上SCU的寄存器,以便关闭所述待升级BMC上的CPU使能。如上述方法,可选地,所述向所述FMC上的寄存器发送擦除指令之前,还包括:控制所述FMC的第一寄存器,以便开启FMC写使能。如上述方法,可选地,所述开启FMC写使能之后,还包括:控制所述FMC的第二寄存器,以便所述FMC根据所述第二寄存器生成第一SPI写指令,并将所述第一SPI写指令发送至flash,以供所述flash开启flash写使能。如上述方法,可选地,所述开启flash写使能之后,还包括:控制所述FMC的第二寄存器,以便所述FMC根据所述第二寄存器生成第一SPI读指令,并将所述第一SPI读指令发送至flash;根据flash返回的第一数值对所述flash的写使能进行校验。如上述方法,可选地,所述向所述FMC上的寄存器发送擦除指令,通过所述寄存器控制所述待升级BMC擦除flash中的原有程序,包括:控制所述FMC的第二寄存器,以便所述FMC根据所述第二寄存器生成SPI擦除指令,并将所述SPI擦除指令发送至flash,以便擦除所述flash中的原有程序;控制所述FMC的第二寄存器,以便所述FMC根据所述第二寄存器生成第二SPI读指令,并将所述第二SPI读指令发送至flash;根据flash返回的第二数值校验所述flash的寄存器的写入过程标志位和擦除成功标志位,判断擦除是否成功。如上述方法,可选地,所述擦除完成之后,向所述FMC上的寄存器发送烧写指令之前,还包括:控制所述FMC的第二寄存器,将所述flash的烧写模式修改为用户模式。如上述方法,可选地,所述向所述FMC上的寄存器发送烧写指令,包括:控制所述FMC的第二寄存器,以便所述FMC根据所述第二寄存器生成第二SPI写指令,通过所述第二SPI写指令将待升级程序写入到所述flash中;校验所述flash的寄存器的写入过程标志位和烧写成功标志位,判断烧写是否成功。如上述方法,可选地,所述控制所述FMC的第二寄存器,以便所述FMC根据所述第二寄存器生成第二SPI写指令,通过所述第二SPI写指令将待升级程序写入到所述flash中,包括:修改所述FMC的第二寄存器的值,以便所述FMC根据所述第二寄存器的值确定待发送的SPI指令为写指令;通过所述AHB的数据线向所述FMC的第二寄存器发送待升级程序;通过所述AHB的数据线向所述FMC的第二寄存器发送待写入flash的地址,以便所述FMC根据所述待升级程序和所述地址生成第二SPI写指令,并将所述第二SPI写指令发送至所述flash。如上述方法,可选地,所述向所述FMC上的寄存器发送校验指令,通过所述寄存器控制所述待升级BMC完成升级校验,包括:控制所述FMC的第二寄存器,以便所述FMC根据所述第二寄存器生成第三SPI读指令,并将所述第三SPI读指令发送至flash;判断flash返回的烧写程序与所述待升级程序是否相同,若相同,则校验成功。如上述方法,可选地,通过所述寄存器控制所述待升级BMC完成升级过程之后,还包括:重启所述BMC。如上述方法,可选地,所述开启LPC到AHB的通道之后,还包括:关闭所述BMC的看门狗程序;相应地,所述重启所述BMC,包括:重启所述BMC的看门狗程序以便重启所述BMC。如上述方法,可选地,所述重启所述BMC之后,还包括:控制所述BMC上SCU的寄存器,以便开启所述待升级BMC上的CPU使能。如上述方法,可选地,所述重启所述BMC的看门狗程序之后,还包括:关闭LPC到AHB的通道。第二方面,本专利技术实施例提供一种升级BMC的装置,包括:开启模块,用于开启LPC到AHB的通道,以便通过所述AHB控制待升级BMC上的寄存器,其中所述待升级BMC上的寄存器为所述AHB的从机;发送模块,用于向所述待升级BMC上的寄存器发送升级指令,通过所述寄存器控制所述待升级BMC完成升级过程。如上述装置,可选地,所述待升级BMC上的寄存器包括:所述待升级BMC上FMC的寄存器;相应地,所述发送模块包括:擦除单元,用于向所述FMC上的寄存器发送擦除指令,通过所述寄存器控制所述待升级BMC擦除flash中的原有程序;烧写单元,用于擦除完成之后,向所述FMC上的寄存器发送烧写指令,通过所述寄存器向所述flash中写入升级程序;校验单元,用于写入完成之后,向所述FMC上的寄存器发送校验指令,通过所述寄存器控制所述待升级BMC完成升级校验。如上述装置,可选地,所述待升级BMC上的寄存器还包括:所述待升级BMC上SCU的寄存器;本文档来自技高网...

【技术保护点】
1.一种升级BMC的方法,其特征在于,包括:/n开启LPC到AHB的通道,以便通过所述AHB控制待升级BMC上的寄存器,其中所述待升级BMC上的寄存器为所述AHB的从机;/n向所述待升级BMC上的寄存器发送升级指令,通过所述寄存器控制所述待升级BMC完成升级过程。/n

【技术特征摘要】
1.一种升级BMC的方法,其特征在于,包括:
开启LPC到AHB的通道,以便通过所述AHB控制待升级BMC上的寄存器,其中所述待升级BMC上的寄存器为所述AHB的从机;
向所述待升级BMC上的寄存器发送升级指令,通过所述寄存器控制所述待升级BMC完成升级过程。


2.根据权利要求1所述的方法,其特征在于,所述待升级BMC上的寄存器包括:所述待升级BMC上FMC的寄存器;
相应地,所述向所述待升级BMC上的寄存器发送升级指令,通过所述寄存器控制所述待升级BMC完成升级过程,包括:
向所述FMC上的寄存器发送擦除指令,通过所述寄存器控制所述待升级BMC擦除flash中的原有程序;
擦除完成之后,向所述FMC上的寄存器发送烧写指令,通过所述寄存器向所述flash中写入升级程序;
写入完成之后,向所述FMC上的寄存器发送校验指令,通过所述寄存器控制所述待升级BMC完成升级校验。


3.根据权利要求2所述的方法,其特征在于,所述待升级BMC上的寄存器还包括:所述待升级BMC上SCU的寄存器;
相应地,所述向所述FMC上的寄存器发送擦除指令之前,还包括:
控制所述待升级BMC上SCU的寄存器,以便关闭所述待升级BMC上的CPU使能。


4.根据权利要求3所述的方法,其特征在于,所述向所述FMC上的寄存器发送擦除指令之前,还包括:
控制所述FMC的第一寄存器,以便开启FMC写使能。


5.根据权利要求4所述的方法,其特征在于,所述开启FMC写使能之后,还包括:
控制所述FMC的第二寄存器,以便所述FMC根据所述第二寄存器生成第一SPI写指令,并将所述第一SPI写指令发送至flash,以供所述flash开启flash写使能。


6.根据权利要求5所述的方法,其特征在于,所述开启flash写使能之后,还包括:
控制所述FMC的第二寄存器,以便所述FMC根据所述第二寄存器生成第一SPI读指令,并将所述第一SPI读指令发送至flash;
根据flash返回的第一数值对所述flash的写使能进行校验。


7.根据权利要求6所述的方法,其特征在于,所述向所述FMC上的寄存器发送擦除指令,通过所述寄存器控制所述待升级BMC擦除flash中的原有程序,包括:
控制所述FMC的第二寄存器,以便所述FMC根据所述第二寄存器生成SPI擦除指令,并将所述SPI擦除指令发送至flash,以便擦除所述flash中的原有程序;
控制所述FMC的第二寄存器,以便所述FMC根据所述第二寄存器生成第二SPI读指令,并将所述第二SPI读指令发送至flash;
根据flash返回的第二数值校验所述flash的寄存器的写入过程标志位和擦除成功标志位,判断擦除是否成功。


8.根据权利要求7所述的方法,其特征在于,所述擦除完成之后,向所述FMC上的寄存器发送烧写指令之前,还包括:
控制所述FMC的第二寄存器,将所述flash的烧写模式修改为用户模式。


9.根据权利要求8所述的方法,其特征在于,所述向所述FMC上的寄存器发送烧写指令,包括:
控制所述FMC的第二寄存器,以便所述FMC根据所述第二寄存器生成第二SPI写指令,通过所述第二SPI写指令将待升级程序写入到所述flash中;
校验所述flash的寄存器的写入过程标志位和烧写成功标志位,判断烧写是否成功。


10.根据权利要求9所述的方法,其特征在于,所述控制所述FMC的第二寄存器,以便所述FMC根据所述第二寄存器生成第二SPI写指令,通过所述第二SPI写指令将待升级程序写入到所述flash中,包括:
修改所述FMC的第二寄存器的值,以便所述FMC根据所述第二寄存器的值确定待发送的SPI指令为写指令;
通过所述AHB的数据线向所述FMC的第二寄存器发送待升级程序;
通过所述AHB的数据线向所述FMC的第二寄存器发送待写入flash的地址,以便所述FMC根据所述待升级程序和所述地址生成第二SPI写指令,并将所述第二SPI写指令发送至所述flash。


11.根据权利要求10所述的方法,其特征在于,所述向所述FMC上的寄存器发送校验指令,通过所述寄存器控制所述待升级BMC完成升级校验,包括:
控制所述FMC的第二寄存器,以便所述FMC根据所述第二寄存器生成第三SPI读指令,并将所述第三SPI读指令发送至flash;
判断flash返回的烧写程序与所述待升级程序是否相同,若相同,则校验成功。


12.根据权利要求3-11任一所述的方法,其特征在于,通过所述寄存器控制所述待升级BMC完成升级过程之后,还包括:
重启所述BMC。


13.根据权利要求12所述的方法,其特征在于,所述开启LPC到AHB的通道之后,还包括:
关闭所述BMC的看门狗程序;
相应地,所述重启所述BMC,包括:
重启所述BMC的看门狗程序以便重启所述BMC。


14.根据权利要求13所述的方法,其特征在于,所述重启所述BMC...

【专利技术属性】
技术研发人员:林志捷
申请(专利权)人:锐捷网络股份有限公司
类型:发明
国别省市:福建;35

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1