The STM32MPU Embedded Software distribution for Android™ for STM32 microprocessor platforms supports three software Packages:
- The Starter Package to quickly and easily start with any STM32MP microprocessor device. The Starter Package is generated from the Distribution Package.
- The Developer Package to add your own developments on top of the STM32MPU Embedded Software distribution for Android. The Developer Package is generated from the Distribution Package.
- The Distribution Package to create your own Android™ distribution, your own Starter Package and your own Developer Package.
This article describes in details the above Packages ("ways of working") and helps finding the one that best fits your use case. Packages are standalone, but they are not isolated one from the others: there are gateways between them.
This article starts by an overview of the STM32MPU Embedded Software distribution for Android components.
1. Overview of STM32MPU Embedded Software distribution for Android components[edit source]
The STM32MPU Embedded Software distribution for Android includes the following components:
- Binaries: software images
- SDK update (based on standard Android Studio SDK)
- Source code for:
- The STM32MPU distribution for Android application frameworks (including when required source code for TF-A, OP-TEE, U-Boot and Linux® kernel) running on Arm® Cortex®-A processor(s)
- The STM32CubeMP1 Package running on Arm® Cortex®-M processor(s)
- Android build framework
- Documentation and tools such as:
- The present wiki
- The STM32CubeProgrammer
- Integrated development environments (IDE)
Each of the three Packages described below is made of some of the above components.
2. Starter Package[edit source]
This Package allows to quickly and easily get any STM32 microprocessor development platform up and running.
An STM32 microprocessor development platform (such as STM32MP157x-EV1 Evaluation board) and a microSD card (populated with the software image delivered for this platform) are all what is required to discover the platform capabilities.
No integrated development environment (IDE), no software development kit (SDK) are needed: just use the development platform as an Android™ device.
The software image contains firmware delivered as examples with regards to the STM32Cube MPU Package (if the considered development platform includes an Arm® Cortex®-M processor).
What are the main use cases that can be covered with this Package?
- Evaluation of the STM32 microprocessor device and development platform (such as internal peripherals and performance)
- Execution of the Cube M4 firmware projects delivered within each STM32MPU Embedded Software distribution Starter Package (such as the firmware available on the Arm® Cortex®-M processor
- Please read STM32CubeMP1 Package#Starter Package for STM32CubeMP1 article to get started with running Cube M4 firmware
- Direct development on the development platform using Android Studio IDE
For more information on the Starter Package depending on your development platform, refer to the corresponding Starter Package article named Your_development_platform - Starter Package for Android.
Example: STM32MP15 Evaluation boards - Starter Package for Android for the STM32MP15 Evaluation boards.
All Starter Package articles belong to the Category:Starter Package.
Switch to the next Package if you need to:
- develop and integrate your own Android application (Arm® Cortex®-A processor) using your own firmware (Arm® Cortex®-M processor).
3. Developer Package[edit source]
This Package allows developing your own Android application, accessing, through proprietary coprocessor service (named Copro), the firmware started on Arm® Cortex®-M processor.
The Developer Package provides on top of the Starter Package:
- a software development kit (SDK) update which adds the coprocessor service to the standard Android SDK in Android Studio IDE
- The STM32Cube MPU Package in source code (if the considered development platform includes an Arm® Cortex®-M processor)
- Initialization code generator (STM32CubeMX). This tool makes it possible to
- generate device tree for STM32MPU distribution for Android (reserved for Distribution Package)
- generate the peripheral initialization C code and IDE project creation files for STM32Cube MPU package
- An Eclipse-based integrated development environment (IDE) - STM32CubeIDE
- STM32Cube firmware projects are supported by STM32CubeIDE.
- Projects files generated by STM32CubeMX can be directly opened by this IDE to continue Cube firmware development.
- STM32CubeIDE integrates STM32CubeMX for an easier user experience.
What are the main use cases that can be covered with this Package?
- Development of the Android application running on the Arm® Cortex®-A processor
- Development of the firmware running on the Arm® Cortex®-M processor (limited to the list of reserved resources allocated by default within the associated starter package)
- Please read STM32CubeMP1 Package#Developer Package for STM32CubeMP1 article to get started with building and running Cube M4 firmware
For more information on the Developer Package for a given STM32 microprocessors Series, refer to the corresponding Developer Package article named STM32_microprocessors_series Developer Package for Android.
Example: STM32MP1 Developer Package for Android for the STM32MP1 microprocessors Series.
All Developer Package articles belong to the Category:Developer Package.
Switch to the next Package if you need to:
- modify or tune the BSP (TF-A, U-Boot, OP-TEE and Linux®) or/and the application frameworks of the STM32MPU distribution for Android
- create your own distribution (e.g. to integrate and share pieces of software from open source communities or third parties)
- generate your own software development kit (SDK) and images
4. Distribution Package[edit source]
This Package allows the creation of a new distribution with a final objective of productization.
It includes the source code for all the pieces of software present in the STM32MPU Embedded Software distribution for Android, plus a build framework.
A host PC is required to operate this Package (a Linux® host PC is even strongly recommended).
What are the main use cases that can be covered with this Package?
- Creation of your own distribution for Android
- to tune the system configuration options (such as memory sizes, resource allocation, debug options...)
- to share all the developments within your team (software baseline)
- to prepare the final software for productization
- Integration of the following software in this distribution:
- your developments made thanks to the Developer Package
- pieces of software coming from open source communities or third parties
- Integrate your Cube M4 firmware projects in your own distribution (binary)
- Please read STM32CubeMP1 Package#Distribution Package for STM32CubeMP1 article to understand how Cube M4 firmware projects have been installed in STM32MPU Embedded software distribution.
- Generation of your own Starter Package images
- Generation of your own Developer Package SDK
For more information on the Distribution Package for a given STM32 microprocessor Series, refer to the corresponding Distribution Package article named STM32MP_microprocessors_series Distribution Package for Android.
Example: STM32MP1 Distribution Package for Android for the STM32MP1 microprocessors Series.
All Distribution Package articles belong to the Category:Distribution Package.