一、eclipse报错
-
1、烧写软件代码出现这样的错误,在run as–>Nios II Hardware时出现错误:Downloading ELF Process failed
在控制台捕获得到的信息,这个信息闪一下就消失了,所以需要截图捕获。可以从信息“verify failed between address 0x0 and 0x1F”知道,是在0x0 and 0x1F地址段验证失败了。通过打开qsys,查看地址的分配,发现是epcs所在的地址。
打开qsys查看:
另外,Nios处理器的复位地址设置为0x0。
从下图中可以看出代码的运行实际上是在onchip ram上运行的,所以需要一个代码搬运的工具(即Bootloader)从epcs(从0x0开始搬运)中搬运到ram,这个搬运工具只有在NiosII flash programmer(下图中)操作时才能下载到板子上,直接run as是不具备这个功能的。
**解决方法:**右键软件工程目录–>Nios II–>BSP editor。弹出下面的对话框,将这两个选项去掉即可。完美解决。这两选项的含义是:复位的时候,允许代码在这里跑程序,代码会下载到ox0地址当中。然而我们run as时,没有将代码搬运的工具下载进去,所以代码搬运不到ram上,代码就无法运行,导致代码烧写错误。取消掉这两个选项之后,代码会直接烧入到ram中而不会烧写到epcs当中。
勾选掉这两个选项之后,run as看到地址变为100020而非0x0,100020这个刚好是onchip_ram的地址。
什么是Bootloader:实现代码的搬运。
各个地址段的含义:
2、问题:设置的内存大小不够,设置大一点
region `tcm_instruction' overflowed by 256 bytes
warning: Unable to reach (null) (at 0x00002018) from the global pointer (at 0x0000e07c) because the offset (-49252) is out of the allowed range, -32678 to 32767.
解决方法:更换为其他的ram
3、重新生成板极支持包
Generate the BSP to update the Makefile, and then build again.
To generate from Eclipse:
1. Right-click the BSP project.
2. In the Nios II Menu, click Generate BSP.
To generate from the command line:
nios2-bsp-generate-files --settings=<settings file> --bsp-dir=<target bsp files directory>
更改了qsys里面的配置,在eclipse中没有重新generate,软件工程右键–>Nios II–>BSP editor–>generate
4、qsys连连看报错:在qsys添加自IP时报错,看了提示信息,其实相关的接口明明已经连接。通过查找资料,按照提示的内容将这三个IP remove掉在重新添加连线(pio_key, jtag_uart,epcs_flash),错误就消失了。网上的说法是高版本的quartus II的一个bug,我这个是17.1的,之前低版本是不会出现这样的问题的。
Error: unsaved.nios2_qsys.irq/epcs_flash.irq: Missing connection start (try "Remove Dangling Connections")
重新添加连线之后:不再报错了。
5、在eclipse中烧写程序的时候出现这样的错误:
Unable to validate connection settings.
Connected system ID hash not found on target at expected base address.
右键软件工程目录–>Run as–>run configurations,将这两个选上。文章来源:https://www.toymoban.com/news/detail-624415.html
文章来源地址https://www.toymoban.com/news/detail-624415.html
--晓凡 2023年3月18日于桂林书
到了这里,关于【三】FPGA软核学习常见的错误(qsys、eclipse)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!