Last edited 6 days ago

STM32 MPU ecosystem release note - v5.0.2.BETA

Applicable for STM32MP25x lines

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.

1. Delivery purpose[edit source]

The STM32MP25 Ecosystem-v5.0.2.BETA release is dedicated to the STM32MP25x lines More info.png. 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 More info.png
  • 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 of 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 tree source files for OpenSTLinux and TF-M, STM32Cube software code for Arm® Cortex®-M33 non secure co-processor firmware)
  • 1st STM32MP25 Wiki documentation
  • Embedded software 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:

  • STM32 MPU Embedded Software distribution
    • OpenSTLinux (Arm® Cortex®-A35)
    • X-LINUX-AI expansion package
    • X-LINUX-TSN expansion package
    • X-LINUX-ACM expansion package
    • STM32CubeMP2 (Arm® Cortex®-M33)
    • TF-M (Arm® Cortex®-M33)
    • STM32DDRFW-UTIL firmware utility
    • STM32PRGFW-UTIL firmware utility
  • STM32 referenced tools
    • STM32CubeIDE
    • STM32CubeMX
    • STM32CubeProgrammer
      • Keygen tool
      • Signing 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
  • STM32MP2 boards support
    • STM32MP257F-EV1 Evaluation board More info green.png

3. Intended audience[edit source]

The targeted audience is STM32MP25 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) and LegalInformation:STM32CubeMP2_licenses

5. Supported hardware[edit source]

This software delivery is compatible with the following boards:


STM32MP25 boards
Boards PCBs list Main features Ordering
STM32MP257F-EV1.jpg
STM32MP257F-EV1 Evaluation board
  • MB1936 (main board)
  • LVDS display
  • MB1854 (camera board): optional (accessory)
  • STM32MP257FAI3[1] Rev.B
    • Arm®-based dual Cortex®-A35 1500 MHz
    • Secure boot and cryptography
    • 2 x 16-Gbit DDR4, 32 bits, 1200 MHz
  • PMIC STPMIC25 Cut1.1
  • 7" LVDS WSVGA (1024x600 pixels) Color Display with touch panel
  • IMX335QLN 5-megapixel image sensor raw Bayer including:
    • Inertial Motion Unit ISM330DLC
    • Time-of-Flight sensor VL53L5CX

Please contact the ST support for ordering

Info white.png Information
The STLINK, embedded on the boards, requires upgraded USB PC drivers: see ST-LINK article

6. Release content[edit source]

6.1. Embedded software[edit source]

Embedded software STM32MP25x lines More info.png
OpenSTLinux (Arm® Cortex®-A35) Yes
X-LINUX-AI expansion package (Arm® Cortex®-A35) Yes
X-LINUX-TSN expansion package (Arm® Cortex®-A35) Yes
X-LINUX-ACM expansion package (Arm® Cortex®-A35) Yes
STM32CubeMP2 (Arm® Cortex®-M33) Yes
TF-M (Arm® Cortex®-M33) Yes
STM32DDRFW-UTIL (Arm® Cortex®-A35) Yes
STM32PRGFW-UTIL (Arm® Cortex®-A35) Yes

6.1.1. OpenSTLinux (Arm® Cortex®-A35)[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

6.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

Warning DB.png Important
More information about the changes are available through the detailed release note
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. (Add-on to STM32CubeMP2-v0.3.0 delivered in December 2023)


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]
  • None

6.1.3. TF-M (Arm® Cortex®-M33)[edit source]

unknown revision version

6.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.
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. 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)

6.1.4.1. Main changes[edit source]
  • Support of STM32MP257F revB
  • Support of STM32MP257F-EV1 (MB1936) board / DDR4 settings
6.1.4.2. Main restrictions[edit source]
  • None

6.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)

6.1.5.1. Main changes[edit source]
  • Support of STM32MP257F revB
  • Support of STM32MP257F-EV1 (MB1936) board / DDR4 settings
6.1.5.2. Main restrictions[edit source]
  • None

6.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

6.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
  • 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
6.1.6.2. Main restrictions[edit source]
  • None

6.1.7. STM32DDRFW-UTIL (Arm® Cortex®-A35)[edit source]

STM32DDRFW-UTIL-v0.3.0 version.

STM32DDRFW-UTIL provides DDR settings configuration and tests services.

6.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
6.1.7.2. Main restrictions[edit source]
  • None

6.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.

6.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
6.1.8.2. Main restrictions[edit source]
  • None

6.2. Tools[edit source]

6.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)

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)
6.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)
6.2.1.4. Restrictions[edit source]
  • None

6.2.2. STM32CubeMX[edit source]

STM32CubeMX-6.99.27-B6 version. (Add-on to STM32CubeMX-6.99.27-B2 delivered in December 2023)

6.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
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
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]
  • 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.

6.2.3. STM32CubeIDE[edit source]

STM32CubeIDE-v1.13.0.23-MP2-D4.0 version.

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 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.
6.2.3.2. Main restrictions[edit source]
  • None

6.3. STM32MP25 chip revA support[edit source]

6.4. Miscellaneous[edit source]

No specific information

7. Minor release updates[edit source]

Not applicable

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.

Info white.png Information
The different STM32MP25 microprocessor part numbers available (with their corresponding internal peripherals, security options and packages) are described in the STM32MP25 microprocessor part numbers.




Reference Name Link
Application notes
AN5729 Guidelines for Lifetime Usage Estimates on STM32MP2 MPUs Not yet available (planned for the mass market launch)
AN5489 Rev1 AN5489 Rev1 Getting started with STM32MP25xx lines hardware development Available on st.com: https://www.st.com/en/microcontrollers-microprocessors/stm32mp2-series.html
AN5723 Rev1 AN5723 Rev1 - Guidelines for DDR memory configuration on STM32MP2 MPUs Available on st.com: https://www.st.com/en/microcontrollers-microprocessors/stm32mp2-series.html
AN5724 Rev1 AN5724 Rev1 - Guidelines for DDR memory routing on STM32MP2 MPUs Available on st.com: https://www.st.com/en/microcontrollers-microprocessors/stm32mp2-series.html
AN5718 AN5718 - Migrating from STM32MP15x lines to STM32MP25x lines MPUs Not yet available
AN5726 AN5726 - Guidelines for using low-power modes on STM32MP2 MPUs Not yet available
AN5727 AN5727 - How to use STPMIC25 for a wall adapter powered application on STM32MP25x lines MPUs Not yet available
Datasheets[2]
DS14284 STM32MP25xC/F Datasheet) Available on st.com: https://www.st.com/en/microcontrollers-microprocessors/stm32mp2-series.html
DS14285 STM32MP25xA/D Datasheet) Available on st.com: https://www.st.com/en/microcontrollers-microprocessors/stm32mp2-series.html
DS14278 STPMIC25 datasheet
Not yet available
Errata sheets
ES0598 rev1 STM32MP25x ErrataSheet Available on st.com: https://www.st.com/en/microcontrollers-microprocessors/stm32mp2-series.html
Reference manuals[2]
RM0457 rev3 STM32MP257 reference manual rev3
(STM32MP25xx advanced Arm®-based 32/64-bit MPUs)
Available on st.com: https://www.st.com/en/microcontrollers-microprocessors/stm32mp2-series.html
STPMIC25 draft CTM 0.121 STPMIC25 draft CTM (0.121) [1]
Boards schematics
MB1854 schematics Camera expansion board schematics [2]
MB1936 schematics STM32MP257F-EV1 board revC schematics with STM32MP25F RevB 18x18 package [3]
MB1605 schematics STM32MP257F-DK board schematics example with STM32MP25F RevB 14x14 package [4]
DDR routing examples schematics DDR memory routing examples for STM32MP257F revB Available on st.com: https://www.st.com/en/microcontrollers-microprocessors/stm32mp2-series.html
User manuals
UM_STM32MP257F-EV1 STM32MP2357F-EV1 BETA User Manual [5]
UM_STM32CubeIDE How to build and debug secure project on STM32MP25 co-processor in STM32CubeIDE [6]
Tools Release Notes
RN_STM32CubeIDE STM32CubeIDE STM32MP25 Beta Release Note [7]
RN_STM32CubeMX STM32CubeMX STM32MP25 Beta Release Note [8]
RN_STM32CubeProg STM32CubeProg STM32MP25 Beta Release Note [9]


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 More info green.png 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.1 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 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

12. References[edit source]