This article describes the content of OpenSTDroid release v5.1.0 st-android-13.0.0-2024-04-05 (tag), which is part of STM32 MPU ecosystem release note - v5.0.2.BETA.
1. Intended audience[edit source]
The targeted audience is STM32MP25x lines Alpha customers and partners.
2. Delivery scope and purpose[edit source]
The OpenSTDroid distribtuion provides all the components required for running, developing and/or making your own platform based on Android™ framework. It runs on the Arm® Cortex®-A35 processors, and is a fundamental part of the STM32MPU Embedded Software distribution for Android.
It is compatible with Android 13.0.0.
It is provided as an example. The Android certifications are not guaranteed.
This delivery of OpenSTDroid release v5.0.2.BETA is part of STM32MP25-Ecosystem-v5.0.2.BETA (see the STM32 MPU ecosystem release note - v5.0.2.BETA).
3. Licensing[edit source]
This software package is licensed under a LIMITED LICENSE AGREEMENT FOR ST MATERIALS EVALUATION (LLA). Customers may not use this package except in compliance with the software license agreement (SLA).
All packages use the same source components. All components and their respective licenses are listed here.
4. Supported hardware[edit source]
This software delivery is compatible with the following boards:
STM32MP25 boards | |||||
---|---|---|---|---|---|
Boards | PCBs list | Main features | Ordering | ||
![]() STM32MP257F-EV1 Evaluation board |
|
|
|||
![]() STM32MP257F-DK Discovery kit |
|
|
|
5. Release content[edit source]
5.1. Main software components[edit source]
- Embedded software components
- Android version v13.0.0 (AOSP android-13.0.0_r82 tag)
- Kernel version v6.1.25 (AOSP common kernel) + updates for STM32MP2 and associated boards (waiting upstream finalization)
- TF-A version v2.8 + updates for STM32MP2 and associated boards (waiting upstream finalization)
- U-Boot version v2022.10 + updates for STM32MP2 and associated boards (waiting upstream finalization)
- OP-TEE version v3.19.0 + updates for STM32MP2 and associated boards (waiting upstream finalization)
- SCP firmware v2.12
- GCC version v10.3 (used only for TF-A, U-Boot and OP-TEE build)
- OpenOCD version v0.11.0
- GCnano version v6.4.15
5.2. Detailed features[edit source]
5.2.1. BSP features[edit source]
The OpenSTDroid v5.0.2.BETA is based on the OpenSTLinux BSP v5.0.2.BETA described in the following chapters:
- Linux Kernel
- U-Boot secondary bootloader
- TF-A primary bootloader
- OP-TEE trusted environment
- SCP firmware
5.2.2. Android features[edit source]
Domain | Feature | STM32MP25 Evaluation board |
Comment |
---|---|---|---|
Boot | Fastboot | ![]() |
This mode can be entered by connecting an ST-Link console to the UART interface or by hardware control. |
Verified boot | Partially | ||
A/B mechanism | Partially | Boot A and B images are available (boot from A is selected by default). | |
Recovery | Partially | adb reboot fastboot to restart with recovery mode with fastbootd (used to load the GSI) | |
Multimedia | Audio speaker | ![]() |
No audio output on this device |
Audio headset | ![]() |
No audio output on this device | |
Audio built-in digital micro | ![]() |
No audio input on this device | |
Audio USB | ![]() |
||
Camera | Partially | Embedded ISP not managed, impact on image quality | |
Camera USB | ![]() |
||
Video HW decode | ![]() |
H.264 and VP8 only. Performance limitation (maximum 720p30 without audio). | |
Video SW decode | ![]() |
Maximum 480p30 without audio. | |
Video HW encode | ![]() |
||
Security | SELinux | Partially | limitation with camera setup |
Runtime verification | Partially | ||
Disk encryption | Partially | using adiantum software solution | |
Trusted environment | ![]() |
OP-TEE | |
Keystore | ![]() |
OP-TEE solution based on kmgk[2] implementation | |
Gatekeeper | ![]() |
OP-TEE solution based on kmgk[3] implementation | |
Network and connectivity | Ethernet | ![]() |
only ETH2 enabled |
Wifi | Partially | TP-LINK dongle (TL-WN722N) is used for test purposes. | |
Wifi hotspot | Partially | TP-LINK dongle (TL-WN722N) is used for test purposes. | |
BT / BLE | ![]() |
No Bluetooth on this device | |
USB | ![]() |
USB2.0 only on this device. Mass storage / MTP / PTP / NCM. | |
Systems | Boot control | Partially | Available but not enabled. |
Power control | Partially | missing power services (OpenSTLinux BSP limitation) | |
Thermal control | ![]() |
Only one temperature is managed for CPU/GPU (others are stubbed). | |
Update engine | ![]() |
||
Sensors | Accelerometer | ![]() |
No sensor on this device |
Gyroscope | ![]() |
No sensor on this device | |
Magnetometer | ![]() |
No sensor on this device | |
Proximity | ![]() |
No sensor on this device | |
Pressure | ![]() |
No sensor on this device | |
Temperature | ![]() |
No sensor on this device | |
Hub | ![]() |
No sensor on this device | |
Debug | ADB (USB) | ![]() |
|
ADB (Ethernet) | ![]() |
||
Perfetto | ![]() |
||
Storage | USB storage | ![]() |
only for external storage |
microSD card | ![]() |
for default userdata (eMMC / microSD card) hybrid configuration) or for external storage | |
eMMC | ![]() |
for read-only partitions and for default userdata (eMMC configuration) | |
Others | Lights | ![]() |
|
Touchscreen | ![]() |
6. Restrictions[edit source]
6.1. BSP restrictions[edit source]
The OpenSTDroid v5.0.2.BETA is based on the OpenSTLinux BSP v5.0.2.BETA, see the associated restrictions.
6.2. Android restrictions[edit source]
OpenSTDroid is provided as example.
In this context, compliance tests (VTS/CTS) are not ensured (but they are executed and treated as much as possible).
Main restrictions concerning the OpenSTDroid distribution:
- Power / Suspend mechanism are not available (impacting test execution)
- Embedded LTDC composition is bypassed (composition is performed with the GPU)
- Embedded HW video decoders H.264 and VP8 are integrated but with performance limitations (due to copy)
- Camera functional (imx335 module) but the embedded ISP is not integrated, camera setup through script (not compliant with product build)
- Embedded HW video encoder is not integrated
Other restrictions:
- STM32CubeProgrammer can’t flash eMMC starter (only hybrid eMMC / microSD card available)
7. Minor release updates[edit source]
STMicroelectronics can deliver corrections and some light changes on purpose through github® components.
8. Associated tools[edit source]
Refer to the Referenced tools release notes .
9. Demonstration applications[edit source]
The OpenSTDroid distribution is delivered with several applications provided as example.
9.1. STLauncher[edit source]
Simple launcher application example.
The associated application project is available on GitHub® (compatible with Android Studio IDE): STLauncher application.
9.2. STVideo[edit source]
Simple video application illustrating how to play a video. The video files must be stored in the Movies directory on an external storage (such as a USB storage).
The associated application project is available on GitHub® (compatible with Android Studio IDE): STVideo application.
9.3. STGraphics[edit source]
Simple 2D and 3D graphics application illustrating usage of OpenGLES v2.0.
The associated application project is available on GitHub® (compatible with Android Studio IDE): STGraphics application.
9.4. STPerf[edit source]
Performance overlay application used to demonstrate in foreground the device performance (CPU usage, GPU usage, frame rate). The application can be configured and stopped via a notification system interface.
Limitation: this application is available only in debug build.
The associated application project is available on GitHub® (compatible with Android Studio IDE): STPerf application.
10. Detailed delivery content[edit source]
10.1. Detailed description of STMicroelectronics modules[edit source]
10.1.1. BSP modules[edit source]
Module name | Path of module | Description | ||||
---|---|---|---|---|---|---|
stm32mp2-bootloader | device/stm/
|
Primary (Trusted Firmware-A) and secondary (Universal bootloader for embedded devices) bootloaders for STM32MP | ||||
LegalInformation:OpenSTDroid licenses - v5.0.2.BETA | ||||||
| ||||||
stm32mp2-kernel | device/stm/
|
Linux STM32MP Kernel | ||||
LegalInformation:OpenSTDroid licenses - v5.0.2.BETA | ||||||
stm32mp2-tee | device/stm/
|
OPTEE OS for STM32MP | ||||
| ||||||
stm32mp2-openocd | device/stm/
|
Free and open on-chip debugging, in-system programming and boundary-scan testing | ||||
|
10.1.2. Common and peripherals modules[edit source]
Module name | Path of module | Description | ||||
---|---|---|---|---|---|---|
stm32mp2 | device/stm/
|
Common configuration of the OpenSTDroid distribution | ||||
| ||||||
allocator | device/stm/stm32mp2/
|
STMicroelectronics allocator HAL public header files useful for composer | ||||
| ||||||
audio | device/stm/stm32mp2/
|
STMicroelectronics Audio HAL source code | ||||
| ||||||
camera | device/stm/stm32mp2/
|
STMicroelectronics Camera HAL source code | ||||
| ||||||
composer | device/stm/stm32mp2/
|
STMicroelectronics composer HAL source code | ||||
| ||||||
health | device/stm/stm32mp2/
|
STMicroelectronics Health hardware service source code | ||||
| ||||||
lights | device/stm/stm32mp2/
|
STMicroelectronics Lights HAL source code | ||||
| ||||||
memtrack | device/stm/stm32mp2/
|
STMicroelectronics Memtrack HAL source code | ||||
| ||||||
oemlock | device/stm/stm32mp2/
|
STMicroelectronics OemLock HAL source code (stub version) | ||||
| ||||||
thermal | device/stm/stm32mp2/
|
STMicroelectronics Thermal hardware service source code | ||||
| ||||||
usb | device/stm/stm32mp2/
|
STMicroelectronics Usb hardware service source code | ||||
| ||||||
wifi | device/stm/stm32mp2/
|
STMicroelectronics libwifi HAL source code | ||||
|
10.1.3. Board modules[edit source]
Module name | Path of module | Description | ||||
---|---|---|---|---|---|---|
eval | device/stm/stm32mp2/
|
STMicroelectronics configuration for Android used to generate images adapted to the STM32MP25 Evaluation boards | ||||
|
10.1.4. ST application modules[edit source]
Module name | Path of module | Description | ||||
---|---|---|---|---|---|---|
app | vendor/stm/app
|
STMicroelectronics applications that can be associated, if need be, to their respective coprocessor firmware | ||||
|