FC2カウンター FPGAの部屋 2020年10月10日
fc2ブログ

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

FPGAの部屋

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

Nexys Video でMicroBlaze のチュートリアルをやってみる6(Vitis その2 + デバック)

Nexys Video でMicroBlaze のチュートリアルをやってみる5(Vitis その1)”の続き。

Nexys Video を使用して”Vivado Design Suite チュートリアル エンベデッド プロセッサ ハードウェア デザイン UG940 (v2019.2) 2019 年 11 月 26 日”の”第 4 章 演習 3: エンベデッド MicroBlaze プロセ ッサのプログラム”をやってみようと思うということで、前回は、Vitis を起動して、プラットフォームとアプリケーション・プラットフォームを作成し、テンプレートとして Peripheral Tests を選択しビルドし成功した。今回は、ラン・コンフィグレーションを作り、デバックモードで起動して、GPIO の Write アクセスを Vivado Analyzer で観察した。

Explorer から Microblaze_tut_system -> Microblaze_tut を右クリックし、右クリックメニューから Generate Linker Script を選択する。
microblaze_tut_65_201010.png

Basic タブの Place code Sections in: と Place Data Sections in: 、 Place Heap and Stack in: で mig_7series_0_memaddr を選択する
microblaze_tut_62_201009.png

Explorer から Microblaze_tut_system -> Microblaze_tut -> src -> lscript.ld を開くと設定が変わっている。
microblaze_tut_63_201010.png

Assistant ウインドウから Microblaze_tut_system -> Microblaze_tut -> Debug を右クリックし、右クリックメニューから Debug AS -> Debug Configurations... を選択する。
microblaze_tut_64_201010.png

Debug Configurations ダイアログが開く。
Singu Application Debug を右クリックし、右クリックメニューから New Configuration を選択する。
microblaze_tut_66_201010.png

Debugger_Microblaze_tut-Default という名前の Debug Configurations ダイアログが開いた。
とりあえず Close ボタンをクリックして、ダイアログを閉じる。
microblaze_tut_67_201010.png

Nexys Video の PROG 、 UART ポートを USB ケーブルでパソコンに接続して、電源 ON した。
JP4 は JTAG モードに変更した。

gtkterm を sudo で開いて、 /dev/ttyUSB1 をポートとして指定する。ボーレートは 9600 bps だ。
microblaze_tut_68_201010.png

Vitis IDE に戻って、 testperiph.c を書き換える。
41 行目に

while(1)

を入力した。
59 行目にブレーク・ポイントを入力した。
microblaze_tut_69_201010.png

Assistant ウインドウから Microblaze_tut_system -> Microblaze_tut -> Debug を右クリックし、右クリックメニューから Debugger_Microblaze_tut-Default を選択する。
microblaze_tut_70_201010.png

Debug モードになって、 testperiph.c の main() の最初の行でストップした。
microblaze_tut_71_201010.png

Vivado に戻って、 Flow Navigator から PROGRAM AND DEBUG -> Open Hardware Manager -> Open Target をクリックし、 Auto Connect を選択した。
microblaze_tut_72_201010.png

HARWARE MANAGER が起動し、hw_ila_1 が表示された。
microblaze_tut_73_201010.png

Settings - hw_ila_1 で Trigger mode: を TRIG_IN_ONLY、 TRIG_OUT mode: を TRIG_IN_ONLY に変更した。
microblaze_tut_74_201010.png

Run Trigger ボタン(緑の横三角)をクリックして、波形キャプチャをスタートした。
Windows sample が 512 of 1024 になった。この時点でトリガを待っている。
microblaze_tut_75_201010.png

Vitis で Resume ボタンをクリックして、50 行目までソフトウェアを進める。
microblaze_tut_76_201010.png

Vivado Analyer で波形がキャプチャできた。
microblaze_tut_77_201010.png

gtkerm の表示を示す。
microblaze_tut_79_201010.png

Settings - hw_ila_1 で Trigger mode: を BASIC_ONLY、 TRIG_OUT mode: を DISABLED に戻した。

デバックモードを終了して、もう一度、Assistant ウインドウから Microblaze_tut_system -> Microblaze_tut -> Debug を右クリックし、右クリックメニューから Debugger_Microblaze_tut-Default を選択した。

Vivado に戻って、 Flow Navigator から PROGRAM AND DEBUG -> Open Hardware Manager -> Open Target をクリックし、 Auto Connect を選択した。

今度は、 hw_ila_1 の Trigger Setup で AWVALID を R でトリガにした。

Run Trigger ボタン(緑の横三角)をクリックして、波形キャプチャをスタートした。
Windows sample が 512 of 1024 になった。この時点でトリガを待っている。

Vitis の Resume ボタンをクリックして、50 行目までソフトウェアを進める。

Vivado Analyer で波形がキャプチャできた。
microblaze_tut_78_201010.png

今度は、AWVALID などの制御信号もキャプチャできている。
  1. 2020年10月10日 16:52 |
  2. MicroBlaze
  3. | トラックバック:0
  4. | コメント:0