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 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 and the STM32MP157x-DK2 Discovery kit (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
- EWARM (version 8.32.3 and laters)
- MDK-ARM (Pack Keil®.STM32MP1xx_DFP.1.1.0.pack + MDK-ARM 5.27 and laters)
- 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 source]
The targeted audience is STM32 MPU customers and partners.
3. Licensing[edit source]
All licenses applicable to STM32CubeMP1 package are available here.
4. Supported devices[edit source]
The drivers provided within this package support all STM32MP15x lines .
5. Supported hardware[edit source]
The software examples and the drivers delivered in this package are applicable for the following boards:
- STM32MP157C-EV1 Evaluation board and can be easily adapted to any STM32MP157x-EV1 Evaluation board , for information about those boards, read the article STM32MP157x-EV1 - hardware description.
- STM32MP157C-DK2 Discovery kit and can be easily adapted to any STM32MP157x-DK2 Discovery kit , for information about those boards, read the article STM32MP157x-DKx - hardware description.
6. Release content[edit source]
6.1. Main changes[edit source]
6.1.1. HAL, LL and BSP drivers[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 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 source]
- OPENAMP
- New version V2021.10
6.1.4. Projects[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)
- Implement new examples for STM32MP15 EVAL Board :
- 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
Information |
Note: for detailed information, read file Release_Notes.html delivered with the STM32CubeMP15 Package. |
6.2. Released components[edit source]
6.2.1. Drivers[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 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 source]
Component | Version | Notes |
---|---|---|
Resourcemanager | V1.11.0 | - |
6.3. Released projects[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 projects are available with 3 IDEs ( STM32CubeIDE, IARTM, KEIL®)
- All STM32MP157C-EV1 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 and STM32MP157C-DK2 Discovery kit :
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 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 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 source]
Refer to How to get software and start with this release article.
10. Associated tools[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 | ☐ | ☐ | ☐ |
11. Archives [edit source]
STM32MP15 release | Release note |
---|---|
STM32MP15-Ecosystem-v3.1.0 | STM32CubeMP1_Package_release_note_-_v1.5.0 page for the v3 ecosystem releases (in archived wiki) |
STM32MP15-Ecosystem-v3.0.0 | STM32CubeMP1_Package_release_note_-_v1.4.0 page for the v3 ecosystem releases (in archived wiki) |
STM32MP15-Ecosystem-v2.1.0 | STM32CubeMP1_Package_release_note_-_v1.3.0 page for the v2 ecosystem releases (in archived wiki) |
STM32MP15-Ecosystem-v2.0.0 | STM32CubeMP1_Package_release_note_-_v1.2.0 page for the v2 ecosystem releases (in archived wiki) |
STM32MP15-Ecosystem-v1.2.0 | STM32CubeMP1_Package_release_note_-_v1.2.0 page for the v1 ecosystem releases (in archived wiki) |
STM32MP15-Ecosystem-v1.1.0 | STM32CubeMP1_Package_release_note_-_v1.1.0 page for the v1 ecosystem releases (in archived wiki) |
STM32MP15-Ecosystem-v1.0.0 | STM32CubeMP1_Package_release_note_-_v1.0.0 page for the v1 ecosystem releases (in archived wiki) |