Last edited one month ago

Buildroot-based Linux architecture overview

Applicable for STM32MP13x lines, STM32MP15x lines, STM32MP25x lines


Puzzle partner program.png Partner program
Bootlin.png Bootlin has developed specific support, demonstration configurations, and documentation to help ST customers use Buildroot on STM32 MPU platforms.

See https://www.st.com/content/st_com/en/partner/partner-program/partnerpage/Bootlin.html

To address Bootlin technical support for Buildroot: mailto:buildroot-st-support@bootlin.com


1. Builroot-based Linux embedded software overview[edit | edit source]

The diagram below shows Builroot-based Linux embedded software distribution main components:

  • The open-source Linux® distribution, based on the Buildroot build system, running on the Arm® Cortex®-A, includes:
    • The OpenSTLinux BSP with:
      • The boot chain based on TF-A BL2 and U-Boot.
      • The secure monitor based on TF-A BL31 or OP-TEE depending on Cortex®-A architecture, running on the Arm® Cortex®-A in secure mode.
      • The OP-TEE secure OS running on the Arm® Cortex®-A in secure mode.
      • The Linux® kernel running on the Arm® Cortex®-A in non-secure mode.
    • The Linux middleware relies on the BSP to provide API to the Applications that typically interact with the user via the display, the touchscreen, etc.
    • On OP-TEE side, the Trusted Applications (TA) relies on the OP-TEE core for secrets operations (not visible from the Linux and other software components).
  • The FwST-M Packages that are composed of the firmwares running on Arm® Cortex®-M (not available on STM32MP13x lines More info.png) depends on Arm® Cortex®-M architecture; it includes:
    • The STM32Cube MPU Package running on the Arm® Cortex®-M non secure mode: it is based on HAL drivers and middleware, like STM32 microcontrollers, completed with coprocessor management for interaction with the Cortex-A.
    • The Trusted Firmware Cortex-M secure OS running on the Arm® Cortex®-M in secure mode: it provides local secure services to STM32Cube MPU Package.

Even if the trusted applications (TA), the Linux-based applications and the STM23Cube-based applications are mainly developed by customers and third parties, examples of such applications are included in the Linux® Buildroot-based embedded software: see the examples described in the documentation[1].

The Linux® Buildroot-based embedded software is generated with Buildroot build system[2].

The clickable figure below allows to directly jump to any of the components of the Linux® Buildroot-based embedded software


OP-TEE overviewTF-A overviewU-Boot overviewBoot chain overviewSTM32 MPU Linux kernel overviewTF-M overviewPartner's repository for STM32MPU Buildroot external treeSTM32MPU Buildroot external tree - Available configurationsSTM32Cube MPU packagesSTM32MP13 microprocessorSTM32MP15 microprocessorSTM32MP25 microprocessor
Linux Buildroot-based architecture overview
OpenSTLinux OE legend.png

2. References[edit | edit source]