這是《創(chuàng)建 Vitis 加速平臺》系列的第 3 篇博文。在前文中,我們講解了如何創(chuàng)建硬件和軟件工程。在本文中,我們將講解如何在 Vitis 中將所有這些工程封裝在一起。
在 Vitis 中加速軟件功能(創(chuàng)建內(nèi)核)即表示創(chuàng)建硬件 IP 核,并使用由此產(chǎn)生的基礎(chǔ)架構(gòu)將此功能連接到現(xiàn)有平臺。
為此,Vitis 需要重構(gòu)平臺。Vitis 使用 XSA 來重構(gòu) Vivado 工程。隨后,它將追加經(jīng)過更新的硬件,并重新創(chuàng)建 Vivado 工程。
其它所有一切都保持不變,當(dāng)然比特流和生成的內(nèi)核應(yīng)用除外。因此,啟動鏡像不能保持不變。而是由我們提供 BIF 文件,并在其中包含鏡像占位符用于在 Vitis 中創(chuàng)建這些鏡像。
此外,為了能夠執(zhí)行內(nèi)核,我們需要為目標(biāo)硬件執(zhí)行交叉編譯。此處使用的是 PetaLinux 中創(chuàng)建的 sysroot。
準(zhǔn)備鏡像
為了便于使用,我在此對平臺文件進(jìn)行了組織,但這并非必要步驟。重要的是,請牢記創(chuàng)建 BIF 文件時的啟動鏡像位置,因為我們使用的是占位符。
mkdir -p sw_comp/src/a53/xrt/image mkdir sw_comp/src/boot
將 image.ub、boot.scr 和 rootfs.cpio.gz 從 PetaLinux image/linux 文件夾復(fù)制到 sw_comp/src/a53/xrt/image
將 bl31.elf、uboot.elf、zynqmp_fsbl(已重命名為 fsbl.elf)和 pmufw.elf 從 PetaLinux image/linux 文件夾復(fù)制到 sw_comp/src/boot
創(chuàng)建 BIF
BIF 文件在 bootgen 中用于創(chuàng)建 SD 啟動鏡像。
其中包括 BOOT.BIN 文件中所有分區(qū)的位置。以下提供了一個模板。
此處請務(wù)必注意,我們只提供占位符文件名,而不提供實際文件名。工具將添加指向這些文件的路徑。因此,我建議將所有這些文件保存在相同啟動文件夾內(nèi)。zcu104_base 將用作為平臺名稱。
the_ROM_image: { [fsbl_config] a53_x64 [bootloader]
將 linux.bif 復(fù)制到 sw_comp/src/boot
創(chuàng)建 init.sh 腳本
啟動時將運行此腳本以進(jìn)行 XRT 設(shè)置,并將平臺名稱傳遞到 ZOCL。
將 init.sh 復(fù)制到 sw_comp/src/a53/xrt/image
cp ./platform_desc.txt /etc/xocl.txt export XILINX_XRT=/usr
將 init.sh 復(fù)制到
sw_comp/src/a53/xrt/image
創(chuàng)建 platform_desc.txt
這樣即可將平臺名稱傳遞到 XRT。此處名稱應(yīng)與 Vivado 中提供的平臺名稱匹配:
zcu104_base
將 platform_desc.txt 復(fù)制到
sw_comp/src/a53/xrt/image
創(chuàng)建 QEMU 文件
Vitis IDE 支持軟件仿真和硬件仿真。QEMU 即可用于執(zhí)行此操作。但我們需要傳遞 QEMU 機器詳細(xì)信息。
針對 PMU,需使用 pmu_args.txt 執(zhí)行此操作
-M microblaze-fdt -device loader,file=
將 pmu_args.txt 復(fù)制到 sw_comp/src/boot
此外還需要通過 qemu_args.txt 傳遞 PSU 機器詳細(xì)信息:
-M arm-generic-fdt -serial mon:stdio -global xlnx,zynqmp-boot.cpu-num=0 -global xlnx,zynqmp-boot.use-pmufw=true -net nic -net nic -net nic -net nic -net user -m 4G -device loader,file=
將 qemu_args.txt 復(fù)制到
sw_comp/src/boot
在 Vitis 中封裝平臺
啟動 Vitis 并選擇“創(chuàng)建平臺工程 (Create Platform Project)”:
使用 BIF 中所提供的名稱:
選擇“根據(jù)硬件規(guī)范 (XSA) 創(chuàng)建 (Create from hardware specification (XSA))”:
針對操作系統(tǒng)選擇 Linux,然后取消勾選“生成啟動組件 (generate boot components)”,因為在 PetaLinux 中已創(chuàng)建這些組件:
注:此處警告信息僅用于聲明需添加 sysroot。
填入上一篇博文中創(chuàng)建的軟件鏡像:
然后執(zhí)行構(gòu)建:
完成此操作后,平臺將置于 exportzcu104_base.... 至此大功告成。
原文標(biāo)題:創(chuàng)建 Vitis 加速平臺第 3 部分:在 Vitis 中封裝加速平臺
文章出處:【微信公眾號:FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
責(zé)任編輯:haq
-
封裝
+關(guān)注
關(guān)注
128文章
8685瀏覽量
145510 -
Vitis
+關(guān)注
關(guān)注
0文章
150瀏覽量
7948
原文標(biāo)題:創(chuàng)建 Vitis 加速平臺第 3 部分:在 Vitis 中封裝加速平臺
文章出處:【微信號:zhuyandz,微信公眾號:FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
如何在Unified IDE中創(chuàng)建視覺庫HLS組件

全新AMD Vitis統(tǒng)一軟件平臺2025.1版本發(fā)布
使用AMD Vitis Unified IDE創(chuàng)建HLS組件

如何使用AMD Vitis HLS創(chuàng)建HLS IP

如何在基于Arm Neoverse平臺的CPU上構(gòu)建分布式Kubernetes集群

GPU加速計算平臺的優(yōu)勢
使用AMD Vitis進(jìn)行嵌入式設(shè)計開發(fā)用戶指南

全新AMD Vitis統(tǒng)一軟件平臺2024.2版本發(fā)布
AMD Vitis Unified Software Platform 2024.2發(fā)布
U50的AMD Vivado Design Tool flow設(shè)置

GPU加速計算平臺是什么
如何在采用 SOT563 封裝的 TPS56x242-7 上實現(xiàn)更良好的熱性能

如何在兩種類型的SOT663封裝之間進(jìn)行協(xié)同布局

如何在SOT-563封裝和SOT-236封裝之間實現(xiàn)共同布局

評論