使用 printf 执行事件追踪 - 2023.2 简体中文

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

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

最简单的追踪形式是在代码中使用格式化 printf() 语句打印调试消息。对中间值、地址等执行视觉检验有助于您了解程序执行的进程。使用 printf() 时,除了标准 C/C++ include 文件 (stdio.h) 外,无需使用其他 include 文件。您可以将 printf() 语句添加到自己的代码中,以供在仿真期间或者在硬件仿真期间进行处理,并在硬件构建时移除这些语句或者将其注释掉。

printf 语句添加到 AI 引擎内核代码中将增加 AI 引擎程序编译后的大小。请确保内核代码编译后的大小不超过每个 AI 引擎处理器存储器限制 (16 KB)。

重要: 您必须使用 aiesimulator --profile 命令在仿真器运行期间启用 printf() 执行。如果未指定 --profile,则忽略 printf() 函数。

对于该功能,使用独立驱动程序和二进制文件即可允许主仿真器尽可能保持高速。使用调试仿真器驱动程序可在输出目录下为每个拼块生成剖析报告,以提供详细的周期级别内核执行统计数据。此外,使用 --profile 选项可生成 run_summary 文件,并将其写入 ./aiesimulator_output 文件夹,此文件可按 AI 引擎工具和流程用户指南(UG1076) 中所述方式来查看。