PS Trace - 2025.2 简体中文 - UG1400

Vitis 统一软件平台文档 嵌入式软件开发 (UG1400)

Document ID
UG1400
Release Date
2025-11-20
Version
2025.2 简体中文

“PS Trace”(PS 追踪)工具会监控 CPU (ARMv8) 执行的每一条汇编指令。该工具会为在线诊断、性能调试与运行后数据分析提供洞察。PS Trace 会为代码执行情况提供细致入微的洞察。在 Vitis 调试会话中,您可以逐条指令查看 CPU 的具体操作,而不仅仅是源代码中的指示信息。

您可以查看并分析来自多个受支持的处理器的追踪数据,这些处理器包括:

  • Arm® Cortex-A53
  • Arm R52
  • Arm A78
  • Arm R5
  • Arm R52
  • Arm A72

OpenCSD 设置

OpenCSD 是一个开源 CoreSight 追踪解码库。该库提供了一个便于对 Arm CoreSight 追踪串流进行解码的 API。PS Trace 功能使用 OpenCSD 库对来自 Arm 处理器的 CoreSight 追踪数据进行解码。要访问追踪文件,必须先安装 OpenCSD,以便采用其库来将追踪二进制文件解码为人工可读格式的文件。请遵循以下步骤来安装 OpenCSD 库。

  1. 设置“INSTALL_PATH”环境变量,以指定已编译的 OpenCSD 文件的安装路径。
    export INSTALL_PATH="/path/to/install/"
  2. 将 OpenCSD GitHub 仓库克隆到您的本地主机。
    git clone https://github.com/Linaro/OpenCSD.git
  3. 安装 OpenCSD。
    cd OpenCSD/decoder/build/linux/
    make install PREFIX=$INSTALL_PATH
  4. 最后,设置 OpenCSD 环境变量,以便 Vitis 工具使用 OpenCSD 库。要执行此操作,请在启动 Vitis 前使用以下命令:
    export OPENCSD_PATH=$INSTALL_PATH

执行 PS Trace

步骤 1:启动配置设置

为应用程序启动调试配置 (launch.json)。启用追踪选项并设置追踪存储器相关的信息。

图 1. 调试配置

屏幕上的项如下所示:

  • “Scratch Address”(临时地址):存储器中用于存储追踪二进制文件的起始地址。
  • “Trace Decoded File”(追踪解码文件):用于存储追踪二进制文件的存储器长度。
  • “Output File path”(输出文件路径):用于存储 Vitis 工具从追踪二进制文件生成的追踪汇总文件的位置。
    重要: 这是环形缓冲器。确保适当设置缓冲器大小;如果追踪数据超出此大小,那么新数据会覆盖现有缓冲器内容。

步骤 2:添加断点

PS Trace 包含了追踪开始与追踪开始断点的放置。您通过放置这些断点来包围的代码节就是要追踪的代码节。在设置断点前,请先确认要追踪的代码行。

开始调试会话,并在Debug(调试)视图中设置追踪开始断点。要添加追踪开始断点,请在source code(源代码)视图中右键单击包含您要追踪的第一部分指令的行号。

图 2. 添加断点

同样,要添加追踪停止断点,请在源代码视图中右键单击要停止追踪的指令所在位置的行号。

单击Continue(继续)开始调试会话。如果到达追踪开始断点,请等待右下角出现确认开始追踪的通知。下一步,单击Debug视图中的Continue(继续)以触发追踪。

图 3. 追踪开始

命中追踪停止断点后,请等待右下角显示生成追踪摘要的通知。单击Open(打开)查看追踪文件。您也可以转至VitisPS TraceOpen PS Trace(Vitis > PS Trace > 打开 PS Trace),并导航到您设置的用于存储追踪文件的文件夹。

图 4. 生成的追踪文件

单击“Set Source Mapping”(设置源代码映射)对话框中的“Browse”(浏览),导航到 ELF 文件所在的文件夹。

图 5. 设置源代码映射

单击“OK”(确定)。系统会显示Trace File(追踪文件)屏幕。

图 6. 追踪文件

Trace File视图中,您可以执行以下操作来有效分析追踪报告。