使用独立调试流程 - 2022.1 简体中文

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

Document ID
UG1393
Release Date
2022-05-25
Version
2022.1 简体中文

Vitis IDE 支持您使用命令行流程打开调试工具以处理已构建的工程。

为嵌入式平台启动独立调试

独立调试流程支持嵌入式处理器应用加速流程 (embedded_accel) 和嵌入式处理器软件开发流程 (embedded)。对于嵌入式平台,应用在器件的 Arm 处理器上运行,启动系统以及加载应用和内核所需的文件位于远程系统上,但调试工具在本地系统上运行,生成的数据和报告需从嵌入式系统移入到本地系统。在此环境下进行调试的过程需进一步的设置和配置。

Vitis IDE 中为 embedded_accel 进程运行独立调试的过程分为 2 个步骤。

  1. 您必须使用 launch_sw_emu.shlaunch_hw_emu.sh 脚本首先启动 QEMU 仿真器 (emulator) 环境,这两个脚本是在 --package 进程中生成的。
  2. 随后,您必须在独立调试模式下使用 -debug 选项启动 Vitis IDE。

要在 Vitis IDE 中为 embedded 流程运行独立调试,您必须使用 launch_hw_emu.sh 脚本首先启动 QEMU 仿真器环境,此脚本是在 --package 进程中生成的。

系统仿真 (emulation) 所需的文件同样由 --package 命令来定义。这意味着为嵌入式平台启动独立调试进程依赖于封装进程的输出,包括仿真 (emulation) 脚本。用于启动仿真 (emulation) 环境的命令示例如下。

launch_hw_emu.sh -pid-file emulation.pid -no-reboot -forward-port 1440 1534 \
-enable-debug

其中:

-enable-debug
打开 2 个不同的命令 shell 以启动 QEMU 和 XSIM,并启用到 QEMU shell 的 GDB 连接。
-forward-port
将 TCP 端口从目标转发至主机,以供连接到 QEMU shell。QEMU 端口默认为 1440。如果需要,您可将此端口更改为 1446,但必须为 launch_emulation 命令或脚本指定此端口,并在 vitis -debug 命令行中指定此端口。此外,还支持启用多个转发端口。例如,launch_sw_emu.sh -forward-port 1440 1534 -forward-port 9455 1560。
-no-reboot
完成后退出 QEMU 环境。
-pid-file
将进程 ID 写入指定文件,用于按需结束进程。

对于硬件仿真,这样可启动 2 个运行 QEMU 系统模式的终端端口,并启动 Vivado 仿真器 (simulator) 以对 PL 内核进行仿真。

当终端和仿真 (emulation) 正常启动并运行后,您就可在单独的命令 shell 中以独立调试模式启动 Vitis IDE:

vitis -debug -flow embedded_accel -target hw_emu -exe vadd.elf \
-program-args vadd.xclbin -kernels vadd

其中:

vitis -debug
以独立调试模式启动 Vitis IDE。
-flow embedded_accel
在嵌入式处理器平台上指定应用加速流程。
-target hw_emu
指示要调试的目标构建。
-exe vadd.elf
指示要运行和调试的可执行应用。
-program-args vadd.xclbin
指定要作为实参加载到可执行文件中的 .xclbin 文件。
根据 vitis -debug 命令行 中所述,还有其它选项可供指定,根据应用和构建环境的配置,可能需要使用这些选项。

默认嵌入式系统会在仿真 (emulation) 环境的 /mnt 文件夹或嵌入式系统上搜索可执行文件和 .xclbin 文件以及任何其它必要的输入文件。启动工具时,可通过指定 -target-work-dir 来更改此行为。这样即可启动 Vitis IDE 并启用Debug(调试)透视图,为指定的可执行应用和内核代码运行调试配置。此时,您即可在基于 GUI 的调试环境内执行所有调试活动,例如,单步进入、单步跳过、查看变量或添加断点。

为数据中心平台启动独立调试

为数据中心应用启动独立调试较为简单。在此情况下,您需要识别构建目标以及要运行并调试的可执行文件。数据中心平台无需仿真 (emulation) 环境。

以下示例演示如何为以软件仿真 (emulation) 构建为目标的 data_center 流程启动 Vitis 独立调试。它指定了可执行文件 host.exe(在当前目录中查找此文件)并指定要调试的内核。

vitis -debug -flow data_center -target sw_emu -exe host.exe -kernels krnl_vadd

默认情况下,独立调试流程会在当前目录中查找指定文件并将结果写入其中。您可指定 -work-dir 选项以从默认目录更改为其它工作目录。在不同目录中构建 .xclbin 文件时,可能需要执行此操作。

这样会启动 Vitis IDE 并启用Debug透视图,以便您在基于 GUI 的调试环境内执行调试活动,例如,单步进入、单步跳过、查看变量或添加断点。