ソフトウェア デバッグのプランニング - 2023.2 日本語

Versal アダプティブ SoC システムおよびソリューション プランニング設計手法ガイド (UG1504)

Document ID
UG1504
Release Date
2023-11-15
Version
2023.2 日本語

デザインで使用されているプロセッサのタイプとソフトウェア スタックによっては、ソフトウェア デバッグを実行するために、デザイン内の特定のハードウェア インターフェイスを有効にする必要があります。ソフトウェア スタック全体を立ち上げる前に、プロセッサ、ハードウェア ペリフェラル、およびインターコネクトが機能していることを確認します。JTAG インターフェイスを使用して基本的な起動テストを実行し、ハードウェア ブロックが機能していることを確認できます。次に、オペレーティング システム (OS) フレームワークを起動します。デバッグによっては、ブート ログを調べて OS のロードが正常に実行されたかどうかの確認が必要になることがあります。OS がロードされたら、AMD 提供のデバッグ ツールまたはオープンソースのデバッグ ツールを使用して特定のアプリケーションおよびデバッグ アプリケーションを実行したり、アプリケーション プロセッシング ユニット (APU) にビルトイン タイマーを追加して特定の関数呼び出しをプロファイリングしたりできます。

個別のソフトウェア デバッグ手法の詳細は次のとおりです。

XSCT ベースのデバッグ
ソフトウェア コマンド ライン ツール (XSCT) は、ハードウェア デバッグ用のコマンドを提供します。また、ザイリンクス システム デバッガー (XSDB) を使用すると、Tcl ベースのコマンドと手順で特定ハードウェアのステータスを確認できます。ソフトウェア スタック全体を立ち上げる前に、 『Vitis 統合ソフトウェア プラットフォームの資料: エンベデッド ソフトウェア開発』 (UG1400) のソフトウェア コマンド ライン ツール の説明に従って、XSDB コマンドを実行してハードウェアが機能していることを確認します。デザインに DDR メモリが含まれる場合は、読み出し/書き込みテストを実行して DDR メモリが機能していることを確認できます。ベアメタル アプリケーションのデバッグには、XSCT デバッガーを使用します。このアプリケーションは XSCT を使用してダウンロードできます。また、Vitis デバッガーを使用して、シングルステップ ブレークポイント挿入を有効化して特定の機能をデバッグできます。Vitis デバッガーを使用すると、メモリおよびプロセッサ レジスタの内容を見ることができ、エラーがあるコードの分析に役立ちます。詳細は、 vitis -debug コマンド ライン を参照してください。
ソフトウェア ツールを使用したデバッグ
Linux ベースのアプリケーションは GNU Debugger (GDB) でデバッグでき、ブレークポイントの挿入やプログラムの再開などが可能です。また、Linux ベースのツールである Valgrind は、プログラムのメモリ リーク問題の分析に役立ちます。Linux イメージを構築するときは、GDB ツールと Valgrind ツールを有効化して、アプリケーション固有のデバッグを可能にします。
特別なプロセッサのデバッグ
AI エンジン MicroBlaze™ プロセッサなどの特別なプロセッサ上で実行されるコードをデバッグするには、デザイン内の特定のハードウェア インターフェイスを有効にする必要があります。AI エンジン プロセッサ アレイには、PC イベントまたは実行トレースを表示するのに役立つイベント/トレース機能があります。AI エンジン コンパイル中は、このハードウェア インターフェイスを有効にする必要があります。MicroBlaze プロセッサは、システムの JTAG チェーンに接続可能な MicroBlaze Debug Module (MDM) インターフェイスを備えています。詳細は、 『MicroBlaze プロセッサ リファレンス ガイド』 (UG984) および 『AI エンジン ツールおよびフロー ユーザー ガイド』 (UG1076) を参照してください。

詳細は、 『Versal アダプティブ SoC システム統合および検証設計手法ガイド』 (UG1388)このセクションを参照してください。