0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何創(chuàng)建在目標(biāo)平臺(tái)上實(shí)現(xiàn)設(shè)計(jì)加速所需的軟件鏡像

電子工程師 ? 來(lái)源:XILINX技術(shù)社區(qū) ? 作者:XILINX技術(shù)社區(qū) ? 2020-10-26 15:48 ? 次閱讀

這是《創(chuàng)建 Vitis 加速平臺(tái)》系列的第 2 篇博文。

在前文中,我們講解了如何創(chuàng)建硬件以及如何通過(guò) XSA 將元數(shù)據(jù) (metadata) 傳遞給 Vitis。

在本文中,我們將講解如何使用此 XSA 以及如何創(chuàng)建在目標(biāo)平臺(tái)上實(shí)現(xiàn)設(shè)計(jì)加速所需的軟件鏡像。

熟悉 OpenCL 的用戶可能對(duì)“內(nèi)核 (kernel)”一詞已耳熟能詳,在 OpenCL 中執(zhí)行功能的位置即被稱為“內(nèi)核”。

在 Vitis 加速流程中也使用同樣的命名法。但在其中使用 Xilinx Runtime (XRT) API 來(lái)執(zhí)行內(nèi)核。

XRT 基于 Linux 并在 x86 或開(kāi)發(fā)板(AArch64 或 Arm)上運(yùn)行。XRT 的功能與用于其執(zhí)行的架構(gòu)彼此獨(dú)立,即,它并不知曉自己是在 x86 上執(zhí)行還是在開(kāi)發(fā)板(AArch64 或 Arm)上執(zhí)行。

但對(duì)于邊緣(AArch64 或 Arm)平臺(tái),我們需要添加 ZOCL 驅(qū)動(dòng)。ZOCL 驅(qū)動(dòng)用于為每個(gè)內(nèi)核分配資源。在本文中,我們將講解如何向全新或現(xiàn)有 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

打開(kāi)project-spec/meta-user/

conf/user-rootfsconfig,并添加如下內(nèi)容:

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 驅(qū)動(dòng)節(jié)點(diǎn)添加到 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>;

};

};

然后,運(yùn)行以下命令:

petalinux-build

cd images/linux

petalinux-build --sdk

petalinux-package --sysroot

完整性檢查:

在封裝平臺(tái)之前,有必要執(zhí)行完整性檢查,以確保已將 XRT 和 ZOCL 添加到 rootfs 中。

方法是在板上啟動(dòng) Linux 鏡像:

cd images/linux

petalinux-package --boot --fpga --u-boot

將以下文件置于啟動(dòng)器件上,然后啟動(dòng)

image.ub

BOOT.BIN

boot.scr

驗(yàn)證XRT 庫(kù):

在 /usr/lib 目錄中對(duì) XRT 庫(kù)執(zhí)行 grep 操作:

ls /usr/lib | grep libxrt_core

針對(duì) libxilinxopencl 重復(fù)此操作:

ls /usr/lib | grep libxilinxopencl

驗(yàn)證ZOCL DT 節(jié)點(diǎn):

列出 amba 下的所有節(jié)點(diǎn)

ls /sys/devices/platform/amba

至此大功告成。

這樣所得到的 Linux 鏡像中已包含了 XRT 支持,并且針對(duì)開(kāi)發(fā)板已啟用該支持。不僅如此,我們已生成了 Vitis 中執(zhí)行交叉編譯所需的 sysroot。如果您計(jì)劃設(shè)置一系列定制平臺(tái)用于相同架構(gòu),那么只需為每個(gè)版本創(chuàng)建 1 個(gè) sysroot 即可(例如,2020.1)。

原文標(biāo)題:開(kāi)發(fā)者分享 | 在 PetaLinux 中為加速平臺(tái)創(chuàng)建軟件工程

文章出處:【微信公眾號(hào):XILINX技術(shù)社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

責(zé)任編輯:haq

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 內(nèi)核
    +關(guān)注

    關(guān)注

    3

    文章

    1378

    瀏覽量

    40339
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11326

    瀏覽量

    209961
  • 軟件
    +關(guān)注

    關(guān)注

    69

    文章

    4986

    瀏覽量

    87807

原文標(biāo)題:開(kāi)發(fā)者分享 | 在 PetaLinux 中為加速平臺(tái)創(chuàng)建軟件工程

文章出處:【微信號(hào):gh_2d1c7e2d540e,微信公眾號(hào):XILINX開(kāi)發(fā)者社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

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

    目錄 知識(shí)點(diǎn)1:鏡像的分層 示例:進(jìn)入 docker hub查看Jenkins的Dockerfile 知識(shí)點(diǎn)2:base鏡像 知識(shí)點(diǎn)3:scratch鏡像 scratch 鏡像是什么?
    的頭像 發(fā)表于 01-15 10:44 ?38次閱讀
    Docker-<b class='flag-5'>鏡像</b>的分層-busybox<b class='flag-5'>鏡像</b>制作

    華為云 X 實(shí)例的鏡像管理詳解

    部署和遷移業(yè)務(wù)的重要工具。本文將深入探討華為云 X 實(shí)例的鏡像管理,介紹鏡像的類(lèi)型、創(chuàng)建與使用、以及如何進(jìn)行最佳實(shí)踐管理。 1. 什么是云服務(wù)器鏡像 云服務(wù)器
    的頭像 發(fā)表于 01-07 17:01 ?101次閱讀
    華為云 X 實(shí)例的<b class='flag-5'>鏡像</b>管理詳解

    基于Flexus X加速MySQL鏡像搭建XXL-JOB任務(wù)調(diào)度平臺(tái)

    隨著云計(jì)算技術(shù)的飛速發(fā)展,F(xiàn)lexus 云服務(wù)器 X 憑借其高性能和高可用性,成為了眾多企業(yè)和開(kāi)發(fā)者的首選。本文旨在通過(guò)搭建基于 Flexus X 加速 MySQL 鏡像的 XXL-JOB 任務(wù)調(diào)度
    的頭像 發(fā)表于 12-29 15:45 ?141次閱讀
    基于Flexus X<b class='flag-5'>加速</b>MySQL<b class='flag-5'>鏡像</b>搭建XXL-JOB任務(wù)調(diào)度<b class='flag-5'>平臺(tái)</b>

    飛凌嵌入式ElfBoard ELF 1板卡-mfgtools燒錄流程介紹之燒寫(xiě)所需鏡像

    USB OTG燒寫(xiě)所需鏡像在:ELF 1開(kāi)發(fā)板資料包\\06-常用工具\(yùn)\06-4 燒寫(xiě)工具\(yùn)\OTG燒寫(xiě)\\mfgtools\\Profiles\\Linux\\OS Firmware
    發(fā)表于 12-20 09:05

    HAL庫(kù)在Arduino平臺(tái)上的使用

    HAL庫(kù)在Arduino平臺(tái)上的使用 Arduino平臺(tái)是一個(gè)開(kāi)源的電子原型平臺(tái),它包括硬件(基于微控制器的電路板)和軟件(Arduino IDE)。Arduino
    的頭像 發(fā)表于 12-02 14:04 ?373次閱讀

    Elektrobit EB zoneo平臺(tái)助力提升車(chē)輛網(wǎng)絡(luò)性能

    有增無(wú)減。這種快速演變正在影響硬件和軟件的設(shè)計(jì)和性能,并推動(dòng)了對(duì)最大化計(jì)算能力和創(chuàng)建更有效的網(wǎng)絡(luò)通信的需求。為滿足這些需求,汽車(chē)制造商需要智能和可擴(kuò)展的工具來(lái)開(kāi)發(fā)、配置和啟用最新平臺(tái)上的全新功能,并同時(shí)
    的頭像 發(fā)表于 08-27 14:50 ?460次閱讀
    Elektrobit EB zoneo<b class='flag-5'>平臺(tái)</b>助力提升車(chē)輛網(wǎng)絡(luò)性能

    ARM平臺(tái)實(shí)現(xiàn)Docker容器技術(shù)

    平臺(tái)上,而不用擔(dān)心運(yùn)行環(huán)境的變化導(dǎo)致應(yīng)用無(wú)法正常運(yùn)行的情況。 更輕松的維護(hù)和拓展:Docker使用的分層存儲(chǔ)以及鏡像的技術(shù),使得應(yīng)用重復(fù)部分的復(fù)用更為容易,也使得應(yīng)用的維護(hù)更新更加簡(jiǎn)單,基于基礎(chǔ)鏡像
    發(fā)表于 07-25 14:36

    ARM平臺(tái)實(shí)現(xiàn)Docker容器技術(shù)

    T113-i工業(yè)核心板在支持Docker后,其性價(jià)比還將進(jìn)一步提升!圖2基于T113-i平臺(tái)實(shí)現(xiàn)Docker容器技術(shù) 如下為基于全志T113-i工業(yè)平臺(tái),演示Docker安裝、構(gòu)建鏡像
    發(fā)表于 07-17 11:05

    深度學(xué)習(xí)算法在嵌入式平臺(tái)上的部署

    隨著人工智能技術(shù)的飛速發(fā)展,深度學(xué)習(xí)算法在各個(gè)領(lǐng)域的應(yīng)用日益廣泛。然而,將深度學(xué)習(xí)算法部署到資源受限的嵌入式平臺(tái)上,仍然是一個(gè)具有挑戰(zhàn)性的任務(wù)。本文將從嵌入式平臺(tái)的特點(diǎn)、深度學(xué)習(xí)算法的優(yōu)化、部署流程、代碼示例以及面臨的挑戰(zhàn)和未來(lái)趨勢(shì)等方面,詳細(xì)探討深度學(xué)習(xí)算法在嵌入式
    的頭像 發(fā)表于 07-15 10:03 ?1554次閱讀

    在arduino平臺(tái)上開(kāi)發(fā)esp32c3,twai隊(duì)列異常的原因?

    我在arduino平臺(tái)上開(kāi)發(fā)esp32c3。采用了freertos創(chuàng)建了幾個(gè)任務(wù)。主要有主循環(huán)loop和CAN數(shù)據(jù)讀寫(xiě)任務(wù)。主循環(huán)的優(yōu)先級(jí)高于CAN讀寫(xiě)任務(wù)?,F(xiàn)在的問(wèn)題是我在CAN任務(wù)執(zhí)行完畢檢查
    發(fā)表于 06-11 06:16

    用ISD平臺(tái)建立工程后,有軟件可以把在ISD平臺(tái)上編譯后生成的文件用imontionlink直接燒錄進(jìn)芯片嗎?

    用ISD平臺(tái)建立工程后,在ISD平臺(tái)上有燒錄程序的入口,有軟件可以把在ISD平臺(tái)上編譯后生成的文件用imontionlink直接燒錄進(jìn)芯片嗎?
    發(fā)表于 05-20 07:44

    華中科技大學(xué)開(kāi)源鏡像站上線44個(gè)軟件鏡像,歡迎下載

    此站早在去年11月即在學(xué)校內(nèi)部試運(yùn)行,正式開(kāi)放之前,已積累大量開(kāi)放資源,包括44款開(kāi)源軟件的最新版本。截至目前,該鏡像庫(kù)已有超40TB的有效鏡像數(shù)據(jù)。
    的頭像 發(fā)表于 05-09 15:53 ?623次閱讀

    高通支持Meta Llama 3大語(yǔ)言模型在驍龍旗艦平臺(tái)上實(shí)現(xiàn)終端側(cè)執(zhí)行

    高通和Meta合作優(yōu)化Meta Llama 3大語(yǔ)言模型,支持在未來(lái)的驍龍旗艦平臺(tái)上實(shí)現(xiàn)終端側(cè)執(zhí)行。
    的頭像 發(fā)表于 04-20 09:13 ?540次閱讀

    能在Meteor Lake平臺(tái)上使用SDK 3.5嗎?

    SDK 是 3.6 版,不支持 CYPD6127 部件。 那么,我能在 Meteor Lake 平臺(tái)上使用 SDK 3.5 嗎? SDK 3.5 - 平臺(tái)選擇有"MTL" 關(guān)鍵字 :
    發(fā)表于 03-04 06:32

    把CY8C4146平臺(tái)上工程移植到CY8C4147平臺(tái)上,用戶程序沒(méi)運(yùn)行的原因?

    客戶現(xiàn)在想把CY8C4146平臺(tái)上工程移植到CY8C4147平臺(tái)上,在topdesign重新選擇4147,管腳也調(diào)整了一下,編譯重新生成底層代碼,creator4.2IDE編譯沒(méi)報(bào)錯(cuò),同時(shí)同步更新
    發(fā)表于 02-21 06:04