这是《创建 vitis 加速平台》系列的第 2 篇博文。在前文中,我们讲解了如何创建硬件以及如何通过 xsa 将元数据 (metadata) 传递给 vitis。
在本文中,我们将讲解如何使用此 xsa 以及如何创建在目标平台上实现设计加速所需的软件镜像。
您可通过下列链接查看其它各部分:
第 1 部分:在 vivado 中为加速平台创建硬件工程
第 3 部分:在 vitis 中封装加速平台 (请点击“阅读原文”查看)
第 4 部分:在 vitis 中测试定制加速平台(请点击“阅读原文”查看)
引言:
熟悉 opencl 的用户可能对“内核 (kernel)”一词已耳熟能详,在 opencl 中执行功能的位置即被称为“内核”。
在 vitis 加速流程中也使用同样的命名法。但在其中使用 xilinx runtime (xrt) api 来执行内核。
xrt 基于 linux 并在 x86 或开发板(aarch64 或 arm)上运行。xrt 的功能与用于其执行的架构彼此独立,即,它并不知晓自己是在 x86 上执行还是在开发板(aarch64 或 arm)上执行。
但对于边缘(aarch64 或 arm)平台,我们需要添加 zocl 驱动。zocl 驱动用于为每个内核分配资源。在本文中,我们将讲解如何向全新或现有 petalinux 工程添加 xrt 和 zocl。
向 petalinux 工程添加 xrt:
petalinux-create -t project --template zynqmp -n zcu104_base_sw cd zcu104_base_sw petalinux-config --get-hw-description=select dtg settings -> (zcu104-revc) machine_name
打开 project-spec/meta-user/conf/user-rootfsconfig,并添加如下内容:
config_xrt config_xrt-dev config_zocl config_opencl-clhpp-dev config_opencl-headers-dev config_packagegroup-petalinux-opencvpetalinux-config -c rootfs user packages, and select all here
下一步,将 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-build cd images/linux petalinux-build --sdk petalinux-package --sysroot
完整性检查:
在封装平台之前,有必要执行完整性检查,以确保已将 xrt 和 zocl 添加到 rootfs 中。
方法是在板上启动 linux 镜像:
cd images/linux petalinux-package --boot --fpga --u-boot
将以下文件置于启动器件上,然后启动
• image.ub
• boot.bin
• boot.scr
验证 xrt 库:
在 /usr/lib 目录中对 xrt 库执行 grep 操作:
ls /usr/lib | grep libxrt_core
针对 libxilinxopencl 重复此操作:
ls /usr/lib | grep libxilinxopencl
验证 zocl dt 节点:
列出 amba 下的所有节点
ls /sys/devices/platform/amba
至此大功告成。
这样所得到的 linux 镜像中已包含了 xrt 支持,并且针对开发板已启用该支持。不仅如此,我们已生成了 vitis 中执行交叉编译所需的 sysroot。
如果您计划设置一系列定制平台用于相同架构,那么只需为每个版本创建 1 个 sysroot 即可(例如,2020.1)。
如需了解后续步骤,请参阅本系列博客的第 3 部分:在 vitis 中封装加速平台
配置住宅配电箱的注意事项
苹果PowerbeatsPro海外开启预售
光伏将成为全球最主要的电力来源,光伏装机将超过全球总装机的50%
iPhone 12系列发布不再配备充电器和耳机的原因
微软开发可自己写程序人工智能,软件工程师将失业?
如何使用此XSA以及如何创建在目标平台上实现设计加速所需的软件镜像
旧电脑升级SSD提升大么?体验机械硬盘升级aigo国民好物S500
传荣耀和高通将达成芯片供应合作
微信黄金红包怎么发?情人节正式开启公测
通过调节CoP/CeOx p-n 结的电子结构提升电化学析氢性能
华为云 GaussDB,如何为企业数字创新保驾护航?
芯科科技针对最新的蓝牙Mesh1.1标准版本发布技术更新
Rel-16 WUS将降低终端能耗
腾讯叮当发布融合“科技、运动、音乐”三大元素的智能耳机
高效率恒流双段调光调色温SM2212EA替换亚成微RM调光ic
冷却塔品牌排行榜
浅谈集成电路的功能安全
氮化镓第三代半导体材料,在消费电源市场得到广泛应用
在云溪大会上,思必驰带来了智能语音与智能硬件碰撞的火花与惊喜
小马智行在京获自动驾驶“前排无人”阶段测试许可