运行裸机软件仿真 - 2023.2 简体中文

Vitis 统一软件平台文档 应用加速开发 (UG1393)

Document ID
UG1393
Release Date
2023-12-13
Version
2023.2 简体中文

要退出以不再创建用于平台验证的加速应用,您可以运行裸机主机应用仿真以测试平台内的硬件。这样您即可快速测试嵌入式平台,并将结果与通过裸机应用访问各硬件元件所需的驱动程序进行比对。这有助于平台开发者通过简单的应用来确认平台外设功能特性和平台中的定制 IP。此确认要求您将可扩展平台转换为用于裸机软件开发的固定版本。此确认无需 Linux 软件组件。

要创建可扩展平台的固定形式,请使用以下步骤。

从可扩展硬件平台导出固定 XSA
平台类型 中所述,平台一般有两种类型:可扩展平台和固定平台。固定平台支持嵌入式软件开发,不允许您修改器件二进制文件定义的 PL 内核或目标平台。但 AI 引擎流程可允许您在固定平台上修改和重新编译计算图应用。

Vitis 编译器 (v++) 链接进程中构建“Application Project”(应用工程)时,即可生成硬件平台的固定版本 (.xsa),如 构建器件二进制文件 中所述。

Vitis IDE 中,通过启用Hardware Link Project Settings(硬件链接工程设置)视图中的Export hardware (XSA)(导出硬件 (XSA))复选框即可生成固定 XSA。对于命令行流程,则必须在运行 v++ --link 命令期间,给使用的配置文件添加以下选项来启用该功能:
[advanced]
param=compiler.addOutputTypes="hw_export"

Vitis 编译器会导出固定硬件规格,其中包含目标平台的各元素,并且所有加速内核与 AI 引擎计算图均已固定到硬件内。固定 XSA 可以为系统设计提供 BSP,供您用于开发嵌入式软件应用。

重要: 此固定 XSA 与 Vitis 编译器的指定构建目标相匹配。因此,从 hw_emu 构建目标会生成支持硬件仿真的固定 XSA,从 hw 构建目标则会生成支持硬件的固定 XSA。
生成裸机平台
  1. 固定 XSA 可用于创建或生成嵌入式处理器平台的裸机固定版本,用于确认平台。打开 Vitis IDE 并选择File > New > Platform Project(文件 > 新建 > 平台工程)。这样即可打开New Platform ProjectWizard(新建平台工程向导)。
  2. 指定Platform project name(平台工程名称),然后单击Next(下一步)。这样会打开Platform(平台)页面,如下图所示。
  3. 在此对话框中,您可通过如下方式来定义平台:指定XSA File(XSA 文件)的名称,为平台选择Operating system(操作系统)、Processor(处理器)域和Generate boot components(生成启动组件)。

    对于Operating system(操作系统),选择standalone(独立,指定Processor(处理器)和Architecture(架构)以定义该域。如上所示启用Generate boot components,然后单击Finish即可生成裸机嵌入式平台。

    平台设置完成后,您应可看到此平台被添加到可用平台存储库中。您将使用它来创建裸机应用工程,如下文所述。

利用应用工程来确认裸机平台
构建完裸机平台后,您可使用 Arm 处理器上运行的简单应用来确认平台。此方法允许您利用已编译的 ELF 文件来快速实践平台的各项功能特性。
  1. Vitis IDE 中,选择File > New > Application Project(文件 > 新建 > 应用工程)。这样即可打开New Application ProjectWizard(新建应用工程向导)。

    Platform(平台)页面上,选中您在上一步中创建的裸机平台,然后单击Next(下一步)以继续。

  2. New Application ProjectWizard 下一步会显示Application Project Details(应用工程详情)页面。指定Project name(工程名称)和System project name(系统工程名称),然后单击Next(下一步)以继续。
  3. 这样Domain(域)页面会显示选定平台的域信息。单击Next(下一步)以继续。
  4. Templates(模板)页面会显示选定平台的Embedded software development templates(嵌入式软件开发模板)列表。选择Hello World模板或其他简单应用,或者选择Empty Application(空应用)以便您指定自己的源文件,然后单击Finish(完成)以创建应用工程。
  5. 当裸机平台获得裸机应用工程的支持后,您即可开始执行确认。您可以使用此裸机平台,并且仍采用原先用于创建固定 XSA 的构建目标:
    • 如果固定 XSA 是从硬件仿真构建 (v++ --link -t hw_emu) 生成的,那么它可用于在裸机应用工程内执行“Emulation-HW”(硬件仿真)构建。
    • 如果固定 XSA 是从硬件构建 (v++ --link -t hw) 生成的,那么它可用于在裸机应用工程内执行“Hardware”(硬件)构建。
    System Project Settings(系统工程设置)窗口中,指定与裸机平台的固定 XSA 兼容的Active build configuration(活动的构建配置),如下所示。
    提示: 您可能还需要在Packaging options(封装选项)字段中为裸机应用工程指定 .xclbin 文件,如下图所示。硬件构建需要指定此文件,您可将 .xclbin 文件从固定 XSA 的源工程复制到裸机应用工程内。
  6. 对于 Emulation-HW 构建配置,您可以在 QEMU 环境内运行应用,并查看此应用与固定平台的交互,以确认系统。要运行仿真构建,请从“Assistant”(助手)视图或工具栏主菜单中选择Launch HW Emulator(启动 HW 仿真器)命令。通过 TCF 代理即可启动 QEMU,您可在Emulation Console(仿真控制台)视图中观察 QEMU 启动和 PS 应用运行的转录文本。
    重要: 请务必在 lscript.ld 文件中将堆/栈大小设为 2 MB,否则将显示Terminate(终止)错误。
    提示: 您也可以选择Debug As(调试方式)命令以在 Vitis IDE 中启动交互式调试环境。