Last edited 4 months ago

STM32CubeMP15 Package release note - v1.6.0

Applicable for STM32MP15x lines

This article aims to describe the content of the software release included in the STM32CubeMP15 Package / STM32CubeMP1 Package (a.k.a., STM32CubeMP15 firmware / STM32CubeMP1 firmware), version v1.6.0.

1. Delivery purpose and scope[edit | edit source]

The STM32CubeMP15 Package is a software package running on Arm® Cortex®-M4 processors and is a fundamental part of the STM32MPU Embedded Software distribution.

This release includes:

  • The STM32Cube HAL: STM32 abstraction layer embedded software ensuring maximized portability across the STM32 portfolio. HAL APIs are available for all peripherals.
  • Low-layer APIs (LL APIs) offering a fast lightweight expert-oriented layer that is closer to the hardware than the HAL.
    LL APIs are only available for a limited set of peripherals.
  • A consistent set of middleware components such as FreeRTOSTM and OpenAMP.
  • All embedded software utilities delivered with a full set of examples.

It also includes:

  • BSP for the STM32MP157x-EV1 Evaluation board More info green.png and the STM32MP157x-DK2 Discovery kit More info green.png (button and LEDs only)
  • Multi-core components
  • OpenAMP
  • ResourceManager
  • CoproSync
  • Projects: several projects ( examples, applications and demonstration firmware) are implemented in different IDEs.
  • STM32CubeIDE IDE delivered by ST
  • All the STM32MP157C-DK2 Warning.png and STM32MP157C-EV1 Warning.png projects are available on STM32CubeIDE.
  • EWARM (version 8.32.3 and laters)
  • Most of the STM32MP157C-DK2 Warning.png projects are ported on EWARM.
  • MDK-ARM (Pack Keil®.STM32MP1xx_DFP.1.1.0.pack + MDK-ARM 5.27 and laters)
  • Most of the STM32MP157C-DK2 Warning.png projects are ported on MDK-ARM.
  • System Workbench for STM32 toolchain (SW4STM32): now deprecated
  • This IDE is no longer supported by STMicroelectronics, the reference is now STM32CubeIDE.
  • All the SW4STM32 projects are removed from this release but these projects were already ported on STM32CubeIDE.

2. Intended Audience[edit | edit source]

The targeted audience is STM32 MPU customers and partners.

3. Licensing[edit | edit source]

All licenses applicable to STM32CubeMP1 package are available here.

4. Supported devices[edit | edit source]

The drivers provided within this package support all STM32MP15x lines More info.png.

5. Supported hardware[edit | edit source]

The software examples and the drivers delivered in this package are applicable for the following boards:

  • STM32MP157C-EV1 Evaluation board Warning.png and can be easily adapted to any STM32MP157x-EV1 Evaluation board More info green.png, for information about those boards, read the article STM32MP157x-EV1 - hardware description.
  • STM32MP157C-DK2 Discovery kit Warning.png and can be easily adapted to any STM32MP157x-DK2 Discovery kit More info green.png, for information about those boards, read the article STM32MP157x-DKx - hardware description.

6. Release content[edit | edit source]

6.1. Main changes[edit | edit source]

6.1.1. HAL, LL and BSP drivers[edit | edit source]

  • HAL Generic
    • Implement HAL_GetUIDw{0,1,2} (New API)
    • Add ALIGN_32BYTES definitions
  • ADC (No API change)
    • Fix loop index computation at low frequency
    • Fix HAL_GetTick() timeout vulnerability
    • Fix HAL_ADC_MspDeInit: disable clock should not reset all ADCs
    • Update function parameters pointers with prefix “p”
  • SPI (No API Change)
    • Alignment with other STM32 families
  • TIM
    • LL : ONEPULSEMODE defines description are inverted
    • LL : COUNTERMODE defines are inverted for TIM_CR1_CMS
  • CRC, DMA and USART (No API Change)
    • Alignment with other STM32 families
  • EXTI (No API change)
    • Fix some MISRA warnings
    • Optimize Get Config API
  • SMBUS (API Change)
    • Alignment with other STM32 families
    • SMBUS Extended files support
  • QSPI (No API change)
    • Fix typo comments
    • Fix error for HAL_QSPI_Abort function in memory-mapped mode
  • RCC (No API change)
    • (HAL) : Fix pllxvco calculation
    • (LL) : Fix compilation issue ( some missing register alignement with CMSIS Device)

6.1.2. CMSIS[edit | edit source]

  • Update bit definition in header files:
    • BSEC : Add missing registers
    • ETH : Update bitfield names
  • Update License declaration for startup and linker files
  • Change include in system file ( alignment with other STM32 families)

6.1.3. Middleware[edit | edit source]

  • OPENAMP
    • New version V2021.10

6.1.4. Projects[edit | edit source]

  • Examples
    • Implement new examples for STM32MP15 EVAL Board :
      • Implement ADC_MultiChannelSingleConversion example,
      • Implement ADC AnalogWatchdog example,
      • Implement ADC Oversampler example,
      • Implement LPTIM_PWM_LSE example,
      • Implement TIM_OnePulse example,
      • Implement TIM_PWMOutput example,
      • Implement TIM_Synchronization example,
      • Implement TIM_TimeBase example,
    • Update LPTIM_PulseCounter example (add low power mode)
  • Applications
    • Update project relying on OpenAMP 2021.10
    • OpenAMP_TTY_echo_wakeup example:
      • Implement the firmware shutdown to force the stop of ADC and DMA
    • Fix include declaration with gcc++ in openamp
    • Implement OpenAMP_for_signed_fw project
Info white.png Information
Note: for detailed information, read file Release_Notes.html delivered with the STM32CubeMP15 Package.

6.2. Released components[edit | edit source]

6.2.1. Drivers[edit | edit source]

Component Version Notes
Cortex-M CMSIS V5.6.0 -
STM32MP1xx CMSIS V1.6.0 -
STM32MP1xx HAL V1.6.0 -
BSP STM32MP15xx_EVAL V1.6.0 -
BSP STM32MP15xx_DISCO V1.6.0 -

Find here the list of available HAL , LL and BSP drivers.


6.2.2. Middleware[edit | edit source]

Component Version Notes
FreeRTOSTM V10.2.1 ST modified 20190719 -
OpenAMP v2021.10 ST modified 20220118 and ST interface 20220118 -

6.2.3. Utilities[edit | edit source]

Component Version Notes
Resourcemanager V1.11.0 -

6.3. Released projects[edit | edit source]

The STM32CubeMP15 Package comes with a rich set of examples running on STMicroelectronics boards, organized by board and provided with preconfigured projects. The main supported development environment is STM32CubeIDE (works on Multiple OS's) and uses the GNU toolchain.

  • Most of the STM32MP157C-DK2 Warning.png projects are available with 3 IDEs ( STM32CubeIDE, IARTM, KEIL®)
  • All STM32MP157C-EV1 Warning.png projects are available with STM32CubeIDE.


IDE ready projects:

STM32MP157C-DK2 STM32MP157C-EV1
Number of projects 29 38

Find in this article STM32CubeMP15_Package#Projects, the exhaustive list of available projects for STM32MP157C-EV1 Evaluation board Warning.png and STM32MP157C-DK2 Discovery kit Warning.png:

Info white.png Information
Note: refer to article Introduction to boot mode to get more information about Production and Engineering modes

The recommended supported toolchain for STM32MP15 is now STM32CubeIDE (All-in-one multi-OS development tool).
Moreover, other toolchains are compliant with STM32CubeMP15 Package:

  • IARTM Embedded Workbench for ARM® (EWARM) toolchain
  • RealView Microcontroller Development Kit (MDK-ARM) toolchain

7. Restrictions[edit | edit source]

OpenAMP compilation issue with MDK-ARM when the code is generated through the STM32CubeMx:

  • To avoid compilation errors in OpenAMP when compiling in MDK-ARM IDE, disable the « Use MicroLIB » in « Target » tab.

8. Minor release updates[edit | edit source]

STMicroelectronics regularly delivers corrections through github® components. The corrections can be incorporated them into your developer package or distribution package.

Refer to STM32MPU Developer Package or How to switch to github® mode in Distribution Package.

9. How to get started with STM32CubeMP15 Package[edit | edit source]

Refer to How to get software and start with this release article.

10. Associated tools[edit | 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 1.13.0
STM32CubeMX STM32CubeMX release note 6.9.0 6.9.0
STM32CubeProg STM32CubeProgrammer release note 2.14.0 2.14.0
Keygen KeyGen release note 2.14.0 2.14.0
Signing tool Signing tool release note 2.14.0 2.14.0
PRG-TOOLBOX-DFU PRG-TOOLBOX-DFU release note 1.0.0 1.0.0
PRG-TOOLBOX-FB PRG-TOOLBOX-FB release note 1.0.0 1.0.0
STM32DDRFW-UTIL STM32DDRFW-UTIL release note 1.0.1 1.0.1
STM32PRGFW-UTIL STM32PRGFW-UTIL release note 1.0.2 1.0.2