四时宝库

程序员的知识宝库

NIOS Ⅱ编译时报错(Verify failed between address 0X and 0X)

2020年7月1日


在下载运行NIOS Ⅱ程序时报错,如图1和图2所示:

网上的方法如下:

1、 如图3所示

鼠标右键,选择NIOS Ⅱ—BSP Editor,然后在弹出的对话框中(如图4所示)选择"Generate",再次运行即可!

2、检查硬件焊接是否正常。地址和数据总线有任何焊接问题,都会出现verify failed错误;

3.、检查sopc中的componet是否正常;

4、检查FPGA引脚配置是否设置正确,不能有一个错误;

5、地址对齐问题:针对8、16、32位的外部存储器,对应地址最低位的应该是0、1、2。也就是说如果用16位的外部存储器,那么它的最低位是ADD[1],而ADD[0]是不用的,其他同理;

6、如果是SDRAM,需要计算并设定PLL的相移。


7、以上是我上网查到的相关解决办法,可惜对我都不起作用,经过大半天的浴血奋斗,发现问题所在,首先看你报错的地址,然后进入QSYS配置界面,如图5所示

地址落在了onchip-memory上,我没有使用外部存储芯片,使用的是片上存储,到这一步,大家基本就知道干啥了!首先你可以试着重新分配地址空间,然后看看是否可以解决?如果解决不了,那就和我问题一样,增加片上存储空容量。怎么增加?听我来说,鼠标左键双击onchip_memory_ram,然后如图6所示

如图6红色圈出的部分就是,不要天马行空的更改哈!该部分占用的资源是M9K块资源,不是想要多大就有多大哈!具体增加多少根据你的资源来定。


8、经过第7步的方法的确暂时解决了问题,但经过一段时间后,不知道为什么,又开始报错,但已经无法再扩展存储空间了,于是乎,经过一番磨难,又发现了一个问题,如图7所示

如图7所示,红色圈出的部分,原来在设置NIOS的时候,将"reset vector",也就是复位向量设置和"Exception Vector"同时设置为onchip_memory。将该部分更改为EPCS,成功解决了问题,并且到现在为止(已经调试将近一个月)再没有出现文章开头的错误!我这是"瞎猫碰上死耗子",碰巧解决了。

至于啥是"reset vector"?啥是"Exception Vector"?请自行度娘哈!解释很多很完美。

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言
    友情链接