在 Vitis IDE 中构建裸机 AI 引擎 - 2022.1 简体中文

Versal ACAP AI 引擎编程环境 用户指南 (UG1076)

Document ID
UG1076
Release Date
2022-05-25
Version
2022.1 简体中文
构建裸机系统有别于先前所述的标准应用流程。裸机系统需在 配置硬件链接工程 步骤中对进程添加分支,并指定此分支发生于该步骤之后,随后遵循新的进程进行操作。所需具体步骤如下所述。
  1. 创建裸机平台。构建裸机应用需要具有裸机域的平台。由于 xilinx_vck190_base_202210_1 基础平台不含裸机域,因此您必须使用固定 XSA 文件创建含裸机域的定制平台。
    1. 选择 Vitis IDE 中的File > New > Platform Project(文件 > 新建 > 平台工程)命令。这样即可打开New Platform ProjectWizard(新建平台工程向导),如下所示。

    2. 指定Platform project name(平台工程名称),然后单击Next(下一步)继续。这样即可显示此向导的Platform(平台)页面,以便您在其中指定 XSA 以创建新平台。使用 binary_container_1.xsa

    3. 选择 XSA 后,Vitis IDE 会读取该文件、判定由 XSA 所定义的域的Operating system(操作系统)和Processor(处理器),并在该对话框中进行填充。单击Finish(完成)以创建平台工程。
      提示: 根据为平台所选的固定 XSA,裸机平台对硬件仿真或硬件构建有效。
    4. 单击Build(构建)命令以构建平台。在该工程的导出文件夹中会写入已完成的平台的副本,并在该工程的Explorer(资源管理器)视图内显示此副本。如下图所示,导出的平台包含 platform.xpfm 元数据文件以及平台的不同元素的 ./hw./sw 文件夹。

    Vitis IDE 会将新平台自动添加到您的平台存储库中,使其可用于新工程。您也可在自己的 $PLATFORM_REPO_PATHS 环境变量中添加文件位置。这样此平台即可供 Vitis IDE 访问,或者您可以在命令行中通过引用平台名称而不是整个路径的方式来指定平台。

    重要: 生成的平台将仅用于在流程中构建裸机 PS 应用,而不可作他用。
  2. 创建新的 PS 应用工程。
    1. 选择 Vitis IDE 中的File > New > Application Project(文件 > 新建 > 应用工程)命令。这样即可打开“New Application Project”Wizard(新建应用工程向导)。
    2. 单击Next(下一步)跳过第一页,并显示Platform(平台)页面,如下所示。
    3. 选中您在上一步中创建的baremetal_platform,然后单击Next(下一步)继续。

    4. 提供Application project name(应用工程名称),然后单击Next(下一步)。
    5. 复查Domain(域)页面,然后单击Next(下一步)继续。
    6. Templates(模板)页面上,选中Empty Application(空应用),然后单击Finish(完成)以创建工程。这样会在 Vitis IDE 中打开此工程。
    7. 为 PS 应用 main.cppplatform.cpp 和专为裸机工程编写的关联文件添加源代码。在Explorer(资源管理器)视图中选中该工程、展开文件夹、右键单击 src 文件夹,然后单击Import Sources(导入源文件)命令 () 以打开下图所示对话框。选择要添加的文件,然后单击Finish(完成)。

    8. 您还必须添加裸机 AI 引擎控制文件 (aie_control.cpp),此文件是由 aiecompiler 命令创建的,可在 ./Work/ps/c_rts 文件夹下找到。再次选中 src 文件夹,然后单击Import Sources图标 () 以打开对话框并向工程添加 aie_control.cpp 文件。
    9. 最后,必须将其添加到工程的Include(包含)路径中。右键单击裸机应用工程,然后选中C/C++ Build Settings(C/C++ 构建设置),如下所示。

      该选项会打开Build Settings(构建设置)对话框,如下图所示。如图所示,选中Directories(目录)选项,然后选中Add(添加)命令 () 以添加新的 include 路径。您将需要为自己的原始 AI 引擎 graph 应用添加对应源文件的条目。此处应指定工程的 src 文件夹,如 创建 AI 引擎 graph 工程和顶层系统工程 中所述。它应指向包含 AI 引擎 graph 源文件的文件夹。单击Apply and Close(应用并关闭)完成 include 路径的定义。



      更新Include路径后,请选中Build(构建)() 图标以构建工程。构建完成后,您应可看到对应自己的裸机应用的 ELF 文件。



  3. 封装系统。
    1. 为 PS 应用生成 ELF 文件后,准备即已完成,您可开始构建系统级别工程,并为裸机平台封装该系统。您必须运行封装进程来生成最终可启动镜像 (PDI),并写入 SD 卡内容用于启动器件和运行应用。如需了解更多信息,请参阅 封装
    2. 在您设置 AI 引擎 graph 工程时所创建的系统工程(按 创建 AI 引擎 graph 工程和顶层系统工程 中所述)中,为Packaging options(封装选项)字段添加以下内容:
      --package.ps_elf ../../baremetal_app/Debug/baremetal_app.elf,a72-0
      注释: 要同时调试 AI 引擎 graph 和裸机 PS 应用,请勿添加先前示例中指定的 --package 选项。如果仅需调试 AI 引擎 graph,则需添加所述的选项。
    3. 现在,请构建 () 顶层系统工程。

      这样即可添加您在裸机应用工程中创建的 ELF 文件、将其分配给处理器核并构建系统工程。如需了解更多信息,请参阅 Vitis 统一软件平台文档:应用加速开发(UG1393) 中的 Vitis 编译器命令 中的 --package 选项。

      注释: 在 Linux 系统中,您已向系统工程添加了 PS 应用,它会作为系统的一部分用于构建和调试。您在此处构建 PS 应用作为独立的裸机工程的一部分,并将其作为封装进程的启动文件添加到您的顶层系统中。
鉴于您已构建裸机系统,现在您可继续运行或调试应用。
重要:Vitis IDE 中,您无法为裸机工程调试硬件仿真构建。