This article describes the content of STM32MPU distribution for Android software release v2.0.0 st-android-11.0.0-2021-01-29 (tag), which is part of STM32MP15 ecosystem release note - v2.1.0.
1. Intended audience[edit source]
The targeted audience is STM32MP15 customers or partners.
2. Delivery scope and purpose[edit source]
The STM32MPU distribution for Android™ provides all the components required for running, developing and/or making your own platform based on Android™ framework. It runs on the Arm® Cortex®-A7 processors, and is a fundamental part of the STM32MPU Embedded Software distribution for Android.
It is compatible with Android 11.0.0.
It is provided as an example. The Android certifications are not guaranteed.
This delivery of STM32MP15 distribution for Android™ v2.0.0 is part of STM32MP15-Ecosystem-v2.1.0 (see the STM32MP15 ecosystem release note - v2.1.0).
3. Licensing[edit source]
This software package is licensed under a SOFTWARE LICENSE AGREEMENT (SLA). 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:
- STM32MP157C-EV1 and STM32MP157F-EV1 Evaluation boards. For more information on this board family, please read the article STM32MP157x-EV1 - hardware description
5. Delivered features[edit source]
5.1. Main software components[edit source]
- Android version v11.0.0 (AOSP android-11.0.0_r27 tag)
- Kernel version v5.4.56 (AOSP common kernel) + updates for STM32MP1 and associated boards (waiting upstream finalization)
- TF-A version v2.2 + updates for STM32MP1 and associated boards (waiting upstream finalization)
- U-Boot version v2020.01 + updates for STM32MP1 and associated boards (waiting upstream finalization)
- OP-TEE version v3.9.0 + updates for STM32MP1 and associated boards (waiting upstream finalization)
- STM32CubeMP1 FW v1.5.0
- GCC version v9.2
- openOCD version v0.10.0
- GCnano version v6.4.3
5.2. Detailed features[edit source]
5.2.1. BSP features[edit source]
The STM32MP15 distribution for Android™ v2.0.0 is based on the OpenSTLinux BSP v2.1.0 described in the following chapters:
5.2.2. Android features[edit source]
Domain | Feature | STM32MP15 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 | |||
A/B mechanism | Boot A and B images are available (boot from A is selected by default). | ||
Recovery | |||
Multimedia | Audio speaker | Audio speaker output can be used only to connect a headset. | |
Audio headset | Not selected by default (no headset detection) | ||
Audio built-in digital micro | Limited to one microphone (mono). | ||
Audio USB | |||
Camera | |||
Camera USB | |||
Video SW decode | Maximum 480p30 without audio. | ||
Security | SELinux | ||
Runtime verification | |||
Disk encryption | |||
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 | ||
Wifi | TP-LINK dongle (TL-WN722N) is used for test purposes. | ||
Wifi hotspot | TP-LINK dongle (TL-WN722N) is used for test purposes. | ||
BT / BLE | |||
USB | Mass storage / MTP / PTP / RNDIS. | ||
Systems | Boot control | Partially | Available but not enabled. |
Power control | |||
Thermal control | Only one temperature is managed for CPU/GPU (others are stubbed). | ||
Update engine | |||
Sensors | Accelerometer | ||
Gyroscope | |||
Magnetometer | |||
Proximity | |||
Pressure | |||
Temperature | |||
Hub | |||
Debug | ADB (USB) | ||
ADB (Ethernet) | |||
Perfetto | |||
Metrics | Boot time. | ||
Storage | USB Key | ||
microSD card | |||
eMMC | |||
Others | Lights | ||
Touchscreen |
6. Recommendations for use[edit source]
6.1. Safe use[edit source]
- Flash load and boot from a supported Flash device: SDCard or eMMC Flash memories
- Develop Android™ applications, libraries and kernel modules
- Prototype applications based on ST boards
- Develop your own board based on an STM32MP15x
6.2. Non-recommended use[edit source]
- None
7. Main restrictions[edit source]
7.1. BSP restrictions[edit source]
- M-CAN Bus is not functional if power management is activated ("sleep" state defined in pinctrl): the issue is corrected thanks to this patch.
7.2. Android restrictions[edit source]
STM32P15 distribution for Android™ is provided as example.
In this context:
- Compliance tests (VTS/CTS) are not ensured (but they are executed and treated as much as possible).
- Verified boot and A/B boot mechanism are not available or are partially available.
The following functions are available on STM32MP15 Evaluation board but are not integrated in STM32P15 distribution for Android™:
- Audio headset detection is not available (its usage has to be forced).
- Audio RCA is not available (SPDIF input / SPDIF output).
- Audio digital microphone is limited to mono mode (record usage) without any gain.
- Joystick is not available.
8. Minor release updates[edit source]
STMicroelectronics can deliver corrections and some light changes on purpose through github® components.
8.1. v2.0.1[edit source]
Tag: st-android-11.0.0-2021-06-01
Main updates (distribution package only):
- switch to AOSP android-11.0.0_r37 tag
- switch to OpenSTLinux BSP v2.1.1
- change the kernel build config structure
8.2. v2.0.2[edit source]
Tag: st-android-11.0.0-2021-08-31
Main updates (distribution package only):
- change graphics libraries (gcnano 6.4.6) and enable overlay plane usage (warning: display must be switched to BGR mode for color format compatibility)
- enable AVB for boot partition (eMMC configuration only)
- add small screen support (MB1166) instead of default one (MB1230)
- several minor corrections on ST applications
9. How to get started with st-android-11.0.0-2021-01-29[edit source]
Refer to How to download the software and start with this release.
10. Associated tools[edit source]
Refer to the Referenced tools release notes .
11. Demonstration applications[edit source]
The STM32MP15 distribution for Android™ is delivered with several applications provided as example.
11.1. STLauncher[edit source]
Simple launcher application example.
The associated application project is available on GitHub® (compatible with Android Studio IDE): STLauncher application.
11.2. STCopro M4Echo application[edit source]
Example of application using the proprietary coprocessor service. It allows a direct interaction with the firmware launched on the embedded Arm® Cortex®M4 core.
The firmware just returns the received character via the open serial port.
The associated application project is available on GitHub® (compatible with Android Studio IDE): STCoproM4Echo application.
11.3. STCopro M4Example application[edit source]
Example of application using the proprietary coprocessor service. It allows direct interaction with the firmware started on the embedded Arm® Cortex®M4 core.
The firmware generates a signal on the DAC and gets back a signal from the ADC. A wire can be added to loop back the DAC on the ADC. The firmware also shows a simple usage of several blocks available on Arm® Cortex®M4 side.
The associated application project is available on GitHub® (compatible with Android Studio IDE): STCoproM4Example application.
The associated firmware project is available on GitHub® (compatible with STM32CubeIDE): STCoproM4Example firmware.
11.4. STCamera[edit source]
Simple camera application (preview) showing a way to manage the built-in camera. It is compatible only with the MB1379 camera extension board. An external storage configured as portable device must be available to allow taking pictures.
The associated application project is available on GitHub® (compatible with Android Studio IDE): STCamera application.
11.5. STAudio[edit source]
Simple audio application demonstrating how to play and record audio data. The audio files must be stored in the Music directory on an external storage device (such as a USB key) or anywhere on a primary storage (such as an SD card in case of eMMC configuration).
The associated application project is available on GitHub® (compatible with Android Studio IDE): STAudio application.
11.6. 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 key) or anywhere on a primary storage (such as an SD card in case of eMMC configuration).
The associated application project is available on GitHub® (compatible with Android Studio IDE): STVideo application.
11.7. 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.
11.8. 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.
12. Main changes compared to v1.1.0[edit source]
The main differences between v2.0.0 and previous delivery v1.1.0 (see STM32MP15 distribution for Android release note - v1.1.0 page for the v1 ecosystem releases (in archived wiki)):
- Switch from Android 10.0.0 (android-10.0.0_r22) to Android 11.0.0 (android-11.0.0_r27)
- Switch from Linux kernel 4.19.94 to 5.4.56
- Switch from STM32MP1 OpenSTLinux BSP V1.2.0 to V2.1.0
- Added OP-TEE keystore and gatekeeper as example
13. Detailed delivery content[edit source]
13.1. Detailed description of STMicroelectronics modules[edit source]
13.1.1. BSP modules[edit source]
Module name | Path of module | Description | ||||
---|---|---|---|---|---|---|
stm32mp1-bootloader | device/stm/
|
Primary (Trusted Firmware-A) and secondary (Universal bootloader for embedded devices) bootloaders for STM32MP | ||||
| ||||||
| ||||||
stm32mp1-kernel | device/stm/
|
Linux STM32MP Kernel | ||||
| ||||||
stm32mp1-tee | device/stm/
|
OPTEE OS for STM32MP | ||||
| ||||||
stm32mp1-openocd | device/stm/
|
Free and open on-chip debugging, in-system programming and boundary-scan testing | ||||
|
13.1.2. Common and peripherals modules[edit source]
Module name | Path of module | Description | ||||
---|---|---|---|---|---|---|
stm32mp1 | device/stm/
|
Configuration of the STM32MP1 distribution for Android | ||||
| ||||||
allocator | device/stm/stm32mp1/
|
STMicroelectronics allocator HAL public header files useful for composer | ||||
| ||||||
audio | device/stm/stm32mp1/
|
STMicroelectronics Audio HAL source code | ||||
| ||||||
camera | device/stm/stm32mp1/
|
STMicroelectronics Camera HAL source code | ||||
| ||||||
composer | device/stm/stm32mp1/
|
STMicroelectronics composer HAL source code | ||||
| ||||||
copro | device/stm/stm32mp1/
|
STMicroelectronics Copro HAL source code | ||||
| ||||||
health | device/stm/stm32mp1/
|
STMicroelectronics Health hardware service source code | ||||
| ||||||
lights | device/stm/stm32mp1/
|
STMicroelectronics Lights HAL source code | ||||
| ||||||
memtrack | device/stm/stm32mp1/
|
STMicroelectronics Memtrack HAL source code | ||||
| ||||||
oemlock | device/stm/stm32mp1/
|
STMicroelectronics OemLock HAL source code (stub version) | ||||
| ||||||
thermal | device/stm/stm32mp1/
|
STMicroelectronics Thermal hardware service source code | ||||
| ||||||
usb | device/stm/stm32mp1/
|
STMicroelectronics Usb hardware service source code | ||||
| ||||||
wifi | device/stm/stm32mp1/
|
STMicroelectronics libwifi HAL source code | ||||
|
13.1.3. Board modules[edit source]
Module name | Path of module | Description | ||||
---|---|---|---|---|---|---|
eval | device/stm/stm32mp1/
|
STMicroelectronics configuration for Android used to generate images adapted to the STM32MP15 Evaluation boards | ||||
|
13.1.4. Coprocessor service module[edit source]
Module name | Path of module | Description | ||||
---|---|---|---|---|---|---|
CoproService | packages/services/
|
STMicroelectronics coprocessor service | ||||
|
13.1.5. 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 | ||||
|
14. Archives [edit source]
STM32MP15 release | Distribution for Android release note |
---|---|
STM32MP15 distribution for Android v1.1.0 | STM32MP15 distribution for Android release note - v1.1.0 page for the v1 ecosystem releases (in archived wiki) |