0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何使用此XSA以及如何创建在目标平台上实现设计加速所需的软件镜像

YCqV_FPGA_EETre 来源:FPGA开发圈 作者:FPGA开发圈 2020-11-03 11:36 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

这是《创建 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

    文章

    5365

    浏览量

    91959
  • 镜像
    +关注

    关注

    0

    文章

    181

    浏览量

    11711
  • OpenCL
    +关注

    关注

    2

    文章

    48

    浏览量

    34618

原文标题:创建 Vitis 加速平台第 2 部分:在 PetaLinux 中为加速平台创建软件工程

文章出处:【微信号:FPGA-EETrend,微信公众号:FPGA开发圈】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    如何使用 powerquad 加速器中的一些功能以及 CMSIS 原始实现中的一些功能?

    )。 如何使用 powerquad 加速器中的一些功能以及 CMSIS 原始实现中的一些功能。 Example: I do not want to call arm_mat_trans_q15 powerquad
    发表于 04-03 06:37

    深入解析U-Boot image.c:RK平台镜像处理核心逻辑

    在瑞芯微(RK)平台的嵌入式开发中,U-Boot作为核心的启动加载程序,负责完成镜像解析、校验、加载等关键流程。而image.c正是U-Boot中处理镜像(uImage)的核心文件,尤其针对RK
    的头像 发表于 02-24 16:46 1855次阅读
    深入解析U-Boot image.c:RK<b class='flag-5'>平台镜像</b>处理核心逻辑

    AMD与微软与西门子合作加速软件定义汽车发展

    AMD 日前宣布推出新功能,旨在依托微软 Azure云平台上的云端仿真和数字孪生技术,支持汽车软件的前移式开发。通过采用前移式开发方法,OEM 厂商和一级供应商能够提升开发效率、降低开发风险,并加速
    的头像 发表于 01-23 09:15 2171次阅读

    YOLO5目标检测方案-基于米尔RK3576开发板

    据传输以及GPU直接显示的协同优化,能够彻底释放 RK3576平台的异构计算潜力,将端到端延迟控制在数十毫秒内,实现高清、实时的目标检测应用。这一优化思路同样适用于其他具备类似硬件
    发表于 01-22 19:21

    如何在Zynq UltraScale+ MPSoC平台上通过JTAG启动嵌入式Linux镜像

    流程教程)。本文则进一步讲解如何在 Zynq UltraScale+ MPSoC 平台上通过 JTAG 逐步启动 Linux,并提供了完整的过程与关键命令。只要按步骤操作,即使是复杂的 Linux 镜像也能成功通过 JTAG 启动。
    的头像 发表于 01-13 11:45 5098次阅读

    西门子EDA与Arm携手合作加速系统设计验证进程与软件启动

    对芯片设计而言,加速产品的上市流程至关重要。为此,西门子EDA与Arm携手合作,为Arm的合作伙伴提供了一系列基于Arm Neoverse CSS与Arm Zena CSS平台的验证加速方案。期望通过西门子的工具帮助Arm的合作
    的头像 发表于 12-19 09:06 910次阅读
    西门子EDA与Arm携手合作<b class='flag-5'>加速</b>系统设计验证进程与<b class='flag-5'>软件</b>启动

    一个面向单片机、事件驱动的嵌入式开发平台介绍

    EventOS,是一个面向单片机、事件驱动的嵌入式开发平台。它主要有两大技术特色:一是事件驱动,二是超轻量。EventOS以及其母项目EventOS,目标是开发一个企业级的嵌入式开发平台
    发表于 12-05 06:26

    复杂的软件算法硬件IP核的实现

    具体方法与步骤 通过 C 语言实现软件算法,并验证了算法的有效性以后,就可以进行算法的 HDL 转化工作了。通过使用 Altium Designer 的 CHC 编译器(C to Hardware
    发表于 10-30 07:02

    目标追踪的简易实现:模板匹配

    在分析硬件加速之前,首先要弄明白这个算法在软件实现中有哪些冗余的操作:首先是遍历次数多(前文算出来的就已经达到了 82.6 万次),每次遍历都需要对 50 * 50=2500 个像素点作减法、再取
    发表于 10-28 07:21

    请问AICube所需目标检测数据集标注可以使用什么工具?

    请问AICube所需目标检测数据集标注可以使用什么工具? 我使用labelimg进行标注,标注后的数据集改好文件名后导入不进去。一直卡在数据解析界面。 下图所示,数据集文件夹目录,以及xml文件格式
    发表于 08-11 08:07

    水下目标智能识别系统软件平台

    水下目标智能识别系统软件平台
    的头像 发表于 07-16 15:28 698次阅读
    水下<b class='flag-5'>目标</b>智能识别系统<b class='flag-5'>软件</b><b class='flag-5'>平台</b>

    【VisionFive 2单板计算机试用体验】在 VisionFive 2 上为目标检测准备软件环境并运行 MobileNet-SSD 模型

    目标: 本教程将实现在 StarFive VisionFive 2 开发板上为目标检测应用准备所需软件环境,并最终运行一个基于 Mobile
    发表于 07-10 19:51

    基于米尔安路飞龙派FPGA FPSoC+开发环境搭建以及镜像烧录

    的工作目录中。 2、镜像编译和烧录 完成工具链的安装后,参考《MYD-YM90X Linux 软件开发指南.pdf》中的第四章《构建Linux镜像》中指南。首先执行SDK中的开发环境配置脚本,选择对应
    发表于 05-30 22:46

    能在Meteor Lake平台上使用SDK 3.5吗?

    SDK 是 3.6 版,不支持 CYPD6127 部件。 那么,我能在 Meteor Lake 平台上使用 SDK 3.5 吗?
    发表于 05-26 08:01

    Allegro Skill布局功能之整体模块镜像介绍

    使用“整体镜像”功能可以实现快速、批量、多元素的镜像操作,功能可以将整个模块电路快速镜像,包括电路中的走线、铜皮、字符等,有便捷方便的操作
    的头像 发表于 05-08 16:42 2652次阅读
    Allegro Skill布局功能之整体模块<b class='flag-5'>镜像</b>介绍