This article describes the content of STM32MP25-ecosystem-v5.1.0 release of STM32MPU Embedded Software distribution and its associated ecosystem.
This delivery supports STM32MP1x products family and brings the product STM32MP25 at Mass Market level.
1. Delivery purpose and scope[edit source]
The STM32MPU-ecosystem-v5.1.0 release is dedicated to the STM32MP1 series[1]. It is a major release, based on new community components version, listed in the embedded software chapter below.
This STM32MP1-ecosystem-v5.1.0 release aims at:
- providing a full ecosystem for the STM32MP1 series[1]
- providing a full ecosystem for the STM32MP25x lines [2]
- working efficiently with STM32 MPU boards, using one of the packages (Starter Package, Developer Package or Distribution Package) provided by STMicroelectronics: refer to Which Package better suits your needs for more information.
This ecosystem release consists of:
- STM32 MPU Embedded Software distribution
- OpenSTLinux for all MPUs
- X-LINUX-AI expansion package for STM32MP25
- X-LINUX-TSN expansion package for STM32MP25
- X-LINUX-ACM expansion package for STM32MP25
- STM32CubeMP1 (Arm® Cortex®-M4) for STM32MP2x
- STM32CubeMP2 (Arm® Cortex®-M33) for STM32MP25
- TF-M (Arm® Cortex®-M33) for STM32MP25
- STM32DDRFW-UTIL firmware utility for all MPUs
- STM32PRGFW-UTIL firmware utility for all MPUs
- STM32 referenced tools
- STM32CubeIDE for all MPUs
- STM32CubeMX for all MPUs
- STM32CubeProgrammer for all MPUs
- Keygen tool
- Signing tool
- Trusted package creator tool
- The Package Repository Service
- hosted at the non-browsable URL http://packages.openstlinux.st.com,
- enabled by default in the Starter Package,
- providing regularly updated or additional packages,
- Documentation
- the present user guide in Wiki format
- the documentation package (for more details refer to Reference documents chapter below)
- STM32MPU boards support
- STM32MP15 Evaluation boards
- STM32MP15 Discovery kits
- STM32MP13 Discovery kits
- STM32MP25 Evaluation boards
- STM32MP25 Discovery kits
- More details are provided in the supported hardware chapter below.
2. Intended audience[edit source]
The targeted audience is STM32MPU customers and partners.
3. Licensing[edit source]
This software package is licensed under a SOFTWARE LICENSE AGREEMENT FOR ST MATERIALS (SLA). Customers should only use this package in compliance with the software license agreement (SLA) and LegalInformation:STM32CubeMP2_licenses
4. Supported hardware[edit source]
This Ecosytem delivery is compatible with the following boards:
STM32MP13 boards | |||
---|---|---|---|
Boards | PCBs list | Main features | Ordering |
STM32MP135F-DK Discovery kit |
|
|
STM32MP15 boards | |||
---|---|---|---|
Boards | PCBs list | Main features | Ordering |
STM32MP157D-DK1 Discovery kit |
|
|
|
STM32MP157F-DK2 Discovery kit |
|
|
|
STM32MP157D-EV1 Evaluation board |
|
|
|
STM32MP157F-EV1 Evaluation board |
|
|
|
STM32MP157A-DK1 Discovery kit |
|
|
Out of production |
STM32MP157C-DK2 Discovery kit |
|
|
Out of production |
STM32MP157A-EV1 Evaluation board |
|
|
Out of production |
STM32MP157C-EV1 Evaluation board |
|
|
Out of production |
STM32MP25 boards | |||||
---|---|---|---|---|---|
Boards | PCBs list | Main features | Ordering | ||
STM32MP257F-EV1 Evaluation board |
|
|
|||
STM32MP257F-DK Discovery kit |
|
|
|
5. Release content[edit source]
5.1. Embedded software[edit source]
Embedded software | STM32MP13x lines | STM32MP15x lines | STM32MP25x lines |
---|---|---|---|
OpenSTLinux (Arm® Cortex®-Ax) | Cortex®-A7 | Cortex®-A7 | Cortex®-A35 |
X-LINUX-AI expansion package (Arm® Cortex®-A35) | |||
X-LINUX-TSN expansion package (Arm® Cortex®-A35) | |||
X-LINUX-ACM expansion package (Arm® Cortex®-A35) | |||
STM32CubeMPx (Arm® Cortex®-Mx) | Cortex®-M4 | Cortex®-M33 | |
Buildroot (Arm® Cortex®-A7) | |||
STM32DDRFW-UTIL (Arm® Cortex®-A7) | |||
STM32PRGFW-UTIL (Arm® Cortex®-A7) |
5.1.1. OpenSTLinux (Arm® Cortex®-Ax)[edit source]
unknown revision is the new version delivered with the STM32MP25-ecosystem-v5.0.2.BETA release. This software set consists of the following components: STM32 MPU OpenSTLinux release note - v5.0.2.BETA
5.1.1.1. Main changes[edit source]
Linux® kernel STM32 MPU OpenSTLinux release note - v5.0.2.BETA dt-stm32mp STM32 MPU OpenSTLinux release note - v5.0.2.BETA U-Boot STM32 MPU OpenSTLinux release note - v5.0.2.BETA TF-A STM32 MPU OpenSTLinux release note - v5.0.2.BETA OP-TEE STM32 MPU OpenSTLinux release note - v5.0.2.BETA SCP firmware STM32 MPU OpenSTLinux release note - v5.0.2.BETA OpenSTLinux layers STM32 MPU OpenSTLinux release note - v5.0.2.BETA
5.1.1.2. Restrictions[edit source]
STM32 MPU OpenSTLinux release note - v5.0.2.BETA
5.1.2. STM32CubeMPx (Arm® Cortex®-Mx)[edit source]
unknown revision version. (Add-on to STM32CubeMP2-v0.3.0 delivered in December 2023)
5.1.2.1. Main changes[edit source]
- BETA release of STM32CubeMP2 package HAL drivers.
- All HAL drivers have been checked for MISRA 2012 compliance but warnings are not fixed completely.
- BETA release of STM32CubeMP2 package LL drivers.
- All LL drivers have been checked for MISRA 2012 compliance but warnings are not fixed completely.
- AzureRTOS (ThreadX, LevelX, FileX, NetXDuo) middlewares
- OpenAMP v2021.10.0 middleware
- UCPD middleware
5.1.2.2. Main restrictions[edit source]
- None
5.1.3. TF-M (Arm® Cortex®-M33)[edit source]
unknown revision version
5.1.3.1. Main changes[edit source]
- Cortex-M33 firmware in secure context,
- TF-M device tree introduced in TF-M build process,
- TFM_Protected_Storage_CM33_trusted-firmware-m example project in STM32CubeMP2,
- Tests with TF-m-tests component.
5.1.3.2. Main information[edit source]
- To install in local STM32CubeMP2/Middlewares/Third_party/trusted-firmware-m directory for usage – refer to STM32CubeIDE user guide (How to build and debug secure project on STM32MP25 co-processor in STM32CubeIDE user guide).
5.1.3.3. Main restrictions[edit source]
5.1.4. X-LINUX-TSN (Arm® Cortex®-A35)[edit source]
X-LINUX-TSN expansion package enable dual ethernet (ETH1, ETH2) and also Ethernet switch.(ETH2, ETH1/ETH3)
5.1.4.1. Main changes[edit source]
- Support of STM32MP257F revB
- Support of STM32MP257F-EV1 (MB1936) board / DDR4 settings
5.1.4.2. Main restrictions[edit source]
- None
5.1.5. X-LINUX-ACM (Arm® Cortex®-A35)[edit source]
X-LINUX-ACM expansion package enable ACM stack on top of Ethernet switch.(ETH2, ETH1/ETH3)
5.1.5.1. Main changes[edit source]
- Support of STM32MP257F revB
- Support of STM32MP257F-EV1 (MB1936) board / DDR4 settings
5.1.5.2. Main restrictions[edit source]
- None
5.1.6. X-LINUX-AI (Arm® Cortex®-A35)[edit source]
This X-LINUX-AI STM32MP25-beta is dedicated to provide a complete AI ecosystem for STM32MP25 board and to demonstrate these AI hardware capabilities
5.1.6.1. Main changes[edit source]
- TensorFlow™ Lite 2.11.0 with XNNPACK delegate activated
- Coral Edge TPU™ accelerator native support
- libedgetpu 2.0.0 (Grouper) aligned with TensorFlow™ Lite 2.11.0
- libcoral 2.0.0 (Grouper) aligned with TensorFlow™ Lite 2.11.0
- PyCoral 2.0.0 (Grouper) aligned with TensorFlow™ Lite 2.11.0
- ONNX Runtime™ 1.14.0 with XNNPACK execution engine activated
- OpenCV 4.7.x
- Python™ 3.11.x
- Support of Sony™ IMX335 5Mpx sensor with use of DCMIPP and internal ISP
- Support for the OpenSTLinux AI package repository allowing the installation of a prebuilt package using apt-* utilities
- Application :
- Image Classification :
- C++ / Python™ example using TensorFlow™ Lite based on the MobileNet v3 quantized model
- C++ / Python™ example using Coral Edge TPU™ based on the MobileNet v1 quantized model and compiled for the Edge TPU™
- Python™ example using ONNX Runtime based on the MobileNet v3 quantized model
- C++ example using Network Binary Graph based on MobileNet v3 quantized model
- Object Detection :
- C++ example using TensorFlow™ Lite based on the COCO SSD MobileNet v1 quantized model
- Python™ example using TensorFlow™ Lite based on the YoloV4-tiny quantized model
- C++ / Python™ example using Coral Edge TPU™ based on the COCO SSD MobileNet v1 quantized model and compiled for the Edge TPU™
- C++ / Python™ example using ONNX Runtime based on the COCO SSD MobileNet v1 quantized model
- Face Recognition :
- C++ example using proprietary model capable of recognizing the face of a known (enrolled) user. Contact the local STMicroelectronics support *** for more information about this application or send a request to edge.ai@st.com
- Human Pose Estimation :
- Python™ example using TensorFlow™ Lite based on Movenet SinglePose Lightning quantized model
- Semantic Segmentation :
- Python™ example using TensorFlow™ Lite based on DeepLabV3 quantized model
- Image Classification :
- Application support for the 1080p, 720p, 480p, and 272p display configurations
- X-LINUX-AI SDK add-on extending the OpenSTLinux SDK with AI functionality to develop and build an AI application easily. The X-LINUX-AI SDK add-on provides support for all the above frameworks. It is available from the [X-LINUX-AI] STM32MP25-beta repository
5.1.6.2. Main restrictions[edit source]
- None
5.1.7. STM32DDRFW-UTIL (Arm® Cortex®-A35)[edit source]
STM32DDRFW-UTIL-v0.3.0 version.
STM32DDRFW-UTIL provides DDR settings configuration and tests services.
5.1.7.1. Main changes[edit source]
- DDR settings and tests (DDR4 4GB 1200 MHz, LPDDR4 4GB 1200 MHz, DDR3 1GB 930 MHz)
- Support of STM32MP257F-EV1 (MB1936) board / DDR4 settings
- Improve board customization capability for LPDDR4 and DDR3
- Utility firmware to be compiled and debugged in Cortex®-A35 Aarch64 bits using STM32CubeIDE to access to 4GB addressing range
- To use with STM32CubeMX or in standalone
5.1.7.2. Main restrictions[edit source]
- None
5.1.8. STM32PRGFW-UTIL (Arm® Cortex®-A35)[edit source]
STM32PRGFW-UTIL-v1.1.0.rc5 version. (Add-on to STM32PRGFW-UTIL-v1.1.0.rc4 delivered on December 2023)
STM32PRGFW-UTIL provides multiple applications to manage the one-time programmable (OTP) memories.
5.1.8.1. Main changes[edit source]
- Fuses settings
- PMIC command to read/write STPMIC25 NVM content
- PMIC some simple commands to read/write STPMIC25 NVM parts
- Utility firmware to be compiled and debugged in Cortex®-A35 Aarch32 bits with STM32CubeIDE
- To use with STM32CubeProgrammer or in standalone
5.1.8.2. Main restrictions[edit source]
- None
5.2. Tools[edit source]
5.2.1. STM32CubeProgrammer, Signing tool, Keygen[edit source]
STM32CubeProgrammer v2.14.0-MP25-B03 version. (Add-on to STM32CubeProgrammer v2.14.0-MP25-B02 delivered in December 2023)
5.2.1.1. Main changes[edit source]
- Flash programming with STM32MP25 on supported flashes by OpenSTLinux with STM32CubeProgrammer tool
- Hash of (RoT Public Keys + Algo) hashes (256 bits, ROTPK) generation with KeyGen tool
- TF-A BL2 binary signature with stm32header V2.2 with Signing tool for STM32MP25 Rev B
- FSBL encryption with Signing tool
- Signing services with PKCS#11
- OTP programming via CLI/GUI
5.2.1.2. Supported operating systems and architectures[edit source]
- Windows® 7, 8, 10, and 11: 32 bits (x86) and 64 bits (x64)
- Linux® 64 bits (tested on Ubuntu® 64 bits)
5.2.1.3. Information[edit source]
- v2.14.0-MP25-B03 based on v2.14 version
- STM32MP25 revB support
- Flashload over UART OK for Utilities firmware but not available with OpenSTLinux bootloaders
- FSBL (TF-A) header handled by BOOTROM has been upgraded for STM32MP25 Rev B (Header V2.2 version) versus STM32MP25 Rev A (Header V2.0 version). If the FSBL is signed with and header v2.0 version, the target will not boot with a STM32MP25 Rev B.
- In case of non secure boot, the header is generated by Yocto build process
- In case of secure boot, the header is generated by Signing tool in STM32CubeProgrammer delivery
- Note : still possible to ensure TF-A BL2 binary signature with stm32header V2.0 with Signing tool for STM32MP25 Rev A with STM32CubeProgrammer ALPHA version (v2.13)
5.2.1.4. Restrictions[edit source]
- None
5.2.2. STM32CubeMX[edit source]
STM32CubeMX-6.99.27-B6 version. (Add-on to STM32CubeMX-6.99.27-B2 delivered in December 2023)
5.2.2.1. Main changes[edit source]
- Pinout/list and Peripherals assignment UI
- Clocks tree UI
- RIFs UI
- DDR Settings
- DDR4 using STM32-DDR-FWUTIL embedded SW binary with EVAL board
- LPDDR4 and DDR3 tests using STM32-DDR-FWUTIL embedded SW binary
- Code generation
- Device trees with GPIO, IP Assignment, Clocks, RIF parts for TF-A, OP-TEE, U-BOOT, KERNEL SW components on Cortex A35 and SW TF-M components on Cortex M33
- STM32CubeMP2 on Cortex M33 non secure context
5.2.2.2. Supported operating systems and architectures[edit source]
- Windows® 10 and 11, 64 bits (x64)(b)
- Linux®: Ubuntu® LTS 20.04 and LTS 22.04
5.2.2.3. Supported toolchains[edit source]
STM32CubeMX generates project files for the following toolchains:
- STM32CubeIDE by STMicroelectronics
5.2.2.4. Main restrictions[edit source]
- Resource manager is not functional and will be supported in the next delivery. STM32CubeMP2 utilities proposes 2 APIs ResMgr_Request and ResMgr_Release to ensure the requested resources by Cortex-M33 Non secure context not used in other contexts (Cortex-A35 secure or non secure Cortex-M33 secure). The generated code by STM32CubeMX does not use this API. It will work anyway if the resources assigned to Cortex-M33 non secure context are not also assigned to other contexts
- Some internal peripherals assignments are not correct both on Cortex-M33 and on Cortex-A35. For the Cortex-A35 assignment, the issue is present in UART4, as soon as it is assigned to Linux firmware, do not assign UART4 to the OP-Tee runtime context.
- VENC peripheral is not supported in this beta release.
- Wrong assignments for ETHSW features: should not be assigned to “M33 NS” contexts (no HAL driver).
- OCTOSPIM, OCTOSPI1 and OCTOSPI2 can be assigned to the same runtime context.
- EXTI2 display issue: can appear in yellow whereas this instance peripheral is correctly configured. Anyway, the code generated is fully functional.
- FSBL synchro output window log is wrong and should not take into account.
- TAMP IP is not supported, both on HAL/LL code generation and device tree generation.
- FSBL synchro output windows log erroneous and not to take into account.
5.2.3. STM32CubeIDE[edit source]
STM32CubeIDE-v1.13.0.23-MP2-D4.0 version.
5.2.3.1. Main changes[edit source]
- STM32CubeMP2, TF-M firmwares on Cortex-M33 production mode
- STM32-PRG-FWUTIL firmware support on Cortex-A35 dev mode Aarch32 bits
- STM32-DDR-FWUTIL firmware support on Cortex-A35 dev mode Aarch64 bits to address DDR 4GB
- OpenSTLinux developer package plug-in to install thru STM32CubeIDE
- Console semi-hosting support (logs thru SWD)
- cmake management update – Information in user guide How to build and debug secure project on STM32MP25 co-processor in STM32CubeIDE user guide - Please contact your region support to get it.
5.2.3.2. Main restrictions[edit source]
- None
5.3. STM32MP25 chip revA support[edit source]
- For OpenSTLinux, refer to STM32_MPU_OpenSTLinux_release_note_-_v5.0.2.BETA#STM32MP25_chip_revA_support
- For STM32CubeMP2, refer to STM32CubeMP2_Package_release_note_-_v0.3.0#STM32MP25_Chip_revA_support
- For STM32CubeMX, refer to ALPHA delivery version - STM32CubeMX v6.99.27-E2
- For STM32CubeProgrammer, refer to ALPHA delivery version - STM32CubeProgrammer v2.13
- For STM32MP257F-EV1 board, use STM32MP257F-EV1 revB board device trees
5.4. Miscellaneous[edit source]
No specific information
6. Minor release updates[edit source]
Not applicable
7. Reference documents[edit source]
7.1. STM32MP25 resources[edit source]
All the resources for the STM32MP2 series are located in the STM32MP2 series web page.
Reference | Name | Link | |
---|---|---|---|
Application notes | |||
AN5489 | AN5489 - Getting started with STM32MP25xx lines hardware development | AN5489.pdf | |
AN5723 | AN5723 - Guidelines for DDR memory configuration on STM32MP2 MPUs | AN5723.pdf | |
AN5724 | AN5724 - Guidelines for DDR memory routing on STM32MP2 MPUs | AN5724.pdf | |
AN5718 | AN5718 - Migrating from STM32MP15x lines to STM32MP25x lines MPUs | AN5718.pdf | |
AN5726 | AN5726 - Guidelines for using low-power modes on STM32MP2 MPUs | AN5726.pdf | |
AN5827 | AN5827 - Guidelines for entering RMA state on MPU series | Under preparation | |
AN5727 | AN5727 - How to use STPMIC25 for a wall adapter powered application on STM32MP25x lines MPUs | Under preparation | |
AN5730 | AN5730 - Guidelines for measuring system power consumption on STM32MP2 MPUs | Under preparation | |
AN6115 | AN6115 - How to connect STPMIC25 unused pins | AN6115.pdf | |
AN6116 | AN6116 - STPMIC25 BOM details | AN6116.pdf | |
AN6128 | AN6128 - STPMIC25 PCB layout guidelines | AN6128.pdf | |
Datasheets[6] | |||
DS14284 | STM32MP25xC/F Datasheet | DS14284.pdf | |
DS14285 | STM32MP25xA/D Datasheet | DS14285.pdf | |
DS14278 | STPMIC25 datasheet |
DS14278.pdf | |
Errata sheets | |||
ES0598 | STM32MP25x ErrataSheet | ES0598.pdf | |
Reference manuals[6] | |||
RM0457 | STM32MP25 reference manual (STM32MP25xx advanced Arm®-based 32/64-bit MPUs) |
RM0457.pdf | |
Programming manuals | |||
PM0264 | STM32 Cortex®-M33 MCUs and MPUs programming manual | PM0264.pdf | |
Boards schematics | |||
STM32MP257F-EV1 board (MB1936) schematics | STM32MP257F-EV1 board revD schematics with STM32MP25F RevB 18x18 package | MB1936-D01.pdf | |
B-CAMS-IMX schematics | Camera module bundle schematics | MB1854-B01.pdf | |
B-LVDS7-WSVGA schematics | LVDS TFT LCD module schematics | b-lvds7-wsvga.html | |
STM32MP25F-DK schematics | STM32MP257F-DK board schematics example with STM32MP25F RevY 14x14 package | Under preparation | |
DDR routing examples schematics | Additional DDR memory routing examples | DDR routing examples | |
User manuals | |||
UM3359 | STM32MP2357F-EV1 User Manual | UM3359.pdf | |
UM3354 | B-CAMS-IMX Camera module bundle User Manual | UM3354.pdf |
8. How to download the software and start with this release[edit source]
The list of embedded software packages available for download depends on the selected packages.
The table below provides the available board part numbers as well as information in order to:
- get started with one of the three available Packages (Starter, Developer or Distribution Package)
- get started with the board
- find the associated embedded software distributions
- download source code
- build a piece of embedded software.
Supported board | Jump to |
STM32MP257x-EV1 Evaluation board | STM32MP25 Evaluation boards - getting started, including software download |
9. STM32MPU Embedded Software distribution detailed release notes[edit source]
The table below lists the software packages available in the STM32MPU Embedded Software distributions, and provides the corresponding release notes.
The release notes give more information and details about the features and content of the packages.
They do not explain how to download the software. Refer to How to download the software and start with this release.
Firmware | Release note | Version |
OpenSTLinux Distribution | STM32 MPU OpenSTLinux release note - v5.0.2.BETA | unknown revision |
STM32Cube MPU Package | STM32CubeMP2 Package release note - v0.3.1 | unknown revision |
TF-M | Trusted Firmware-M release note - v0.3.0 | unknown revision |
10. Referenced tools release notes[edit source]
The table below lists the available tools, and provides links to the corresponding release notes.
Each release note gives information on how to install and use the corresponding tool.
The set of tools that can be downloaded depends on the package that is used (double check Which Package better suits your needs article for more information on each package).
Tools | Release notes | Host PC | Which Package may need the tool ? | |||
Linux® version | Windows version | Starter Package | Developer Package | Distribution Package | ||
STM32CubeIDE | STM32CubeIDE_release_note | v1.13.0.23_MP2-D4 | v1.13.0.23_MP2-D4 | ☐ | ☑ | ☐ |
STM32CubeMX | STM32CubeMX release note | v6.99.27-B6 | v6.99.27-B6 | ☐ | ☑ | ☑ |
STM32CubeProg | STM32CubeProgrammer release note | v2.14.0-MP25-B03 | v2.14.0-MP25-B03 | ☑ | ☐ | ☑ |
Keygen | KeyGen release note | v2.14.0-MP25-B03 | v2.14.0-MP25-B03 | ☑ | ☑ | ☑ |
Signing tool | Signing tool release note | v2.14.0-MP25-B03 | v2.14.0-MP25-B03 | ☑ | ☑ | ☑ |
STM32DDRFW-UTIL | STM32DDRFW-UTIL release note | 0.3.0 | 0.3.0 | ☐ | ☐ | ☐ |
STM32PRGFW-UTIL | STM32PRGFW-UTIL release note | 1.1.0.rc5 | 1.1.0.rc5 | ☐ | ☐ | ☐ |
11. References[edit source]
- ↑ 1.0 1.1 The STM32MP1 series includes the STM32MP13x lines and the STM32MP15x lines
- ↑ Cite error: Invalid
<ref>
tag; no text was provided for refs namedstm32mp25
- ↑ STM32MP13 microprocessor part numbers
- ↑ 4.0 4.1 4.2 4.3 4.4 4.5 4.6 4.7 STM32MP15 microprocessor part numbers
- ↑ 5.0 5.1 STM32MP25 microprocessor part numbers
- ↑ 6.0 6.1 The part numbers are specified in STM32MP25 microprocessor part numbers