【答疑解惑】如何临时解决带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就可以了,大家可以根据需要自行选择。

相关推荐
ZPC82105 天前
docker 镜像备份
人工智能·算法·fpga开发·机器人
ZPC82105 天前
docker 使用GUI ROS2
人工智能·算法·fpga开发·机器人
tiantianuser5 天前
RDMA设计53:构建RoCE v2 高速数据传输系统板级测试平台2
fpga开发·rdma·高速传输·cmac·roce v2
博览鸿蒙5 天前
FPGA 和 IC,哪个前景更好?怎么选?
fpga开发
FPGA_小田老师5 天前
xilinx原语:ISERDESE2原语详解(串并转换器)
fpga开发·iserdese2·原语·串并转换
tiantianuser5 天前
RDMA设计50: 如何验证网络嗅探功能?
网络·fpga开发·rdma·高速传输·cmac·roce v2
Lzy金壳bing5 天前
基于Vivado平台对Xilinx-7K325t FPGA芯片进行程序在线更新升级
fpga开发·vivado·xilinx
unicrom_深圳市由你创科技5 天前
医疗设备专用图像处理板卡定制
图像处理·人工智能·fpga开发
tiantianuser5 天前
RDMA设计52:构建RoCE v2 高速数据传输系统板级测试平台
fpga开发·rdma·高速传输·cmac·roce v2
luoganttcc6 天前
Taalas 将人工智能模型蚀刻到晶体管上,以提升推理能力
人工智能·fpga开发