Last edited 4 months ago

STM32 MPU OpenSTDroid release note

Applicable for STM32MP25x lines


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 More info.png 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).

See after the boards available for STM32MP25:


STM32MP25 boards
Boards PCBs list Main features Ordering
Error creating thumbnail: Unable to save thumbnail to destination

STM32MP257F-EV1 Evaluation board
  • Finished good VA32MP257F1$MR1
  • MB1936 (main board)
  • STM32MP257FAI3[1] Rev.Y
    • Arm®-based dual Cortex®-A35 1500 MHz
    • Secure boot and cryptography
    • 2 x 16-Gbit DDR4, 32 bits, 1200 MHz
  • PMIC STPMIC25 Cut1.1
  • Optional expansion boards
    • LVDS WSVGA display B-LVDS7-WSVGA board (finished good BLVDS7SVGA$PZ1)
    • 5-megapixel image sensor raw Bayer B-CAMS-IMX board (finished good BCAMSIMX$MZ1)
    • DSI to HDMI adapter Full HD 30fps B-LCDAD-HDMI1 board

Evaluation board with STM32MP257F MPU

Error creating thumbnail: Unable to save thumbnail to destination

STM32MP257F-DK Discovery kit
  • Finished good DK32MP257F$AR4
  • MB1605 (main board)
  • STM32MP257FAK3[1] Rev.Y
    • Arm®-based dual Cortex®-A35 1500 MHz
    • Secure boot and cryptography
    • 32-Gbit LPDDR4, 32 bits, 1200 MHz
  • PMIC STPMIC25 Cut1.1
  • Optional expansion boards
    • LVDS WSVGA display B-LVDS7-WSVGA board (finished good BLVDS7SVGA$PZ1)
    • 5-megapixel image sensor raw Bayer B-CAMS-IMX board (finished good BCAMSIMX$MZ1)

Discovery kit with STM32MP257F MPU


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) Yes 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) Yes 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 No audio output on the STM32MP257F-EV1 Evaluation board.
Audio input No No audio input on the STM32MP257F-EV1 Evaluation board.
Camera Yes imx335 support (must be connected)
Video HW decode Yes H.264 and VP8
Video SW decode Yes Maximum 480p30 without audio.
Video HW encode No
Security SELinux Yes
Runtime verification (dm-verity) Partially
Disk encryption Partially using adiantum software solution
Trusted environment Yes OP-TEE
Keystore Yes OP-TEE solution based on kmgk[2] implementation
Gatekeeper Yes OP-TEE solution based on kmgk[3] implementation
Network and connectivity Ethernet Yes 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 No Bluetooth on the STM32MP257F-EV1 Evaluation board.
USB Yes 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 Yes Only one temperature is managed for CPU/GPU (others are stubbed).
Update engine No
Sensors Sensors No No sensor on the STM32MP257F-EV1 Evaluation board
Hub No No sensor on the STM32MP257F-EV1 Evaluation board
Debug ADB (USB) Yes
ADB (Ethernet) Yes
Perfetto Partially Not fully validated
Storage USB storage Yes only for external storage
microSD card Yes for default user data (eMMC / microSD card hybrid configuration) or for external storage
eMMC Yes for read-only partitions and for default user data (eMMC configuration)
Others Lights Yes
Touchscreen Yes

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).

Warning white.png Warning

It's important to notice that the kernel version (6.1) is not the one expected for Android 13 (5.10 or 5.15). It means that some kernel tests can't be executed and that you can get a pop-up window on start with the GSI.

Main restrictions concerning the OpenSTDroid distribution:

  • Embedded LTDC composition is bypassed (composition is performed with the GPU)
  • Embedded HW video encoder is not integrated


Info white.png Information

In this delivery, the OP-TEE secure storage[4] 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. Detailed delivery content[edit | edit source]

10.1. Detailed description of STMicroelectronics modules[edit | edit source]

10.1.1. BSP modules[edit | edit source]

Module name Path of module Description
stm32mp2-bootloader device/stm/
stm32mp2-bootloader
Primary (Trusted Firmware-A) and secondary (Universal bootloader for embedded devices) bootloaders for STM32MP
Name Version License
tf-a-stm32mp2 2.8.15 BSD-3-Clause
Name Version License
u-boot-stm32mp2 2022.10 GPLv2+
stm32mp2-kernel device/stm/
stm32mp2-kernel
Linux STM32MP Kernel
Name Version License
linux-stm32mp2 6.1 GPL-2.0
stm32mp2-tee device/stm/
stm32mp2-tee
OPTEE OS for STM32MP
Name Version License
optee_os-stm32mp2 3.19.0 BSD-2-Clause & BSD-3-Clause
stm32mp2-openocd device/stm/
stm32mp2-openocd
Free and open on-chip debugging, in-system programming and boundary-scan testing
Name Version License
stm32mp1-openocd 0.11.0 GPLv2

10.1.2. Common and peripherals modules[edit | edit source]

Module name Path of module Description
stm32mp2 device/stm/
stm32mp2
Common configuration of the OpenSTDroid distribution
Name Version License
stm32mp1 NA Apache v2.0
allocator device/stm/stm32mp2/
peripheral/allocator
STMicroelectronics allocator HAL public header files useful for composer
Name Version License
allocator NA Apache v2.0
audio device/stm/stm32mp2/
peripheral/audio
STMicroelectronics Audio HAL source code
Name Version License
audio NA Apache v2.0
camera device/stm/stm32mp2/
peripheral/camera
STMicroelectronics Camera HAL source code
Name Version License
camera NA Apache v2.0
composer device/stm/stm32mp2/
peripheral/composer
STMicroelectronics composer HAL source code
Name Version License
composer NA Apache v2.0
health device/stm/stm32mp2/
peripheral/health
STMicroelectronics Health hardware service source code
Name Version License
health NA Apache v2.0
lights device/stm/stm32mp2/
peripheral/lights
STMicroelectronics Lights HAL source code
Name Version License
lights NA Apache v2.0
memtrack device/stm/stm32mp2/
peripheral/memtrack
STMicroelectronics Memtrack HAL source code
Name Version License
memtrack NA Apache v2.0
oemlock device/stm/stm32mp2/
peripheral/oemlock
STMicroelectronics OemLock HAL source code (stub version)
Name Version License
oemlock NA Apache v2.0
thermal device/stm/stm32mp2/
peripheral/thermal
STMicroelectronics Thermal hardware service source code
Name Version License
thermal NA Apache v2.0
usb device/stm/stm32mp2/
peripheral/usb
STMicroelectronics Usb hardware service source code
Name Version License
usb NA Apache v2.0
wifi device/stm/stm32mp2/
peripheral/wifi
STMicroelectronics libwifi HAL source code
Name Version License
wifi NA Apache v2.0

10.1.3. Board modules[edit | edit source]

Module name Path of module Description
eval device/stm/stm32mp2/
eval
STMicroelectronics configuration for Android used to generate images adapted to the STM32MP25 Evaluation boards
Name Version License
eval NA Apache v2.0

10.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
Name Version License
app NA Apache v2.0

11. References[edit | edit source]