This article describes the content of OpenSTDroid release v5.1.0 st-android-13.0.0-2024-07-31 (tag), which is part of STM32 MPU ecosystem release note - v5.1.0.
1. Intended audience[edit | edit source]
The targeted audience is STM32MP25x lines Alpha customers and partners.
2. Delivery scope and purpose[edit | 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.1.0 is part of STM32MP25-Ecosystem-v5.1.0 (see the STM32 MPU ecosystem release note - v5.1.0).
3. Licensing[edit | 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 | edit source]
This software delivery is compatible with the STM32MP257F-EV1 Evaluation board (revC or revD).
5. Release content[edit | edit source]
5.1. Main software components[edit | edit source]
- Embedded software components
- Android version v13.0.0 (AOSP android-13.0.0_r82 tag)
- Kernel version v6.1.78 (AOSP common kernel) + updates for STM32MP2 and associated boards (waiting upstream finalization)
- TF-A version v2.8.15 + 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)
- GCC version v13.2.Rel1 (used only for TF-A, U-Boot and OP-TEE build)
- OpenOCD version v0.12.0
- GCnano version v6.4.15
5.2. Detailed features[edit | edit source]
5.2.1. BSP features[edit | edit source]
The OpenSTDroid v5.1.0 is based on the OpenSTLinux BSP v5.1.0 described in the following chapters:
5.2.2. Android features[edit | edit source]
Domain | Feature | STM32MP25 Evaluation board |
Comment |
---|---|---|---|
Flash & Recovery | Fastboot (U-Boot) | This mode can be entered by connecting an ST-Link console to the UART interface or by hardware control (button) or with adb reboot bootloader. It's useful to flash physical partitions. | |
Fastbootd (recovery) | This mode can be entered with adb reboot fastboot. It's useful to flash logical partitions (ex: generic system image). | ||
Boot | Android Verified Boot | Partially | |
A/B mechanism | Partially | Boot A and B images are available (boot from A is selected by default). | |
Multimedia | Audio output | No audio output on the STM32MP257F-EV1 Evaluation board. | |
Audio input | No audio input on the STM32MP257F-EV1 Evaluation board. | ||
Camera | imx335 support (must be connected) | ||
Video HW decode | H.264 and VP8 | ||
Video SW decode | Maximum 480p30 without audio. | ||
Video HW encode | |||
Security | SELinux | ||
Runtime verification (dm-verity) | Partially | ||
Disk encryption | Partially | using adiantum software solution | |
Trusted environment | OP-TEE | ||
Keystore | OP-TEE solution based on kmgk[1] implementation | ||
Gatekeeper | OP-TEE solution based on kmgk[2] implementation | ||
Network and connectivity | Ethernet | only ETH2 enabled | |
Wifi | Partially | with Wi-Fi USB adapter (ex: NETGEAR AC1200) | |
Wifi hotspot | Partially | with Wi-Fi USB adapter (ex: NETGEAR AC1200) | |
BT / BLE | No Bluetooth on the STM32MP257F-EV1 Evaluation board. | ||
USB | USB2.0 only on the STM32MP257F-EV1 Evaluation board. Mass storage / MTP / PTP / NCM. | ||
Systems | Boot control | Partially | Available but not enabled. |
Power control | Partially | ||
Thermal control | Only one temperature is managed for CPU/GPU (others are stubbed). | ||
Update engine | |||
Sensors | Sensors | No sensor on the STM32MP257F-EV1 Evaluation board | |
Hub | No sensor on the STM32MP257F-EV1 Evaluation board | ||
Debug | ADB (USB) | ||
ADB (Ethernet) | |||
Perfetto | Partially | Not fully validated | |
Storage | USB storage | only for external storage | |
microSD card | for default user data (eMMC / microSD card hybrid configuration) or for external storage | ||
eMMC | for read-only partitions and for default user data (eMMC configuration) | ||
Others | Lights | ||
Touchscreen |
6. Restrictions[edit | edit source]
6.1. BSP restrictions[edit | edit source]
The OpenSTDroid v5.1.0 is based on the OpenSTLinux BSP v5.1.0, see the associated restrictions.
6.2. Android restrictions[edit | 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:
- Embedded LTDC composition is bypassed (composition is performed with the GPU)
- Embedded HW video encoder is not integrated
Information |
In this delivery, the OP-TEE secure storage[3] is using the eMMC RPMB partition with the TESTKEY fused (irreversible) if not already done. If you want to use your own key, you have to rebuild the OP-TEE sources using the distribution package |
7. Minor release updates[edit | edit source]
STMicroelectronics can deliver corrections and some light changes on purpose through github® components.
8. Associated tools[edit | edit source]
Refer to the Referenced tools release notes .
9. Demonstration applications[edit | edit source]
The OpenSTDroid distribution is delivered with several applications provided as example.
9.1. STLauncher[edit | 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 | 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 | 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 | 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. GPU performance is not yet available.
The associated application project is available on GitHub® (compatible with Android Studio IDE): STPerf application.
10. How to download the software and start with this release[edit | edit source]
The table below gives, for each supported board, the link towards the article that explains how to start up that board with the software image for the Android-based OpenSTDroid embedded software.
Supported board | Jump to |
STM32MP257x-EV1 Evaluation board | Android-based OpenSTDroid Starter Package for STM32MP25 Evaluation boards |
11. Detailed delivery content[edit | edit source]
11.1. Detailed description of STMicroelectronics modules[edit | edit source]
11.1.1. BSP modules[edit | 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 | ||||
| ||||||
| ||||||
stm32mp2-kernel | device/stm/
|
Linux STM32MP Kernel | ||||
| ||||||
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 | ||||
|
11.1.2. Common and peripherals modules[edit | 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 | ||||
|
11.1.3. Board modules[edit | 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 | ||||
|
11.1.4. ST application modules[edit | 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 | ||||
|
12. References[edit | edit source]