Vitis IDE からのハードウェア デバッグ - 2023.2 日本語

Vitis 統合ソフトウェア プラットフォームの資料: アプリケーション アクセラレーション開発 (UG1393)

Document ID
UG1393
Release Date
2023-12-13
Version
2023.2 日本語
最上位システム プロジェクトをビルドしたら、次の手順に従って、Hardware プラットフォームで実行されるシステムをデバッグできます。
  1. <project>/Hardware/package/sd_card.img を物理的な SD カードにコピーします。これにより、ターゲット プラットフォーム用のブータブル媒体が作成されます。
  2. SD カードを VCK190 評価キットのカード リーダーに挿入します。
  3. カードのブート モード設定を SD ブート モードに変更し、ボードに電源を投入します。
  4. VCK190 が起動したら、コマンド プロンプトに mount コマンドを入力してマウント ポイントのリストを取得します。次の図に示すように、mount コマンドでシステムのマウント情報が表示されます。
    ヒント: mount コマンドの結果から、次の手順の cd コマンドおよびその後のコマンドで使用するための適切なパスを記録してください。


  5. 次のコマンドを実行します。
    cd /run/media/mmcblk0p1
  6. ifconfig を実行してターゲット カードの IP アドレスを取得します。IP アドレスは、Vitis Unified IDE で TCF エージェント接続を設定するのに使用されます。ターゲットは、ネットワークで割り当てられた IP アドレスに接続する必要があります。
  7. IDE 内から、次のようにリモート アクセラレータ カードへのターゲット接続を選択または作成します。
    1. メイン メニューから Vitis > Target Connections をクリックして Target Connections ダイアログ ボックスを開きます。
    2. 既存の Linux TCF Agent 接続を選択するか、Linux TCF Agent を右クリックして New Target コマンドを選択すると、次の図に示すように New Target Connection ダイアログ ボックスが開きます。

    3. Target Name でターゲット名を指定し、Set as default target をオンにして、Hostifconfig コマンドで取得したアクセラレータ カードのホスト IP アドレスを入力します。
    4. OK をクリックしてダイアログ ボックスを閉じます。
  8. Debug コマンドの隣にある Flow NavigatorOpen 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 エンジン の実行を停止します。
  9. HARDWARE ヘディングの↓の Flow Navigator から Debug をクリックします。
    ヒント: まだ作成していない場合、2 つの起動コンフィギュレーションを作成するかどうかを尋ねるメッセージが表示されます。1 つは最上位システム プロジェクト用で、もう 1 つは PS アプリケーション用です。

    [Debug] ビュー IDE で Debug ビューが開き、PS アプリケーションと該当するコアで実行される AI エンジン グラフに接続されます。すべての ELF ファイルに対して、アプリケーションは main() 関数で自動的に停止します。

この後、エミュレーション環境でステップイン、ステップオーバー、変数表示、ブレークポイントの追加などのすべてのデバッグ操作を実行できます。詳細は、デバッグ環境の使用 を参照してください。