PicoZedに限らずZynqベースのボードを使う時に最初にBSPを使わないとなかなか大変。
で、BSPをベースにFPGA側をVivadoでカスタマイズしたくなる。
PicoZed FMC Carrier Card V2の場合、それ用にVivado用のプロジェクトのひな形がBSPに含まれているようだ。
以下、手順。
Petalinux SDKを使える環境にして、pz_7010_2016_2.bspをzedboardのページからダウンロードしておく。
mkdir build
cd build
petalinux-create -t project -s ../bsp/pz_7010_2016_2.bsp
cd pz_7010_2016_2/
cd hardware
ここにあるPZ7010_FMC2/がVivadoのプロジェクトそのもの。
これを開いてカスタマイズしていけば良い。
Vivado側でカスタマイズした場合は、
Generate Bitstreamまでやって、
[File]-[Export]-[Hardware]
をやると、
pz_petalinux.sdk/pz_petalinux_wrapper_hw_platform_0
にpatalinux用のファイルが出来る。
これを使って新しいpetalinuxを使う場合は、
petalinux-create --type project --template zynq --name hoge
cd hoge
petalinux-config --get-hw-description=../pz_petalinux.sdk/pz_petalinux_wrapper_hw_platform_0
するとmenu configがでてきて、保存して、
※環境変数のLANG=Cにしておいて、
petalinux-build -x distclean
petalinux-build
petalinux-package --boot --fsbl images/linux/zynq_fsbl.elf --fpga subsystems/linux/hw- description/pz_petalinux_wrapper.bit --uboot --force
とすればBOOT.BINとimage.ubが出来あがる。