【三】FPGA软核学习常见的错误(qsys、eclipse)

一、eclipse报错

  • 1、烧写软件代码出现这样的错误,在run as–>Nios II Hardware时出现错误:Downloading ELF Process failed

    image-20230318080239261

在控制台捕获得到的信息,这个信息闪一下就消失了,所以需要截图捕获。可以从信息“verify failed between address 0x0 and 0x1F”知道,是在0x0 and 0x1F地址段验证失败了。通过打开qsys,查看地址的分配,发现是epcs所在的地址。

image-20230318081519642

打开qsys查看:

image-20230318095901545

另外,Nios处理器的复位地址设置为0x0。

image-20230318101224104

从下图中可以看出代码的运行实际上是在onchip ram上运行的,所以需要一个代码搬运的工具(即Bootloader)从epcs(从0x0开始搬运)中搬运到ram,这个搬运工具只有在NiosII flash programmer(下图中)操作时才能下载到板子上,直接run as是不具备这个功能的。image-20230318101454341

image-20230320103301756

**解决方法:**右键软件工程目录–>Nios II–>BSP editor。弹出下面的对话框,将这两个选项去掉即可。完美解决。这两选项的含义是:复位的时候,允许代码在这里跑程序,代码会下载到ox0地址当中。然而我们run as时,没有将代码搬运的工具下载进去,所以代码搬运不到ram上,代码就无法运行,导致代码烧写错误。取消掉这两个选项之后,代码会直接烧入到ram中而不会烧写到epcs当中。

image-20230318092620348

勾选掉这两个选项之后,run as看到地址变为100020而非0x0,100020这个刚好是onchip_ram的地址。

image-20230318103225211

什么是Bootloader:实现代码的搬运。

各个地址段的含义:

image-20230320101014071

2、问题:设置的内存大小不够,设置大一点

region `tcm_instruction' overflowed by 256 bytes

image-20230318161837435

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

image-20230318162212698

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")

image-20230319144204010

重新添加连线之后:不再报错了。

image-20230319152054208

5、在eclipse中烧写程序的时候出现这样的错误:

Unable to validate connection settings.
Connected system ID hash not found on target at expected base address.

右键软件工程目录–>Run as–>run configurations,将这两个选上。

image-20230319170506728

	--晓凡 2023年3月18日于桂林书
  • 8
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值