アプリケーション プロジェクトの実行

実行コンフィギュレーション

アプリケーションをデバッグ、実行、およびプロファイリングするには、アプリケーション実行の設定を保存する起動設定を作成する必要があります。これには、アプリケーション プロジェクトを右クリックして Run As > Run Configurations ... をクリックします。[Run configuration] ページが開きます。Single Application Debug をダブルクリックして、実行コンフィギュレーションを作成します。[Main] タブが選択された状態で [Run Configuration] ウィンドウが開きます。

[Main] タブ

[Main] タブには、次のオプションがあります。

[Debug Type]
[Standalone Application Debug]、[Linux Application Debug]、または [Attach to running target] に設定できます。
[Connection]
New をクリックすると、ターゲット接続を作成できます。
注記: アプリケーションを実行するためのその他のオプションは、自動的に入力されます。

[Application] タブ

[Application] タブでは、アプリケーション プロジェクトの詳細を設定し、ELF ファイルを選択します。



Stop At Main
main() 関数でデバッガーを停止するために使用します。
Stop at Program Entry
プログラム エントリ時にデバッガーを停止するために使用します。
Reset Processor
ハードウェア システム全体または特定のプロセッサをリセットするか、リセットしないかを選択できます。リセットを実行して、前のデバッグ セッションからの副次的な影響が出ないようにします。
Advanced Options
これらのオプションは、アプリケーションのプロファイルに使用されます。Edit をクリックしてオプションを確認します。選択するオプションは、This is a self relocating application および Profiling Options です。

[Target Setup] タブ

コンフィギュレーションに固有の名前を付けます。次に、Target Setup タブで次のように設定します。

  • [Debug Type]
  • [Connection]: [Local] または [Remote]

ローカル ホストに接続されるターゲットでプログラムを実行する場合は Local を選択します。

New をクリックしてリモート接続を作成し、リモート ホストに接続されるターゲットでプログラムを実行する場合も同じ接続を選択します。

FPGA Device
これは自動的に選択されます。
PS Device
これは自動的に選択されます。
Hardware Platform
デザインのハードウェア プラットフォームを選択します。
Bitstream file
ビットストリーム ファイルを検索または参照します。
FSBL File または Initialization File
チェック ボックスの選択に基づいて FSBL ファイルか初期化ファイルを選択します。デフォルトでは、Use FSBL Flow for Initialization はオンになっています。
Reset Entire System
システムに 1 つしかプロセッサがない場合、システム リセットを実行します。
Initialize Using FSBL file
FSBL ファイルを使用して PS を初期化します。
Reset APU
すべての APU プロセッサ コアをリセットします。
Reset RPU
すべての RPU プロセッサ コアをリセットします。
Enable RPU Split Mode
RPU コアをスプリット モードにして、それぞれ別々に使用できるようにします。
Program FPGA
ビット ファイルをプログラムします。
[Skip Revision Check]
ビットストリームのプログラム時にデバイス リビジョンをスキップします。


プロファイラー

Vitis™ 統合ソフトウェア プラットフォームには、ソフトウェア アプリケーションをプロファイルする機能があります。プロファイラーのオプションは、[Profiler] タブで指定します。詳細は、プロファイル/解析 を参照してください。

実行コンフィギュレーションの作成および編集

Run、Debug、Profile タスクは、デフォルトのコンフィギュレーション セットを使用して直接起動できます。該当するアプリケーションを右クリックし、Run As または Debug As をクリックします。コンテキスト メニューから Launch on Hardware (Single Application Debug) を選択します。

実行コンフィギュレーションのカスタマイズ

実行コンフィギュレーションのプリファレンス ページからは、ワークベンチで使用されるフィルター オプションを設定して、特定の種類の実行コンフィギュレーションが表示されないようにできます。これらのフィルター設定は、実行ダイアログ ボックス、実行ヒストリ、およびワークベンチに適用されます。

表 1. 実行コンフィギュレーション オプション
オプション 説明 デフォルト
Filter configurations in closed projects 現在閉じているプロジェクトに関連するコンフィギュレーションをフィルターして表示されないようにします。 オン
Filter configurations in deleted or missing projects 削除したり、単に使用可能ではなくなったプロジェクトに関連するコンフィギュレーションをフィルターして表示されないようにします。 オン
Apply windows working set 現在アクティブな作業セットからのフィルターを適用して、アクティブな作業セットのリソースに関連するコンフィギュレーションが表示されるようにします。つまり、プロジェクト P には関連していても、アクティブな作業セットに現在含まれていないコンフィギュレーションが 2 つある場合、P が表示されないだけでなく、これらのコンフィギュレーションもユーザー インターフェイスに表示されなくなります。 オン
Filter checked launch configuration types その他のフィルター オプションに関係なく、選択したタイプのコンフィギュレーションがフィルターされます。チェックしたオプションは、[Run/Debug Configurations] ダイアログ ボックスに表示されなくなります。
注記: 混乱を避けるため、Vitis ソフトウェア プラットフォームでサポートされるコンフィギュレーションのみがデフォルトで表示されます。
オン
Delete configurations when associated project is deleted オンにすると、削除されるプロジェクトに関連する実行コンフィギュレーションも削除されます。コンフィギュレーションは削除すると復元できません。 オン
Migrate 新機能が起動フレームワークに追加されると、起動コンフィギュレーションに変更を加える必要があることがあります。これらの変更は自動的にされますが、変更されない (不可逆性の) ものはエンド ユーザーが変更する必要があります。このセクションでは、どの実行コンフィギュレーションでも必要があれば移行するようにできます。Migrate... ボタンをクリックすると、移行が必要なコンフィギュレーションがある場合に、そのことを示すメッセージが表示され、移行するものを選択できます。

[Target Connections] ビュー

Target Connections ビューでは、複数のリモート ターゲットを設定できます。接続されているターゲットが表示され、ターゲット接続を追加または削除するオプションがあります。

Vitis ソフトウェア プラットフォームでは、ターゲット接続はハードウェア サーバー エージェントを介して確立されます。リモート ターゲットに接続するには、ターゲットに接続されたリモート ホスト上でハードウェア サーバー エージェントが実行されている必要があります。

ターゲット接続は、ランタイムでターゲットを処理する Vitis ソフトウェア プラットフォーム内のすべてのユーティリティに拡張されています。



新規ターゲット接続の作成

[Target Connections] ビューで新しい接続を追加すると、リモート ターゲットの詳細を設定できます。

新しいターゲット接続を作成する手順は、次のとおりです。

  1. Vitis IDE の [Target Connections] ウィンドウで Add Target Connection ボタン () をクリックします。
  2. [Target Connection Details] ダイアログ ボックスが開きます。
  3. [Target Name] フィールドに新しいリモート接続の名前を入力します。
  4. Set as default target をオンにして、このターゲットをデフォルトとして設定します。Vitis ソフトウェア プラットフォームは今後のボードとのすべてのやり取り対してこのデフォルトのターゲットを使用します。
  5. [Host] フィールドにリモート ホスト マシンの名前または IP アドレスを入力します。これはターゲットに接続され、hw_server が実行されるマシンです。
  6. [Port] フィールドに hw_server が実行されるポートの番号を入力します。デフォルトでは、hw_server がポート 3121 で実行されます。
  7. ハードウェア サーバーがリモート ホストで実行される場合は、Use Symbol Server を選択します。
  8. OK をクリックして、新しいターゲット接続を作成します。

カスタム JTAG 周波数の設定

カスタム JTAG 周波数を設定すると、JTAG ケーブルでサポートされる異なる周波数で動作できるようになりました。

カスタム JTAG 周波数を設定する方法は、次のとおりです。

  1. Target Connections ビューで Add Target Connection ボタン () をクリックします。[Target Connection Details] ダイアログ ボックスが開きます。
  2. たとえば、test.のように、新しいリモート ターゲット接続の名前を指定します。
  3. Set as default target をオンにして、このターゲットをデフォルトとして設定します。Vitis ソフトウェア プラットフォームは今後のボードとのすべてのやり取り対してこのデフォルトのターゲットを使用します。
  4. リモート ホスト マシンの名前または IP アドレスを指定します。これはターゲットに接続され、hw_server が実行されるマシンです。
  5. hw_server の実行されるポート番号を指定します。デフォルトでは、hw_server がポート 3121 で実行されます。ハードウェア サーバーがリモート ホストで実行される場合は、Use Symbol Server を選択します。
  6. Advanced をクリックして JTAG デバイス チェーンの詳細を表示します。
  7. JTAG デバイスを選択して Frequency をクリックし、Set JTAG Frequency ダイアログ ボックスを開きます。
  8. Set custom frequency ドロップダウン リストから周波数を選択します。
    注記: 現在の周波数は、サーバーで設定したデフォルト周波数か、デバッグ クライアントで設定したカスタム周波数になります。
  9. OK をクリックし、コンフィギュレーションを保存して Set JTAG Frequency ダイアログ ボックスを閉じます。選択した周波数がワークスペースに保存され、選択したデバイスに対して接続コマンドを実行する前に周波数を設定するのに使用されます。
  10. OK をクリックして、新しいターゲット接続を作成します。
    注記: 1 つのクライアントだけがサーバーに接続される場合、接続が閉じるたびに、そのケーブルの周波数がデフォルト値にリセットされます。ただし、サーバーに複数のクライアントが接続される場合は、別のクライアントからデバッグ操作を同時に実行しないようにしてください。

ターゲット接続の確立

ターゲット接続を確立するには、ローカル ボードかリモート ボードを使用します。デフォルトでは、Target Connections ビューでローカル ターゲット接続が選択されています。ローカル ボードへの接続は、そのローカル接続をチェックすると確認できます。

リモート ボードを使用してターゲット接続を確立する方法は、次のとおりです。

  1. ターゲットがリモート ホストに接続されていることを確認します。
  2. リモート ホストで hw_server を起動します。
    1. リモート ホストでシェルを開きます。
    2. C:/Xilinx/Vitis/<version>/settings64.bat または /opt/Xilinx/ Vitis/<version>/settings64.csh を使用してセットアップ スクリプトを読み込みます。
  3. ボードに接続されているマシンで hw_server を実行します。
    注記: ターゲット (ボード) がリモート ホストに接続されていることを確認します。
  4. ポート番号とホスト名を選択して、hw_server を実行しているホストへのターゲット接続を作成します。
  5. 新しく作成されたターゲット接続を右クリックし、Set As Default をクリックします。

メモリ コンテンツの表示

[Memory] ビューでは、プロセス メモリを監視および変更できます。プロセス メモリは、メモリ モニターというリストとして提供されます。モニターごとににベース アドレスというロケーションで指定されたメモリのセクションが表示されます。各メモリ モニターは、メモリ レンダリングと呼ばれるさまざまな定義済みのデータ形式で表示できます。

[Memory] ビューには、次の 2 つのパネルが含まれます。

  • Monitors パネル: 現在 Debug ビューで選択しているデバッグ セッションに追加されるメモリ モニターのリストを表示します。
  • Renderings パネル: メモリ レンダリングを表示します。このパネルの内容は、Monitors パネルでの選択によって変わります。

Memory ビューを開くには、Debug パースペクティブのMemory タブをクリックします。または、IDE メニュー バーから Window > Show View > Memory をクリックします。

メモリのダンプ/復元

[Memory] ウィンドウでは、ファイルをメモリに読み込んだり、メモリからダンプしたりできません。

[Dump/Restore Memory] 機能を使用すると、メモリ ファイルの内容をデータ ファイルをコピーしたり、データ ファイルの内容をメモリに復元したりできます。これには次を実行します。

  1. ハードウェア サーバーが起動していない場合は起動します。
  2. Xilinx > Dump/Restore Memory をクリックします。
  3. [Dump/Restore Memory] ダイアログ ボックスが開きます。

  4. Select をクリックし、[Select Peer and Context] ウィンドウからプロセッサを選択します。Vitis ソフトウェア プラットフォームは、使用可能なターゲット接続に基づいてピアを作成します。この例の場合、Vitis ソフトウェア プラットフォームは Zc706_remote というピアを作成します。
  5. [Peers] リストからターゲット接続に該当するピア (この場合は Zc706_remote) を選択してから、関連するプロセッサ ARM Cortex-A9 MPCore #0 を [APU Context] から選択します。
    注記: デバイス コンテキストではなく、プロセッサ コンテキストを選択します。この例の場合、プロセッサ コンテキストは APU です。
  6. OK をクリックしてプロセッサを選択します。
  7. データ ファイルの読み込み元やダンプ先のディレクトリを設定します。
  8. Restore Memory または Dump Memory オプション ボタンのいずれかを選択します。
  9. [Start] フィールドでメモリのダンプや復元の開始メモリ アドレスを指定します。
  10. [Size (in bytes)] フィールドでダンプまたは復元するバイト数を指定します。
  11. OK をクリックします。Vitis ソフトウェア プラットフォームは、指定したこの開始アドレスからデータをダンプしたり復元したりします。

ターゲット レジスタの表示

[Registers] ビューには、汎用レジスタおよびシステム レジスタなどを含むすべてのレジスタがリストされます。たとえば、Zynq® デバイスの場合、Cortex™-A9 ターゲットが [Debug] ビューで選択されていると、[Registers] ビューにはプロセッサおよびコプロセッサ レジスタすべてが表示されます。APU ターゲットを選択すると、[Registers] ビューにはシステム レジスタおよび IOU レジスタが表示されます。

[Registers] ビューを開くには、[Debug] パースペクティブで Registers タブをクリックします。または、IDE メニュー バーから Window > Show View > Registers をクリックします。

編集可能なフィールドの値はデバッグ中に変更できます。次の図に示すように [Pin to Debug Context] ツールバー アイコンを使用すると、[Registers] ビューをツールバーに固定して表示することもできます。



IP レジスタの詳細の表示

Vitis ソフトウェア プラットフォームでは、[Hardware] (system.xsa) ビューまたは [Registers] ビュー (デバッグ中) のいずれかを使用すると、IP レジスタの詳細が表示できるようになっています。問題なくプラットフォーム プロジェクトが作成されたら、Hardware Specification ビューに system.xsa ファイルが開きます。このファイルには、デザインに含まれる IP ブロックのレジスタへのクロスリファレンスが表示されるようになっています。



レジスタの詳細を表示するには、[Hardware Specification] ビューで Registers リンクをクリックします。