STM32 MPU OpenSTDroid release note - v5.1.0

Revision as of 16:01, 17 July 2024 by Registered User
Applicable for STM32MP25x lines

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

1. Intended audience[edit source]

The targeted audience is STM32MP25x lines More info.png 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.1.0 is part of STM32MP25-Ecosystem-v5.1.0 (see the STM32 MPU ecosystem release note - v5.1.0).

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

STM32MP257F-DK.png
STM32MP257F-DK Discovery kit
  • Finished good DK32MP257F$AR1
  • MB1605 (main board)
  • STM32MP257FAI3[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)
Under construction.png Coming soon


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.1.0 is based on the OpenSTLinux BSP v5.1.0 described in the following chapters:

5.2.2. Android features[edit source]

Domain Feature STM32MP25
Evaluation board
Comment
Boot Fastboot Yes 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 No audio output on this device
Audio headset No No audio output on this device
Audio built-in digital micro No No audio input on this device
Audio USB No
Camera Partially Embedded ISP not managed, impact on image quality
Camera USB No
Video HW decode Yes H.264 and VP8 only. Performance limitation (maximum 720p30 without audio).
Video SW decode Yes Maximum 480p30 without audio.
Video HW encode No
Security SELinux Partially limitation with camera setup
Runtime verification 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 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 No Bluetooth on this device
USB Yes 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 Yes Only one temperature is managed for CPU/GPU (others are stubbed).
Update engine No
Sensors Accelerometer No No sensor on this device
Gyroscope No No sensor on this device
Magnetometer No No sensor on this device
Proximity No No sensor on this device
Pressure No No sensor on this device
Temperature No No sensor on this device
Hub No No sensor on this device
Debug ADB (USB) Yes
ADB (Ethernet) Yes
Perfetto Yes
Storage USB storage Yes only for external storage
microSD card Yes for default userdata (eMMC / microSD card) hybrid configuration) or for external storage
eMMC Yes for read-only partitions and for default userdata (eMMC configuration)
Others Lights Yes
Touchscreen Yes

6. Restrictions[edit source]

6.1. BSP restrictions[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 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:

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


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 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/
stm32mp2-bootloader
Primary (Trusted Firmware-A) and secondary (Universal bootloader for embedded devices) bootloaders for STM32MP
Name Version License
tf-a-stm32mp2 2.8.12 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 GPLv2
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 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 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 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