7.37.1. STM32 MPUs
STM32 MPUs are microprocessors designed by STMicroelectronics based on Arm Cortex-A. This page presents the common configuration of STM32 MPUs, more details and dedicated configuration can be found in each STM32 MPU page (STM32MP1 or STM32MP2)
7.37.1.1. Design
The STM32 MPU resets in the ROM code of the Cortex-A. The primary boot core (core 0) executes the boot sequence while secondary boot core (core 1) is kept in a holding pen loop. The ROM code boot sequence loads the TF-A binary image from boot device to embedded SRAM.
The TF-A image must be properly formatted with a STM32 header structure for ROM code is able to load this image. Tool stm32image can be used to prepend this header to the generated TF-A binary.
7.37.1.1.1. Boot
Only BL2 (with STM32 header) is loaded by ROM code. The other binaries are inside the FIP binary: BL31 (for Aarch64 platforms), BL32 (OP-TEE), U-Boot and their respective device tree blobs.
7.37.1.1.2. Boot sequence
ROM code -> BL2 (compiled with RESET_TO_BL2) -> OP-TEE -> BL33 (U-Boot)
7.37.1.2. Build Instructions
Boot media(s) supported by BL2 must be specified in the build command. Available storage medias are:
STM32MP_SDMMC
STM32MP_EMMC
STM32MP_RAW_NAND
STM32MP_SPI_NAND
STM32MP_SPI_NOR
Serial boot devices:
STM32MP_UART_PROGRAMMER
STM32MP_USB_PROGRAMMER
Other configuration flags:
DTB_FILE_NAME
: to precise board device-tree blob to be used.Default: stm32mp157c-ev1.dtbDWL_BUFFER_BASE
: the ‘serial boot’ load address of FIP,default location (end of the first 128MB) is used when absentSTM32MP_EARLY_CONSOLE
: to enable early traces before clock driver is setup.Default: 0 (disabled)STM32MP_RECONFIGURE_CONSOLE
: to re-configure crash console (especially after BL2).Default: 0 (disabled)STM32MP_UART_BAUDRATE
: to select UART baud rate.Default: 115200
7.37.1.3. Populate SD-card
7.37.1.3.1. Boot with FIP
The SD-card has to be formatted with GPT. It should contain at least those partitions:
fsbl: to copy the tf-a-stm32mp157c-ev1.stm32 binary (BL2)
fip (GUID 19d5df83-11b0-457b-be2c-7559c13142a5): which contains the FIP binary
Usually, two copies of fsbl are used (fsbl1 and fsbl2) instead of one partition fsbl.
Copyright (c) 2023, STMicroelectronics - All Rights Reserved