ArduZynq(TE0723-02)でベアメタルアプリケーションを走らせる

1. Vivado2016.4をインストール
2. リファレンスデザイン(2016.4)(prebuiltじゃないファイルサイズが小さいほう)をダウンロードして解凍→test_boardディレクトリができる
http://www.trenz-electronic.de/fileadmin/docs/Trenz_Electronic/TE0723/Reference_Design/2016.4/test_board/te0723-test_board_noprebuilt-vivado_2016.4-build_08_20170718120025.zip
3. _create_win_setup.cmdをダブルクリックして実行→プロンプトに0を入力してスクリプトを生成
4. design_basic_settings.cmdを編集し、PARTNUMBERを2にする(Excelを参考にすると、PARTNUMBER=2はProduct ID: 0723-03→TE0723-02のことっぽい。デフォルトではPARTNUMBERはLAST_IDになっているので、これはコメントアウトしておく)

@set PARTNUMBER=2
@REM -@set PARTNUMBER=LAST_ID

5. design_basic_settings.cmdをダブルクリックし、続いてvivado_create_project_guimode.cmdをダブルクリック→vivado2016.4が起動する
6. project settingsを確認して、deviceがxc7z010clg225-1になっていることを確認する

7. Generate bitstreamを実行して、ビットストリームを生成する
8. Export hardwareでhdfを生成し、Launch hardwareでXilinx SDKを起動する
9. SDK上で適当なユーザーアプリケーションを作成し(一例としてHelloWorldテンプレート)、ビルドしてhelloworld.elfを生成する
10. SDK上でFSBLテンプレートを選択してアプリケーションを生成する。
11. FSBLアプリケーションプロジェクトの上で右クリックし、Create Boot Imageを選択する。
デフォルトでfsbl.elfとbitstreamが選択されているので、これにhelloworld.elfをAddして、BOOT.binを生成する
(参考:Zynq SDKでFSBLをつくる - http://yuki-sato.com/wordpress/2015/01/11/zynq11/
12. 生成したBOOT.binを、SDK上のProgram Flashを利用してArduZynqのFlashに書き込む。(ベアメタルコードを走らせるだけならArduZynq上のSDカードは使わない)
※なんかProgram Flashで書き込めなかったけど、何回かやってたら書き込めるようになった。一度ArduZynqのリセットスイッチを押したから書き込めるようになったかもしれない。