Linux アプリケーションのデバッグ
SDSoC 環境で Linux アプリケーションをデバッグするには、次の手順に従います。
- プロジェクトを作成し (例: lab6_linux)、[Platform] に [zc702] を、[System Configuration] に [Linux] を指定します。アプリケーション テンプレートのリストから [Matrix Multiplication and Addition] を選択します。 詳細は、新規プロジェクトの作成を参照してください。
- [SDx Project Settings] の [HW functions] の表で、mmult および madd 関数がハードウェア インプリメンテーション用にマークされます。 詳細は、ハードウェア インプリメンテーション用の関数のマークを参照してください。
- プロジェクトをビルドして実行ファイル、ビットストリーム、SD カード ブート イメージを生成します。アクティブ ビルド コンフィギュレーションに [Debug] を使用します 詳細は、ハードウェア アクセラレータを使用したデザインのビルドを参照してください。重要: 実行ファイルのビルドには、マシンによって 30 ~ 60 分かかります。プロジェクトをビルドする代わりに、ビルド済みプロジェクトを使用して時間を節約することもできます。(SDSoC インストールでのディスク使用量を最小限にするため、インポートされるプロジェクトに含まれるファイル数がユーザーのビルドしたプロジェクトよりも少ないことがありますが、チュートリアルを終了するのに必要なファイルは含まれています)。ビルド済みプロジェクトをインポートするには、[File] → [Import] をクリックし、[General] → [Existing Projects into Workspace] を選択して [Next] をクリックします。[Select archive file] をオンにしてプロジェクト ファイル フォルダーの lab6_linux.zip ファイル (<path to install>/SDx/2017.1/docs/labs/lab6_linux.zip) を指定します。[Open] をクリックします。[Finish] をクリックします。注記: プロジェクトをインポートした場合は、バイナリ ELF ファイルにソース デバッグ用の正しいパスが含まれません。ELF を再ビルドする必要がありますが、プログラマブル ロジック ビットストリームは再ビルドしたくありません。この場合、[Project Explorer] タブで lab6_linux プロジェクトを展開表示し、project.sdx をダブルクリックして [SDx Project Settings] を表示します。[Options] パネルで [Generate bitstream] をオフにして、[Generate SD card image] はオンにままにします。lab6_linux プロジェクトを右クリックして [Clean Project] をクリックしてプロジェクトをクリーンアップし、lab6_linux を右クリックして [Build Project] をクリックして再ビルドします。
- ここでは、[Window] → [Show View] → [Other] をクリックし、[Terminal] → [Terminal] をクリックして起動した SDSoC 環境ターミナルを使用します。[Terminal] タブをクリックし、設定 ([Connection Type]: Serial、[Port]: COM<n>、[Baud Rate]: 115200 ボー) を確認します。 COM ポート設定が表示されるようにするには、ボードに電源を投入する必要があります。
- SD カードを挿入せずにボードに電源を投入します。
- [Terminal] タブの [Settings] アイコン
をクリックし、コンフィギュレーションを設定し、[OK] をクリックします。 - ターミナルに接続されていることが示されます。赤い [Disconnect] アイコン
をクリックしてボードからターミナルの接続を解除して、ボードの電源を切ります。
- 生成した
sd_cardディレクトリの内容を SD カードにコピーして、SD カードを ZC702 ボードに挿入します。 - ボードがイーサネット ケーブルを使用してコンピューターに接続されていることを確認します。ボードに電源を投入します。[Terminal] タブをクリックして、緑の [Connect] アイコンをクリックして、ターミナルをボードに接続します。Linux のブート ログがターミナルに表示されます。ターミナル プロンプトが表示されたら、
ifconfig eth0 192.168.0.1と入力して IP アドレスを設定します。コンピューターは、イーサネット アダプターが ZC702 ボードと同じサブネットワークにあるように設定する必要があります。Windows ホスト システムで [コントロール パネル] → [ネットワークとインターネット] → [ネットワークtと共有センター] → [アダプター設定の変更] をクリックし、イーサネット アダプターの [ローカル エリア接続] を右クリックして [プロパティ] を選択します。[ネットワーク] タブで [インターネット プロトコル バージョン 4 (TCP/IPv4)] を選択し、[プロパティ] ボタンをクリックします。[全般] タブで [次の IP アドレスを使う] をオンにして「192.168.0.11」と入力します。[OK] をクリックします。サブネットワークに既に192.168.0.11のデバイスが含まれる場合は、別のアドレスを選択してください。192.168.0.xで始まるアドレスを使用できます。 - SDSoC 環境に戻り、[Target Connections]パネルで [Linux TCF Agent] を展開表示して [Linux Agent (default)] を右クリックし、[Edit] をクリックします。
- [Target Connection Details] ダイアログ ボックスで IP アドレスとポート (1534) を設定します。

- [OK] をクリックします。
- [Project Explorer] ビューで ELF ファイルをクリックして選択し、ツールバーの [Debug] アイコンをクリック (または [Debug] アイコンのプルダウン メニューから [Debug As] → [Launch on Hardware (SDSoC Debugger)] をクリック) して、[Debug] パースペクティブに移動してコードを実行またはステップ実行します。 注記: アプリケーションの出力は [Terminal] タブではなく [Console] タブに表示されます。