The STM32MP2 series can boot on its Arm® Cortex®-A35 or the Arm® Cortex®-M33 core so, one of the first questions to answer while evaluating the platform is to determine which boot flow is the most pertinent for your product, and this is the purpose of this article.
1. Boot chain and trusted domain[edit | edit source]
The boot chain is executed on the boot processor, that can be the Arm® Cortex®-A35 or the Arm® Cortex®-M33 according to boot pins or OTP programming selection.
Since the STM32MP2 series implements a secure boot, this choice also determines the core that owns the security on the platform and the management of the system resources (power, reset, clock, ...). This core is so called the Trusted Domain, or TD.
The TD security foundations are implemented via the resource isolation framework (RIF) where the boot processor is known as the TDCID.
2. Trusted Domain flavor selection helper[edit | edit source]
Below is the key questions ones should answer to decide which trusted domain flavor is the best for his product.

3. Which Trusted Domain flavor does ST support with its software ecosystem[edit | edit source]
| Distribution | A35-TD flavor |
M33-TD flavor |
|---|---|---|
| Yocto-based OpenSTLinux | ||
| Android-based OpenSTDroid | ||
| Buildroot-based Linux | ||
| OpenWrt-based Linux |
4. Features available by flavor and OSTL version[edit | edit source]
(1) See restriction in STM32 MPU ecosystem release note.
(2) To address hard real time on the Arm® Cortex®-M33, it is suggested to select the A35-TD flavor
to avoid alteration of the real time on the Arm® Cortex®-M33, due to the system control and interruptions, running on this same core.
5. How to go further with A35-TD flavor
[edit | edit source]
A35-TD flavor
is available for all STM32MP2 series' boards
.
You can start with Getting_started set of articles and then switch on
- Category:Yocto-based_OpenSTLinux_embedded_software to get continue to play with this flavor,
- Yocto-based_OpenSTLinux_software_architecture_overview to know more on software architecture.
More details, specific to configuration of A35-TD flavor
, can be found in :
- STM32_MPU_ROM_code_overview#Boot_device_selection_on_STM32MP2_series for flavor selection,
- STM32MP2_boot_chain_overview#STM32MP2_A35-TD_flavor_boot_chain for bootchain overview.
6. How to go further with M33-TD flavor
[edit | edit source]
For ecosystem release v6.1.0
, M33-TD flavor
is available for STM32MP215F-DK Discovery kit
and STM32MP257F-EV1 Evaluation board
.
For ecosystem release ≥ v6.2.0
, M33-TD flavor
is available for all STM32MP2 series' boards
.
To play with this flavor, you can jump to:
- Category:Yocto-based_OpenSTLinux_embedded_software
- Yocto-based_OpenSTLinux_software_architecture_overview to know more on software architecture
More details, specific to configuration of M33-TD flavor
, can be found in :
- STM32_MPU_ROM_code_overview#Boot_device_selection_on_STM32MP2_series for flavor selection,
- STM32MP2_boot_chain_overview#STM32MP2_M33-TD_flavor_boot_chain for bootchain overview.
Then you can also visit :
- How to migrate STM32CubeMPU examples from A35-TD flavor to M33-TD flavor
- How to import, build and debug STM32CubeMP2 StarterAppM33TD demonstration in STM32CubeIDE
- How to port StarterAppM33TD demonstration to a new board