1. STM32MPU Embedded Software overview[edit | edit source]
The diagram below shows STM32MPU Embedded Software distribution main components:
- The OpenSTLinux distribution, 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 OpenSTLinux BSP with:
- The FwST-M Packages that are composed of the firmwares running on Arm® Cortex®-M (not available on STM32MP13x lines ) 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.
The OpenSTLinux distribution is generated with OpenEmbedded build framework : the BSP components are modified open source software components, stored on github, whereas the middleware is directly inherited from communities. See our Open Source Software (OSS) philosophy just below for further information.
The figure below is clickable so that the user can directly jump to one of the sub-levels listed above.
2. Open Source Software (OSS) philosophy[edit | 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 | edit source]