【答疑解惑】如何临时解决带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_小田老师1 小时前
AXI_DMA IP核实战:24路并行数据高速存储方案
fpga开发·axi_dma·adc采样并行数据存储·高速并行数据存储
崇子嵘2 小时前
为什么需要“输出锁存”
fpga开发
szxinmai主板定制专家17 小时前
柔宇柔性显示屏+x86、arm显示解决方案,还有库存
arm开发·人工智能·fpga开发
CHY_12818 小时前
JESD204B 协议解析(5)ILA序列
fpga开发·jesd204
yang)21 小时前
PLL之鉴相器PFD
fpga开发
FPGA_无线通信1 天前
RRU CFR算法
fpga开发
国科安芯1 天前
AS32系列MCU芯片TIM模块的捕获和比较
单片机·嵌入式硬件·fpga开发·架构·risc-v
kk哥88991 天前
高性能计算 FPGA 开发:Quartus Prime 18.0 下载安装教程 高带宽内存(HBM2)支持
fpga开发
FPGA_无线通信1 天前
RRU 1588同步
fpga开发