1.概述
上篇说到,调用跑HDMI IP核自带的design example,跑出来的结果是显示屏显示彩条,并伴有嘀,嘀,嘀。。。的声音。因为在实际项目中,我们只需要图像,不需要声音的,所以我要把声音给去掉。现在就做个笔记记录一下。
2.vivado工程修改
1.将上篇文章里面的HDMI IP 核的design example 工程打开。点击 open block design,会显示出结构框图。在结构框图中会看到audio_ss_0这个结构如下
点击它左上角的“+”号,会展开它里面的组成部分,如下。这些就是产生那个嘀,嘀,嘀。。。声音的来源,我们要把这些删掉。
2.直接将audio_ss_0这个结构删掉,然后将v_hdmi_tx_ss模块的s_axis_audio_aclk连接到s_axi_cpu_aclk。
3.因为我们把audio_ss_0这个结构删掉了,所以我们要把他的两个约束文件修改一下,就是把删掉的管脚的约束屏蔽掉,不然会报严重的warning.其实步修改也没啥影响。
把上图中的AudioGen.xdc 和 hdmi_acr_ctrl.xdc里面的内容全部屏蔽掉就好了。
到这vivado工程就修改完了。
然后就是像上文一样,首先生成bitstream文件,然后file -> export -> export hardware,勾选include bitstream. 接着 file -> launch SDK.
3.SDK工程修改
SDK工程打开之后,还是像上文一样
1.file -> new ->Board Support Package.然后什么都不用该,选择finnish, 然后选择OK.
2.在SDK工具的主界面上,system.mss tab将会被打开。在system.mss将会有一个名为Peripheral Drivers的部分。从Peripheral Drivers列表中,找到HDMI 1.4/2.0 Transmitter Subsystem driver (v_hdmi_tx_ss)并单击Import example。选择TxOnly_A53.
3.这时候,在SDK工具主界面的左侧的Project explorer 下面的standalone_bsp_0_TxOnly_A53_1文件夹。在他下面有个src文件夹,并且是带有红色的“x”的。也就是说有错误。
4.打开那个提示错误的文件(xhdmi_memu.c),定位到提示错误的那一行,然后把提示错误的那几行全注释掉就好了,对,就是这么简单粗暴。
5.后面的就全跟上文一样,在A53上驱动参考程序,把哪些命令再敲一遍就好了。
下一步工作想试着把那个彩色条纹的数据改成我自己想要的数据,估计有点难度。
最后附上一个效果图:说明,下图中屏幕上的白色区域是反光造成的。