Zynq UltraScale+ MPSoC是Xilinx的第二代Zynq产品,以其单芯片、多资源及全可编程的理念在5G无线、ADAS和工业物联网领域占有一席之地。也正因为其集成度高,软件编程难度也增加了一个量级,需要工程师们了解系统架构、芯片资源的功能以及如何做好各部分的衔接,否则沟通成本可能占据了大部分的开发时间,相信用过的读者深有体会。例如一个将FPGA输入图像进行VCU视频编解码的功能需要FPGA工程师、驱动工程师、Linux应用工程师配合完成,在完成之前谁也不确定自己写的代码是否正确,往往需要经历痛苦的交流、调试和更改。
《毫无意义的工作》这本书中有讲到五大类狗屁工作之一:拼接修补者,并拿程序员作为例子,当两个模块设计的足够好的时候,在对接的过程中是不需要有人对其缝缝补补的,这部分修补的工作往往会让人产生无意义感,加剧负面情绪。所以,为了大家的健康和我们的发量,了解Zynq UltraScale+ MPSoC这个平台再去设计是非常有必要的。或者,自己干脆承担芯片所有模块的研发工作,而这个事情很有成就感!
所以这就是这个系列博客的初衷,记录及启发。记录如何一步步实现芯片各部分资源的功能,最终完成我们的目标。其中涉及的知识会非常的多,而这些又是利用好这个芯片的关键。包含但不局限如下:Cameralink输入IP,Cameralink输出IP,Stream数据流、HLS编写图像处理算法、VCU视频编解码、Cortex A53和Cortex R5多核通信,Linux视频采集和显示启动,深度学习DPU集成,模型量化编译与部署。最终的设计会集成上述的所有功能,芯片的每一部分资源都物尽其用。
开发板是一个嵌入式工程师的必备工具,作为