这是“创建Vitis加速平台”中的第二篇博客文章。系列。在上一篇文章中,我们解释了如何创建硬件以及如何通过XSA将元数据传递给Vitis。在本文中,我们将解释如何使用此XSA以及如何创建在目标平台上实现设计加速所需的软件映像。您可以通过以下链接查看其他部分:第1部分:在Vivado中为加速平台创建硬件项目第3部分:在Vitis中封装加速平台(请单击“阅读原始文本”以查看)第4部分:测试在Vitis定制加速平台中(请单击“阅读原始文本”进行查看)简介:熟悉OpenCL的用户可能已经熟悉术语“内核”。在OpenCL中执行功能的位置称为“内核”。在Vitis加速过程中使用相同的术语。但是它使用XilinxRuntime(XRT)API来执行内核。 XRT基于Linux,可在x86或开发板(AArch64或Arm)上运行。 XRT的功能与执行所使用的体系结构无关,也就是说,它不知道它是在x86上还是在开发板(AArch64或Arm)上执行。但是对于边缘(AArch64或Arm)平台,我们需要添加ZOCL驱动程序。 ZOCL驱动程序用于为每个内核分配资源。在本文中,我们将说明如何将XRT和ZOCL添加到新的或现有的PetaLinux项目中。将XRT添加到PetaLinux项目中:petalinux-create-tproject--templatezynqMP-nzcu104_base_swcdzcu104_base_swpetalinux-config--get-hw-description = SelectDTGSettings->(zcu104-revc)MACHINE_NAME打开项目-spec / meta-user / conf / user-rootfsconfig ,并添加以下内容:CONFIG_xrtCONFIG_xrt-devCONFIG_zoclCONFIG_opencl-clhpp-devCONFIG_opencl-headers-devCONFIG_packagegroup-petalinux-opencvpetalinux-config-crootfsUserPackages,然后选择全部,下一步,将zocl驱动程序节点添加到system-user.dtsi。 /include/“system-conf.dtsi”/{};&axi_intc_0{xlnx,kind-of-intr=;xlnx,num-intr-inputs=;};&amba{zyxclmm_drm{compatible=”xlnx ,zocl“; status =” okay“; interrupt-parent =; interrupts = ,,, 4> ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, ,;};};然后,运行以下命令:petalinux-buildcdimages / linuxpetalinux-build--sdkpetalinux-package--sysroot完整性检查:在打包平台之前,有必要执行完整性检查以确保XRT和ZOCL已添加到rootfs中。 。方法是在板上启动Linux映像:cdimages / linuxpetalinux-package--boot--fpga--u-boot将以下文件放在启动设备上,然后启动•image.ub•BOOT.BIN•boot .scr以验证XRT库:在/ usr / lib目录中的XRT库上执行grep操作:ls / usr / lib | greplibxrt_core对libxilinxopencl重复此操作:ls / usr / lib | greplibxilinxopencl验证ZOCLDT节点:全部列出amba ls / sys / devices / platform / amba下的节点到目前为止,您已经完成了。 XRT支持已包含在以此方式获得的Linux映像中,并且已为开发板启用了该支持。不仅如此,我们还生成了在Vitis中执行交叉编译所需的sysroot。如果计划为同一体系结构设置一系列自定义平台,则只需为每个版本创建1个sysroot(例如2020.1)。有关后续步骤,请参阅本系列博客的第3部分:Vitis中的包装加速平台