カーネルおよびモジュールが適切に設計されていれば、カーネル リング バッファーを介して問題がレポートされます。これは Vitis テクノロジ モジュールの場合も同様で、アクセラレータ ボードと通信する最下位 Linux レベルでのデバッグが可能になります。
dmesg
ユーティリティは、カーネル リング バッファーを読み出すための Linux ツールです。カーネル リング バッファーでは、循環バッファーにカーネル情報メッセージが格納されます。リソース要件を制限するため固定サイズの循環バッファーが使用されており、1 番古いエントリが次に入ってくるメッセージで上書きされます。
xbutil
機能でも問題を検出するのには十分です。このツールをデバッグに使用する場合の詳細は、ザイリンクス xbutil ユーティリティの使用 を参照してください。
Vitis テクノロジでは、情報メッセージは xocl
モジュールおよび xclmgmt
ドライバー モジュールによりリング バッファーに書き込まれます。このため、アプリケーションのハングやクラッシュが発生したり、予期しない動作 (ビットストリームをプログラムできないなど) が見られる場合は、dmesg
ツールを使用してリング バッファーを確認する必要があります。
次の図に、ターゲット プラットフォームに関連付けられたソフトウェア プラットフォームのレイヤーを示します。
Linux ツールからのメッセージを確認するには、まずリング バッファーをクリアする必要があります。
sudo dmesg -c
これにより、すべてのメッセージがリング バッファーから消去されるので、xocl
および xclmgmt
からのメッセージを見つけやすくなります。その後、アプリケーションを開始して dmesg
を別のターミナルで実行します。
sudo dmesg
dmesg
ユーティリティで、次の例のような情報が表示されます。
上記の例の場合、AXI Firewall 2 が作動しているので、xbutil
ユーティリティを使用して検証することをお勧めします。