Vitis IDE 支持您使用命令行流程打开调试工具以处理已构建的工程。
为嵌入式平台启动独立调试
独立调试流程支持嵌入式处理器应用加速流程 (embedded_accel
) 和嵌入式处理器软件开发流程 (embedded
)。对于嵌入式平台,应用在器件的 Arm 处理器上运行,启动系统以及加载应用和内核所需的文件位于远程系统上,但调试工具在本地系统上运行,生成的数据和报告需从嵌入式系统移入到本地系统。在此环境下进行调试的过程需进一步的设置和配置。
在 Vitis IDE 中为 embedded_accel
进程运行独立调试的过程分为 2 个步骤。
- 您必须使用 launch_sw_emu.sh 或 launch_hw_emu.sh 脚本首先启动 QEMU 仿真器 (emulator) 环境,这两个脚本是在
--package
进程中生成的。 - 随后,您必须在独立调试模式下使用
-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 文件。
默认嵌入式系统会在仿真 (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 的调试环境内执行调试活动,例如,单步进入、单步跳过、查看变量或添加断点。