FC2カウンター FPGAの部屋 SDSoCのチュートリアルをやってみた1(システムのデバック)

FPGAやCPLDの話題やFPGA用のツールの話題などです。 マニアックです。 日記も書きます。

FPGAの部屋

FPGAの部屋の有用と思われるコンテンツのまとめサイトを作りました。Xilinx ISEの初心者の方には、FPGAリテラシーおよびチュートリアルのページをお勧めいたします。

SDSoCのチュートリアルをやってみた1(システムのデバック)

SDSoCのデバック方法やパフォーマンス測定のただし方法などを知らなかったので、SDSoCのチュートリアルをやってみることにした。引用するのは、”SDSoC 環境ユーザー ガイド SDSoC 環境の概要 UG1028 (v2016.2) 2016 年 7 月 13 日”で、”SDSoC Environment Tutorial Introduction UG1028 (v2016.3) November 30, 2016”も参考にしながら進めていこう。
UG1028 の日本語訳は意味不明のところがあったので、英語版も大いに参考にさせて頂いた。

それでは、SDSoCのデバック方法からやってみよう。
日本語版UG1028 の 46 ページの”チュートリアル : システムのデバッグ”をやってSDSoCのデバック方法を体験した。
SDx 2016.3 を使用して、プロジェクトはスタンドアロン・プロジェクトを使用し、ZYBO 実機を使用してデバックする。

Micro USB コードでパソコンと接続した。

JTAG 起動モードとし、ZYBO を電源ON した。

SDSoCで File メニューからNew → Xilinx SDx Project を選択した。

Create a New SDxProject ダイアログで、Project name に debug_test_bm と入力した。
SDx_v2016_3_tut_1_170115.png

Choose Hardware Platform で、zybo を選択した。(私のChoose Hardware Platform には、カスタム・プラットフォームを入れているので、他の人よりも数が多い)
SDx_v2016_3_tut_2_170115.png

Choose Software Platform and Target CPU で System configuration を Standalone OS(Zynq 7000) に設定した。
SDx_v2016_3_tut_3_170115.png

Templates で、Matrix Multiplication and Addition (area reduced) を選択した。Finish ボタンをクリックした。
SDx_v2016_3_tut_4_170115.png

debug_test_bm プロジェクトが生成された。すでにハードウェアにオフロードする関数も設定されている。この環境でデバックすることができるようだ。
SDx_v2016_3_tut_5_170115.png

debug_test_bm プロジェクトを右クリックして、右クリックメニューから Build Project を選択した。
SDx_v2016_3_tut_6_170115.png

ビルドが成功した。ビルド後の debug_test_bm プロジェクトのDebug フォルダの debug_test_bm.elf を右クリックし、右クリックメニューからDebug As -> Launch on Hardware (SDSoC Debugger) を選択した。
SDx_v2016_3_tut_7_170115.png

パースペクティブをデバックに変更するというおなじみのダイアログが出た。Yes ボタンをクリックした。
SDx_v2016_3_tut_8_170115.png

SDx がデバックモードになって、main 関数の最初の行で止まっていた。
なお、この時点で、ZYBO はコンフィギュレーションされて、DONE のLEDが点灯している。
SDx_v2016_3_tut_9_170115.png

結果を表示するためのターミナルをSDx で起動する。
Window メニューからShow View -> Others... を選択した。
SDx_v2016_3_tut_10_170115.png

Show View ダイアログで、Terminal の下のTerminal を選択した。
SDx_v2016_3_tut_11_170115.png

右下にTerminal ウインドウが追加された。
SDx_v2016_3_tut_12_170115.png

Connect アイコンをクリックして、Terminal Settings を表示させる。
Connection Type を Serial に、Port をCOM4 (これはそれぞれの環境によって異なる)に、Baud Rate を 115200 に設定した。
SDx_v2016_3_tut_13_170115.png

Tera Term を起動していたので、すでに使われていると出てしまっているが、Tera Term を落としたら接続できた。
SDx_v2016_3_tut_14_170115.png

Step Over アイコンをクリックした。
SDx_v2016_3_tut_15_170115.png

SDx_v2016_3_tut_16_170115.png

main.cpp の行が1行進んで、右の上の Variables ウインドウでも test_passed 変数が更新されて、黄色に変わっている。
SDx_v2016_3_tut_17_170115.png

Resume アイコンをクリックすると、ソフトウェアが終了して、結果が右下のTerminal ウインドウに表示された。
SDx_v2016_3_tut_18_170115.png

これでSDx 2016.3 でのデバック方法が分かった。ハードウェアとソフトウェアが協調して動作する環境でデバックすることができた。
  1. 2017年01月16日 05:35 |
  2. SDSoC
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック URL
http://marsee101.blog19.fc2.com/tb.php/3696-9b8fed4b
この記事にトラックバックする(FC2ブログユーザー)