最上位システム プロジェクトをビルドしたら、次の手順に従って、Hardware プラットフォームで実行されるシステムをデバッグできます。
- <project>/Hardware/package/sd_card.img を物理的な SD カードにコピーします。これにより、ターゲット プラットフォーム用のブータブル媒体が作成されます。
- SD カードを VCK190 評価キットのカード リーダーに挿入します。
- カードのブート モード設定を SD ブート モードに変更し、ボードに電源を投入します。
- VCK190 が起動したら、コマンド プロンプトに
mount
コマンドを入力してマウント ポイントのリストを取得します。次の図に示すように、mount
コマンドでシステムのマウント情報が表示されます。ヒント:mount
コマンドの結果から、次の手順のcd
コマンドおよびその後のコマンドで使用するための適切なパスを記録してください。
- 次のコマンドを実行します。
cd /run/media/mmcblk0p1
-
ifconfig
を実行してターゲット カードの IP アドレスを取得します。IP アドレスは、Vitis Unified IDE で TCF エージェント接続を設定するのに使用されます。ターゲットは、ネットワークで割り当てられた IP アドレスに接続する必要があります。 - IDE 内から、次のようにリモート アクセラレータ カードへのターゲット接続を選択または作成します。
- メイン メニューから Target Connections ダイアログ ボックスを開きます。 をクリックして
- 既存の Linux TCF Agent 接続を選択するか、Linux TCF Agent を右クリックして New Target コマンドを選択すると、次の図に示すように New Target
Connection ダイアログ ボックスが開きます。
-
Target Name でターゲット名を指定し、Set as default target をオンにして、Host に
ifconfig
コマンドで取得したアクセラレータ カードのホスト IP アドレスを入力します。 - OK をクリックしてダイアログ ボックスを閉じます。
-
Debug コマンドの隣にある Flow Navigator で Open Settings コマンドを選択するか、 Vitis コンポーネント エクスプローラーでシステム プロジェクトから launch.json を開きます。Hardware ビルドの起動コンフィギュレーションを確認するか、Add Configuration (+) コマンドを選択して、次の図に示すように新しいコンフィギュレーションを作成します。
上の図に示すように、このダイアログ ボックスで次のフィールドを設定します。
- Target Connection: アクセラレータ カード用に指定した IP アドレスを使用してビルドする新しい Linux TFC エージェントを選択します。
- Host Executable: SD カードから実行する PS アプリケーションを指定します。
- Cmd Line Args: 読み込む xclbin ファイルなど、ソフトウェア アプリケーションに必要なコマンド ライン引数を指定します。
- Work Directory: SD カードのリモート マウント先を指定します。
- Stop At Main および Stop At Program Entry: デバッグ プロセスを開始する前に、アプリケーションと AI エンジン の実行を停止します。
-
HARDWARE ヘディングの↓の Flow Navigator から Debug をクリックします。ヒント: まだ作成していない場合、2 つの起動コンフィギュレーションを作成するかどうかを尋ねるメッセージが表示されます。1 つは最上位システム プロジェクト用で、もう 1 つは PS アプリケーション用です。
[Debug] ビュー IDE で Debug ビューが開き、PS アプリケーションと該当するコアで実行される AI エンジン グラフに接続されます。すべての ELF ファイルに対して、アプリケーションは
main()
関数で自動的に停止します。
この後、エミュレーション環境でステップイン、ステップオーバー、変数表示、ブレークポイントの追加などのすべてのデバッグ操作を実行できます。詳細は、デバッグ環境の使用 を参照してください。