這是《創建 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 = <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>, 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)。
如需了解后續步驟,請參閱本系列博客的第 3 部分:在 Vitis 中封裝加速平臺
責任編輯:lq
-
軟件
+關注
關注
69文章
5076瀏覽量
88652 -
鏡像
+關注
關注
0文章
175瀏覽量
10976 -
OpenCL
+關注
關注
2文章
48瀏覽量
33572
原文標題:創建 Vitis 加速平臺第 2 部分:在 PetaLinux 中為加速平臺創建軟件工程
文章出處:【微信號:FPGA-EETrend,微信公眾號:FPGA開發圈】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
Oracle 與 NVIDIA 合作助力企業加速代理式 AI 推理

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

HAL庫在Arduino平臺上的使用
MK米客方德SD NAND:STM32平臺上的存儲方案

評論