STM32CubeMP2 Package

Revision as of 13:23, 7 December 2023 by Registered User
Applicable for STM32MP25x lines


=link

This article introduces the structure and the content of the STM32CubeMP25 Package, the embedded software part of STM32Cube™, running on the Arm® Cortex®-M33 processor. It references also other interesting wiki articles to better understand and use the STM32CubeMP25 Package.

1. What is the STM32CubeMP25 Package[edit source]

STM32CubeMP25 Package, running on the Arm® Cortex®-M33 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 AzureRTOS)
  • A collection of examples, running on an MPU board and allowing demonstration of a basic implementation of features from a set of IPs

2. Software architecture overview[edit source]

Software architecture overview is described in STM32CubeMP25 Package architecture.

3. STM32CubeMP25 Package structure[edit source]

This chapter describes the structure of the STM32CubeMP25 Package (drivers, middleware components...).

STM32CubeMP25 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 whenever STM32MP25 device is used. This improves the library code re-usability and guarantees easy portability from one device to another. STM32CubeMP25 Package also offers a highly portable Low Layer interface (LL), which allows a quick, simple and optimized API to access the STM32MP25 registers.

The STM32CubeMP25 Package is provided with the structure shown below.

STM32MP25 Package Structure.png


4. STM32CubeMP25 Package content[edit source]

This chapter describes the content of the STM32CubeMP25 Package (drivers, middleware components...).

4.1. Drivers[edit source]

The Drivers folder contains all the STM32Cube Drivers, including BSP and HAL drivers.

4.1.1. HAL drivers[edit source]

STM32CubeMP25 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
ADC_EX
 *          This driver provides firmware functions to manage the following
 *          extended functionalities of the Analog to Digital Convertor (ADC)
 *          peripheral:
 *           + 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
BSEC
 *          This driver provides firmware functions to manage the following
 *          functionalities of the Boot and security and OTP control(BSEC) peripheral:
 *           + Initialization and de-initialization functions
 *           + Peripheral Control functions
 *           + Peripheral State functions
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
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
CRYP_EX
 *          This driver provides firmware functions to manage the following
 *          functionalities of CRYP extension peripheral:
 *           + Extended AES processing functions
CSI
 *          This file provides firmware functions to manage the following
 *          functionalities of the Digital Camera Interface (CSI) peripheral:
 *           + Initialization and de-initialization functions
 *           + IO operation functions
 *           + Peripheral Control functions
 *           + Peripheral State and Error functions
DCACHE
 *          This file provides firmware functions to manage the following
 *          functionalities of the DCACHE.
 *           + Initialization and Configuration
 *           + Cache coherency command
 *           + Monitoring management
DCMI
 *          This file 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
DCMIPP
 *          This driver provides firmware functions to manage the following
 *          functionalities of the DCMIPP (Digital Camera Interface Pixel Pipeline)  peripheral:
 *           + Initialization and de-initialization functions
 *           + IO operation functions
 *           + Peripheral Control functions
 *           + Peripheral State and Error functions
DDR
 *          This driver provides firmware functions to manage the following
 *          functionalities of the Double Data Rate Synchronous Dynamic Random
 *          Access Memory (DDR-SDRAM) Peripheral, through its controller
 *          (DDRCTRL) and its physical interface controller (DDRPHYC).
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
DMA_EX
 *          This driver provides firmware functions to manage the following
 *          functionalities of the DMA Extension peripheral:
 *           + Extended features functions
DSI
 *          This file provides firmware functions to manage the following
 *          functionalities of the DSI peripheral:
 *           + Initialization and de-initialization functions
 *           + IO operation functions
 *           + Peripheral Control functions
 *           + Peripheral State and Errors functions
ETH
 *          This driver provides firmware functions to manage the following
 *          functionalities of the Ethernet (ETH) peripheral:
 *           + Initialization and deinitialization functions
 *           + IO operation functions
 *           + Peripheral Control functions
 *           + Peripheral State and Errors 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
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
HASH_EX
 *          This driver provides firmware functions to manage the following
 *          functionalities of the HASH peripheral for SHA-224 and SHA-256
 *          algorithms:
 *           + HASH or HMAC processing in polling mode
 *           + HASH or HMAC processing in interrupt mode
 *           + HASH or HMAC processing in DMA mode
 *         Additionally, this file provides functions to manage HMAC
 *         multi-buffer DMA-based processing for MD-5, SHA-1, SHA-224
 *         and SHA-256.
HSEM
 *          This file 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 callback functions
 *           + IRQ handler management
ICACHE
 *          This file provides firmware functions to manage the following
 *          functionalities of the Instruction Cache (ICACHE).
 *           + Initialization and Configuration
 *           + Invalidate functions
 *           + Monitoring management
 *           + Memory address remap management
IPCC
 *          This file 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
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
I2C_EX
 *          This driver provides firmware functions to manage the following
 *          functionalities of I2C Extended peripheral:
 *           + Filter Mode Functions
 *           + WakeUp Mode Functions
 *           + FastModePlus Functions
I2S
 *          This file provides firmware functions to manage the following
 *          functionalities of the Integrated Interchip Sound (I2S) peripheral:
 *           + Initialization and de-initialization functions
 *           + IO operation functions
 *           + Peripheral State and Errors functions
I3C
 *          This file provides firmware functions to manage the following
 *          functionalities of the Improvement Inter Integrated Circuit (I3C) peripheral:
 *           + Initialization and de-initialization functions
 *           + IO operation functions
 *           + Peripheral State and Errors functions
IWDG
 *          This file provides firmware functions to manage the following
 *          functionalities of the Independent Watchdog (IWDG) peripheral:
 *           + Initialization and Start functions
 *           + IO operation 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.
LTDC
 *          This file provides firmware functions to manage the following
 *          functionalities of the LTDC peripheral:
 *           + Initialization and de-initialization functions
 *           + IO operation functions
 *           + Peripheral Control functions
 *           + Peripheral State and Errors functions
MMC
 *          This driver provides firmware functions to manage the following
 *          functionalities of the Secure Digital (MMC) peripheral:
 *           + Initialization and de-initialization functions
 *           + IO operation functions
 *           + Peripheral Control functions
 *           + MMC card Control functions
MMC_EX
 *          This driver provides firmware functions to manage the following
 *          functionalities of the Secure Digital (MMC) peripheral:
 *           + Extended features functions
PKA
 *          This driver provides firmware functions to manage the following
 *          functionalities of public key accelerator(PKA):
 *           + Initialization and de-initialization functions
 *           + Start an operation
 *           + Retrieve the operation result
PSSI
 *          This file provides firmware functions to manage the following
 *          functionalities of the Parallel Synchronous Slave Interface (PSSI) peripheral:
 *           + Initialization and de-initialization functions
 *           + IO 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
PWR_EX
 *          This driver provides firmware functions to manage the following
 *          functionalities of PWR extension peripheral:
 *           + Peripheral Extended features functions
OSPI
 *          This driver provides firmware functions to manage the following
 *          functionalities of the OSPI interface (OSPI).
 *           + Initialization and de-initialization functions
 *           + Indirect functional mode management
 *           + Memory-mapped functional mode management
 *           + Auto-polling functional mode management
 *           + Interrupts and flags management
 *           + HPDMA channel configuration for indirect functional mode
 *           + Errors management and abort functionality
RAMCFG
 *          This file provides firmware functions to manage the following
 *          functionalities of the RAMs configuration controller peripheral:
 *           + RAMCFG Initialization and De-initialization Functions.
 *           + RAMCFG ECC Operation Functions.
 *           + RAMCFG CRC Operation Functions.
 *           + RAMCFG Configure Wait State Functions.
 *           + RAMCFG Write Protection Functions.
 *           + RAMCFG Erase Operation Functions.
 *           + RAMCFG Handle Interrupt and Callbacks Functions.
 *           + RAMCFG State and Error Functions.
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
RCC_EX
 *          This driver provides firmware functions to manage the following
 *          functionalities RCC extension peripheral:
 *           + Extended Peripheral Control functions
RIF
*          This file provides firmware functions to manage the following
*          functionalities of RIF:
*           + RISC Initialization and Configuration functions
*           + IAC Initialization and Configuration 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
RNG_EX
 *          This driver provides firmware functions to manage the following
 *          functionalities of the Random Number Generator (RNG) peripheral:
 *           + Lock configuration functions
 *           + Reset the RNG
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
RTC_EX
 *          This driver provides firmware functions to manage the following
 *          functionalities of the Real Time Clock (RTC) Extended peripheral:
 *           + RTC Time Stamp functions
 *           + RTC Tamper functions
 *           + RTC Wake-up functions
 *           + Extended Control functions
 *           + Extended RTC features functions
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
SAI_EX
 *          This driver provides firmware functions to manage the following
 *          functionality of the SAI Peripheral Controller:
 *           + 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
SD_EX
 *          This driver provides firmware functions to manage the following
 *          functionalities of the Secure Digital (SD) peripheral:
 *           + 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
SMARTCARD_EX
 *          This driver provides extended firmware functions to manage the following
 *          functionalities of the SmartCard.
 *           + Initialization and de-initialization functions
 *           + Peripheral Control 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
SPI_EX
 *          This driver provides firmware functions to manage the following
 *          SPI peripheral extended functionalities :
 *           + IO operation functions
 *           + Peripheral Control functions
FMC_SRAM
 *          This driver provides a generic firmware to drive SRAM memories
 *          mounted as external device.
FMC_NAND
 *          This driver provides a generic firmware to drive NAND memories
 *          mounted as external device.
TIMER
 *          This driver provides firmware functions to manage the following
 *          functionalities of the Timer (TIM) peripheral:
 *           + TIM Time Base Initialization
 *           + TIM Time Base Start
 *           + TIM Time Base Start Interruption
 *           + TIM Time Base Start DMA
 *           + TIM Output Compare/PWM Initialization
 *           + TIM Output Compare/PWM Channel Configuration
 *           + TIM Output Compare/PWM  Start
 *           + TIM Output Compare/PWM  Start Interruption
 *           + TIM Output Compare/PWM Start DMA
 *           + TIM Input Capture Initialization
 *           + TIM Input Capture Channel Configuration
 *           + TIM Input Capture Start
 *           + TIM Input Capture Start Interruption
 *           + TIM Input Capture Start DMA
 *           + TIM One Pulse Initialization
 *           + TIM One Pulse Channel Configuration
 *           + TIM One Pulse Start
 *           + TIM Encoder Interface Initialization
 *           + TIM Encoder Interface Start
 *           + TIM Encoder Interface Start Interruption
 *           + TIM Encoder Interface Start DMA
 *           + Commutation Event configuration with Interruption and DMA
 *           + TIM OCRef clear configuration
 *           + TIM External Clock configuration
TIMER_EX
 *          This driver provides firmware functions to manage the following
 *          functionalities of the Timer Extended peripheral:
 *           + Time Hall Sensor Interface Initialization
 *           + Time Hall Sensor Interface Start
 *           + Time Complementary signal break and dead time configuration
 *           + Time Master and Slave synchronization configuration
 *           + Time Output Compare/PWM Channel Configuration (for channels 5 and 6)
 *           + Timer remapping capabilities configuration
UART
 *          This driver provides firmware functions to manage the following
 *          functionalities of the Universal Asynchronous Receiver Transmitter Peripheral (UART).
 *           + Initialization and de-initialization functions
 *           + IO operation functions
 *           + Peripheral Control functions
UART_EX
 *          This driver provides firmware functions to manage the following extended
 *          functionalities of the Universal Synchronous Receiver Transmitter Peripheral (USART).
 *           + Peripheral Control functions
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

4.1.2. LL drivers[edit source]

STM32CubeMP25 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
DELAYBLOCK
 *          This file provides firmware functions to manage the following
 *          functionalities of the DelayBlock peripheral:
 *           + input clock frequency
 *           + up to 12 oversampling phases
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
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 Flexible Memory Controller (FMC) peripheral memories:
 *           + Initialization/de-initialization functions
 *           + Peripheral Control functions
 *           + Peripheral State 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
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
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
DMA
 *         This driver provides firmware functions to manage the following
 *         functionalities of the Direct Memory Access (DMA) peripheral:
 *           + Channel Mangenment functions (Instance, Block, Buffer, Endianess etc)
 *           + SRC/DES operation functions
 *           + HW Trigger control
PWR
 *          This driver provides firmware functions to manage the following
 *          functionalities of the PWR peripheral:
 *           + De-initialization 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
SDMMC
 *          This driver provides firmware functions to manage the following
 *          functionalities of the SDMMC peripheral:
 *           + Initialization/de-initialization functions
 *           + IT/FLAGS management functions
 *           + Data / DMA management functions
 *           + Configuration functions
SPI
 *          This driver provides firmware functions to manage the following
 *          functionalities of the SPI peripheral:
 *           + Control and configuration 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

4.1.3. BSP drivers[edit source]

The BSP (Board Specific Package) drivers are parts of the STM32CubeMPU package based on the HAL drivers and provide a set of high level APIs relative to the hardware components and features in the STM32MP257x-EV1 Evaluation board More info green.png. It provides API for LED, button and COM ports.

STM32CubeMP25 BSP Driver items
STM32MP257F-EV1
stm32mp257f_eval_bus.c
stm32mp257f_eval_bus.h
stm32mp257f_eval.c
stm32mp257f_eval_camera.c
stm32mp257f_eval_camera.h
stm32mp257f_eval_conf_template.h
stm32mp257f_eval_errno.h
stm32mp257f_eval.h
stm32mp257f_eval_pmic.c
stm32mp257f_eval_pmic.h
stm32mp257f_eval_usbpd_pwr.c
stm32mp257f_eval_usbpd_pwr.h


BSP Components are external components which can be attached to STM32MP257x-EV1 Evaluation board More info green.png.

STM32CubeMP25 BSP Component Items Description
Common
This directory contains the BSP Common components drivers.
STPMIC2
This driver provides a set of functions offered needed to drive STPMIC2 PMU module.
TCPP0203
This driver provides a set of functions neede to drive TCPP02/03 Type-C port protection.



4.2. Projects[edit source]

The "Projects" folder contains all STM32Cube examples that are classified in 3 ways as described below :

  • Examples: It uses only the HAL drivers without any middleware component. They are available in directory Projects/<board_name>/Examples.
  • Applications: It provides typical use cases of each middleware component. They are available in directory Projects/<board_name>/Applications.
  • Demonstrations: This program demonstrates the USBPD stack. Directory Projects/<board_name>/Demonstrations.


List of Projects is available here. Unsupported domain!

4.2.1. Examples, applications and demonstrations for STM32MP257F-EV1 Evaluation board More info green.png[edit source]

 ├── Application
 │   ├── FileX
 │   │   ├── Fx_NoR_Write_Read_File
 │   │   └── Fx_SRAM_File_Standalone
 │   ├── NetXDuo
 │   │   ├── Nx_Iperf
 │   │   ├── Nx_MQTT_Client
 │   │   ├── Nx_TCP_Echo_Client
 │   │   ├── Nx_TCP_Echo_Server
 │   │   ├── Nx_UDP_Echo_Client
 │   │   └── Nx_UDP_Echo_Server
 │   ├── OpenAMP
 │   │   └── OpenAMP_TTY_echo
 │   ├── TFM
 │   │   └── TFM_Protected_Storage
 │   ├── ThreadX
 │   │   ├── Tx_Thread_Creation
 │   │   ├── Tx_Thread_MsgQueue
 │   │   └── Tx_Thread_Sync
 │   └── USBPD
 │       └── USBPD_DRP_UCSI
 ├── Demonstrations
 │   └── USBPD_DRP_UCSI
 │       └── util
 └── Examples
     ├── CORTEX
     │   └── CORTEXM_ModePrivilege
     ├── CRC
     │   ├── CRC_Bytes_Stream_7bit_CRC
     │   └── CRC_UserDefinedPolynomial
     ├── CRYP
     │   ├── CRYP_AES_DMA
     │   └── CRYP_AESGCM
     ├── DMA
     │   ├── DMA_LinkedList
     │   └── DMA_RepeatedBlock
     ├── GPIO
     │   └── GPIO_EXTI
     ├── I2C
     │   ├── I2C_TwoBoards_ComDMA
     │   └── I2C_TwoBoards_ComPolling
     ├── I3C
     │   └── I3C_Controller_I2C_ComDMA
     ├── LPTIM
     │   └── LPTIM_PulseCounter
     ├── SPI
     │   └── SPI_FullDuplex_ComDMA
     └── TIM
         ├── TIM_DMABurst
         ├── TIM_OnePulse
         ├── TIM_PWMOutput
         └── TIM_TimeBase


4.2.2. Get started with STM32CubeMP25 Package[edit source]

To know how to get it, read STM32CubeMP25_Package_-_Getting_started article.