LoginSignup
4
1

More than 3 years have passed since last update.

1500円ZYNQ基板でFPGAプログラミング大全Xilinx編(第2版)の実習 5-3 Zynqのプログラムを実行

Posted at

はじめに

1500円 ZYNQ 基板(EBAZ4205)で、
FPGAプログラミング大全Xilinx編(第2版)の課題5-3
「Zynq のプログラムを実行」
を実習したいと思います。

基板の改造 (JTAG ブートモードの追加)

以前の投稿記事 1500円ZYNQ基板で microSD から起動する
で、NAND/SD ブートモード切り替えスイッチと、リセットボタンを追加しました。

Vitis から JTAG ケーブルでデバッグを行うとき、ZYNQ を JTAG モードでブートする必要があります。
そのため、JTAG ブート用のスイッチを追加します。

下図のように、U12-IO2 を L に落とす JTAG-SW (茶色)を追加します。
R2585 のランドを使って配線します。
2.png

改造例はこのようになります。
3.jpg

タクトスイッチをしっかり固定するため、スイッチのフレームと GND は 470uF/16V マイナス側のパターンのレジストを削って接続しています。

EBAZ4205 に電源投入後、JTAG-SW を押しながらリセットボタンを押すと、JTAG モードで再起動します。
一度起動した後は、リセットや電源再を投入しない限り、そのモードで動き続けます。

JTAG モードへ移行するリセット時、NAND/SD 切り替えスイッチは、どちらになっていても構いません。

・NAND 側にしておくとダイレクトに JTAG モードでブートします。
・SD 側にしてあると QSPI モードになりますが、有効なメモリが接続されていないため、JTAG モードに移行します。

結果、NAND or SD どちらで動作していても、JTAG スイッチを押しながらリセットボタンを押すことで、JTAG モードに入ることができます。

プラットフォームファイルのエクスポート

前の記事の最後で、Vivado のプロジェクトからプラットフォームファイル(.xsa)をエクスポートしました。
このファイルを使って、Vitis でプロジェクトを作成します。

前記事の最後で作成した design_1_wrapper.xsa ファイルを確認します。

C:/Users/(ユーザー名)/Desktop/ebaz4205_taizen/ebaz4205.vitis

に、生成したかと思います。

※フォルダ名に .vitis を追加して、Vivado のプロジェクトと同じフォルダにならないようにしています。
 .xsa ファイルと同じフォルダに vitis がファイルを追加するので、フォルダを分けておく方が管理が楽です。

Vitis の起動とプロジェクト作成

p.201 ◎Vitis の起動とワークスペースの指定(図5-18、図5-19)
大全の手順通り進めますが、ワークスペースとして指定するフォルダは新規作成します。
C:\Users(ユーザー名)\Desktop\Vitis_workspace
としておきます。
このフォルダに Vitis がプロジェクト毎のフォルダを作成していきます。

p.202 ◎プラットフォームプロジェクトの作成(図5-20)
大全の通り、プロジェクト名を指定して、design_1_wrapper.xsa ファイルを指定します。

p.204 ◎アプリケーションプロジェクトとシステムプロジェクトの作成(図5-21)
Part: と Family の空欄に気を付けて進めます。(※)

p.207 ◎Vitis の操作画面
無事に図5-22 の画面まで進めたら、次へ移ります。

※作成されたプラットフォームプロジェクトは Out-of-date 表示になっています。
3.png

再現性がわからないのですが、「アプリケーションプロジェクト作成」へ進んだとき、General Info の中の Part: と Family: が正しく認識されず、空欄になってしまうことがあります。

空欄のままだとビルドでエラーが出てしまい、正常に進めることができません。
4.png

空欄になってしまった場合は、アプリケーションプロジェクト作成をキャンセルして、プラットフォームプロジェクトを先に Build Project してやります。
そうすると、Out-of-date が解消されます。
5.png

再度アプリケーションプロジェクト作成へ進めば、Part: と Family: が正しく認識され、正常にデバッグできるようになります。

プロジェクトのビルドおよびダウンロードと実行

p.208 ◎プロジェクトのビルド(図5-23)
ビルドを実施して、エラーが出ない事を確認します。

p.209 ◎デバッグ設定の作成とプログラムのダウンロード(図5-24)
p.211 ◎デバッグ時の操作画面
p.212 ◎シリアルターミナルの設定とプログラムの実行(図5-26、図5-27)
大全の手順通り進めます。

無事、シリアルターミナルに Hello World が表示されました。
6.png

ダウンロード後にエラーになり、下の画面が表示される場合は、JTAG モードになっていませんので、ZYNQ を JTAG モードで再起動してください。
Vitis はそのままで、リセットして JTAG 再起動後に Debug 実施すればよいです。
1.png

LED 点滅プログラムの実行

p.217 ◎新しいアプリケーションプロジェクトを作成(図5-29、参考:図5-21)
p.218 ◎ソースファイルのコピー(図5-30)
p.219 ◎ビルド(参考:図5-23)
ここまで大全の手順通りに実施します。

p.219 ◎デバッグ設定の簡易作成とプログラムのダウンロード(図5-31)
どうも、私の環境では Debug As の横に簡易作成のメニューが出ないようでした。
p.210 図5-24(c) と同様にして、Debug Configurations を作成しました。

その際、Debugger-hello-Default の設定が残っていますので、
・Name: を Debugger_hello-Default から Debugger_led_test-Default に変更
・Project: を hello から led_test に変更
として、Debug ボタンを押します。
7.png

ダウンロードまで、自動で進みます。

Resume ボタンを押してプログラムを実行すると、LAN コネクタ横の LED がパターン点滅を始めます。

LED の点滅パターンは、大全のプログラム通りなので、
1500円ZYNQ基板でFPGAプログラミング大全Xilinx編(第2版)の実習 2-1 LED点滅回路
の時の LED 点滅パターンとは異なりますが、プログラムは正しく動作しています。

まとめ

FPGAプログラミング大全Xilinx編(第2版)の課題5-3
「Zynq のプログラムを実行」
を EBAZ4205 で実習することができました。

4
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1