- Last edited 4 months ago ago
STM32MP1 Distribution Package for Android
This article describes how to obtain and use the Distribution Package for Android of the STM32MPU Embedded Software for any STM32MP1 family (STM32MP15 boards) development platform, in order to modify or add pieces of software, and to create the right Android distribution for the targeted product.
It lists some prerequisites in terms of knowledge and development environment, and gives step-by-step instructions to download and install the STM32MPU Embedded Software packages for this Package.
1 Distribution Package content
If you are not familiar with the STM32MPU Embedded Software for Android distribution and its Packages, please read the following articles:
- Which STM32MPU Embedded Software Package for Android better suits your needs (and especially the Distribution Package chapter)
- STM32MPU Embedded Software distribution for Android
In summary, this Distribution Package provides:
- An Android build framework (aka distribution builder)
- For the STM32MPU distribution for Android (development on Arm Cortex-A processor):
- the BSP (Linux kernel, U-Boot, TF-A, optionally OP-TEE) pieces in binary (prebuilt). Several scripts are provided to load source code and re-build them
- the application frameworks (including hardware abstraction code) pieces in source code
- For the STM32Cube MPU Package (development on Arm Cortex-M processor), all pieces of software in source code: BSP, HAL, middlewares and applications
- A toolset to tune the system for your needs, and to handle the built image (for example STM32CubeProgrammer to install the built image on the board).
The STM32MP1 Distribution Package aims to create an Android distribution for the targeted product: solid knowledge of Linux and Android are recommended to make the most of this Package.
The STM32MPU distribution for Android is an Android distribution based on the Android build framework: a short introduction about Android is available in AOSP.
Reading the STM32MPU Embedded Software for Android architecture overview is also highly recommended.
2.2 Development setup
The recommended setup for the development PC (host) is specified in the following article: PC prerequisites.
Whatever the development platform (board) and development PC (host) used, the range of possible development setups is illustrated by the picture below.
The following components are mandatory:
- Host PC for cross-compilation and cross-debugging, installed as specified above
- Board assembled and configured as specified in the associated Starter Package article
- Mass storage device (for example, microSD card) to load and update the software images (binaries)
The following components are optional, but recommended:
- A serial link between the host PC (through Terminal program) and the board for traces (even early boot traces), and access to the board from the remote PC (command lines)
- An Ethernet link between the host PC and the board for cross-development and cross-debugging through a local network. This is an alternative or a complement to the serial (or USB) link
- A display connected to the board, depending on the technologies available on the board: DSI LCD display, HDMI monitor (or TV) and so on
- A mouse and a keyboard connected through USB ports
Additional optional components can be added by means of the connectivity capabilities of the board: cameras, displays, JTAG, sensors, actuators, and much more.
3 Installing the STM32MPU distribution for Android
4 Building the STM32MPU distribution for Android
When the installation is complete, please refer to the How to build STM32MPU distribution for Android page to learn how to build it.
5 Flashing the built image
When the distribution has been built, please refer to the How to populate boards for Android page to learn how to flash your device.