This article introduces the structure and the content of the STM32CubeMP15 Package / STM32CubeMP1 Package (a.k.a., STM32CubeMP15 / STM32CubeMP1) , the embedded software part of STM32Cube™, running on the Arm® Cortex®-M4 processor. It references also other interesting wiki articles to better understand and use the STM32CubeMP15 Package.
1. What is the STM32CubeMP15 Package?[edit | edit source]
STM32CubeMP15 Package, running on the Arm® Cortex®-M4 processor, consists of:
- The hardware abstraction layer (HAL), enabling portability between different STM32 devices via standardized API calls
- The low-layer API (LL), a light-weight, optimized, expert oriented set of APIs designed for runtime efficiency and so enhanced performance
- The board support package drivers (BSP), based on HAL drivers, an API set for the evaluation board and third-party components.
- A collection of middleware components (such as FreeRTOS)
- A collection of examples, running on an MPU board and allowing demonstration of a basic implementation of features from a set of IPs
The STM32CubeMP15 Package is based on the STM32CubeMCU Package and has been adapted to a Linux framework (OpenSTLinux).
STM32CubeMP15 Package introduces new components such as OpenAMP and ResourceManager that allow easy communication and resource sharing between main processors running with Linux on Arm® Cortex®-A7, and MCU processors running on Arm® Cortex®-M4.
- OpenAMP is a library implementing the remote processor service framework (RPMsg) which is a virtio-based messaging bus that allows a local processor to communicate with remote processors available on the system.
- ResourceManager is a utility that handles peripheral-accessibility requests and system-resource configuration.
 
|  Information | 
| Note: 
 | 
2. Software architecture overview[edit | edit source]
Software architecture overview is described in STM32CubeMP15 Package architecture.
3. STM32CubeMP15 Package structure[edit | edit source]
This chapter describes the structure of the STM32CubeMP15 Package (drivers, middleware components...).
STM32CubeMP15 Package offers a highly portable Hardware Abstraction Layer (HAL), built around a generic and modular architecture.
This HAL allows the upper layers, middleware and application, to implement functions whatever the STM32MP1 device used. This improves the library code re-usability and guarantees easy portability from one device to another.
STM32CubeMP15 Package also offers a highly portable Low Layer interface (LL), which allows a quick, simple and optimized API to access the STM32MP15 registers.
The STM32CubeMP15 Package is provided  with the structure shown below.
 
4. STM32CubeMP15 Package content[edit | edit source]
This chapter describes the content of the STM32CubeMP15 Package (drivers, middleware components...).
4.1. Drivers[edit | edit source]
The Drivers folder contains all the STM32Cube Drivers, including BSP and HAL drivers.
The STM32CubeMP15 Package provides all driver user manuals:
- The BSP user manual for  STM32MP157x-EV1 Evaluation board  is available in Drivers/BSP/STM32MP15xx_EVAL/STM32MP15xx_EVAL_BSP_User_Manual.chm is available in Drivers/BSP/STM32MP15xx_EVAL/STM32MP15xx_EVAL_BSP_User_Manual.chm
- The BSP user manual for   STM32MP157x-DK2 Discovery kit  is available in Drivers/BSP/STM32MP15xx_DISCO/STM32MP15xx_DISCO_BSP_User_Manual.chm is available in Drivers/BSP/STM32MP15xx_DISCO/STM32MP15xx_DISCO_BSP_User_Manual.chm
- The HAL user manual is available in Drivers/STM32MP1xx_HAL_Driver/STM32MP157Cxx_CM4_User_Manual.chm
Chapters, here after, give the list of available BSP, HAL and LL drivers.
4.1.1. HAL drivers[edit | edit source]
| STM32CubeMP15 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_SRAM | * 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
 | 
4.1.2. LL drivers[edit | edit source]
| STM32CubeMP15 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_SRAM | * 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 | 
4.1.3. BSP drivers[edit | edit source]
The BSP drivers offer a set of APIs relative to the hardware components available in the hardware boards (LEDs, Buttons and COM port).
├── STM32MP15xx_DISCO │ ├── bumpversion.cfg │ ├── Release_Notes.html │ ├── STM32MP15xx_DISCO_BSP_User_Manual.chm │ ├── stm32mp15xx_disco_bus.c │ ├── stm32mp15xx_disco_bus.h │ ├── stm32mp15xx_disco.c │ ├── stm32mp15xx_disco_conf_template.h │ ├── stm32mp15xx_disco_errno.h │ ├── stm32mp15xx_disco.h │ ├── stm32mp15xx_disco_stpmic1.c │ └── stm32mp15xx_disco_stpmic1.h └── STM32MP15xx_EVAL │ ├── bumpversion.cfg │ ├── Release_Notes.html │ ├── STM32MP15xx_EVAL_BSP_User_Manual.chm │ ├── stm32mp15xx_eval_bus.c │ ├── stm32mp15xx_eval_bus.h │ ├── stm32mp15xx_eval.c │ ├── stm32mp15xx_eval_conf_template.h │ ├── stm32mp15xx_eval_errno.h │ ├── stm32mp15xx_eval.h │ ├── stm32mp15xx_eval_stpmic1.c │ └── stm32mp15xx_eval_stpmic1.h
4.2. Middlewares[edit | edit source]
The Middlewares folder contains all available STM32Cube Middlewares including:
- FreeRTOS
- OpenAMP
|  Information | 
| Note: 
 | 
4.3. Projects[edit | edit source]
The "Projects" folder contains all STM32Cube examples that are classified in 3 levels as described below :
- Level 0 : Examples. It uses only the HAL drivers without any middleware component. They are available in directory Firmware/Projects/<board_name>/Examples.
- Level 1 : Applications. It provides typical use cases of each middleware component. They are available in directory Firmware/Projects/<board_name>/Applications.
- Level 2 : Demonstrations. It involves all the HAL, BSP and middleware components. They are available in directory Firmware/Projects/<board_name>/Demonstrations.
ATemplate folder is available in Firmware/Projects/<board_name>/Templates and allows quick creation and building of any firmware application on a given board.
All examples respect the same structure :
├── OpenAMP_TTY_echo │ ├── readme.txt describes the example behavior and the setup required to make it work │ ├── Inc contains all header files │ ├── Remoteproc (optional): contains specific files related to the use of Linux® remote processor framework to load STM32Cube Cortex-M4 firmware │ ├── Src contains all the sources code files │ └── STM32CubeIDE contains the preconfigured project for Eclipse IDE
You will find below a list of examples, applications and demonstrations available for STM32MP157x-EV1 Evaluation board  and STM32MP157x-DK2 Discovery kit
 and STM32MP157x-DK2 Discovery kit  :
:
Find below, the list of available projects for those boards:
Legend:
- (*) : List of STM32MP157x-DK2  and STM32MP157x-EV1 and STM32MP157x-EV1 examples available with 3 IDEs (  STM32CubeIDE, IARTM, KEIL®), the others are only available with STM32CubeIDE. examples available with 3 IDEs (  STM32CubeIDE, IARTM, KEIL®), the others are only available with STM32CubeIDE.
- Examples, applications and demonstrations for STM32MP157C-EV1   
├── STM32MP157C-EV1 │ ├── Applications │ │ ├── CoproSync │ │ ├── CoproSync_ShutDown │ │ ├── FreeRTOS │ │ ├── FreeRTOS_ThreadCreation │ │ └── OpenAMP │ │ ├── OpenAMP_Dynamic_ResMgr │ │ ├── OpenAMP_for_signed_fw │ │ ├── OpenAMP_FreeRTOS_echo │ │ ├── OpenAMP_raw │ │ ├── OpenAMP_TTY_echo │ │ └── OpenAMP_TTY_echo_wakeup │ ├── Demonstrations │ │ └── AI_Character_Recognition │ ├── Examples │ │ ├── ADC │ │ │ └── ADC_AnalogWatchdog │ │ │ └── ADC_MultiChannelSingleConversion │ │ │ └── ADC_OverSampler │ │ │ └── ADC_SingleConversion_TriggerTimer_DMA │ │ ├── Cortex │ │ │ └── CORTEXM_MPU │ │ ├── CRC │ │ │ └── CRC_UserDefinedPolynomial │ │ ├── CRYP │ │ │ └── CRYP_AES_DMA │ │ ├── DAC │ │ │ └── DAC_SimpleConversion │ │ ├── DMA │ │ │ └── DMA_FIFOMode │ │ ├── FDCAN │ │ │ └── FDCAN_Loopback │ │ ├── GPIO │ │ │ └── GPIO_EXTI │ │ ├── HASH │ │ │ └── HASH_SHA224SHA256_DMA │ │ ├── I2C │ │ │ ├── I2C_TwoBoards_ComDMA │ │ │ └── I2C_TwoBoards_ComIT │ │ ├── LPTIM │ │ │ └── LPTIM_PulseCounter │ │ │ └── LPTIM_PWM_LSE │ │ ├── PWR │ │ │ └── PWR_STOP_CoPro │ │ ├── QSPI │ │ │ └── QSPI_ReadWrite_IT │ │ ├── SPI │ │ │ ├── SPI_FullDuplex_ComDMA_Master │ │ │ └── SPI_FullDuplex_ComDMA_Slave │ │ ├── TIM │ │ │ └── TIM_DMABurst │ │ │ └── TIM_OnePulse │ │ │ └──TIM_PWMOutput │ │ │ └── TIM_Synchronization │ │ │ └── TIM_TimeBase │ │ ├── UART │ │ │ └── UART_Receive_Transmit_Console │ │ │ └── UART_TwoBoards_ComIT │ │ └── WWDG │ │ └── WWDG_Example
- Examples, applications and demonstrations for STM32MP157C-DK2   
 
- Examples, applications and demonstrations for STM32MP157C-DK2 
├── STM32MP157C-DK2 │ ├── Applications │ │ ├── CoproSync │ │ ├── CoproSync_ShutDown │ │ ├── FreeRTOS │ │ ├── FreeRTOS_ThreadCreation │ │ └── OpenAMP │ │ ├── OpenAMP_for_signed_fw │ │ ├── OpenAMP_FreeRTOS_echo │ │ ├── OpenAMP_raw │ │ ├── OpenAMP_TTY_echo │ │ └── OpenAMP_TTY_echo_wakeup │ ├── Demonstrations │ │ └── AI_Character_Recognition │ ├── Examples │ │ ├── ADC │ │ │ └── ADC_SingleConversion_TriggerTimer_DMA │ │ ├── Cortex │ │ │ └── CORTEXM_MPU │ │ ├── CRC │ │ │ └── CRC_UserDefinedPolynomial │ │ ├── CRYP │ │ │ └── CRYP_AES_DMA │ │ ├── DMA │ │ │ └── DMA_FIFOMode │ │ ├── FDCAN │ │ │ └── FDCAN_Loopback │ │ ├── GPIO │ │ │ └── GPIO_EXTI │ │ ├── HASH │ │ │ └── HASH_SHA224SHA256_DMA │ │ ├── I2C │ │ │ └── I2C_TwoBoards_ComIT │ │ ├── LPTIM │ │ │ └── LPTIM_PulseCounter │ │ ├── PWR │ │ │ └── PWR_STOP_CoPro │ │ ├── SPI │ │ │ ├── SPI_FullDuplex_ComDMA_Master │ │ │ ├── SPI_FullDuplex_ComDMA_Slave │ │ │ ├── SPI_FullDuplex_ComIT_Master │ │ │ └── SPI_FullDuplex_ComIT_Slave │ │ ├── TIM │ │ │ └── TIM_DMABurst │ │ ├── UART │ │ │ └── UART_Receive_Transmit_Console │ │ │ ├── UART_TwoBoards_ComDMA │ │ │ └── UART_TwoBoards_ComIT │ │ └── WWDG │ │ └── WWDG_Example
5. Get started with STM32CubeMP15 Package[edit | edit source]
The STM32CubeMP15 Package is available through the three packages (starter, developer, and distribution). To know how to get them, read STM32CubeMP15_Package_-_Getting_started article.

