Let's Vitis(10) - BOO.BINの生成

前回までの勉強で次の物が生成できました。

  • Ultra96V2用Vivadoプロジェクト(ZynqMPSoCのハードウェア寄りのプロジェクト)
  • Ultra96V2用Platform(Vitis用Platform)
  • Ultra96V2用FSBL
  • Ultra96V2用Linuxディストリビューション

必要なファイル

BOOT.BINを生成するにあたって必要なファイルは次のとおりです。

  • pmufw.elf
  • fsbl.elf
  • bl31.elf
  • u-boot.elf

これらを一度、作業ディレクトリにコピーしましょう。

$ mkdir create_sd
$ cd create_sd
$ cp /home/hidemi/yocto/yocto_zeus/build_ultra96v2/tmp/deploy/images/ultra96v2/arm-trusted-firmware.elf ./bl31.elf
$ cp /home/hidemi/yocto/yocto_zeus/build_ultra96v2/tmp/deploy/images/ultra96v2/u-boot.elf .
$ cp /home/hidemi/yocto/yocto_zeus/build_ultra96v2/pmutmp/deploy/images/zynqmp-pmu/pmu-firmware-zynqmp-pmu.elf ./pmufw.elf
$ cp /home/hidemi/workspace/vitis/fsbl_hwdef/fsbl/executable.elf ./fsbl.elf

BIFファイルの作成

boot.binを生成するためにBIFファイルを次のように作成します。

ファイル名はbuild_boot.bifとします。

the_ROM_image:
{
  [pmufw_image] pmufw.elf
  [bootloader, destination_cpu=a53-0] fsbl.elf
  [destination_cpu=a53-0, exception_level=el-3] bl31.elf
  [destination_cpu=a53-0, exception_level=el-2] u-boot.elf
}

BOOT.BINの生成

boot.binはVitisのbootgenコマンドを使用して作成します。

$ source /opt/Xilinx/Vitis/2019.2/settings64.sh
$ bootgen -arch zynqmp -image build_boot.bif -o i boot.bin -w on

実行するとboot.binが生成されました。

次回予告

次回は「SDカードの生成」を勉強しましょう。