要看最终解决办法的往下拉
下面是从bug入手到解决的过程:
先说一下我这边的环境:
win10
vivado2018.3
Zedboard (zynq)
在SDK写好了代码:
点击 Run 出现如下的报错。
点击Details
没有太多信息。网上说的很多可能的原因版本:
0.DDR的配置错误
1.硬件上,检查跳帽有没有切换正确(× 无效)
2.PL资源有没有改动、hdf文件是否匹配(× 无效)
3.开发板与器件设置不匹配 (就是DDR配置不匹配)
4.启动禁用另一个A9的核 (× 无效)
但是最主要其实就是DDR的问题,
可以参见这篇博客 ZYNQ_SDK报错解决.
但是通过总结上面贴子,也就是改一下DDR配置中,memory part就可以解决。打开【block design】的DDR配置页
找到part的选择:
这个怎么选,有两个方法可以解决,第一是系统自己帮你配置;第二是找你自己板子上DDR的信息,然后对应选择。
打开Zedboard的用户手册文档,找到相关DDR的信息:
但是你有可能找到原理图上是这个:
总之,我也不知道原因。下图板块原理图是2020年出的,上图是老版User guide上面的。总之就用上面的 MT41K128M16HA-15E 就可以了。
选好以后。重新生成一下blockdesign
对于位数,32位不用改,因为Zedboard_DDR就是两块16bit的ddr3组成的,所以填32bit不用改。
按照刚刚贴子里面的 ZYNQ_SDK报错解决.
这样就能解决。
但是!!!
并没有,tmd这边还是报错了。因此试了各种方法。最终的解决办法如下:
最终解决办法:
在创建zynq7 PS端IP的时候。先点击【Run Block Automation】这个操作会帮我们按照我们所选择的板子【zedboard】初始化配置。
直接点OK就行,不用改Preset
然后你再去配置你的 外设或者其他的配置信息,默认是有MIO、USB、ULART等。然后生成导出hfd到【SDK】中。
写一个helloworld
连接串口
然后 终于解决了
到此,BUG顺利解决。至于原因,真的很难找到了。如果哪位朋友知道原因 烦请评论一下。