Page tree
Skip to end of metadata
Go to start of metadata

PanGu开发板支持eMMC,QSPI Flash,SD Card方式的启动。

启动方式配置文件适用设备
支持从SD,eMMC启动stm32mp15_basic_defconfigPanGu eMMC版本


PanGu开发板使用U-Boot作为整个系统的启动加载程序。构建U-Boot后得到两个文件,u-boot-spl.stm32和u-boot.img。u-boot-spl.stm32再spl目录下,u-boot.img在u-boot的根目录下。可写入到不同存储设备内。

下载好U-Boot的代码后,在工作目录下解压,并请确认当前shell已加载编译工具链。

$ cd $HOME/PanGu
$ tar xvf U-Boot-i2som.tar.gz


U-Boot支持多种boot chain,Basic boot 和 Trusted boot。


Basic boot

$ make pangu_basic_defconfig
$ make DEVICE_TREE=stm32mp157a-panguboard all

Trusted boot

$ make pangu_trusted_defconfig
$ make DEVICE_TREE=stm32mp157a-panguboard all


编译结束后,在当前目录下可以查看当前目录和spl目录,可以看到对应的文件。

$ ls
api     config.mk      cscope.po.out  drivers   include   MAINTAINERS  scripts     tools               u-boot.dtb      u-boot.map
arch    configs        ctags          dts       Kbuild    Makefile     spl         u-boot              u-boot-dtb.bin  u-boot-nodtb.bin
board   cscope.files   disk           env       Kconfig   net          System.map  u-boot.bin          u-boot-dtb.img  u-boot.srec
cmd     cscope.in.out  doc            examples  lib       post         tags        u-boot.cfg          u-boot.img      u-boot.sym
common  cscope.out     Documentation  fs        Licenses  README       test        u-boot.cfg.configs  u-boot.lds
$ ls spl/
arch   common   dts  include     u-boot-spl      u-boot-spl-dtb.bin  u-boot-spl-nodtb.bin  u-boot-spl.stm32.log
board  disk     env  lib         u-boot-spl.bin  u-boot-spl.lds      u-boot-spl-pad.bin
cmd    drivers  fs   u-boot.cfg  u-boot-spl.dtb  u-boot-spl.map      u-boot-spl.stm32
文件说明
u-boot初步链接后得到的uboot文件
u-boot-nodtb.bin在u-boot的基础上,经过objcopy去除符号表信息之后的可执行程序
u-boot.dtbdtb文件
u-boot-dtb.bin将u-boot-nodtb.bin和u-boot.dtb打包在一起的文件
u-boot.bin在需要dtb的情况下,直接由u-boot-dtb.bin复制而来,也就是编译u-boot的最终目标
u-boot.ldsuboot的连接脚本
System.map连接之后的符号表文件
u-boot.cfg由uboot配置生成的文件

替换SD卡的U-Boot

测试新的U-Boot程序时,可以使用SD卡启动方式,可以快速验证U-Boot是否正常启动,可以将U-Boot写入SD卡的对应分区。

$ dd if=u-boot-spl.stm32 of=/dev/sdb1 conv=fdatasync
$ dd if=u-boot-spl.stm32 of=/dev/sdb2 conv=fdatasync
$ dd if=u-boot.img of=/dev/sdb3 conv=fdatasync
  • No labels