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

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

3天内不再提示

如何在Vitis中封装加速平台?

FPGA之家 来源:FPGA之家 作者:FPGA之家 2020-12-26 10:20 次阅读

这是《创建 Vitis 加速平台》系列的第 3 篇博文。在前文中,我们讲解了如何创建硬件和软件工程。在本文中,我们将讲解如何在 Vitis 中将所有这些工程封装在一起。

在 Vitis 中加速软件功能(创建内核)即表示创建硬件 IP 核,并使用由此产生的基础架构将此功能连接到现有平台。

为此,Vitis 需要重构平台。Vitis 使用 XSA 来重构 Vivado 工程。随后,它将追加经过更新的硬件,并重新创建 Vivado 工程。

其它所有一切都保持不变,当然比特流和生成的内核应用除外。因此,启动镜像不能保持不变。而是由我们提供 BIF 文件,并在其中包含镜像占位符用于在 Vitis 中创建这些镜像。

此外,为了能够执行内核,我们需要为目标硬件执行交叉编译。此处使用的是 PetaLinux 中创建的 sysroot。

准备镜像

为了便于使用,我在此对平台文件进行了组织,但这并非必要步骤。重要的是,请牢记创建 BIF 文件时的启动镜像位置,因为我们使用的是占位符。

mkdir -p sw_comp/src/a53/xrt/image mkdir sw_comp/src/boot

将 image.ub、boot.scr 和 rootfs.cpio.gz 从 PetaLinux image/linux 文件夹复制到 sw_comp/src/a53/xrt/image

将 bl31.elf、uboot.elf、zynqmp_fsbl(已重命名为 fsbl.elf)和 pmufw.elf 从 PetaLinux image/linux 文件夹复制到 sw_comp/src/boot

创建 BIF

BIF 文件在 bootgen 中用于创建 SD 启动镜像。

其中包括 BOOT.BIN 文件中所有分区的位置。以下提供了一个模板。

此处请务必注意,我们只提供占位符文件名,而不提供实际文件名。工具将添加指向这些文件的路径。因此,我建议将所有这些文件保存在相同启动文件夹内。zcu104_base 将用作为平台名称。

the_ROM_image: { [fsbl_config] a53_x64 [bootloader] [pmufw_image] [destination_device=pl] [destination_cpu=a53-0, exception_level=el-3, trustzone] [destination_cpu=a53-0, exception_level=el-2] }

将 linux.bif 复制到 sw_comp/src/boot

创建 init.sh 脚本

启动时将运行此脚本以进行 XRT 设置,并将平台名称传递到 ZOCL。

将 init.sh 复制到 sw_comp/src/a53/xrt/image

cp ./platform_desc.txt /etc/xocl.txt export XILINX_XRT=/usr

将 init.sh 复制到

sw_comp/src/a53/xrt/image

创建 platform_desc.txt

这样即可将平台名称传递到 XRT。此处名称应与 Vivado 中提供的平台名称匹配:

zcu104_base

将 platform_desc.txt 复制到

sw_comp/src/a53/xrt/image

创建 QEMU 文件

Vitis IDE 支持软件仿真和硬件仿真。QEMU 即可用于执行此操作。但我们需要传递 QEMU 机器详细信息

针对 PMU,需使用 pmu_args.txt 执行此操作

-M microblaze-fdt -device loader,file= -machine-path . -display none

将 pmu_args.txt 复制到 sw_comp/src/boot

此外还需要通过 qemu_args.txt 传递 PSU 机器详细信息:

-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=,cpu-num=0 -device loader,file= -boot mode=5

将 qemu_args.txt 复制到

sw_comp/src/boot

在 Vitis 中封装平台

启动 Vitis 并选择“创建平台工程 (Create Platform Project)”:

fab24f46-46d4-11eb-8b86-12bb97331649.png

使用 BIF 中所提供的名称:

faec928c-46d4-11eb-8b86-12bb97331649.png

选择“根据硬件规范 (XSA) 创建 (Create from hardware specification (XSA))”:

fb260ec2-46d4-11eb-8b86-12bb97331649.png

针对操作系统选择 Linux,然后取消勾选“生成启动组件 (generate boot components)”,因为在 PetaLinux 中已创建这些组件:

fb8db3d8-46d4-11eb-8b86-12bb97331649.png

注:此处警告信息仅用于声明需添加 sysroot。

填入上一篇博文中创建的软件镜像:

fd45b57c-46d4-11eb-8b86-12bb97331649.png

然后执行构建:

完成此操作后,平台将置于 exportzcu104_base.... 至此大功告成。

原文标题:创建 Vitis 加速平台第 3 部分:在 Vitis 中封装加速平台

文章出处:【微信公众号:FPGA之家】欢迎添加关注!文章转载请注明出处。

责任编辑:haq

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

    关注

    124

    文章

    7286

    浏览量

    141111
  • Vitis
    +关注

    关注

    0

    文章

    144

    浏览量

    7164

原文标题:创建 Vitis 加速平台第 3 部分:在 Vitis 中封装加速平台

文章出处:【微信号:zhuyandz,微信公众号:FPGA之家】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    Vitis2023.2使用之—— updata to Vitis Unified IDE

    2023.2的classic Vitis IDE工程的方法是编译好vivado工程后重新导出硬件.xsa 基于导出的硬件重新生成平台工程和应用工程。 工程编译好后单击Vitis菜单下的Export
    发表于 03-24 17:14

    Vitis2023.2使用之—— classic Vitis IDE

    Vitis 已经更新到2023.2了,新版本相较于旧版本更新了嵌入式平台,新版平台增加了Versal™ AI 引擎 DSP 设计的增强功能,全新的独立 Vitis 嵌入式软件,最新
    发表于 03-24 16:15

    中封装扩建车规Si/SiC产线

    浙江益中封装技术有限公司宣布其一期扩建项目正式开工。这一重要项目标志着其在车规级半导体封装领域的战略布局迈出了实质性的一步。
    的头像 发表于 01-03 14:54 397次阅读

    中封装扩建车规Si/SiC器件先进封装产线

    近日,据晶能微电子官微消息,浙江益中封装技术有限公司举行一期扩建项目开工仪式。
    的头像 发表于 01-02 11:39 564次阅读

    Vitis 统一软件平台文档

    AMD Vitis 软件平台是一款开发环境,主要用于开发包括 FPGA 架构、Arm 处理器子系统和 AI 引擎在内的设计。Vitis 工具与 AMD Vivado ML 设计套件相结合,可为
    的头像 发表于 12-20 10:00 198次阅读
    <b class='flag-5'>Vitis</b> 统一软件<b class='flag-5'>平台</b>文档

    Vitis加速库:广泛且性能优化的开源库

    Vitis 统一软件平台包括一组广泛的、性能优化的开源库,这些库提供了即开即用的加速功能,并且对现有应用实现最小化代码更改或零更改。
    的头像 发表于 10-30 17:23 332次阅读
    <b class='flag-5'>Vitis</b><b class='flag-5'>加速</b>库:广泛且性能优化的开源库

    【KV260视觉入门套件试用体验】Vitis AI 构建开发环境,并使用inspector检查模型

    /html/docs/install/install.html 这个链接介绍了如何在不同的操作系统和硬件平台上安装和配置 Vitis AI 的相关组件,包括 Vitis AI 优化器、
    发表于 10-14 15:34

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

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

    Vitis统一软件平台文档——应用程序加速开发

    电子发烧友网站提供《Vitis统一软件平台文档——应用程序加速开发.pdf》资料免费下载
    发表于 09-15 11:40 0次下载
    <b class='flag-5'>Vitis</b>统一软件<b class='flag-5'>平台</b>文档——应用程序<b class='flag-5'>加速</b>开发

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

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

    Vitis AI RNN用户指南

    Vitis AI 递归神经网络 (RNN) 工具是 Vitis™ AI 开发环境的一个子模块,专注于在 Xilinx® 硬件平台(包括 Alveo™ 加速器卡)上实现 RNN。这些工具
    发表于 09-13 17:32 0次下载
    <b class='flag-5'>Vitis</b> AI RNN用户指南

    何在Vitis HLS GUI中使用库函数?

    Vitis™ HLS 2023.1 支持新的 L1 库向导,本文将讲解如何下载 L1 库、查看所有可用功能以及如何在 Vitis HLS GUI 中使用库函数。
    的头像 发表于 08-16 10:26 626次阅读
    如<b class='flag-5'>何在</b><b class='flag-5'>Vitis</b> HLS GUI中使用库函数?

    Vitis 统一软件平台文档:应用加速开发

    AMD Vitis 统一软件平台是面向异构应用的开发环境,这些应用支持各种 AMD 器件,如 AMD Alveo 数据中心加速器卡、AMD Versal 自适应 SoC 器件、AMD Kria
    的头像 发表于 07-19 08:05 440次阅读
    <b class='flag-5'>Vitis</b> 统一软件<b class='flag-5'>平台</b>文档:应用<b class='flag-5'>加速</b>开发

    Vitis软件平台安装

    Vitis软件平台由适用于交互式工程开发的集成设计环境和适用于脚本化或手动应用开发的命令行工具组成
    的头像 发表于 07-07 14:14 565次阅读
    <b class='flag-5'>Vitis</b>软件<b class='flag-5'>平台</b>安装

    Vitis IDE Git集成快速入门

    在本快速入门演示中,将探讨如何在 Vitis 中使用 Git 集成以及如何使用团队操作来共享 Vitis 工程。
    的头像 发表于 05-12 15:01 639次阅读
    <b class='flag-5'>Vitis</b> IDE Git集成快速入门