mirror of
https://github.com/espressif/esp-idf.git
synced 2025-10-04 20:40:00 +00:00
Merge branch 'doc/add_wakeup_source_usage_precautions_v5.4' into 'release/v5.4'
change(doc): added more usage notes & warings about PM_POWER_DOWN_PERIPHERAL_IN_LIGHT_SLEEP (v5.4) See merge request espressif/esp-idf!37391
This commit is contained in:
@@ -146,12 +146,17 @@ menu "Power Management"
|
||||
select PM_POWER_DOWN_CPU_IN_LIGHT_SLEEP if !SOC_CPU_IN_TOP_DOMAIN
|
||||
default n #TODO: enable by default if periph init/deinit management supported (WIFI-5252)
|
||||
help
|
||||
If enabled, digital peripherals will be powered down in light sleep, it will reduce sleep
|
||||
current consumption by about 100 uA. Chip will save/restore register context at sleep/wake
|
||||
time to keep the system running. Enabling this option will increase static RAM and heap usage,
|
||||
the actual cost depends on the peripherals you have initialized. In order to save/restore the
|
||||
context of the necessary hardware for FreeRTOS to run, it will need at least 4.55 KB free heap
|
||||
at sleep time. Otherwise sleep will not power down the peripherals.
|
||||
If enabled, digital peripherals will try to powered down in light sleep, then all related peripherals will
|
||||
not be available during sleep, including wake-up sources from the peripherals (For detailed availability
|
||||
information, see the note of the corresponding wakeup source enable function).
|
||||
The chip will automatically save/restore register context during sleep/wakeup to make the upper layer
|
||||
user unaware of the peripheral powerdown during sleep. Enabling this option will increase static RAM and
|
||||
heap usage but will also significantly reduce power.
|
||||
consumption during lightsleep, the actual memory cost depends on the peripherals you have initialized,
|
||||
for specific power consumption data in this mode, please refer to Electrical Characteristics section
|
||||
in the chip datasheet.
|
||||
(In order to save/restore the context of the necessary hardware for FreeRTOS to run, it will need
|
||||
at least 4.55 KB free heap at sleep time. Otherwise sleep will not power down the peripherals.)
|
||||
|
||||
Note1: Please use this option with caution, the current IDF does not support the retention of
|
||||
all peripherals. When the digital peripherals are powered off and a sleep and wake-up is completed,
|
||||
@@ -166,6 +171,14 @@ menu "Power Management"
|
||||
of freertos to not be compensated correctly when returning from sleep and cause the system to crash.
|
||||
To avoid this, you can increase FREERTOS_IDLE_TIME_BEFORE_SLEEP threshold in menuconfig.
|
||||
|
||||
Note3: Enabling this option does not necessarily mean that the peripheral power domain will be
|
||||
turned down during sleep. The control priority of `esp_sleep_pd_config` is higher than this option,
|
||||
user code can still prevent the peripheral power domain from powering down during sleep by
|
||||
`esp_sleep_pd_config(ESP_PD_DOMAIN_TOP, ESP_PD_OPTION_ON)`. In addition, whether the peripheral power
|
||||
domain is powered down during sleep also depends on the sleep working strategy selected by the driver.
|
||||
If any module belonging to the peripheral power domain chooses not to be powered down during sleep,
|
||||
then the peripheral power domain will not be powered off either.
|
||||
|
||||
config PM_UPDATE_CCOMPARE_HLI_WORKAROUND
|
||||
bool
|
||||
default y if PM_ENABLE && BTDM_CTRL_HLI
|
||||
|
Reference in New Issue
Block a user