一种在线更新PowerPC主板引导芯片的方法技术

技术编号:15241290 阅读:120 留言:0更新日期:2017-05-01 01:33
本发明专利技术提供了一种在线更新PowerPC主板引导芯片的方法,所述方法包括了以下步骤:系统上电,可编程逻辑器件FPGA对更新标志位进行维护;进入更新流程时,上位机通过串口传输bootrom镜像文件到系统,更新程序接收并校验镜像内容是否正确;将校验通过的镜像内容写入FPGA可操作地址空间下,由FPGA烧写到工作区,同时将当前镜像备份;再次加电启动,能够成功进入系统则完成此次更新,否则将备份区的备份数据回滚。

Method for on-line updating PowerPC mainboard boot chip

The present invention provides a method for on-line updating the PowerPC motherboard guide chip, the method comprises the following steps: power system, programmable logic device FPGA to update the flag for maintenance; enter the update process, the host computer system through the serial transmission bootrom image file, update and check whether the correct image receiving content check the contents of the mirror; by writing FPGA operational address space, the FPGA burning area, and the current mirror again; power up, can successfully enter the system to complete the update, otherwise the backup data rollback backup area.

【技术实现步骤摘要】

本专利技术涉及一种在线更新PowerPC主板引导芯片bootrom(BootRead-Only-Memory)的方法,特别涉及一种串口在线更新PowerPC主板引导芯片bootrom的方法。
技术介绍
通常PowerPC主板使用bootrom引导芯片实现PowerPC处理器、内存、Cache等基本硬件初始化,并将bootrom内部的镜像拷贝至内存,执行剩余外围硬件接口初始化、系统空间配置等流程,最终完成操作系统的加载及引导。在PowerPC主板前期进行调试,后期对某些硬件功能配置根据实际用户需求调整参数,或是修正留存的问题时,就需要对bootrom进行更新升级。较为常见的做法有两种:一种是直接将bootrom存储使用的芯片从PowerPC主板上取下,借助芯片配套的烧写器设备进行更新。另一种是利用PowerPC处理器对应的JTAG烧写器,插入预留的JTAG接口后,利用JTAG烧写程序进行更新。但上述两种方法均要打开机箱将PowerPC主板拔出处理后,利用特定硬件才能实现bootrom更新,对于已经出厂的整机设备更新bootrom将带来额外的设备维护成本,而操作过程中的插拔芯片或是连接JTAG线缆操作,都可能对PowerPC主板造成损坏。现有在线更新bootrom的方法通常采用下载镜像到bootloader或是操作系统中,由bootloader或操作系统中的更新程序直接更新bootrom芯片中的镜像,这种方法在遇到传输数据出错、设备异常掉电等情况更新失败时,将导致整个PowerPC主板无法使用,目前解决该问题的方法多采用主备镜像分区管理启动,即更新主分区后同时备份镜像,然后让bootrom依次尝试从主分区和备份分区启动。但如果更新后bootrom能够启动,只是启动中途失败,那么同样将导致PowerPC主板无法再次使用,最终只能返厂维修。
技术实现思路
本专利技术要解决的技术问题是提供一种利用串口对PowerPC主板在线更新引导芯片的方法。本专利技术的硬件连接为:将FPGA一端通过局部总线LocalBus连接到PowerPC处理器;FPGA另外一端通过LocalBus与bootrom相连,bootrom芯片内部划分为工作区、备份区和预留区。本专利技术的利用串口对PowerPC主板在线更新引导芯片的方法,依次包括如下步骤:a)上位机程序通过串口将待烧写镜像文件传输至目标PowerPC主板;b)PowerPC主板设置的更新控制程序接收镜像文件并检验文件的正确性;c)写入镜像文件到FPGA映射空间并通知FPGA启动烧写流程,FPGA将镜像文件内容烧写至bootrom芯片指定工作区,同时将原工作区内容备份,置位标志位;d)若PowerPC主板端更新控制程序在接收上位机镜像文件失败,则将回报失败状态给上位机程序;e)FPGA在每次加电时,将判断是否存在烧写标志位,如存在,则等待系统确认烧写标志位被清除,否则将回滚至备份区数据。所述步骤b中的校验文件是指:根据所述上位机程序利用确定的检验算法对待烧写的bootrom镜像文件进行检验,计算得出的校验值将对应唯一的镜像文件,并写入到镜像文件尾部;且上位机传输镜像数据过程中包含对每帧数据的校验;PowerPC主板端更新控制程序将镜像文件接收之后,将重新计算检验和,并回读尾部校验码进行判断,如检验失败,回传上位机文件错误状态。所述步骤c中FPGA映射空间是指:更新控制程序实现FPGA对应烧写操作地址空间到操作系统的指定内存地址空间。所述步骤c中FPGA启动烧写流程是指:FPGA内部程序对bootrom芯片的读、写、删除接口操作的实现,且内部逻辑在接收到启动烧写指令后,自动开始bootrom芯片烧写流程。本专利技术实现了对PowerPC主板bootrom无插拔的在线更新,避免在调试及交付后常规更新bootrom方式所需要的繁琐操作流程,仅利用配套的上位机程序,通过串口传输镜像后即可完成操作。另外,本专利技术方法通过FPGA参与烧写控制,加入了完备的镜像烧写及备份还原机制,提高了bootrom更新的安全性。附图说明图1是本专利技术所涉及的PowerPC主板硬件结构框图;图2是本专利技术所涉及的bootrom引导芯片空间划分示意图;图3是本专利技术所涉及的FPGA开机加电检测流程图;图4是本专利技术所涉及的PowerPC开机加电检测流程图;图5是本专利技术所涉及的FPGA烧写控制流程图。具体实施方式如图1所示,本专利技术的硬件连接为:将FPGA一端通过局部总线LocalBus连接到PowerPC处理器,同时另外一端也通过LocalBus与bootrom相连;如图2所示,bootrom芯片内部划分为工作区、备份区和预留区;FPGA包括FPGA启动控制模块,上电时当更新的镜像不能正常进入系统时回滚至原备份镜像,在下文中有实现的详细流程;FPGA烧写程序模块,提供对bootrom芯片的烧写操作接口,即依据norflash芯片说明,实现寻址、读、写、擦除接口。bootrom更新控制软件分为如下四个模块,传输控制程序模块位于上位机端,负责向PowerPC主板发送待烧写bootrom镜像文件;接收控制程序模块位于PowerPC主板端,由更新指令发起,用于接收上位机传输的镜像文件和将待烧写的镜像文件传送给FPGA;引导控制程序模块位于PowerPC主板端,在引导完成后由操作系统调用,负责在系统成功引导完成后对更新标识进行清空;烧写控制程序模块位于PowerPC主板端,负责初始化底层硬件驱动。在硬件完成的情况下,对引导芯片bootrom的更新过程如下:步骤100:系统上电时,将FPGA可操作地址空间映射到当前系统地址空间中来;步骤200:系统上电时,FPGA启动控制模块和引导控制程序模块对更新标志位检测维护,如果新镜像不能正常使用,回滚并进行正常引导;步骤300:进入更新流程时,上位机中传输控制程序模块向PowerPC中接收控制程序模块传输bootrom镜像文件;步骤400:通过PowerPC中接收控制程序模块校验缓存区数据,校验通过后,重组镜像文件;步骤500:接收控制程序模块将镜像文件写入到FPGA操作地址空间下,并通过FPGA烧写程序模块提供的接口进行烧写。系统上电时,将FPGA操作地址空间映射到当前系统地址空间的步骤为:步骤101初始化PowerPC的LocalBus控制器配置;步骤102在系统地址空间中为LocalBus划分一块区域;步骤103执行地址映射操作。上电时如图3所示,FPGA启动控制模块和引导控制程序模块对更新标志位检测维护,如果新镜像不能正常使用,回滚并进行正常引导:步骤201:上电启动系统;步骤202:FPGA启动控制模块判断bootrom中更新标志位是否为1,如果是1则进行步骤204,否则执行步骤203;步骤203:结束,PowerPC进入正常引导;步骤204:FPGA延时判断更新标志位是否为1,如果是1则执行206,否则执行205;步骤205:结束;步骤206:将备份区中的镜像重新加载到工作区,置更新标识为1,并结束。同时如图4所示,PowerPC进行正常引导工作区中的镜像:步骤207:PowerPC进行正常引导,如果当前bootrom引导成功则进行步骤208;步骤208:通过FPGA置bootrom中更本文档来自技高网
...

【技术保护点】
一种在线更新PowerPC主板引导芯片的方法,其特征在于,所述的方法包括如下步骤:a)上位机程序通过串口将待烧写镜像文件传输至目标PowerPC主板;b)PowerPC主板设置的更新控制程序接收镜像文件并检验文件的正确性;c)写入镜像文件到FPGA映射空间并通知FPGA启动烧写流程,FPGA将镜像文件内容烧写至bootrom芯片指定工作区,同时将原工作区内容备份,置位标志位;d)若PowerPC主板端更新控制程序在接收上位机镜像文件失败,则将回报失败状态给上位机程序;e)FPGA在每次加电时,将判断是否存在烧写标志位,如存在,则等待系统确认烧写标志位被清除,否则将回滚至备份区数据。

【技术特征摘要】
1.一种在线更新PowerPC主板引导芯片的方法,其特征在于,所述的方法包括如下步骤:a)上位机程序通过串口将待烧写镜像文件传输至目标PowerPC主板;b)PowerPC主板设置的更新控制程序接收镜像文件并检验文件的正确性;c)写入镜像文件到FPGA映射空间并通知FPGA启动烧写流程,FPGA将镜像文件内容烧写至bootrom芯片指定工作区,同时将原工作区内容备份,置位标志位;d)若PowerPC主板端更新控制程序在接收上位机镜像文件失败,则将回报失败状态给上位机程序;e)FPGA在每次加电时,将判断是否存在烧写标志位,如存在,则等待系统确认烧写标志位被清除,否则将回滚至备份区数据。2.根据权利要求1所述的在线更新PowerPC主板引导芯片的方法,其特征在于,所述步骤b中的校验文件是指:根据所述上位机程序利用确定的...

【专利技术属性】
技术研发人员:龚俊周加谊李昊哲李泽银袁霞
申请(专利权)人:中国兵器装备集团自动化研究所
类型:发明
国别省市:四川;51

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

1