[发明专利]一种基于MicroBlaze软核的FPGA软件在线升级方法在审
| 申请号: | 201410336383.X | 申请日: | 2014-07-15 |
| 公开(公告)号: | CN105320531A | 公开(公告)日: | 2016-02-10 |
| 发明(设计)人: | 彭元;李峰;付晶晶;何子君;武成锋 | 申请(专利权)人: | 北京自动化控制设备研究所 |
| 主分类号: | G06F9/445 | 分类号: | G06F9/445 |
| 代理公司: | 核工业专利中心 11007 | 代理人: | 高尚梅 |
| 地址: | 100074 北*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 microblaze fpga 软件 在线 升级 方法 | ||
1.一种基于MicroBlaze软核的FPGA软件在线升级方法,其特征在于:包含以下步骤:
1)系统配置;2)系统初始化;3)对码;4)FLASH擦除;5)升级文件写入。
2.如权利要求1所述的基于MicroBlaze软核的FPGA软件在线升级方法,其特征在于:所述步骤1)系统配置的具体方法如下:
采用MicroBlaze软核作为在线升级的控制核心,UART和FLASH作为外设直接和MicroBlaze相连;MicroBlaze通过LMB总线与本地存储器控制器相连,同本地块存储器生成的程序寻址空间和数据寻址空间进行交互,通过片上外设PLB总线同UART、外部FLASH、Timer定时器和GPIO外设进行通信,GPIO、Timer定时器和中断控制器外设作为虚拟外设,对切换信号Switch_flag和定时中断进行控制;
FPGA系统的内部UART收发信号分别为Rx和Tx,基于MicroBlaze的在线升级系统收发信号分别为Rxx和Txx,Rx与Rxx同时接收外部UART数据,升级指示信号Switch_flag作为切换信号开关,在进行在线升级过程中将MicroBlaze的Txx信号连接到外部UART,未进行在线更新时将Tx连接到外部UART,使整个系统正常工作。
3.如权利要求2所述的基于MicroBlaze软核的FPGA软件在线升级方法,其特征在于:所述步骤1)系统配置时,由虚拟GPIO外设设计实现指示信号,作为其他模块和在线升级子模块切换UART接口进行完整通信过程的依据。
4.如权利要求1或2所述的基于MicroBlaze软核的FPGA软件在线升级方法,其特征在于:所述步骤2)系统初始化的具体方法如下:
首先对MicroBlaze内核进行初始化,然后对FLASH、UART、GPIO、Timer和中断控制器InterruptController进行初始化,初始化成功后按照FLASH类型将FLASH设置为可读写模式;若系统初始化超时则结束程序,否则上位机发出对码指令。
5.如权利要求4所述的基于MicroBlaze软核的FPGA软件在线升级方法,其特征在于:所述步骤3)对码的具体方法如下:
接收到上位机的对码指令后,则执行对码,若对码成功,利用GPIO信号Switch_flag开关信号将UART回送数据从Tx信号切换为MicroBlaze的Txx信号,并返回对码成功指令,发出FLASH擦除指令,进行FLASH擦除;若对码不成功,则返回对码不成功标志,并进入等待状态,等待重新对码的指令。
6.如权利要求5所述的基于MicroBlaze软核的FPGA软件在线升级方法,其特征在于:在操作UART时,波特率在MHS文件中修改;编写Flash驱动时,在MSS文件中调用EDK自带的XilFlash库函数。
7.如权利要求5所述的基于MicroBlaze软核的FPGA软件在线升级方法,其特征在于:所述步骤4)FLASH擦除的具体方法如下:
FPGA接受到擦除指令后,对外部FLASH执行擦除操作,成功擦除FLASH后,向上位机回送擦除成功指令;否则,返回擦除失败指令,并进入等待状态,等待重新对码的指令。
8.如权利要求7所述的基于MicroBlaze软核的FPGA软件在线升级方法,其特征在于:所述步骤5)升级文件写入的具体方法如下:
上位机接收到擦除成功指令后,将FPGA源程序编译后的二进制bin文件拼装成固定长度数据帧发送给FPGA,FPGA将这些文件写入,若写入成功,则将FLASH置为不可读写模式,并向上位机返回更新成功指令,完成升级;若写入不成功,则向上位机返回帧更新失败指令,上位机重新向FPGA发送FPGA源程序编译后的二进制bin文件拼装成的固定长度数据帧,连续三次帧更新失败后则返回FLASH更新失败指令,并进入等待状态,等待重新对码的指令。
9.如权利要求8所述的基于MicroBlaze软核的FPGA软件在线升级方法,其特征在于:还包括步骤6)更新失败处理,所述步骤6)更新失败处理的具体方法如下:
在Flash中选取一段新的地址将更新文件烧写进去,同时在FPGA中利用ICAP原语对BootLoader进行改进,在异常情况发生时从备份地址启动,并且备份文件中包含在线升级功能,继续对原Flash进行在线升级,直到更新成功后将Bootloader切换成从原来地址启动。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京自动化控制设备研究所,未经北京自动化控制设备研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410336383.X/1.html,转载请声明来源钻瓜专利网。





