9.3.3 xxx-serialboot.stm32测试
STM32CubeProgrammer 首先通过 USB 或串口向开发板下载stm32mp157d-atk-serialboot.stm32,名字里面有个“serialboot”,翻译过来就是串行启动,此镜像主要用于初始化 DDR,并且提供 USB 或串口功能,目的是为了进一步将 uboot 镜像下载到 DDR的指定位置,最终通过 uboot 来向外部 flash 设备烧写整个系统镜像。
我们也需要掌握自行编译 stm32mp157d-atk-serialboot.stm32 的方法,操作很简单。首先打开 Makefile.sdk,然后将 EXTRA_OEMAKE_SERIAL 改为如下内容:
EXTRA_OEMAKE_SERIAL=$(filter-out STM32MP_SDMMC=1 STM32MP_EMMC=1 STM32MP_
SPI_NOR=1 STM32MP_RAW_NAND=1 STM32MP_SPI_NAND=1,$(EXTRA_OEMAKE)) STM32MP
_UART_PROGRAMMER=1 STM32MP_USB_PROGRAMMER=1
修改结果:
输入如下命令编译:
cd tf-a-stm32mp-2.2.r1/
//进入到 tf-a 源码目录下
make -f ../Makefile.sdk clean
//清除以前的编译
make -f ../Makefile.sdk TFA_DEVICETREE=stm32mp157d-atk TF_A_CONFIG=serialboot ELF_DEBUG_ENABLE='1' all
//编译
编译完成后图:
编译完成以后就会在../build/serialboot 目录下生成 tf-a-stm32mp157d-atk-serialboot.stm32
如图:
按 照 本 小 节 讲 解 的 方 法 编 译 生 成 tf-a-stm32mp157d-atk-serialboot.stm32 以后 , ../build/trusted 和 ../build/optee 目录就没了,也就是说此本小节的方法只能编译 tf-a-
stm32mp157d-atk-serialboot.stm32 。 一旦 编译成功并测 试 OK 以后 ,大 家就不要再去修改
stm32mp157d-atk-serialboot.stm32了如果想重新编译 tf-a-stm32mp157d-atk-trusted.stm32,那么就按照以前的编译命令即可,不用修改 Makefile.sdk 文件!