【ZYNQ Ultrascale+ MPSOC FPGA教程】第四章 PL的LED实验
judy 在 周五, 12/25/2020 - 09:56 提交在本例程中,我们要做的是LED灯控制实验,每秒钟控制开发板上的LED灯翻转一次,实现亮、灭、亮、灭的控制。会控制LED灯,其它外设也慢慢就会了。
在本例程中,我们要做的是LED灯控制实验,每秒钟控制开发板上的LED灯翻转一次,实现亮、灭、亮、灭的控制。会控制LED灯,其它外设也慢慢就会了。
很多初学者看到板上只有一个25Mhz时钟输入的时候都产生疑惑,时钟怎么是25Mhz?如果要工作在100Mhz、150Mhz怎么办?其实在很多FPGA芯片内部都集成了PLL,其他厂商可能不叫PLL,但是也有类似的功能模块,通过PLL可以倍频分频,产生其他很多时钟。本实验通过调用PLL IP core来学习PLL的使用、vivado的IP core使用方法。
Zynq UltraScale+ MPSoC系列是Xilinx第二代Zynq平台。其亮点在于FPGA里包含了完整的ARM处理子系统(PS),包含了四核Cortex-A53处理器或双核Cortex-A53加双核Cortex-R5处理器,整个处理器的搭建都以处理器为中心,而且处理器子系统中集成了内存控制器和大量的外设,使处理器核在Zynq中完全独立于可编程逻辑单元
Xilinx为MPSoC支持4种libMali的backend: X11, Wayland/GBM, Fbdev, Headless-EGL。QT支持4种plugin(插件)或者backend,FB,X11,Wayland,eglfs。对不同的plugin(插件)或者backend,QT应用层是一样的。
Zynq-7000和MPSoC有很多MIO管脚。如果外设有中断,也可以通过MIO驱动。
测试环境:Xilinx ZCU106 单板
Xilinx VCU TRD2020.1
Linux 内核配置:根据文档Docker on Zynq Ultrascale+ (Xilinx Yocto Flow),在PetaLinux工程的文件project-spec/meta-user/recipes-kernel/linux/linux-xlnx/user.cfg里添加下列配置项。
刚启动MPSoC的VCU解码器时,解码器先分析码流,得到分辨率信息后再调用回调函数分配buffer。这会耗费时间,增加延迟。如果希望减少延迟,可以使用prealloc-args参数,提前指定视频分辨率信息,提前分配buffer。
ZYNQ UltraScale+ MPSoC支持支持USB3.0,其功能通过PS侧GTR接口实现。实际设计中,有时希望仅支持USB2.0即可。这里,概要描述仅需要USB2.0场景下的软硬件设计及调试过程。我们在实际设计中,采用了与ZCU102相同的USB PHY芯片(Microchip/USB3320)
GCC编译代码时,缺省是在目录/usr/include查找头文件,在目录/usr/lib查找库文件。如果是交叉编译,就不能在主机的目录下查找头文件和库文件,因为它们包含的是主机的应用程序的文件。我们需要指定目标单板的头文件和库文件。对于这种需求,GCC使用选项sysroot来实现
有工程师反馈R5引导A53和R5的应用程序后,A53和R5的应用程序没有正确执行。因此做了一个MPSoC R5引导4个A53和两个R5的应用程序的例子。