This article describes the content of STM32MP25-Ecosystem-v5.0.2.BETA release of STM32MPU Embedded Software distribution and its associated ecosystem.
This delivery is an update from previous STM32MP25 Ecosystem ALPHA release delivered in April 2023.
1. Delivery purpose[edit source]
The STM32MP25 Ecosystem-v5.0.2.BETA release is dedicated to the STM32MP25x lines [1]. It is a major release, based on new community components version, listed in the embedded software chapter below.
This STM32MP25 Ecosystem-v5.0.2.BETA release aims at:
- providing a full ecosystem for the STM32MP25x lines [1]
- 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.
The STM32MP25 Ecosystem V5.0.2.BETA Delivery main contents are :
- STM32MP25 Rev B final with DDR4/LPDDR4 4GB, Full System performances, ETH GMAC controller with 4 Tx queues (instead 2) + RMON counters increased
- OpenSTLinux V5.0.2 based
- STM32MP257EV1 boards revC with STM32MP25 Rev B and STPMIC25 Rev A silicon revisions
- STM32CubeMX code generation (Device trees for OpenSTLinux and TF-M, STM32Cube Software code for 'Arm® Cortex®-M33 non secure co-procrocessor. firmware)
- 1st STM32MP25 Wiki documentation
- Emb. SW by default supporting STM32MP25 Rev B but still compliant STM32MP25 Rev A with specific STM32MP257EV1 board device tree and specific compilation switches (This STM32MP25 Rev A compliance will be removed for STM32MP25 Ecosystem Mass Market Delivery) - refer to #STM32MP25 chip revA support
2. Delivery scope[edit source]
This ecosystem release consists of:
- STM32MP257F-EV1 boards
- STM32 MPU Embedded Software distribution
- STM32DDRFW-UTIL
- STM32PRGFW-UTIL
- STM32 referenced tools (more details are provided in the Referenced tools release notes chapter below):
- STM32CubeIDE
- STM32CubeMX
- STM32CubeProgrammer
- Keygen tool
- Signing tool
- X-LINUX-AI expansion package
- 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)
- STM32MP25 boards support
- STM32MP25 Evaluation boards
- More details are provided in the supported hardware chapter below.
3. Intended audience[edit source]
The targeted audience is STM32MP25 ALPHA customers and partners.
4. 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).
5. Supported hardware[edit source]
This software delivery is compatible with the following boards:
STM32MP25 boards | |||||
---|---|---|---|---|---|
Boards | PCBs list | Main features | Ordering | ||
STM32MP257F-EV1 Evaluation board |
|
|
|||
STM32MP257F-DK Discovery kit |
|
|
|
6. Release content[edit source]
6.1. Embedded software[edit source]
Embedded software | STM32MP25x lines |
---|---|
OpenSTLinux (Arm® Cortex®-A35) | |
STM32CubeMP2 (Arm® Cortex®-M33) | |
TF-M (Arm® Cortex®-M33) | |
STM32DDRFW-UTIL (Arm® Cortex®-A35) | |
STM32PRGFW-UTIL (Arm® Cortex®-A35) |
6.1.1. OpenSTLinux (Arm® Cortex®-A35)[edit source]
unknown revision is the new version delivered with the STM32MP1-ecosystem-v5.0.0 release. This software set consists of the following components: STM32 MPU OpenSTLinux release note - v5.0.2.BETA
6.1.1.1. Main changes[edit source]
Linux® kernel STM32 MPU OpenSTLinux release note - v5.0.2.BETA dt-stm32mp (New) 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 (New) STM32 MPU OpenSTLinux release note - v5.0.2.BETA OpenSTLinux layers STM32 MPU OpenSTLinux release note - v5.0.2.BETA
6.1.1.2. Restrictions[edit source]
STM32 MPU OpenSTLinux release note - v5.0.2.BETA
6.1.2. STM32CubeMP2 (Arm® Cortex®-M33)[edit source]
unknown revision version
6.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
6.1.2.2. Main restrictions[edit source]
- Clock muxing RCC HAL API in CxM33 No secure context not yet supported by STM32CubeMP2 for DSI, LVDS, RTC, MCO1/2, DTS, USB
6.1.3. TF-M (Arm® Cortex®-M33)[edit source]
unknown revision version
6.1.3.1. Main changes[edit source]
- CxM33 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
6.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)
6.1.3.3. Main restrictions[edit source]
6.1.4. STM32DDRFW-UTIL (Arm® Cortex®-A35)[edit source]
STM32DDRFW-UTIL-v0.3.0 version.
STM32DDRFW-UTIL provides DDR settings configuration and tests services.
6.1.4.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 fwm 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
6.1.4.2. Main restrictions[edit source]
- None
6.1.5. STM32PRGFW-UTIL (Arm® Cortex®-A35)[edit source]
STM32PRGFW-UTIL-v1.1.0.rc4 version.
STM32PRGFW-UTIL provides multiple applications to manage the one-time programmable (OTP) memories.
6.1.5.1. Main changes[edit source]
- Fuses settings
- PMIC command to read/write STPMIC25 NVM content
- Utility fwm to be compiled and debugged in Cortex®-A35 Aarch32 bits with STM32CubeIDE
- To use with STM32CubeProgrammer or in standalone
6.1.5.2. Main restrictions[edit source]
- None
6.2. Tools[edit source]
6.2.1. STM32CubeProgrammer, Signing tool, Keygen[edit source]
STM32CubeProgrammer v0.0.0.MP25-BETA02 version - Updated .
6.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
6.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) • macOS® (minimum version OS X® Yosemite)
6.2.1.3. Information[edit source]
- v0.0.0.MP25-BETA02 based on v2.14 version + STM32MP25 revB support
- Flashload over UART OK for Utilities fmws 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 CubeProgrammer delivery
- Note Still possible to ensure TF-A BL2 binary signature with stm32header V2.0 with Signing tool for STM32MP25 Rev A with CubeProg ALPHA version (V2.13)
6.2.1.4. Restrictions[edit source]
- None
6.2.2. STM32CubeMX[edit source]
STM32CubeMX-6.99.27-B3 version - Updated .
6.2.2.1. Main changes[edit source]
- Pinout/list Peripherals - some IOC file examples in Teamspace with:
- MP25_EV1 - RIF Open - BETA DV IOC file
- MP25_EV1 - RIF Ecosystem - BETA DV IOC file
- MP25_EV1 - RIF Ecosystem - M33 examples - BETA DV IOC file
- Clocks tree 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
6.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, and Fedora® 36(c) (d) (e)
- macOS® 12 (Monterey), macOS® 13 (Ventura)(f)
6.2.2.3. Supported toolchains[edit source]
STM32CubeMX generates project files for the following toolchains:
- STM32CubeIDE by STMicroelectronics
6.2.2.4. Main restrictions[edit source]
- RIF Aware IPs not all available in terms of UI - Available PWR, FMC, GPIO, RCC - Not yet available DMA, TAMP, RTC, IPCC, HSEM
- RIF Aware IPs not all available in terms of device tree - Available PWR, FMC - Not yet available GPIO, RCC, DMA, TAMP, RTC, IPCC, HSEM
- RIFSC configuration for DSIHOST IP w DSI_RD, DSI_TRIG, DSI COMMON parts not available in UI
- RIFSC configuration for ETHACM IP w ETHSW_ACM, ETHSW_ACM_MSG, ETHSW_DEIP parts not available in UI
- RIFSC configuration for LTDC IP w LTDC_L3, LTDC_L1L2, LTDC_ROT, LTDC_Common parts not available in UI
- LVDS IP should be managed as a single IP with LVDS1 and LVDS2 pins and single or dual datalanes modes - In current version, managed as 2 LVDS instances LVDS1 and LVDS2 and RIFSC configuration with LVDS not functional
6.2.3. STM32CubeIDE[edit source]
STM32CubeIDE-v1.13.0.23_MP2-D4 version - Updated .
6.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 thu SWD)
- cmake management update – Information in user guide How to build and debug secure project on STM32MP25 co-processor in STM32CubeIDE user guide - Available in TeamSpace [1]
- STM32CubeMX stand-alone project
6.2.3.2. Main restrictions[edit source]
- None
6.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, please ALPHA delivery version - STM32CubeMX v6.99.27-E2
- For STM32CubeProgrammer, please ALPHA delivery version - STM32CubeProgrammer v2.13
6.4. Miscellaneous[edit source]
Detailed features are available in the release notes of the different components that constitute this delivery:
Moreover, the software workarounds implemented to provide solutions to the STM32MPU device errata are listed in STM32MP15 ecosystem errata sheet and STM32MP13 ecosystem errata sheet.
7. Minor release updates[edit source]
Some minor release of STM32MP1 OpenSTLinux distribution is available. More details can be found in STM32_MPU_OpenSTLinux_release_note_-_v5.0.0#Minor_release_updates.
8. Reference documents[edit source]
8.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[3] | |||
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[3] | |||
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 |
9. 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 |
10. 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.0 | unknown revision |
TF-M | Trusted Firmware-M release note - v0.3.0 | unknown revision |
11. 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 | 1.13.0.23_MP2-D4 | 1.13.0.23_MP2-D4 | ☐ | ☑ | ☐ |
STM32CubeMX | STM32CubeMX release note | 6.99.27-B3 | 6.99.27-B3 | ☐ | ☑ | ☑ |
STM32CubeProg | STM32CubeProgrammer release note | 0.0.0-MP25-B02 | 0.0.0-MP25-B02 | ☑ | ☐ | ☑ |
Keygen | KeyGen release note | v0.0.0-MP25-B02 | v0.0.0-MP25-B02 | ☑ | ☑ | ☑ |
Signing tool | Signing tool release note | v0.0.0-MP25-B02 | v0.0.0-MP25-B02 | ☑ | ☑ | ☑ |
STM32DDRFW-UTIL | STM32DDRFW-UTIL release note | 0.3.0 | 0.3.0 | ☐ | ☐ | ☐ |
STM32PRGFW-UTIL | STM32PRGFW-UTIL release note | 1.1.0.rc4 | 1.1.0.rc4 | ☐ | ☐ | ☐ |
12. References[edit source]
- ↑ 1.0 1.1 The STM32MP25x lines includes the STM32MP25x lines and the STM32MP25x lines
- ↑ 2.0 2.1 STM32MP25 microprocessor part numbers
- ↑ 3.0 3.1 The part numbers are specified in STM32MP25 microprocessor part numbers