昨日は、動作確認も兼ねてブログを書いてたので本当に備忘録レベル(書き殴り)になったが、整理してみると次のようになる。
ZedBoard、ZC702、ZC706、MicroZedはps7_init.gpl.[c/h]をデフォルトで持っているので、PS7をデフォルト設定であればu-bootだけでZynqの起動まで作成できる。
ps7の設定を変更するとps7_init.gpl.[c/h]を入れ替えなければいけないが、ARMのシステムレジスタの設定値を変更できるならhsiは必要ない。
hsiコマンドはtclを読めるので次のようにスクリプト組んでおけば、楽ちん。
create_ps7_init.tclを次のように作成してみよう。
----ここから----
open_hw_design ZYBO_wrapper.hdf
generate_app -hw ZYBO_wrapper -os standalone -proc ps7_cortexa9_0 -app zynq_fsbl -sw fsbl -dir zynq_fsbl
quit
----ここまで----
実行手順は次のようにするとzynq_fsblディレクトリにps7_init.c[/h]が生成されている。
% cd ZYBO.sdk
% hsi -source create_ps7_init.tcl
まぁ、これでcompileしちゃえば、FSBLができるんだがなぁ〜(^-^;
bootgenしなきゃいけないという点を考えれば、u-boot-xlnxからPythonスクリプトを持ってきて、spl作ったほうが楽か・・・
SPLやfalcon modeの概要は下記のドキュメントを参考にすると良いだろう。