使用Digilent Atyls BSB support中的HDMI核VDMA reset error解决方式
DSD-0000332 9/14/12 Reference Designs Atlys board support files for EDK BSB wizard. Supports EDK 13.2 - 14.2 for both AXI and PLB buses.
在XPS中构建好MicroBlaze嵌入式系统后,在sdk中进行程序设计,但是一旦S2MM通道要进行reset, 就出错了, reset根本不能完成.
后来找了诸多资料,看了诸多帖子,最暴力地方法是在xps中把S2MM通道停用,这样只能输出不能输入了,我先用了这种方法研究了VDMA的输出,成功生成了ColorBar.
另外的方法就是换用一个HDMI的IP, 找了许多,发现有一个avnet的fmc_imagon,不过是用的XSVI的数据,有点落后,很多需要的核如TPG,VDMA都是旧版本,新版ISE中根本找不到.
后来发现,之所以不能复位成功,是因为HDMI input口没有信号,导致无法复位,只要HDMI input口有信号输入,就可以复位成功了.
那么折衷的方法就是设置一个按键, 将程序trap, 等待IIC core读取完edid信息后(很多HDMI源 如果不读取edid, HDMI口就不输出信号.比如我的kindle fire hd 就要先读取30多遍的edid),HDMI input口就有有效信号了,复位就ok了,目前使用的都是这种解决方法