获取uboot

下载uboot

wget https://www.st.com/content/ccc/resource/technical/sw-updater/firmware2/group0/6c/b7/e5/68/0b/d5/49/13/stm32cube_Standard_A7_BSP_components_u-boot/files/SOURCES-u-boot-stm32mp1-openstlinux-4.19-thud-mp1-19-02-20.tar.xz/jcr:content/translations/en.SOURCES-u-boot-stm32mp1-openstlinux-4.19-thud-mp1-19-02-20.tar.xz

然后解压:

tar xvf en.SOURCES-u-boot-stm32mp1-openstlinux-4.19-thud-mp1-19-02-20.tar.xz

进入u-boot所在目录:

cd stm32mp1-openstlinux-4.19-thud-mp1-19-02-20/sources/arm-openstlinux_weston-linux-gnueabi/u-boot-stm32mp-2018.11-r0

该目录所包含的文件如下:

里面有一些补丁文件(*.path),有个说明文件,还有uboot源码:

解压uboot源码并打补丁:

tar xvf v2018.11.tar.gz
cd u-boot-2018.11
for p in `ls -1 ../*.patch`; do patch -p1 < $p; done

编译

编译之前需要设置下环境变量

(1):编译STM32MP157C-DK2

basic boot:

make stm32mp15_basic_defconfig
make DEVICE_TREE=stm32mp157c-dk2 all

trusted boot:

make stm32mp15_basic_defconfig
make DEVICE_TREE=stm32mp157c-dk2 all

(2):编译STM32MP157C-EV1

basic boot:

make stm32mp15_trusted_defconfig
make DEVICE_TREE=stm32mp157c-ev1 all

trusted boot:

make stm32mp15_trusted_defconfig
make DEVICE_TREE=stm32mp157c-ev1 all

参考