<font color="#FF8000">作者:AMD Xilinx实习生Shaoyi Chen及其同学Leslie Xu</font>
本教程将使用ZCU102开发板运行xdpdma例程,程序可以在显示器上显示默认画面。并总结了使用该例程时经常遇到的问题。
1、首先新建vivado工程。
<center><img src="http://xilinx.eetrend.com/files/2022-08/wen_zhang_/100562416-262930-1.p…; alt=""></center>
2、选择ZCU102开发板。
<center><img src="http://xilinx.eetrend.com/files/2022-08/wen_zhang_/100562416-262931-2.p…; alt=""></center>
3、使用板子预测文件。
<center><img src="http://xilinx.eetrend.com/files/2022-08/wen_zhang_/100562416-262932-3.p…; alt=""></center>
4、连接aclk和pl_clk时钟。
<center><img src="http://xilinx.eetrend.com/files/2022-08/wen_zhang_/100562416-262933-4.p…; alt=""></center>
5、双击zynq进行配置,在I/O Configuration一栏取消勾选PCIe,并选择Dual Lower。
<center><img src="http://xilinx.eetrend.com/files/2022-08/wen_zhang_/100562416-262934-5.p…; alt=""></center>
6、首先进行Generate output product ->Create HDL Wrapper,然后进行综合生成比特流。
7、导出硬件工程。
<center><img src="http://xilinx.eetrend.com/files/2022-08/wen_zhang_/100562416-262935-6.p…; alt=""></center>
8、导出时包含比特流。
<center><img src="http://xilinx.eetrend.com/files/2022-08/wen_zhang_/100562416-262936-7.p…; alt=""></center>
9、启动vitis开发工具。
<center><img src="http://xilinx.eetrend.com/files/2022-08/wen_zhang_/100562416-262937-8.p…; alt=""></center>
10、新建Applicantion工程。
<center><img src="http://xilinx.eetrend.com/files/2022-08/wen_zhang_/100562416-262938-9.p…; alt=""></center>
11、在这个位置选择刚刚导出的xsa。
<center><img src="http://xilinx.eetrend.com/files/2022-08/wen_zhang_/100562416-262939-10…; alt=""></center>
12、随意选择一个工程,这里选择Hello World。
<center><img src="http://xilinx.eetrend.com/files/2022-08/wen_zhang_/100562416-262940-11…; alt=""></center>
13、修改BSP。
<center><img src="http://xilinx.eetrend.com/files/2022-08/wen_zhang_/100562416-262941-12…; alt=""></center>
14、选择drivers,将psu_dp的驱动改为dppsu。
<center><img src="http://xilinx.eetrend.com/files/2022-08/wen_zhang_/100562416-262942-13…; alt=""></center>
15、首先对平台进行编译。
<center><img src="http://xilinx.eetrend.com/files/2022-08/wen_zhang_/100562416-262943-14…; alt=""></center>
16、找到Xilinx提供的官方例程。
<center><img src="http://xilinx.eetrend.com/files/2022-08/wen_zhang_/100562416-262944-15…; alt=""></center>
17、导入xdpdma工程。
<center><img src="http://xilinx.eetrend.com/files/2022-08/wen_zhang_/100562416-262945-16…; alt=""></center>
18、编译该工程。
<center><img src="http://xilinx.eetrend.com/files/2022-08/wen_zhang_/100562416-262946-17…; alt=""></center>
19、确保ZCU102的SW6设置为JTAG模式(on on on on)。
<center><img src="http://xilinx.eetrend.com/files/2022-08/wen_zhang_/100562416-262947-18…; alt=""></center>
20、运行程序:
<center><img src="http://xilinx.eetrend.com/files/2022-08/wen_zhang_/100562416-262948-19…; alt=""></center>
实验现象:
这时候串口应该输出以下内容:
<center><img src="http://xilinx.eetrend.com/files/2022-08/wen_zhang_/100562416-262949-20…; alt=""></center>
显示器上应该显示为
<center><img src="http://xilinx.eetrend.com/files/2022-08/wen_zhang_/100562416-262950-21…; alt=""></center>
总结常见问题:
显示wake-up错误。
若使用了DP转HDMI接口的转接器,请更换带有DisplayPort的显示器后重试。
https://support.xilinx.com/s/article/67462?language=en_US
<center><img src="http://xilinx.eetrend.com/files/2022-08/wen_zhang_/100562416-262951-22…; alt=""></center>
2. 显示Training failed。
请尝试更换显示器, 回答记录AR68671里记录了经过测试的显示器列表https://support.xilinx.com/s/article/68671?language=en_US 。
<center><img src="http://xilinx.eetrend.com/files/2022-08/wen_zhang_/100562416-262952-23…; alt=""></center>