Last edited 5 years ago

STM32MPU Embedded Software architecture overview

1. STM32MPU Embedded Software overview[edit source]

The diagram below shows STM32MPU Embedded Software distribution main components:

  • The OpenSTLinux distribution, running on the Arm® Cortex®-A, including:
    • The OpenSTLinux BSP with:
      • The boot chain based on TF-A and U-Boot.
      • 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 application frameworks are composed of middlewares relying on the BSP and providing API:
      • on the OP-TEE side to run Trusted Applications (TA) that allow to manipulate secrets (not visible from the Linux and STM32Cube MPU Package)
      • on the Linux side to run Applications that typically interact with the user via the display, the touchscreen, etc.
  • The STM32Cube MPU Package is running on the Arm® Cortex®-M: it is based on HAL drivers and middlewares, like other STM32 microcontrollers, completed with coprocessor management.

The figure below is clickable so that the user can directly jump to one of the sub-levels listed above.

STM32CubeMP1 architectureOP-TEE overviewOP-TEE overviewTF-A overviewU-Boot overviewSTM32MP15 Linux kernel overviewBoot chains overviewLinux application frameworks overviewOpenSTLinux BSP architecture overviewOpenSTLinux architecture overviewCategory:Platform configurationSecurity overview
STM32MPU Embedded Software architecture overview.
OpenSTLinux OE legend.png


2. Open Source Software (OSS) philosophy[edit source]

The Open source software source code is released under a license in which the copyright holder grants users the rights to study, change and distribute the software to anyone and for any purpose[1].
STMicroelectronics maximizes the using of open source software and contributes to those communities. Notice that, due to the software review life cycle, it can take some time before getting all developments accepted in the communities, so STMicroelectronics can also temporarily provide some source code on github[2], until it is merged in the targeted repository.

3. References[edit source]