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

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 软件
    +关注

    关注

    67

    文章

    4350

    浏览量

    85644
  • 镜像
    +关注

    关注

    0

    文章

    153

    浏览量

    10590
  • OpenCL
    +关注

    关注

    2

    文章

    47

    浏览量

    33128

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

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

收藏 人收藏

    评论

    相关推荐

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

    SDK 是 3.6 版,不支持 CYPD6127 部件。 那么,我能在 Meteor Lake 平台上使用 SDK 3.5 吗? SDK 3.5 - 平台选择有"MTL" 关键字 :
    发表于 03-04 06:32

    把CY8C4146平台上工程移植到CY8C4147平台上,用户程序没运行的原因?

    客户现在想把CY8C4146平台上工程移植到CY8C4147平台上,在topdesign重新选择4147,管脚也调整了一下,编译重新生成底层代码,creator4.2IDE编译没报错,同时同步更新
    发表于 02-21 06:04

    AMD Kria KR260 DPU配置教程

    这篇文章我们将为 AMD Kria KR260 在 AMD Vitis 上创建硬件加速平台。 我们将从 KR260 预设文件开始,添加平台所需
    的头像 发表于 01-12 09:36 582次阅读
    AMD Kria KR260 DPU配置教程

    视觉感知数据流在A1000平台上的基础软件开发

    近日,黑芝麻智能A1000芯片基础软件开发在线研讨会在顺利完结直播。研讨会由黑芝麻智能李坤、中兴通讯李玉鹏两位技术专家主讲,主题分别为《 视觉感知数据流在A1000平台上的基础软件开发》 ,
    的头像 发表于 12-19 15:53 366次阅读
    视觉感知数据流在A1000<b class='flag-5'>平台上</b>的基础<b class='flag-5'>软件</b>开发

    中兴车用操作系统SafetyLinux在A1000平台上的适配

    近日,黑芝麻智能A1000芯片基础软件开发在线研讨会在顺利完结直播。研讨会由黑芝麻智能李坤、中兴通讯李玉鹏两位技术专家主讲,主题分别为 《视觉感知数据流在A1000平台上的基础软件开发》 ,
    的头像 发表于 12-19 15:51 335次阅读
    中兴车用操作系统SafetyLinux在A1000<b class='flag-5'>平台上</b>的适配

    linux镜像制作工具

    Linux镜像制作工具是一类非常重要的工具,可以用于创建定制的Linux操作系统镜像。这些工具可以帮助开发人员、系统管理员和Linux爱好者创建个性化的Linux发行版、定制化的嵌入式
    的头像 发表于 11-23 09:56 828次阅读

    如何使用dockerfile创建镜像

    如何使用Dockerfile创建镜像,包括Dockerfile的语法和常用指令,以及具体操作步骤。 编写Dockerfile Dockerfile是构建Docker镜像的必需文件,可以
    的头像 发表于 11-23 09:52 417次阅读

    keil软件一写空函数就显示目标创建的原因?

    keil 软件 为啥我一写空函数就显示目标创建
    发表于 10-17 07:41

    【KV260视觉入门套件试用体验】Vitis-AI加速的YOLOX视频目标检测示例体验和原理解析

    本文将介绍如何使用Vitis-AI加速YOLOX模型实现视频中的目标检测,并对相关源码进行解读。由于演示的示例程序源码是Vitis-AI开源项目提供的,本文演示之前会介绍所需要的准备工
    发表于 10-06 23:32

    揭秘Vitis嵌入式加速平台创建

    电子发烧友网站提供《揭秘Vitis嵌入式加速平台创建.pdf》资料免费下载
    发表于 09-14 11:05 0次下载
    揭秘Vitis嵌入式<b class='flag-5'>加速</b><b class='flag-5'>平台</b>的<b class='flag-5'>创建</b>

    基于UG1393实现专用加速

    关应用架构的关键决策,包括决定应映射到器件内核的软件函数、所需的并行度及其交付方式。 在第二阶段,开发者实现内核。这主要涉及构建源代码并应用所需的编译器编译指示来
    发表于 09-11 23:38

    RealView调试器4.1版目标配置指南

    RealView Debugger使您能够调试在硬件或软件开发平台上运行的应用程序。 调试应用程序要求您设置与开发平台上的一个或多个目标的连接。 这些连接与定义开发
    发表于 08-18 06:37

    如何为自己的ZYNQ板卡创建Pynq镜像

    Xilinx Pynq 框架允许我们将 Python 和可编程逻辑结合起来。让我们看看如何为自己的ZYNQ板卡创建 Pynq 镜像
    发表于 08-07 09:26 981次阅读
    如何为自己的ZYNQ板卡<b class='flag-5'>创建</b>Pynq<b class='flag-5'>镜像</b>

    基于 FPGA 的目标检测网络加速电路设计

    流水线结构和很强 的并行处理能力,还拥有低功耗、配置方便灵活的特性,可以根据应用需要来编程定制硬 件,已成为研究实现 CNN 硬件加速的热门平台。 综上所述,使用功耗低、并行度高的 FPGA
    发表于 06-20 19:45

    如何在Layerscape平台上启用5G模块?

    到 Layerscape 平台。 3、在OK1028A-C v1.1和OK1046A-C2 v1.1板卡上安装5G模块和5G测试所需软件 。这些电路板 四、测试过程及测试参考结果 5G模块补丁基于linux kernel
    发表于 05-17 06:24