Xilinx官方提供了Zynq MPSoC的应用例程,包括Base Trd和VCU Trd,从Vivado硬件到Petalinux工程介绍的很详细,源代码也都是开源的。为了做到一个工程覆盖所有设计,这些Trd的代码极其规划化和模块化,包罗万象,将所有的功能都放到了一个工程里边。拿Base Trd为例,上层应用代码就足足有12000行代码,通过指令或者QT GUI去操作控制,如下图所示,可以说是非常酷炫。但是缺点也很明显,对于工程师来说这样大的工程需要很丰富的知识储备,阅读代码、理解架构已实属不易,更别说修改其代码、裁剪到只留下自己需要的功能。没有Step By Step的工程实例,只能死磕12000行代码的Base Trd。虽然叫Base Trd,但是更像是Final Trd。这个系列文章将会抽丝剥茧,只实现Trd中自己关心的功能,比如本文要实现的HDMI输入+DP显示,没有多余的逻辑干扰理解。
平台、配件及软件
- ZCU104
- Vivado2020.1
- Petalinux2020.1
- micro usb数据线
- 网线
- HDMI数据线
- DP显示器及数据线
Vivado工程
整个工程的block desigh如下: