1. Android-based OpenSTDroid embedded software overview[edit | edit source]
The diagram below shows Android-based OpenSTDroid embedded software distribution main components:
- The OpenSTDroid 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 running on the Arm® Cortex®-A in secure mode.
- The Linux® kernel running on the Arm® Cortex®-A in nonsecure mode.
- The Trusty TEE secure OS running on the Arm® Cortex®-A in secure mode.
- The Android™ middleware relying on the BSP to provide Android APIs to the Applications that typically interact with the user via the display, the touchscreen, etc.
- The Trusted Applications (TA) relying on the Trusty TEE API 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 include:
- The FwST-M BSP with:
- The boot chain based on MCUboot (FSBL-M) running on the Arm® Cortex®-M in secure mode.
- The TF-M secure OS running on the Arm® Cortex®-M in secure mode. It provides local secure services to STM32Cube MPU Package.
- The STM32CubeMP2 Package drivers (BSP, HAL, LL) running on the Arm® Cortex®-M nonsecure mode.
- The STM32Cube MPU Packages middleware relying on the FwST-M BSP, like STM32 microcontrollers, completed with Arm® Cortex®-M remote processor management for interaction with the Cortex®-A.
- The FwST-M BSP with:

Android-based OpenSTDroid software architecture overview
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]
