获取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