- Last edited 10 months ago ago
Coprocessor power management
1 Article purpose
The purpose of this article is to give an overview of the software APIs available on the Arm® Cortex®-M4 (also named MCU) side to handle the low power modes.
2 Low power modes available on the chip
The table below explains the chip hardware states corresponding to each low power mode.
Subsystem either refers to Arm® Cortex®-A7 side (also called MPU) or Arm® Cortex®-M4 side (also called MCU). A mode prefixed by 'C' refers to a subsystem mode.
A platform mode is the combination of MPU and MCU modes.
|Mode||Vddcore state||Clocks state|
|MCU CStop||on||Subsystem off|
2.1 Wakeup sources
The above modes are left due to a wakeup event.
The following table gives the list of wakeup sources available in each mode.
|Mode||Available wakeup sources|
|CStop/CStandby/Stop||BOR, PVD, AVD, Vbat mon, Temp mon, LSE CSS, RTC, TAMP, USB, CEC, ETH, USART, I²C, SPI, LPTIM, IWDG, GPIO, Wakeup pins|
|LPLV-Stop||BOR, PVD, AVD, Vbat mon, Temp mon, LSE CSS, RTC, TAMP, IWDG, GPIO, Wakeup pins|
|Standby||BOR, Vbat mon, Temp mon, LSE CSS, RTC, TAMP, IWDG, Wakeup pins|
3 Software overview
The power HAL is used to select the Cortex-M4 low power mode.
Further information on HAL can be found here: STM32CubeMP1 architecture
3.1 APIs description
The power HAL supports the following APIs related to power management:
HAL_PWR_EnterSLEEPMode: CSleep mode is entered
HAL_PWR_EnterStopMode: CStop mode is entered allowing Stop as the deepest platform low power mode
HAL_PWR_EnterStandbyMode: CStop mode is entered allowing Standby as the deepest platform low power mode