這是《創建 Vitis 加速平臺》系列的第 2 篇博文。
在前文中,我們講解了如何創建硬件以及如何通過 XSA 將元數據 (metadata) 傳遞給 Vitis。
在本文中,我們將講解如何使用此 XSA 以及如何創建在目標平臺上實現設計加速所需的軟件鏡像。
熟悉 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-opencv
petalinux-config -c rootfs
User Packages, and select all here
下一步,將 zocl 驅動節點添加到 system-user.dtsi。
/include/ "system-conf.dtsi"
/{
};
&axi_intc_0 {
xlnx,kind-of-intr = <0x0>;
xlnx,num-intr-inputs = <0x20>;
};
&amba {
zyxclmm_drm {
compatible = "xlnx,zocl";
status = "okay";
interrupt-parent = <&axi_intc_0>;
interrupts = <0? 4>, <1? 4>, <2? 4>, <3? 4>,
<4? 4>, <5? 4>, <6? 4>, <7? 4>,
<8? 4>, <9? 4>, <10 4>, <11 4>,
<12 4>, <13 4>, <14 4>, <15 4>,
<16 4>, <17 4>, <18 4>, <19 4>,
<20 4>, <21 4>, <22 4>, <23 4>,
<24 4>, <25 4>, <26 4>, <27 4>,
<28 4>, <29 4>, <30 4>, <31 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)。
原文標題:開發者分享 | 在 PetaLinux 中為加速平臺創建軟件工程
文章出處:【微信公眾號:XILINX技術社區】歡迎添加關注!文章轉載請注明出處。
責任編輯:haq
-
內核
+關注
關注
3文章
1412瀏覽量
41180 -
Linux
+關注
關注
87文章
11479瀏覽量
213040 -
軟件
+關注
關注
69文章
5137瀏覽量
89024
原文標題:開發者分享 | 在 PetaLinux 中為加速平臺創建軟件工程
文章出處:【微信號:gh_2d1c7e2d540e,微信公眾號:XILINX開發者社區】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
能在Meteor Lake平臺上使用SDK 3.5嗎?
在任何平臺上使用PetaLinux的先決條件

基于Docker鏡像逆向生成Dockerfile

Docker-鏡像的分層-busybox鏡像制作

基于Flexus X加速MySQL鏡像搭建XXL-JOB任務調度平臺

飛凌嵌入式ElfBoard ELF 1板卡-mfgtools燒錄流程介紹之燒寫所需鏡像
HAL庫在Arduino平臺上的使用
NVIDIA IGX平臺加速實時邊緣AI應用

Elektrobit EB zoneo平臺助力提升車輛網絡性能

評論