ZynqBerryボードでのHello World
Hello Worldの表示
1. 任意の場所に、ダウンロードしたリファレンスデザインのzipファイルを解凍します。
- 解凍したzipファイルの内容は以下のようになっています。
- このフォルダ内の cmd ファイルは windows のコマンドプロンプトで実行するコマンドをまとめたファイルです。
- これからこれらのcmdファイルを編集、実行することにより zynqberry への実装を行います。
- 各cmdファイルの説明および使い方は、
リファレンスデザインの cmd ファイルの説明を参照してください。
(Hello Worldの表示までは知らなくても大丈夫です。)
- 他のフォルダの内容については 先述したリンク を参考にしてください。
2. design_basic_settings.cmdを右クリックし編集を実行します。
- @set XILDIR=C:/Xilinx → Xilinx Vivadoのインストールパスを変更
- Xilinxでは基本的にこのパスが推奨されています。
- @set VIVADO_VERSION=2015.4 → Vivado のバージョンを変更
- Vivado 2015.4 以外では未確認です
- @set PARTNUMBER=x → 使用するボードのIDを変更
- ./board_files/TE0726_board_files.csvを参照してください
- TE0726-02MでもボードにはTE0726-02と書いてあります。商品の箱等を確認してください。
- @set SWAPP=NA → hello_world と変更
- このパラメータにより、手順4で行うFPGAの書き込みの際に
./prebuilt/boot_images/TE0726-0x/ からフォルダが選択され、
そのフォルダ中のBOOT.bin がブートイメージによって選ばれます。
- このパラメータにより、手順4で行うFPGAの書き込みの際に
編集した後の design_basic_settings.cmd は以下のようになりました。
3. FPGAを Micro USB Cable によって PC と接続します。
4. シリアル通信を表示するためのアプリケーションを用いてCOMポートを開きます。
- この例では Tera Term を使います。
- デバイスマネージャーを確認して正しいCOMポートを選択してください。
- ボーレートは 115200 に設定します。(Tera Termの場合、それ以外の設定はデフォルトで大丈夫です)
詳しい手順は以下のようになります。
デバイスマネージャーの ポート(COMとLPT) → USB Serial Port から COM のいくつがzynqberryに割り当てられているかを確認します。
接続がうまくいかない場合、ドライバのインストールと接続を確認してみてください。
Tera Term を起動し、シリアル → ポートを先ほど確認したCOMポートに設定します。
タブの 設定 → シリアルポート からボー・レートを設定します。
5. program_flash_binfile.cmdを実行します。
このコマンドにより、./prebuilt/boot_images/TE0726-0x/hello_world/boot_images/BOOT.bin
が zynqberry のFlash ROM に書き込まれます。
コマンドを実行すると、コマンドプロンプトが立ち上がり書き込みが実行されます。
書き込みの実行中は以下のようにLEDが点灯します。
コマンドの実行結果は test_board/v_log/vivado.log に記録されます。
program_flash_binfile.cmdが正しく実行された場合、
vivado.log の末尾の記述は以下のようになっているはずです。
6. Hello World のプログラムを動作させるためにzynqberryをリブートします。
リブートはボード上のP1という箇所(下の写真参照)のリセット端子をショートするとできます。
電源供給をしている USB Cable の抜き差しによるリブートは、シリアル通信も途切れさせてしまうので Hello World を観測できません。今回はXMDコンソールを用いて、PCから ZynqBerry のリブートを行います。
- Xilinx SDK のインストールフォルダ(例えば C:\Xilinx\SDK15.4)を開きます。
- bin のフォルダ中にある xmd.bat を実行します。
- コンソール画面が表示されるので以下のコマンドを実行します。
- XMD% connect arm hw
- XMD% rst
- XMD% con
コマンドの簡単な説明は以下のとおりです。
- connect arm hw : ターゲット(ここではzynqberry)上のシステムに接続を行う
- rst : zynqのリブートを行います。
- con : continue の意味で現在のアドレスからプログラムの実行を行います。
コマンドを実行すると以下のようなログが表示されます。
なお、XMDというのは Xilinx Microprocessor Debugger のことで、
コマンドラインから、FPGA・メモリの書き込みやプロセッサのリセットなどを行うことができるデバッグツールです。
他のコマンドの詳細などは以下の資料の第11章を参照してみてください。
http://japan.xilinx.com/support/documentation/sw_manuals_j/xilinx11/est_rm.pdf
または、XMDコンソール上で help commandsを実行してみるとよいと思います。
7. Tera Term 上でHello World が確認できました!
FLASH書き込みの際にシリアル出力にノイズが出力されることがあるので、
その場合はTera Term の編集タブ → バッファのクリア から画面のクリアを行った後、
手順6を実行してみてください。