【答疑解惑】如何临时解决带Nios II的FPGA设计在测试时遇到time_limited文件导致elf下载不了的问题

当你用的Quartus工具是Lite版本(免费版),且FPGA工程里面包含一些需要license的IP时,编译工程会生成带有 time-imited的文件(软件提示的原文是:one or more time-imited megafunctions that support the OpenCore Plus feature that will not work after the hardware evaluation time expires)),这种文件可以下载到FPGA进行测试验证,但Nios II 工程的elf文件却没法下载了 。提示:

如下有两种方法可以临时解决带Nios II的FPGA设计在测试时遇到time_limited文件导致elf下载不了的问题。

方法一 直接使用Programmer 和Eclipse 下载sof和elf

  1. 先用Programmer将带time_limited的sof文件下载到FPGA,此时会跳出一个OpenCore Plus Status窗口,保持这个窗口不关闭。
  1. 接下来对Eclipes工程点击Run As------ Nios II hardware 就OK了。

方法二 将elf文件转为hex文件加载到on chip memory IP中,直接通过Programmer下载

在qsys系统中,编辑on chip memory IP,勾选lnitialize memory content和Enable non-default initialization file,并在初始化文件处填入hex文件名:

接着将Qsys系统generate生成sopcinfo文件,在Eclipse里面更新bsp,然后Build Project生成elf文件,把该elf文件转换为前面在qsys中填入的hex文件,可以使用batch文件(本文测试环境是Quartus 17.1 Lite 版本)进行转换:

i.elf文件:填入编译生成的elf文件名;

ii.-o onchip_ram.hex:指定生成的hex文件名,需要与qsys中填入的文件名一致;

iii.-b 0x00040000、-e 0xxx670ff: 是on chip memory的Base地址以及End地址;

iv.-w 32: 是S1 Data width;

修改完成后,将batch文件放置在elf文件所在路径下,并运行gen_ram_hex.bat,此时会生成对应的hex文件:

把hex文件复制到Quartus工程路径:

再编译Quartus工程,此时编译生成的time limited sof中,已经包含了elf,直接下载sof文件,下载成功后保持Open Core Plus Status窗口不关,能正常观察到现象:

如需观测JTAG UART消息打印输出,则需运行Nios II Command Shell,并执行nios2-terminal命令:

总结: 这两种方法都是临时解决测试带Nios II的FPGA设计遇到time_limited文件时的办法。第一种办法简单,第二种办法虽然复杂点,但是后面每次下载文件时可不打开Eclipse,只需要Programmer就可以了,大家可以根据需要自行选择。

相关推荐
FPGA小迷弟4 小时前
FPGA 应用技术能力的完整闭环(5-8)
fpga开发·dsp开发·fpga·sdr·无线电
狂奔蜗牛(bradley)6 小时前
搞定100ns抖动:ARM+FPGA混合EtherCAT主站实战方案
嵌入式硬件·fpga开发
free-elcmacom10 小时前
FPGA学习笔记<2>Verilog输入
fpga开发·硬件工程
学习FPGA的电气小兴兴13 小时前
基于FPGA的CORDIC向量模式实现arctan运算,Verilog HDL实现
嵌入式硬件·fpga开发·数字信号处理·verilog·fpga·cordic·arctan
FPGA小迷弟1 天前
FPGA 应用技术能力的完整闭环(1-4)
fpga开发·dsp开发·fpga·sdr·无线电
Eloudy1 天前
FPGA 开发与 IC 数字前端设计
fpga开发
tju新生代魔迷2 天前
Verilog HDL 学习笔记(十八)| 附录C:关键字、系统任务和编译指令
fpga开发
free-elcmacom2 天前
FPGA学习笔记<1>FPGA的开发流程
fpga开发·硬件工程·hdl
明德扬2 天前
AD9653单通道波形怎么看?幅度、频率与基础测量入门
学习·fpga开发·fpga
ERROR:992 天前
GPT Images 2.5将手稿转时序图效果不佳
fpga开发