最近把C5P开发板(FPGA器件5CGTFD9D5F27C7)的一个demo 移植到C5G 开发板(FPGA器件5CGXFC5C6F27C7)的时候,遇到elf下载失败(先用Quartus Programmer下载sof,再用Eclipse下载elf):

"Launching UART USB LED Nios ll Hardware
configuration' has encountered a problem.
Downloading ELF Process failed

企业微信截图_17611158249634

 

改用友晶工程自带的demobatch运行去下载sof和elf时,提示error如下:

image

Error (209015): Can't configure device. Expected JTAG ID code 0x02B040DD for device 1, but found JTAG ID code 0x02B020DD. Make sure the location of the target device on the circuit board matches the device's location in the device chain in the Chain Description File (.cdf)

image

这个提示说明下载的sof文件对应的器件与当前手边开发板的器件不匹配。对,我需要更新demobatch里面的sof文件和elf文件。

找到工程是\output_files文件夹,发现除了之前保留的UART_USB_LED.sof文件外,还有一个新的UART_USB_LED_time_limited.sof,所以, 我的Programmer下载的是移植前的C5P板子对应的UART_USB_LED.sof。所以nios II 才会提示Downloading ELF Process failed。

产生_time_limited 文件说明有license问题,我的Quartus 是17.1 Lite版本,不需要License,需要查看下Qsys里面的IP是否使用了付费IP:

企业微信截图_17611172689352

 其他外设IP都很普通,再看Nios II IP,工程里面选的是Nios II/f, 改选Nios II/e, 重新Generate HDL... ,重新编译工程,生成的sof就是正常的了。 

image

 

接下来对Eclipes工程的BSP 重新generate,然后build project 产生新的elf文件, 点击Run As—— Nios II hardware 就OK了。

 

所以,遇到开头那种elf下载失败的报错,首先去查sof下载是否与当前硬件相匹配。

 

 PS

  • NIOS II/e: 免费,适合学习和简单应用

  • NIOS II/f: 需要付费License,适合商业高性能应用

对于大多数学习和小型项目,NIOS II/e已经足够使用,而且是完全免费的。