多个NIOS程序在EPCS中的存储及切换运行*
2017-06-27罗明华
罗明华
(中煤科工集团重庆研究院有限公司,重庆 400039)
多个NIOS程序在EPCS中的存储及切换运行*
罗明华
(中煤科工集团重庆研究院有限公司,重庆 400039)
针对Altera FPGA,提出了一种在EPCS Flash中存入多个NIOS II嵌入式程序(不同的配置文件和NIOS II应用文件)并实现程序间相互切换运行的方法。通过搭建平台并以两个嵌入式程序为例,分别分析了它们的配置及引导流程,阐述了程序存储及切换运行的具体方法,实验结果证明了该方法的可行性。该方法使得带NIOS II软核的FPGA嵌入式系统在调试以及应用上更加方便灵活,尤其针对系统程序的远程更新,在不破坏原有程序的基础上即可完成,大大提升了系统的安全性。
FPGA;NIOS II;EPCS;程序存储;重配置;程序引导
引 言
FPGA(Field Programmable Gate Array,现场可编程门阵列)使用了预建的逻辑块和可重新编程布线资源使其具备自定义硬件功能,当用户在重新编译不同的电路配置时,能够当即呈现全新的特性[1]。尤其是它的嵌入式系统SOPC(System On a Programmable Chip)能够通过选择合适的CPU、外设和存储接口,以及定制硬件加速器等达到每一个新设计周期的独特目标[2]。
随着FPGA嵌入式系统的大规模应用,对程序的变更与维护在所难免,靠编程电缆进行现场的调试与更新十分不便。在具备通信接口的系统中进行程序的远程更新是很好的办法,基本流程是通过通信接口将程序以数据流的形式发送到FPGA中,FPGA使用IAP(In Application Programming,在应用编程)的方法将程序烧写到Flash中,再通过控制RSU(Remore System Update,远程系统更新IP核)进行FPGA的重配置[3]。而由于EPCS自带的引导程序只能识别紧随其后的应用程序,所以IAP烧写程序的同时也将原有基地址上的程序覆盖掉,而在覆盖过程中出现任何异常都极易造成原有程序及系统的崩溃[4]。……
