[发明专利]一种面向BMC芯片的固件远程升级方法有效
申请号: | 201710773204.2 | 申请日: | 2017-08-31 |
公开(公告)号: | CN108334367B | 公开(公告)日: | 2021-03-30 |
发明(设计)人: | 刘同强;王朝辉;童元满;赵元 | 申请(专利权)人: | 郑州云海信息技术有限公司 |
主分类号: | G06F8/654 | 分类号: | G06F8/654;G06F8/61 |
代理公司: | 济南信达专利事务所有限公司 37100 | 代理人: | 姜明 |
地址: | 450000 河南省郑州市*** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 面向 bmc 芯片 远程 升级 方法 | ||
1.一种面向BMC芯片的固件远程升级方法,其特征在于:首先构建固件远程升级系统,系统采用CS结构,包括BMC芯片和本地镜像数据库,所述BMC芯片通过网络与本地镜像数据库实现连接;所述BMC芯片采用ARM处理器,所述ARM处理器连接有接口控制逻辑模块和镜像解压与重构逻辑模块,所述接口控制逻辑模块连接有FLASH存储器和接收缓存;所述本地镜像数据库配置有镜像分解与压缩算法模块和镜像数据库模块;
所述镜像解压与重构逻辑模块包括处理器控制单元,译码状态机,原始镜像输入fifo单元和更新镜像输出fifo单元;所述处理器控制单元,原始镜像输入fifo单元和更新镜像输出fifo单元均连接到译码状态机;所述处理器控制单元连接到ARM处理器,所述原始镜像输入fifo单元和更新镜像输出fifo单元均连接到接口控制逻辑模块;所述镜像分解与压缩算法模块用于对比两个版本镜像数据,查找、两个版本镜像数据差异,生成增量文件;
通过在BMC芯片中增加镜像解压与重构逻辑模块,在本地镜像数据库增加镜像分解与压缩算法模块,实现增量固件镜像的快速传输以及加密传输;包括传输准备,数据解压与重构,更新固件和退出更新四步;
具体包括以下步骤:
(1)传输准备
所述镜像分解与压缩算法模块分析镜像差异,生成增量文件,然后通过网络发送镜像传输准备命令到镜像解压与重构逻辑模块;所述镜像解压与重构逻辑模块收到命令后,发送中断到ARM处理器,使ARM处理器进入到刷新处理中断,进入空循环,放弃对FLASH存储器的操作;所述镜像解压与重构逻辑模块接管对FLASH存储器的操作,保存升级的参数,进入刷新固件流程;
(2)数据解压与重构
所述镜像解压与重构逻辑模块接收报文并解析报文动作,读取原始镜像数据,重构更新的镜像数据,输出到镜像接收缓存; 如果为未压缩数据,擦除FLASH存储器并写数据到FLASH存储器;
(3)更新固件
所述镜像解压与重构逻辑模块进行擦除FLASH存储器操作,更新接收缓存的数据到FLASH存储器对应的地址块;
(4)退出更新
所述镜像解压与重构逻辑模块更新完毕最后一个FLASH存储器对应的地址块,放弃对FLASH存储器的接管,发送复位信号到ARM处理器,ARM处理器复位重新启动新的镜像。
2.根据权利要求1所述的面向BMC芯片的固件远程升级方法,其特征在于:所述步骤(1)中,升级的参数包括Opcode参数,Compress参数,Version参数,RESERVE参数,Ecc参数,Data参数,Tran_Num参数和Len参数;
所述Opcode参数为报文编码,0000表示开始传输,1111表示结束传输,0001表示单字节修改,0010表示多字节修改,0011表示单字节添加,0100表示多字节添加,0101表示多字节删除,0110表示顺序读取多个字节;
所述Compress参数为压缩标志,000表示未压缩,001表示增量压缩;
所述Version参数为镜像版本号,所述RESERVE参数为保留位,所述Ecc参数为校验位,所述Data参数为数据位,所述Tran_Num参数为需要传输的字节数,所述Len参数为本报文含有的字节数。
3.根据权利要求1所述的面向BMC芯片的固件远程升级方法,其特征在于:所述步骤(2)中,报文包括流程控制报文,短数据控制报文和长数据控制报文。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于郑州云海信息技术有限公司,未经郑州云海信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710773204.2/1.html,转载请声明来源钻瓜专利网。