Well-designed kernels and modules report issues through the kernel ring buffer. This is also true for Vitis technology modules that allow you to debug the interaction with the accelerator board on the lowest Linux level.
The dmesg
utility is a Linux tool that
lets you read the kernel ring buffer. The kernel ring buffer holds kernel information
messages in a circular buffer. A circular buffer of fixed size is used to limit the
resource requirements by overwriting the oldest entry with the next incoming
message.
xbutil
feature to localize
an issue. Refer to Using the xbutil Utility for more information on using this
tool for debug.In the Vitis technology, the xocl
module and xclmgmt
driver modules write informational messages to the ring buffer. Thus, for an application
hang, crash, or any unexpected behavior (like being unable to program the bitstream,
etc.), the dmesg
tool should be used to check the ring
buffer.
The following image shows the layers of the software platform associated with the target platform.
To review messages from the Linux tool, you should first clear the ring buffer:
sudo dmesg -c
This flushes all messages from the ring buffer and makes it easier to
spot messages from the xocl
and xclmgmt
. After that, start your application and run dmesg
in another terminal.
sudo dmesg
The dmesg
utility prints a record shown
in the following example:
In the example shown above, the AXI Firewall 2 has tripped, which is
better examined using the xbutil
utility.