Last edited 5 days ago

OpenWrt-based Linux architecture overview

Applicable for STM32MP13x lines, STM32MP15x lines, STM32MP25x lines

Warning DB.png Important
OpenWrt-based Linux embedded software is validated against the ecosystem release v6.0.0 More info.png (see release note). It has not been ported yet on ecosystem release v6.1.0 More info.png .
Puzzle partner program.png Partner program
Bootlin.png Bootlin has developed specific support, demonstration configurations, and documentation to help ST customers use OpenWrt 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 OpenWrt: mailto:openwrt-st-support@bootlin.com



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

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

  • The open-source Linux® distribution, based on the OpenWrt 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 Cortex-M 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® OpenWrt-based embedded software: see the examples described in the documentation[1].

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

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


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

2. References[edit | edit source]