一种固件升级方法、装置、BMC芯片、服务器及介质制造方法及图纸

技术编号:38194870 阅读:9 留言:0更新日期:2023-07-20 21:15
本发明专利技术涉及计算机技术领域,公开了一种固件升级方法、装置、BMC芯片、服务器及介质,方法包括:协处理器上电加载协处理器系统,并初始化与主处理器的核间通信;主处理器上电加载主处理器系统,并通过加载总线驱动释放总线控制权;主处理器发送总线控制权释放消息到协处理器;协处理器响应于总线控制权释放消息,接管总线控制权;主处理器发送新固件以及固件升级消息到协处理器;协处理器响应于固件升级消息,通过总线将新固件写入对应的服务器硬件模块,以对服务器硬件模块的固件进行升级。本发明专利技术通过协处理器完成了固件升级任务,减轻主处理器开销,提升了BMC的整体性能。提升了BMC的整体性能。提升了BMC的整体性能。

【技术实现步骤摘要】
一种固件升级方法、装置、BMC芯片、服务器及介质


[0001]本专利技术涉及计算机
,具体涉及一种固件升级方法、装置、BMC芯片、服务器及介质。

技术介绍

[0002]基板管理控制器(Board Management Controller,BMC)是一种对服务器进行设备信息管理、状态监控、远程控制和维护管理的控制器芯片。随着BMC的不断更新换代,新一代的BMC芯片AST2600在性能上较前一代有显著提升,为服务器主板实现更多功能提供了可能性。 AST2600芯片提供了3个ARM处理器,处理器数量相比上一代产品增加了2个,具体包括两个Cortex A7主处理器和一个Cortex M3协处理器。目前,类似于这种多处理器的BMC芯片对服务器的相关固件进行升级均是通过主处理器(如Cortex A7)完成,协处理器(例如Cortex M3)处于空闲状态,针对协处理器的有效使用一直是个难题,使主处理器任务繁重,BMC芯片整体性能低下。

技术实现思路

[0003]有鉴于此,本专利技术提供了一种固件升级方法、装置、BMC芯片、服务器及介质,以解决协处理器在固件升级时使用率低,使主处理器任务繁重,BMC芯片整体性能低下的问题。
[0004]第一方面,本专利技术提供了一种固件升级方法,应用于协处理器,方法包括:上电加载协处理器系统,并与主处理器建立核间通信;接收主处理器发送的总线控制权释放消息,总线控制权释放消息是主处理器上电加载主处理器系统后,通过加载总线驱动释放了总线控制权发送的通知消息;响应于总线控制权释放消息,接管总线控制权;接收主处理器发送的新固件以及固件升级消息;响应于固件升级消息,通过总线将新固件写入对应的服务器硬件模块,以对服务器硬件模块的固件进行升级。
[0005]本实施例在协处理器中预先部署协处理器的操作系统,在协处理器上电启动系统后,令协处理器能够主动建立与主处理器的核间通信,主处理器上电启动系统后,令主处理器释放总线控制权,从而通过协处理器与主处理器的核间通信发送释放控制权的通知消息到协处理器,以使协处理器及时接管总线控制权。进而当主处理器接收到固件升级任务时,主处理器可以将新固件发送给协处理器,以使接管了总线控制权的协处理器执行固件升级,对于协处理器分担主核任务提供了新的方向,以双系统架构完成固件升级任务,分担了主处理器的任务,减轻主处理器开销,提升了BMC的整体性能。
[0006]在一种可选地实施方式中,协处理器通过初始化的方式与主处理器建立核间通信,具体包括:配置共享内存以及中断信号格式,共享内存用于主处理器和协处理器共同进行读写数据,中断信号格式用于主处理器和协处理器互相发送对应格式的中断信号以通知对方从共享内存中读数据;设置中断使能,以开启中断。
[0007]在本实施例中,协处理器在上电启动协处理器系统后通过配置共享内存以及中断信号格式来初始化与主处理器的通信,其中中断信号用于互相通知双方从共享内存中读取
数据,中断信号格式在协处理器系统和主处理器系统中配置相同。通过共享内存的方式便于占有一定存储空间的固件在双核之间稳定传输,相比双核之间仅仅利用信号机制完成通信,固件的传输过程更加稳定可靠。
[0008]在一种可选地实施方式中,接收主处理器发送的总线控制权释放消息,包括:接收主处理器发送的第一中断信号,第一中断信号是主处理器通过预设的核间通信驱动函数将总线控制权释放消息存入共享内存之后发送的中断信号;响应于第一中断信号,通过预设的核间通信驱动函数从共享内存中读取总线控制权释放消息。
[0009]在本实施例中,通过核间中断和共享内存传递总线控制权释放消息,保证了总线控制权释放消息的稳定传输。同时,令协处理器根据总线控制权释放消息知晓主处理器系统已经释放了总线控制权,从而协处理器能够接管总线控制权,进而通过总线与服务器硬件模块进行通信,控制服务器硬件模块的固件升级,提高了协处理器的利用率,提升BMC的整体性能。
[0010]在一种可选地实施方式中,接收主处理器发送的新固件以及固件升级消息,包括:接收主处理器发送的第二中断信号,第二中断信号是主处理器通过预设的核间通信驱动函数将新固件和固件升级消息存入共享内存之后发送的中断信号;响应于第二中断信号,通过预设的核间通信驱动函数从共享内存中读取新固件和固件升级消息。
[0011]在本实施例中,当协处理器接管了总线控制权后,主处理器根据收到的固件升级任务通过第二中断信号和共享内存将新固件稳定传递给协处理器,以使协处理器利用总线向服务器硬件模块写入新固件,覆盖旧固件,从而实现了基于协处理器的固件升级任务,提高了协处理器的利用率,提升BMC的整体性能。
[0012]在一种可选地实施方式中,在接收主处理器发送的新固件以及固件升级消息之前,方法还包括:通过总线从待升级的服务器硬件模块中读取旧固件信息;通过预设的核间通信驱动函数将旧固件信息写入共享内存;发送第三中断信号到主处理器,以使主处理器响应于第三中断信号,通过预设的核间通信驱动函数从共享内存中读取旧固件信息,并将旧固件信息保存在主处理器系统关联的数据库中。
[0013]在本实施例中,当协处理器接管了访问服务器硬件模块的总线控制权后,还从待升级的服务器硬件模块中读取已安装的旧固件信息,同样通过中断信号和共享内存将旧固件信息传递到主处理器,主处理器将接收到的旧固件信息保存在主处理器系统关联的数据库中,能够对服务器硬件模块的历史固件版本和升级记录进行留档,便于用户后期问题溯源时灵活调取。
[0014]在一种可选地实施方式中,方法还包括:当服务器硬件模块的固件升级完成时,通过总线从服务器硬件模块中读取当前固件信息;通过核间通信驱动函数向共享内存写入升级结束消息和当前固件信息;发送第四中断信号到主处理器,以使主处理器响应于第四中断信号,通过预设的核间通信驱动函数从共享内存中读取升级结束消息和当前固件信息,并使主处理器响应于升级结束消息,将当前固件信息与数据库中保存的旧固件信息进行比对,同时根据比对结果判断升级是否成功。
[0015]本实施例基于上述主处理器系统数据库中保存的旧固件信息,每当新固件升级完成时,协处理器还读取升级之后的服务器硬件模块的当前固件信息,从而将当前固件信息发送到主处理器,以使主处理器将当前固件信息和数据库中升级之前的旧固件信息进行比
对,从而能够根据比对结果判断升级是否成功,当固件信息比对不一致时,表示服务器硬件模块的固件升级成功,当固件信息比对一致时,表示升级失败,需要重新升级,从而进一步提高了固件升级的稳定性可靠性。
[0016]在一种可选地实施方式中,协处理器系统是实时操作系统。
[0017]在本专利技术实施例中,为协处理器安装实时操作系统,得益于实时操作系统免费且轻量级低功耗的优点,与协处理器的性能更加适配,有效使用提供了可靠性更高的方案。另外得益于实时操作系统体量小、启动快的优点,使协处理器的操作系统比主处理器的操作系统上电启动更早,当协处理器初始化核间通信完成时,主处理器恰好可以执行切换总线控制本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种固件升级方法,其特征在于,应用于协处理器,所述方法包括:上电加载协处理器系统,并与主处理器建立核间通信;接收主处理器发送的总线控制权释放消息,所述总线控制权释放消息是所述主处理器上电加载主处理器系统后,通过加载总线驱动释放了总线控制权发送的通知消息;响应于所述总线控制权释放消息,接管总线控制权;接收主处理器发送的新固件以及固件升级消息;响应于所述固件升级消息,通过总线将所述新固件写入对应的服务器硬件模块,以对所述服务器硬件模块的固件进行升级。2.根据权利要求1所述的方法,其特征在于,协处理器通过初始化的方式与主处理器建立核间通信,具体包括:配置共享内存以及中断信号格式,所述共享内存用于主处理器和协处理器共同进行读写数据,所述中断信号格式用于主处理器和协处理器互相发送对应格式的中断信号以通知对方从所述共享内存中读数据;设置中断使能,以开启中断。3.根据权利要求2所述的方法,其特征在于,所述接收主处理器发送的总线控制权释放消息,包括:接收主处理器发送的第一中断信号,所述第一中断信号是主处理器通过预设的核间通信驱动函数将所述总线控制权释放消息存入所述共享内存之后发送的中断信号;响应于所述第一中断信号,通过预设的核间通信驱动函数从所述共享内存中读取所述总线控制权释放消息。4.根据权利要求2所述的方法,其特征在于,所述接收主处理器发送的新固件以及固件升级消息,包括:接收主处理器发送的第二中断信号,所述第二中断信号是所述主处理器通过预设的核间通信驱动函数将所述新固件和所述固件升级消息存入所述共享内存之后发送的中断信号;响应于所述第二中断信号,通过预设的核间通信驱动函数从所述共享内存中读取所述新固件和所述固件升级消息。5.根据权利要求2所述的方法,其特征在于,在所述接收主处理器发送的新固件以及固件升级消息之前,所述方法还包括:通过总线从待升级的服务器硬件模块中读取旧固件信息;通过预设的核间通信驱动函数将所述旧固件信息写入所述共享内存;发送第三中断信号到主处理器,以使主处理器响应于所述第三中断信号,通过预设的核间通信驱动函数从所述共享内存中读取所述旧固件信息,并将所述旧固件信息保存在所述主处理器系统关联的数据库中。6.根据权利要求5所述的方法,其特征在于,所述方法还包括:当所述服务器硬件模块的固件升级完成时,通过总线从所述服务器硬件模块中读取当前固件信息;通过所述核间通信驱动函数向所述共享内存写入升级结束消息和所述当前固件信息;发送第四中断信号到主处理器,以使主处理器响应于所述第四中断信号,通过预设的
核间通信驱动函数从所述共享内存中读取所述升级结束消息和所述当前固件信息,并使主处理器响应于所述升级结束消息,将所述当前固件信息与所述数据库中保存的旧固件信息进行比对,同时根据比对结果判断升级是否成功。7.根据权利要求1所述的方法,其特征在于,所述协处理器系统是实时操作系统。8.根据权利要求1所述的方法,其特征在于,所述总线是I2C总线,所述接管总线控制权,包括:通过配置系统控制单元寄存器使能所述服务器硬件模块的I2C总线;配置所述服务器硬件模块的 I2C相关寄存器,获得所述服务器硬件模块的I2C总线的控制权。9.一种固件升级方法,其特征在于,应用于主处理器,所述方法包括:上电加载主处理器系统,并通过加载总线驱动释放总线控制权;当协处理器上电加载协处理器系统并与主处理器的核间通信建立完成时,发送总线控制权释放消息到协处理器,以使协处理器响应于所述总线控制权释放消息,接管总线控制权;发送新固件以及固件升级消息到协处理器,以使协处理器响应于所述固件升级消息,通过总线将所述新固件写入对应的服务器硬件模块,以对所述服务器硬件模块的固件进行升级。10.根据权利要求9所述的方法,其特征在于,协处理器通过初始化的方式与主处理器建立核间通信,具体方式为:协处理器通过配置共享内存以及中断信号格式,并设置中断使能来初始化与主处理器的核间通信,所述共享内存用于主处理器和协处理器共同进行读写数据,所述中断信号格式用于主处理器和协处理器互相发送对应格式的中断信号以通知对方从所述共享内存中读数据;所述发送总线控制权释放消息到协处理器,包括:通过预设的核间通信驱动函数将所述总线控制权释放消息存入所述共享内存;发送第一中断信号到协处理器,以使协处理器响应于所述第一中断信号,通过预设的核间通信驱动函数从所述共享内存中读取所述总线控制权释放消息。11.根据权利要求10所述的方法,其特征在于,在所述主处理器系统中部署了前端界面,所述前端界面用于客户端远程访问所述主处理器系统,所述发送新固件以及固件升级消息到协处理器,包括:接收客户端通过所述前端界面上传的新固件;对所述新固件进行校验;将固件升级消息和校验完成的新固件通过所述核间通信驱动函数存入所述共享内存;发送第二中断信号到协处理器,以使协处理器响应于所述第二中断信号,通过所述核间通信驱动函数从所述共享内...

【专利技术属性】
技术研发人员:韩蕾
申请(专利权)人:苏州浪潮智能科技有限公司
类型:发明
国别省市:

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

1