This article aims to describe the content of the software release included in the STM32CubeMP1 Package, version v1.6.0
1. Delivery purpose and scope[edit | edit source]
The STM32CubeMP1 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)
- Most of the STM32MP157C-DK2
projects are ported on MDK-ARM.
- Most of the STM32MP157C-DK2
- 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.
- BSP for the STM32MP157x-EV1 Evaluation board
2. Supported devices[edit | edit source]
The drivers provided within this package support all STM32MP15x lines .
More details are provided in the article STM32 MPU ecosystem release note#Boards.
3. Supported hardware[edit | edit source]
The software examples delivered in this package are applicable for the following boards:
- STM32MP157C-EV1 Evaluation board
. For information about this board, read the article STM32MP157x-EV1 - hardware description.
- STM32MP157C-DK2 Discovery kit
. For information about this board, read the article STM32MP157x-DKx - hardware description.
4. Main restrictions[edit | edit source]
5. Release content[edit | edit source]
5.1. Main changes[edit | edit source]
- HAL and LL drivers
- HAL Generic
- ADC (No API change)
- SPI
- Alignment with other STM32 families (No API Change)
- TIM
- CRC, DMA and USART:
- Alignment with other STM32 families (No API Change)
- EXTI (No API change):
- Fix some MISRA warnings
- Optimize Get Config API
- SMBUS:
- Alignment with other STM32 families
- SMBUS Extended files support (API Change)
- QSPI (No API change):
- Fix typo comments
- Fix error for HAL_QSPI_Abort function in memory-mapped mode
- RCC (No API change)
- OPENAMP:
- New version V2021.10
- PROJECTS:
5.2. Released projects[edit | edit source]
The STM32CubeMP1 Package comes with a rich set of examples running on STMicroelectronics boards, organized by board and provided with preconfigured projects. The main supported toolchain is STM32CubeIDE.
- Most of the STM32MP157C-DK2
projects are available with 3 IDEs ( STM32CubeIDE, IARTM, KEIL®)
- All STM32MP157C-EV1
projects are available with STM32CubeIDE.
The exhaustive list of projects is provided in the table List of Projects.
IDE ready projects :
STM32MP157C-DK2 | STM32MP157C-EV1 | |
---|---|---|
Number of projects | 29 | 38 |
5.3. Released components[edit | edit source]
- Drivers
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 | - |
- Middleware
Component | Version | Notes |
---|---|---|
FreeRTOSTM | V10.0.1 ST modified 20190719 | - |
OpenAMP | v2021.10 ST modified 20220118 and ST interface 20220118 | - |
- Utilities
Component | Version | Notes |
---|---|---|
Resourcemanager | V1.11.0 | - |
5.4. Available drivers[edit | edit source]
Find below the list of available HAL and LL drivers :
5.4.1. HAL drivers[edit | edit source]
STM32CubeMP1 HAL Driver items | Description |
---|---|
ADC |
* This driver provides firmware functions to manage the following * functionalities of the Analog to Digital Convertor (ADC) * peripheral: * + Initialization and de-initialization functions * ++ Initialization and Configuration of ADC * + Operation functions * ++ Start, stop, get result of conversions of regular * group, using 3 possible modes: polling, interruption or DMA. * + Control functions * ++ Channels configuration on regular group * ++ Analog Watchdog configuration * + State functions * ++ ADC state machine management * ++ Interrupts and flags management * + Operation functions * ++ Start, stop, get result of conversions of ADC group injected, * using 2 possible modes: polling, interruption. * ++ Calibration * +++ ADC automatic self-calibration * +++ Calibration factors get or set * ++ Multimode feature when available * + Control functions * ++ Channels configuration on ADC group injected * + State functions * ++ ADC group injected contexts queue management |
CEC |
* This driver provides firmware functions to manage the following * functionalities of the High Definition Multimedia Interface * Consumer Electronics Control Peripheral (CEC). * + Initialization and de-initialization function * + IO operation function * + Peripheral Control function |
CRC |
* This driver provides firmware functions to manage the following * functionalities of the Cyclic Redundancy Check (CRC) peripheral: * + Initialization and de-initialization functions * + Peripheral Control functions * + Peripheral State functions * + Extended features functions |
CORTEX |
* This driver provides firmware functions to manage the following * functionalities of the CORTEX (MPU, Cache, …): * + Initialization and de-initialization functions * + Peripheral Control functions |
CRYP |
* This driver provides firmware functions to manage the following * functionalities of the Cryptography (CRYP) peripheral: * + Initialization and de-initialization functions * + AES processing functions * + DES processing functions * + TDES processing functions * + DMA callback functions * + CRYP IRQ handler management * + Peripheral State functions * + Extended AES processing functions |
DAC |
* This driver provides firmware functions to manage the following * functionalities of the Digital to Analog Converter (DAC) peripheral: * + Initialization and de-initialization functions * + IO operation functions * + Peripheral Control functions * + Peripheral State and Errors functions * + Extended features functions |
DCMI |
* This driver provides firmware functions to manage the following * functionalities of the Digital Camera Interface (DCMI) peripheral: * + Initialization and de-initialization functions * + IO operation functions * + Peripheral Control functions * + Peripheral State and Error functions |
DFSDM |
* This driver provides firmware functions to manage the following * functionalities of the Digital Filter for Sigma-Delta Modulators * (DFSDM) peripherals: * + Initialization and configuration of channels and filters * + Regular channels configuration * + Injected channels configuration * + Regular/Injected Channels DMA Configuration * + Interrupts and flags management * + Analog watchdog feature * + Short-circuit detector feature * + Extremes detector feature * + Clock absence detector feature * + Break generation on analog watchdog or short-circuit event * + Set and get pulses skipping on channel. |
DMA |
* This driver provides firmware functions to manage the following * functionalities of the Direct Memory Access (DMA) peripheral: * + Initialization and de-initialization functions * + IO operation functions * + Peripheral State and errors functions * + Extended features functions |
EXTI |
* This driver provides firmware functions to manage the following * functionalities of the General Purpose Input/Output (EXTI) peripheral: * + Initialization and de-initialization functions * + IO operation functions |
FDCAN |
* This driver provides firmware functions to manage the following * functionalities of the Flexible DataRate Controller Area Network * (FDCAN) peripheral: * + Initialization and de-initialization functions * + IO operation functions * + Peripheral Configuration and Control functions * + Peripheral State and Error functions |
FMC |
* This driver provides a generic firmware to drive SRAM memories * mounted as external device. |
GPIO |
* This driver provides firmware functions to manage the following * functionalities of the General Purpose Input/Output (GPIO) peripheral: * + Initialization and de-initialization functions * + IO operation functions * + Extended Peripheral Control functions |
HAL |
* This driver provides firmware functions to manage the following * functionalities of HAL, Tick, SYSCFG, DBGMCU: * + Initialization and de-initialization functions * + HAL Initialization and de-initialization functions * + Configure the source of the time base * + HAL Control functions * + Tick management (get/set/inc/priority/suspend/resume) * + Get HAL revision, the device revision identifier, the device identifier * + Enable/Disable DBG wake up on AIEC * + Enable/Disable the Debug Module during Domain1 SLEEP mode * + Enable/Disable the Debug Module during Domain1 STOP mode * + Enable/Disable the Debug Module during Domain1 STANDBY mode * + Configure the internal voltage reference buffer voltage scale * + Configure the internal voltage reference buffer high impedance mode * + Tune the Internal Voltage Reference buffer (VREFBUF) * + Enable/Disable the Internal Voltage Reference buffer (VREFBUF) * + Ethernet PHY Interface Selection either MII or RMII * + Analog Switch control for dual analog pads * + Enable/Disable the booster to reduce the total harmonic distortion of the analog * + Enable/Power-down the I/O Compensation Cell * + To Enable/Disable optimize the I/O speed when the product voltage is low * + Code selection for the I/O Compensation cell |
HASH |
* This driver provides firmware functions to manage the following * functionalities of the HASH peripheral: * + Initialization and de-initialization methods * + HASH or HMAC processing in polling mode * + HASH or HMAC processing in interrupt mode * + HASH or HMAC processing in DMA mode * + Peripheral State methods * + HASH or HMAC processing suspension/resumption * Additionally, this driver provides functions to manage HMAC * multi-buffer DMA-based processing for MD-5, SHA-1, SHA-224 * and SHA-256. |
HSEM |
* This driver provides firmware functions to manage the following * functionalities of the semaphore peripheral: * + Semaphore Take function (2-Step Procedure) , non blocking * + Semaphore FastTake function (1-Step Procedure) , non blocking * + Semaphore Status check * + Semaphore Clear Key Set and Get * + Release and release all functions * + Semaphore notification enabling and disabling and callnack functions * + IRQ handler management |
I2C |
* This driver provides firmware functions to manage the following * functionalities of the Inter Integrated Circuit (I2C) peripheral: * + Initialization and de-initialization functions * + IO operation functions * + Peripheral State and Errors functions * + Extended features functions |
IPCC |
* This driver provides firmware functions to manage the following * functionalities of the Inter-Processor communication controller * peripherals (IPCC). * + Initialization and de-initialization functions * + Configuration, notification and interrupts handling * + Peripheral State and Error functions |
LPTIM |
* This driver provides firmware functions to manage the following * functionalities of the Low Power Timer (LPTIM) peripheral: * + Initialization and de-initialization functions. * + Start/Stop operation functions in polling mode. * + Start/Stop operation functions in interrupt mode. * + Reading operation functions. * + Peripheral State functions. |
MDIOS |
* This driver provides firmware functions to manage the following * functionalities of the MDIOS Peripheral. * + Initialization and de-initialization functions * + IO operation functions * + Peripheral Control functions |
MDMA |
* This driver provides firmware functions to manage the following * functionalities of the Master Direct Memory Access (MDMA) peripheral: * + Initialization/de-initialization functions * + I/O operation functions * + Peripheral State and errors functions |
PWR |
* This driver provides firmware functions to manage the following * functionalities of the Power Controller (PWR) peripheral: * + Initialization and de-initialization functions * + Peripheral Control functions * + Peripheral Extended features functions |
QUADSPI |
* This driver provides firmware functions to manage the following * functionalities of the QuadSPI interface (QSPI). * + Initialization and de-initialization functions * + Indirect functional mode management * + Memory-mapped functional mode management * + Auto-polling functional mode management * + Interrupts and flags management * + MDMA channel configuration for indirect functional mode * + Errors management and abort functionality |
RCC |
* This driver provides firmware functions to manage the following * functionalities of the Reset and Clock Control (RCC) peripheral: * + Initialization and de-initialization functions * + Peripheral Control functions * + Extended Peripheral Control functions |
RNG |
* This driver provides firmware functions to manage the following * functionalities of the Random Number Generator (RNG) peripheral: * + Initialization and configuration functions * + Peripheral Control functions * + Peripheral State functions |
RTC |
* This driver provides firmware functions to manage the following * functionalities of the Real-Time Clock (RTC) peripheral: * + Initialization/de-initialization functions * + Calendar (Time and Date) configuration * + Alarms (Alarm A and Alarm B) configuration * + WakeUp Timer configuration * + TimeStamp configuration * + Tampers configuration * + Backup Data Registers configuration * + RTC Tamper and TimeStamp Pins Selection * + Interrupts and flags management |
SAI |
* This driver provides firmware functions to manage the following * functionalities of the Serial Audio Interface (SAI) peripheral: * + Initialization/de-initialization functions * + I/O operation functions * + Peripheral Control functions * + Peripheral State functions * + Modify PDM microphone delays. |
SD |
* This driver provides firmware functions to manage the following * functionalities of the Secure Digital (SD) peripheral: * + Initialization and de-initialization functions * + IO operation functions * + Peripheral Control functions * + Peripheral State functions * + Extended features functions |
SMARTCARD |
* This driver provides firmware functions to manage the following * functionalities of the SMARTCARD peripheral: * + Initialization and de-initialization functions * + IO operation functions * + Peripheral Control functions * + Peripheral State and Error functions * + Extended features functions |
SMBUS |
* This driver provides firmware functions to manage the following * functionalities of the System Management Bus (SMBus) peripheral, * based on I2C principles of operation : * + Initialization and de-initialization functions * + IO operation functions * + Peripheral State and Errors functions |
SPDIFRX |
* This driver provides firmware functions to manage the following * functionalities of the SPDIFRX audio interface: * + Initialization and Configuration * + Data transfers functions * + DMA transfers management * + Interrupts and flags management |
SPI |
* This driver provides firmware functions to manage the following * functionalities of the Serial Peripheral Interface (SPI) peripheral: * + Initialization and de-initialization functions * + IO operation functions * + Peripheral Control functions * + Peripheral State functions * + IO operation functions * + Peripheral Control functions |
TIMER |
* This driver provides firmware functions to manage the following * functionalities of the Timer (TIM) peripheral: * + Time Base Initialization * + Time Base Start * + Time Base Start Interruption * + Time Base Start DMA * + Time Output Compare/PWM Initialization * + Time Output Compare/PWM Channel Configuration * + Time Output Compare/PWM Start * + Time Output Compare/PWM Start Interruption * + Time Output Compare/PWM Start DMA * + Time Input Capture Initialization * + Time Input Capture Channel Configuration * + Time Input Capture Start * + Time Input Capture Start Interruption * + Time Input Capture Start DMA * + Time One Pulse Initialization * + Time One Pulse Channel Configuration * + Time One Pulse Start * + Time Encoder Interface Initialization * + Time Encoder Interface Start * + Time Encoder Interface Start Interruption * + Time Encoder Interface Start DMA * + Commutation Event configuration with Interruption and DMA * + Time OCRef clear configuration * + Time External Clock configuration * + Time Hall Sensor Interface Initialization * + Time Hall Sensor Interface Start * + Time Complementary signal bread and dead time configuration * + Time Master and Slave synchronization configuration * + Time Output Compare/PWM Channel Configuration (for channels 5 and 6) * + Time OCRef clear configuration * + Timer remapping capabilities configuration |
U(S)ART |
* This driver provides firmware functions to manage the following * functionalities of the Universal (Synchronous) Asynchronous Receiver Transmitter * Peripheral (U(S)ART). * + Initialization and de-initialization functions * + IO operation functions * + Peripheral Control functions * + Peripheral State and Error functions * + Peripheral Control functions |
WWDG |
* This driver provides firmware functions to manage the following * functionalities of the Window Watchdog (WWDG) peripheral: * + Initialization and Configuration functions * + IO operation functions |
5.4.2. LL drivers[edit | edit source]
STM32CubeMP1 LL Driver items | Description |
---|---|
ADC |
* This driver provides firmware functions to manage the following * functionalities of the ADC peripheral: * + Initialization/de-initialization functions * + Configuration functions (ADC instance, group regular, group injected, * channels, analog watchdog, oversampling, multimode) * + IT/FLAGS management functions |
BUS |
* This driver provides firmware functions to manage the following * functionalities of the BUS peripheral: * + Enable/disable/reset clocks for all system BUS (AHB2, AHB3, AHB4, AHB5, AHB6, * AXI, MLAHB, APB1, APB2, APB3, APB4, APB5) |
CORTEX |
* This driver contains a set of generic APIs that can be used by user: * + SYSTICK configuration used by @ref LL_mDelay and @ref LL_Init1msTick functions * + Low power mode configuration (SCB register of Cortex®-MCU) * + API to access to MCU info (CPUID register) |
DMA |
* This driver provides firmware functions to manage the following * functionalities of the DMA peripheral: * + Initialization/de-initialization functions * + Configuration functions * + IT/FLAGS management functions |
DMAMUX |
* This driver provides firmware functions to manage the following * functionalities of the DMAMUX peripheral: * + Initialization/de-initialization functions * + IT/FLAGS management functions |
EXTI |
* This driver provides firmware functions to manage the following * functionalities of the EXTI peripheral: * + Initialization/de-initialization functions * + IT/FLAGS/Trigger management functions * + Configuration functions |
FMC |
* This driver provides firmware functions to manage the following * functionalities of the PSRAM peripheral: * + Initialization/de-initialization functions * + Timing management functions * + Configuration functions |
GPIO |
* This driver provides firmware functions to manage the following * functionalities of the GPIO peripheral: * + Initialization/de-initialization functions * + Data access functions * + Port configuration functions |
HSEM |
* This driver provides firmware functions to manage the following * functionalities of the HSEM peripheral: * + IT/FLAGS management functions * +Data management functions |
I2C |
* This driver provides firmware functions to manage the following * functionalities of the I2C peripheral: * + Initialization/de-initialization functions * + IT/FLAGS management functions * +Data management functions * + Configuration functions |
IPCC |
* This driver provides firmware functions to manage the following * functionalities of the IPCC peripheral: * + IT/FLAGS management functions * + Enable/disable transmit and receive channels functions |
LPTIM |
* This driver provides firmware functions to manage the following * functionalities of the LPTIM peripheral: * + Initialization/de-initialization functions * + IT/FLAGS management functions * + Configuration (Trigger / Clock / Encoder / LPTIM) functions |
PWR |
* This driver provides firmware functions to manage the following * functionalities of the PWR peripheral: * + Initialization/de-initialization functions * + FLAGS management functions * + Configuration functions |
RCC |
* This driver provides firmware functions to manage the following * functionalities of the RCC peripheral: * + Clocks management functions (HSE/HSI/CSI/LSE/LSI/MCO/PLL) * + RTC/TIMERS functions * + IT/FLAGS management functions * + De-initialization functions * + Get system and peripherals clocks frequency functions |
RTC |
* This driver provides firmware functions to manage the following * functionalities of the RTC peripheral: * + Initialization/de-initialization functions * + TIME/DATE/ALM functions * + Configuration functions |
SPI |
* This driver provides firmware functions to manage the following * functionalities of the SPI peripheral: * + Initialization/de-initialization functions * + IT/FLAGS management functions * + Data / DMA management functions * + Configuration functions |
SYSTEM |
* This driver provides firmware functions to manage the following * functionalities of the SYSTEM peripheral: * + SYSCFG and DBGMCU functions |
TIM |
* This driver provides firmware functions to manage the following * functionalities of the TIM peripheral: * + Initialization/de-initialization functions * + Configuration functions (Time base, Capture Compare, Output and Input Channel, * Timer Synchro, Break, DMA Burst Mode ) * + Counter clock selection functions * + Timer input remapping functions * + IT/FLAGS management functions * + DMA management functions * + Event management functions |
USART |
* This driver provides firmware functions to manage the following * functionalities of the USART peripheral: * + Initialization/de-initialization functions * + Configuration functions (Irda, Smartcard, Half duplex, * SPI Slave, LIN, Driver enable) * + Advanced configurations services functions * + IT/FLAGS management functions * + DMA management functions * + Data management functions * + Execution functions |
UTILS |
* This driver provides firmware functions to manage the following * functionalities of the UTILS peripheral: * + Device Electronic Signature functions * + DELAY functions * + SYSTEM functions |
WWDG |
* This driver provides firmware functions to manage the following * functionalities of the WWDG peripheral: * + Enable / Disable functions * + Configuration functions * + IT/FLAGS management functions |
5.5. Available projects[edit | edit source]
Find below, the list of available projects for STM32MP157C-EV1 Evaluation board and STM32MP157C-DK2 Discovery kit
:
The preferred supported toolchain for STM32MP15 is now STM32CubeIDE (All-in-one multi-OS development tool).
Moreover, other toolchains are compliant with STM32CubeMP1 Package :
- IARTM Embedded Workbench for ARM® (EWARM) toolchain,
- RealView Microcontroller Development Kit (MDK-ARM) toolchain,
By default, all the examples are available with STM32CubeIDE support. The migration on other toolchain is not yet finished, but some of them are available : Legend:
- New project implemented on STM32CubeMP1 FW v1.6.0.
- (*) : List of STM32MP157C-DK2
and STM32MP157C-EV1
examples available with 3 IDEs ( STM32CubeIDE, IARTM, KEIL®), the others are only available with STM32CubeIDE.
Level | Module Name | Project Name | Description | STM32MP157C-DK2 ![]() |
STM32MP157C-EV1 ![]() |
Mode | Core |
---|---|---|---|---|---|---|---|
Examples | |||||||
ADC | ADC_SingleConversion_TriggerTimer_DMA | Use the ADC to convert a single channel at each trig from a timer. The conversion data is transferred by DMA into an array, indefinitely (circular mode). | x (*) | x | Production & Engineering | Cortex®-M4 | |
ADC | ADC_AnalogWatchdog | How to use the ADC peripheral to perform conversions with an analog watchdog and out-of-window interrupts enabled. | - | x | Production & Engineering | Cortex®-M4 | |
ADC | ADC_OverSampler | How to configure and use the ADC to convert an external analog input combined with oversampling feature to increase resolution through the HAL API. | - | x | Production & Engineering | Cortex®-M4 | |
ADC | ADC_MultiChannelSingleConversion | How to use an ADC peripheral to convert several channels. ADC conversions are performed successively in a scan sequence. | - | x | Production & Engineering | Cortex®-M4 | |
CRC | CRC_UserDefinedPolynomial | This example demonstrates the configuration of the CRC using the HAL API. The CRC (cyclic redundancy check) calculation unit computes the 8-bit CRC code for a given buffer of 32-bit data words, based on a user-defined generating polynomial. | x (*) | x | Production & Engineering | Cortex®-M4 | |
CRYP | CRYP_AES_DMA | This example provides a short description of how to use the CRYPTO peripheral to encrypt and decrypt data using AES-128 algorithm with ECB chaining mode. | x (*) | x | Production & Engineering | Cortex®-M4 | |
CORTEX | CORTEXM_MPU | Presentation of the MPU feature. This example configures a memory area as privileged read-only, and attempts to perform read and write operations in different modes. | x (*) | x | Production & Engineering | Cortex®-M4 | |
DAC | DAC_SimpleConversion | How to use the DAC peripheral to do a simple conversion. | - | x | Production & Engineering | Cortex®-M4 | |
DMA | DMA_FIFOMode | This example provides a description of how to use a DMA to transfer a word data buffer from Flash memory to embedded SRAM with FIFO mode enabled through the HAL API. | x (*) | x | Production & Engineering | Cortex®-M4 | |
FDCAN | FDCAN_Loopback | How to configure the FDCAN to operate in loopback mode. | x (*) | x | Engineering Only | Cortex®-M4 | |
GPIO | GPIO_EXTI | How to configure external interrupt lines. | x (*) | x (*) | Production & Engineering | Cortex®-M4 | |
HASH | HASH_SHA224SHA256_DMA | This example provides a short description of how to use the HASH peripheral to hash data using SHA224 and SHA256 algorithms. | x (*) | x | Production & Engineering | Cortex®-M4 | |
I2C | I2C_TwoBoards_ComDMA | How to handle I2C transmit / receive data buffer between two boards, via DMA. | - | x | Production & Engineering | Cortex®-M4 | |
I2C | I2C_TwoBoards_ComIT | How to handle I2C transmit / receive data buffer between two boards, using an interrupt. | x (*) | x | Production & Engineering | Cortex®-M4 | |
LPTIM | LPTIM_PulseCounter | How to configure and use LPTIM to count pulses through the LPTIM HAL API. | x (*) | x | Production (DK2) & Engineering (EV1 and DK2) | Cortex®-M4 | |
LPTIM | LPTIM_PWM_LSE | This example describes how to configure and use LPTIM to generate a PWM in low power mode using the LSE as a counter clock, through the HAL LPTIM API. | - | x | Production & Engineering | Cortex®-M4 | |
PWR | PWR_STOP_CoPro | How to enter the CSTOP and STOP modes using CM4 core (also refered to as coprocessor) and wake up from this mode by using external wakeup interrupt. | x (*) | x | Production Only | Cortex®-M4 | |
QSPI | QSPI_ReadWrite_IT | How to erase part of the QSPI memory, write data in IT mode, read data in IT mode and compare the result in an infinate loop. | - | x | Production & Engineering | Cortex®-M4 | |
SPI | SPI_FullDuplex_ComDMA_Master | Data buffer transmission/reception between two boards via SPI in Polling mode. | x (*) | x | Production & Engineering | Cortex®-M4 | |
SPI | SPI_FullDuplex_ComDMA_Slave | Data buffer transmission/reception between two boards via SPI using DMA mode. | x (*) | x | Production & Engineering | Cortex®-M4 | |
SPI | SPI_FullDuplex_ComIT_Master | Data buffer transmission/reception between two boards via SPI using Interrupt mode. | x (*) | - | Production & Engineering | Cortex®-M4 | |
SPI | SPI_FullDuplex_ComIT_Slave | Data buffer transmission/reception between two boards via SPI using Interrupt mode. | x (*) | - | Production & Engineering | Cortex®-M4 | |
TIM | TIM_DMABurst | How to update the TIM2_CH4 timer period and the duty cycle using the DMA burst timer feature. | x (*) | x | Production & Engineering | Cortex®-M4 | |
TIM | TIM_OnePulse | This example shows how to use the TIMER peripheral to generate a single pulse when a rising edge of an external signal is received on the TIMER Input pin. | - | x | Production & Engineering | Cortex®-M4 | |
TIM | TIM_PWMOutput | This example shows how to configure the TIM peripheral in PWM (Pulse Width Modulation) mode. | - | x | Production & Engineering | Cortex®-M4 | |
TIM | TIM_Synchronization | This example shows how to synchronize TIM2 and Timers (TIM8 and TIM1) in parallel mode. | - | x | Production & Engineering | Cortex®-M4 | |
TIM | TIM_TimeBase | This example shows how to configure the TIM peripheral to generate a time base of one second with the corresponding Interrupt request. | - | x | Production & Engineering | Cortex®-M4 | |
UART | UART_TwoBoards_ComDMA | UART transmission (transmit/receive) in DMA mode between two boards. | x (*) | - | Production & Engineering | Cortex®-M4 | |
UART | UART_TwoBoards_ComIT | UART transmission (transmit/receive) in Interrupt mode between two boards. | x (*) | x | Production & Engineering | Cortex®-M4 | |
UART | UART_Receive_Transmit_Console | UART transmission (printf/getchar) via console with user interaction. | x (*) | x | Production & Engineering | Cortex®-M4 | |
WWDG | WWDG_Example | Configuration of the HAL API to periodically update the WWDG counter and simulate a software fault that generates an MCU WWDG reset when a predefined time period has elapsed. | x (*) | x | Production & Engineering | Cortex®-M4 | |
Total number of examples: 48 | 20 | 28 | |||||
Applications | |||||||
CoproSync | CoproSync_ShutDown | Send a shutdown notification to the Cortex®-M4 so that it is able to take necessary actions before going to reset state. | x (*) | x | Production | Cortex®-M4 | |
FreeRTOSTM | FreeRTOS_ThreadCreation | How to implement thread creation using CMSIS RTOS API. | x (*) | x (*) | Production & Engineering | Cortex®-M4 | |
OpenAMP | OpenAMP_Dynamic_ResMgr | How to use OpenAMP MW + Virtual UART to create an Inter-Processor Communication channel seen as TTY device in Linux® OS. | - | x | Production | Cortex®-M4 | |
OpenAMP | OpenAMP_TTY_echo | How to use OpenAMP MW + Virtual UART to create an Inter-Processor Communication channel seen as TTY device in Linux® OS | x (*) | x | Production | Cortex®-M4 | |
OpenAMP | OpenAMP_TTY_echo_wakeup | How to use OpenAMP MW to enter in different power system operating mode (Run, Stop and Standby). | x | x | Production | Cortex®-M4 | |
OpenAMP | OpenAMP_raw | How to use OpenAMP MW to create an Inter-Processor Communication channel | x(*) | x (*) | Production | Cortex®-M4 | |
OpenAMP | OpenAMP_for_signed_fw | How to use OpenAMP MW + Virtual UART to create an Inter-Processor Communication channel seen as TTY device in Linux OS for protected firmware loaded by OP-TEE secure application. | x(*) | x | Production | Cortex®-M4 | |
OpenAMP | OpenAMP_FreeRTOS_echo | How to use OpenAMP MW with FreeRTOSTM. | x | x | Production | Cortex®-M4 | |
Total number of applications: 15 | 7 | 8 | |||||
Demonstrations | |||||||
AI | AI_Character_Recognition | This project demonstrates a complex application that is running on both CPU1(CA7) and CPU2(CM4) | x | x | Production | Cortex®-M4 | |
Total number of demonstrations: 2 | 1 | 1 | |||||
Templates | |||||||
- | Starter project | This projects provides a reference template that can be used to build any firmware application in Engineering mode on Cortex®-M4 | x (*) | x (*) | Engineering | Cortex®-M4 | |
Total number of templates: 2 | 1 | 1 | |||||
Total number of projects: 67 | 29 | 38 |
6. 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.
7. How to get started with STM32CubeMP1 Package[edit | edit source]
8. Associated tools[edit | edit source]
- Refer to Referenced tools release notes to obtain more information on all available tools.
9. References[edit | edit source]
10. Archives
[edit | 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) |