使用 Linux dmesg 实用工具 - 2023.2 简体中文

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

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

精心设计的内核和模块通过内核环形缓冲器报告问题。此方法对于 Vitis 技术模块同样有效,这些模块允许您在最低 Linux 级别上对与加速器开发板的互动进行调试。

dmesg 实用工具是一种 Linux 工具,可让您读取内核环形缓冲器。内核环形缓冲器可将内核参考消息保存在循环缓冲器内。固定大小尺寸的循环缓冲器可用于限制资源要求,方法是通过利用下一条传入消息来覆盖最旧的条目。

提示: 大多数情况下,利用较简洁的 xbutil 功能即可足以将问题局限在某一区域内。如需了解有关如何使用此工具进行调试的更多信息,请参阅 使用 xbutil 实用工具

Vitis 技术中,xocl 模块和 xclmgmt 驱动程序模块会向环形缓冲器写入参考消息。因此,对于应用挂起、崩溃或任何意外行为(例如,无法进行比特流编程等),都应使用 dmesg 工具来检查环形缓冲器。

下图显示了与目标平台关联的软件平台的各层次。

图 1. 软件平台层

要复查来自 Linux 工具的消息,应首先清空环形缓冲器:

sudo dmesg -c

此操作将从环形缓冲器中刷新所有消息,使其更容易发现来自 xoclxclmgmt 的消息。完成此操作后,启动您的应用并在另一个终端中运行 dmesg

sudo dmesg

dmesg 实用工具会打印一条记录,如以下示例所示:

图 2. dmesg 实用工具示例

在以上示例中,AXI 防火墙 2 已脱扣,最好使用 xbutil 实用工具来对其进行检查。