Merge branch 'docs/c6_misc_updates' into 'master'

docs: updated misc C6 programming guide docs with minor changes.

See merge request espressif/esp-idf!23962
This commit is contained in:
Marius Vikhammer 2023-05-31 14:45:13 +08:00
commit bb5ea35f01
19 changed files with 198 additions and 49 deletions

View File

@ -130,6 +130,8 @@ ADC_DMA_DOCS = ['api-reference/peripherals/adc_continuous.rst']
ANA_CMPR_DOCS = ['api-reference/peripherals/ana_cmpr.rst'] ANA_CMPR_DOCS = ['api-reference/peripherals/ana_cmpr.rst']
SPI_SLAVE_HD_DOCS = ['api-reference/peripherals/spi_slave_hd.rst']
ESP32_DOCS = ['api-reference/system/himem.rst', ESP32_DOCS = ['api-reference/system/himem.rst',
'api-guides/romconsole.rst', 'api-guides/romconsole.rst',
'api-reference/system/ipc.rst', 'api-reference/system/ipc.rst',
@ -143,7 +145,6 @@ ESP32_DOCS = ['api-reference/system/himem.rst',
ESP32S2_DOCS = ['hw-reference/esp32s2/**', ESP32S2_DOCS = ['hw-reference/esp32s2/**',
'api-guides/usb-console.rst', 'api-guides/usb-console.rst',
'api-reference/peripherals/ds.rst', 'api-reference/peripherals/ds.rst',
'api-reference/peripherals/spi_slave_hd.rst',
'api-reference/peripherals/temp_sensor.rst', 'api-reference/peripherals/temp_sensor.rst',
'api-reference/system/async_memcpy.rst', 'api-reference/system/async_memcpy.rst',
'api-reference/peripherals/touch_element.rst', 'api-reference/peripherals/touch_element.rst',
@ -201,6 +202,7 @@ conditional_include_dict = {'SOC_BT_SUPPORTED':BT_DOCS,
'SOC_ANA_CMPR_SUPPORTED': ANA_CMPR_DOCS, 'SOC_ANA_CMPR_SUPPORTED': ANA_CMPR_DOCS,
'SOC_SDM_SUPPORTED':SDM_DOCS, 'SOC_SDM_SUPPORTED':SDM_DOCS,
'SOC_WIFI_MESH_SUPPORT':WIFI_MESH_DOCS, 'SOC_WIFI_MESH_SUPPORT':WIFI_MESH_DOCS,
'SOC_SPI_SUPPORT_SLAVE_HD_VER2':SPI_SLAVE_HD_DOCS,
'esp32':ESP32_DOCS, 'esp32':ESP32_DOCS,
'esp32s2':ESP32S2_DOCS, 'esp32s2':ESP32S2_DOCS,
'esp32s3':ESP32S3_DOCS, 'esp32s3':ESP32S3_DOCS,

View File

@ -1,13 +1,8 @@
api-guides/coexist api-guides/coexist
api-guides/usb-serial-jtag-console
api-guides/wifi api-guides/wifi
api-guides/esp-wifi-mesh api-guides/esp-wifi-mesh
api-guides/dfu
api-guides/wifi-security api-guides/wifi-security
api-guides/openthread api-guides/openthread
api-reference/peripherals/sdio_slave
api-reference/peripherals/adc_calibration
api-reference/peripherals/sdmmc_host
api-reference/network api-reference/network
api-reference/network/esp_openthread api-reference/network/esp_openthread
api-reference/network/esp_dpp api-reference/network/esp_dpp
@ -16,12 +11,4 @@ api-reference/network/esp-wifi-mesh
api-reference/network/esp_smartconfig api-reference/network/esp_smartconfig
api-reference/network/esp_wifi api-reference/network/esp_wifi
api-reference/network/index api-reference/network/index
api-reference/system/ulp_macros
api-reference/system/ulp
api-reference/system/ulp_instruction_set
api-reference/system/power_management
api-reference/system/inc/power_management_esp32s2_and_later
api-reference/system/ulp-risc-v
api-reference/protocols/esp_serial_slave_link
api-reference/protocols/esp_spi_slave_protocol api-reference/protocols/esp_spi_slave_protocol
api-reference/protocols/index

View File

@ -55,7 +55,7 @@ Limitations
There are several limitations to the USB Serial/JTAG console feature. These may or may not be significant, depending on the type of application being developed, and the development workflow. There are several limitations to the USB Serial/JTAG console feature. These may or may not be significant, depending on the type of application being developed, and the development workflow.
{IDF_TARGET_BOOT_PIN:default = "Not Updated!", esp32c3 = "GPIO9", esp32s3 = "GPIO0"} {IDF_TARGET_BOOT_PIN:default = "Not Updated!", esp32c3 = "GPIO9", esp32s3 = "GPIO0", esp32c6 = "GPIO9"}
1. If the application accidentally reconfigures the USB peripheral pins, or disables the USB Serial/JTAG Controller, the device will disappear from the system. After fixing the issue in the application, you will need to manually put the {IDF_TARGET_NAME} into download mode by pulling low {IDF_TARGET_BOOT_PIN} and resetting the chip. 1. If the application accidentally reconfigures the USB peripheral pins, or disables the USB Serial/JTAG Controller, the device will disappear from the system. After fixing the issue in the application, you will need to manually put the {IDF_TARGET_NAME} into download mode by pulling low {IDF_TARGET_BOOT_PIN} and resetting the chip.

View File

@ -37,7 +37,7 @@ Peripherals API
spi_master spi_master
spi_slave spi_slave
:esp32: secure_element :esp32: secure_element
:esp32s2: spi_slave_hd :SOC_SPI_SUPPORT_SLAVE_HD_VER2: spi_slave_hd
:SOC_TEMP_SENSOR_SUPPORTED: temp_sensor :SOC_TEMP_SENSOR_SUPPORTED: temp_sensor
:SOC_TOUCH_SENSOR_SUPPORTED: touch_pad :SOC_TOUCH_SENSOR_SUPPORTED: touch_pad
:esp32s2: touch_element :esp32s2: touch_element

View File

@ -0,0 +1,19 @@
+---------------+---------------------------------------+-------------------------------------+
| Max CPU | Lock Acquisition | CPU and APB Frequencies |
| Frequency Set | | |
+---------------+---------------------------------------+-------------------------------------+
| 120 | ``ESP_PM_CPU_FREQ_MAX`` acquired | | CPU: 120 MHz |
| | | | APB: 40 MHz |
+ +---------------------------------------+-------------------------------------+
| | ``ESP_PM_APB_FREQ_MAX`` acquired, | | CPU: 80 MHz |
| | ``ESP_PM_CPU_FREQ_MAX`` not acquired | | APB: 40 MHz |
+ +---------------------------------------+-------------------------------------+
| | None | Min values for both frequencies set |
| | | with :cpp:func:`esp_pm_configure` |
+---------------+---------------------------------------+-------------------------------------+
| 80 | | Any of ``ESP_PM_CPU_FREQ_MAX`` | | CPU: 80 MHz |
| | | or ``ESP_PM_APB_FREQ_MAX`` acquired | | APB: 40 MHz |
+ +---------------------------------------+-------------------------------------+
| | None | Min values for both frequencies set |
| | | with :cpp:func:`esp_pm_configure` |
+---------------+---------------------------------------+-------------------------------------+

View File

@ -0,0 +1,19 @@
+---------------+---------------------------------------+-------------------------------------+
| Max CPU | Lock Acquisition | CPU and APB Frequencies |
| Frequency Set | | |
+---------------+---------------------------------------+-------------------------------------+
| 160 | ``ESP_PM_CPU_FREQ_MAX`` acquired | | CPU: 160 MHz |
| | | | APB: 80 MHz |
+ +---------------------------------------+-------------------------------------+
| | ``ESP_PM_APB_FREQ_MAX`` acquired, | | CPU: 80 MHz |
| | ``ESP_PM_CPU_FREQ_MAX`` not acquired | | APB: 80 MHz |
+ +---------------------------------------+-------------------------------------+
| | None | Min values for both frequencies set |
| | | with :cpp:func:`esp_pm_configure` |
+---------------+---------------------------------------+-------------------------------------+
| 80 | | Any of ``ESP_PM_CPU_FREQ_MAX`` | | CPU: 80 MHz |
| | | or ``ESP_PM_APB_FREQ_MAX`` acquired | | APB: 80 MHz |
+ +---------------------------------------+-------------------------------------+
| | None | Min values for both frequencies set |
| | | with :cpp:func:`esp_pm_configure` |
+---------------+---------------------------------------+-------------------------------------+

View File

@ -0,0 +1,19 @@
+---------------+---------------------------------------+-------------------------------------+
| Max CPU | Lock Acquisition | CPU and APB Frequencies |
| Frequency Set | | |
+---------------+---------------------------------------+-------------------------------------+
| 160 | ``ESP_PM_CPU_FREQ_MAX`` acquired | | CPU: 160 MHz |
| | | | APB: 80 MHz |
+ +---------------------------------------+-------------------------------------+
| | ``ESP_PM_APB_FREQ_MAX`` acquired, | | CPU: 80 MHz |
| | ``ESP_PM_CPU_FREQ_MAX`` not acquired | | APB: 80 MHz |
+ +---------------------------------------+-------------------------------------+
| | None | Min values for both frequencies set |
| | | with :cpp:func:`esp_pm_configure` |
+---------------+---------------------------------------+-------------------------------------+
| 80 | | Any of ``ESP_PM_CPU_FREQ_MAX`` | | CPU: 80 MHz |
| | | or ``ESP_PM_APB_FREQ_MAX`` acquired | | APB: 80 MHz |
+ +---------------------------------------+-------------------------------------+
| | None | Min values for both frequencies set |
| | | with :cpp:func:`esp_pm_configure` |
+---------------+---------------------------------------+-------------------------------------+

View File

@ -0,0 +1,3 @@
.. note::
To be updated

View File

@ -1,29 +1,27 @@
{IDF_TARGET_APB_FREQ: default="80 Mhz", esp32c2="40 MHz"}
+---------------+---------------------------------------+-------------------------------------+ +---------------+---------------------------------------+-------------------------------------+
| Max CPU | Lock Acquisition | CPU and APB Frequencies | | Max CPU | Lock Acquisition | CPU and APB Frequencies |
| Frequency Set | | | | Frequency Set | | |
+---------------+---------------------------------------+-------------------------------------+ +---------------+---------------------------------------+-------------------------------------+
| 240 | ``ESP_PM_CPU_FREQ_MAX`` acquired | | CPU: 240 MHz | | 240 | ``ESP_PM_CPU_FREQ_MAX`` acquired | | CPU: 240 MHz |
| | | | APB: {IDF_TARGET_APB_FREQ} | | | | | APB: 80 MHz |
+ +---------------------------------------+-------------------------------------+ + +---------------------------------------+-------------------------------------+
| | ``ESP_PM_APB_FREQ_MAX`` acquired, | | CPU: 80 MHz | | | ``ESP_PM_APB_FREQ_MAX`` acquired, | | CPU: 80 MHz |
| | ``ESP_PM_CPU_FREQ_MAX`` not acquired | | APB: {IDF_TARGET_APB_FREQ} | | | ``ESP_PM_CPU_FREQ_MAX`` not acquired | | APB: 80 MHz |
+ +---------------------------------------+-------------------------------------+ + +---------------------------------------+-------------------------------------+
| | None | Min values for both frequencies set | | | None | Min values for both frequencies set |
| | | with :cpp:func:`esp_pm_configure` | | | | with :cpp:func:`esp_pm_configure` |
+---------------+---------------------------------------+-------------------------------------+ +---------------+---------------------------------------+-------------------------------------+
| 160 | ``ESP_PM_CPU_FREQ_MAX`` acquired | | CPU: 160 MHz | | 160 | ``ESP_PM_CPU_FREQ_MAX`` acquired | | CPU: 160 MHz |
| | | | APB: {IDF_TARGET_APB_FREQ} | | | | | APB: 80 MHz |
+ +---------------------------------------+-------------------------------------+ + +---------------------------------------+-------------------------------------+
| | ``ESP_PM_APB_FREQ_MAX`` acquired, | | CPU: 80 MHz | | | ``ESP_PM_APB_FREQ_MAX`` acquired, | | CPU: 80 MHz |
| | ``ESP_PM_CPU_FREQ_MAX`` not acquired | | APB: {IDF_TARGET_APB_FREQ} | | | ``ESP_PM_CPU_FREQ_MAX`` not acquired | | APB: 80 MHz |
+ +---------------------------------------+-------------------------------------+ + +---------------------------------------+-------------------------------------+
| | None | Min values for both frequencies set | | | None | Min values for both frequencies set |
| | | with :cpp:func:`esp_pm_configure` | | | | with :cpp:func:`esp_pm_configure` |
+---------------+---------------------------------------+-------------------------------------+ +---------------+---------------------------------------+-------------------------------------+
| 80 | | Any of ``ESP_PM_CPU_FREQ_MAX`` | | CPU: 80 MHz | | 80 | | Any of ``ESP_PM_CPU_FREQ_MAX`` | | CPU: 80 MHz |
| | | or ``ESP_PM_APB_FREQ_MAX`` acquired | | APB: {IDF_TARGET_APB_FREQ} | | | | or ``ESP_PM_APB_FREQ_MAX`` acquired | | APB: 80 MHz |
+ +---------------------------------------+-------------------------------------+ + +---------------------------------------+-------------------------------------+
| | None | Min values for both frequencies set | | | None | Min values for both frequencies set |
| | | with :cpp:func:`esp_pm_configure` | | | | with :cpp:func:`esp_pm_configure` |

View File

@ -0,0 +1,28 @@
+---------------+---------------------------------------+-------------------------------------+
| Max CPU | Lock Acquisition | CPU and APB Frequencies |
| Frequency Set | | |
+---------------+---------------------------------------+-------------------------------------+
| 240 | ``ESP_PM_CPU_FREQ_MAX`` acquired | | CPU: 240 MHz |
| | | | APB: 80 MHz |
+ +---------------------------------------+-------------------------------------+
| | ``ESP_PM_APB_FREQ_MAX`` acquired, | | CPU: 80 MHz |
| | ``ESP_PM_CPU_FREQ_MAX`` not acquired | | APB: 80 MHz |
+ +---------------------------------------+-------------------------------------+
| | None | Min values for both frequencies set |
| | | with :cpp:func:`esp_pm_configure` |
+---------------+---------------------------------------+-------------------------------------+
| 160 | ``ESP_PM_CPU_FREQ_MAX`` acquired | | CPU: 160 MHz |
| | | | APB: 80 MHz |
+ +---------------------------------------+-------------------------------------+
| | ``ESP_PM_APB_FREQ_MAX`` acquired, | | CPU: 80 MHz |
| | ``ESP_PM_CPU_FREQ_MAX`` not acquired | | APB: 80 MHz |
+ +---------------------------------------+-------------------------------------+
| | None | Min values for both frequencies set |
| | | with :cpp:func:`esp_pm_configure` |
+---------------+---------------------------------------+-------------------------------------+
| 80 | | Any of ``ESP_PM_CPU_FREQ_MAX`` | | CPU: 80 MHz |
| | | or ``ESP_PM_APB_FREQ_MAX`` acquired | | APB: 80 MHz |
+ +---------------------------------------+-------------------------------------+
| | None | Min values for both frequencies set |
| | | with :cpp:func:`esp_pm_configure` |
+---------------+---------------------------------------+-------------------------------------+

View File

@ -49,6 +49,7 @@ Dynamic frequency scaling (DFS) and automatic light sleep can be enabled in an a
Power Management Locks Power Management Locks
---------------------- ----------------------
{IDF_TARGET_MAX_CPU_FREQ: default="Not updated yet", esp32="80 MHz, 160 MHz, or 240 MHz", esp32s2="80 MHz, 160 MHz, or 240 MHz", esp32s3="80 MHz, 160 MHz, or 240 MHz", esp32c2="80 MHz or 120 MHz", esp32c3="80 MHz or 160 MHz", esp32c6="80 MHz or 160 MHz"}
Applications have the ability to acquire/release locks in order to control the power management algorithm. When an application acquires a lock, the power management algorithm operation is restricted in a way described below. When the lock is released, such restrictions are removed. Applications have the ability to acquire/release locks in order to control the power management algorithm. When an application acquires a lock, the power management algorithm operation is restricted in a way described below. When the lock is released, such restrictions are removed.
@ -63,7 +64,7 @@ Power management locks have acquire/release counters. If the lock has been acqui
* - Lock * - Lock
- Description - Description
* - ``ESP_PM_CPU_FREQ_MAX`` * - ``ESP_PM_CPU_FREQ_MAX``
- Requests CPU frequency to be at the maximum value set with :cpp:func:`esp_pm_configure`. For {IDF_TARGET_NAME}, this value can be set to 80 MHz, 160 MHz, or 240 MHz. - Requests CPU frequency to be at the maximum value set with :cpp:func:`esp_pm_configure`. For {IDF_TARGET_NAME}, this value can be set to {IDF_TARGET_MAX_CPU_FREQ}.
* - ``ESP_PM_APB_FREQ_MAX`` * - ``ESP_PM_APB_FREQ_MAX``
- Requests the APB frequency to be at the maximum supported value. For {IDF_TARGET_NAME}, this is 80 MHz. - Requests the APB frequency to be at the maximum supported value. For {IDF_TARGET_NAME}, this is 80 MHz.
* - ``ESP_PM_NO_LIGHT_SLEEP`` * - ``ESP_PM_NO_LIGHT_SLEEP``
@ -74,14 +75,7 @@ Power management locks have acquire/release counters. If the lock has been acqui
The table below shows how CPU and APB frequencies will be switched if dynamic frequency scaling is enabled. You can specify the maximum CPU frequency with either :cpp:func:`esp_pm_configure` or :ref:`CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ`. The table below shows how CPU and APB frequencies will be switched if dynamic frequency scaling is enabled. You can specify the maximum CPU frequency with either :cpp:func:`esp_pm_configure` or :ref:`CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ`.
.. only:: esp32 .. include:: inc/power_management_{IDF_TARGET_PATH_NAME}.rst
.. include:: inc/power_management_esp32.rst
.. only:: not esp32
.. include:: inc/power_management_esp32s2_and_later.rst
If none of the locks are acquired, and light sleep is enabled in a call to :cpp:func:`esp_pm_configure`, the system will go into light sleep mode. The duration of light sleep will be determined by: If none of the locks are acquired, and light sleep is enabled in a call to :cpp:func:`esp_pm_configure`, the system will go into light sleep mode. The duration of light sleep will be determined by:

View File

@ -37,7 +37,7 @@
spi_master spi_master
spi_slave spi_slave
:esp32: secure_element :esp32: secure_element
:esp32s2: spi_slave_hd :SOC_SPI_SUPPORT_SLAVE_HD_VER2: spi_slave_hd
:SOC_TEMP_SENSOR_SUPPORTED: temp_sensor :SOC_TEMP_SENSOR_SUPPORTED: temp_sensor
:SOC_TOUCH_SENSOR_SUPPORTED: touch_pad :SOC_TOUCH_SENSOR_SUPPORTED: touch_pad
:esp32s2: touch_element :esp32s2: touch_element

View File

@ -0,0 +1,19 @@
+---------------+---------------------------------------+-------------------------------------+
| CPU 最高频率 | 电源管理锁获取情况 | APB 频率和 CPU 频率 |
| | | |
+---------------+---------------------------------------+-------------------------------------+
| 120 | 获取 ``ESP_PM_CPU_FREQ_MAX`` | | CPU: 120 MHz |
| | | | APB: 40 Mhz |
+ +---------------------------------------+-------------------------------------+
| | | 获取 ``ESP_PM_APB_FREQ_MAX``, | | CPU: 80 MHz |
| | | 未获得 ``ESP_PM_CPU_FREQ_MAX`` | | APB: 40 Mhz |
+ +---------------------------------------+-------------------------------------+
| | 无 | 使用 :cpp:func:`esp_pm_configure` |
| | | 为二者设置最小值 |
+---------------+---------------------------------------+-------------------------------------+
| 80 | | 获取 ``ESP_PM_CPU_FREQ_MAX`` | | CPU: 80 MHz |
| | | 或 ``ESP_PM_APB_FREQ_MAX`` | | APB: 40 Mhz |
+ +---------------------------------------+-------------------------------------+
| | 无 | 使用 :cpp:func:`esp_pm_configure` |
| | | 为二者设置最小值 |
+---------------+---------------------------------------+-------------------------------------+

View File

@ -0,0 +1,19 @@
+---------------+---------------------------------------+-------------------------------------+
| CPU 最高频率 | 电源管理锁获取情况 | APB 频率和 CPU 频率 |
| | | |
+---------------+---------------------------------------+-------------------------------------+
| 160 | 获取 ``ESP_PM_CPU_FREQ_MAX`` | | CPU: 160 MHz |
| | | | APB: 80 Mhz |
+ +---------------------------------------+-------------------------------------+
| | | 获取 ``ESP_PM_APB_FREQ_MAX``, | | CPU: 80 MHz |
| | | 未获得 ``ESP_PM_CPU_FREQ_MAX`` | | APB: 80 Mhz |
+ +---------------------------------------+-------------------------------------+
| | 无 | 使用 :cpp:func:`esp_pm_configure` |
| | | 为二者设置最小值 |
+---------------+---------------------------------------+-------------------------------------+
| 80 | | 获取 ``ESP_PM_CPU_FREQ_MAX`` | | CPU: 80 MHz |
| | | 或 ``ESP_PM_APB_FREQ_MAX`` | | APB: 80 Mhz |
+ +---------------------------------------+-------------------------------------+
| | 无 | 使用 :cpp:func:`esp_pm_configure` |
| | | 为二者设置最小值 |
+---------------+---------------------------------------+-------------------------------------+

View File

@ -0,0 +1,19 @@
+---------------+---------------------------------------+-------------------------------------+
| CPU 最高频率 | 电源管理锁获取情况 | APB 频率和 CPU 频率 |
| | | |
+---------------+---------------------------------------+-------------------------------------+
| 160 | 获取 ``ESP_PM_CPU_FREQ_MAX`` | | CPU: 160 MHz |
| | | | APB: 80 Mhz |
+ +---------------------------------------+-------------------------------------+
| | | 获取 ``ESP_PM_APB_FREQ_MAX``, | | CPU: 80 MHz |
| | | 未获得 ``ESP_PM_CPU_FREQ_MAX`` | | APB: 80 Mhz |
+ +---------------------------------------+-------------------------------------+
| | 无 | 使用 :cpp:func:`esp_pm_configure` |
| | | 为二者设置最小值 |
+---------------+---------------------------------------+-------------------------------------+
| 80 | | 获取 ``ESP_PM_CPU_FREQ_MAX`` | | CPU: 80 MHz |
| | | 或 ``ESP_PM_APB_FREQ_MAX`` | | APB: 80 Mhz |
+ +---------------------------------------+-------------------------------------+
| | 无 | 使用 :cpp:func:`esp_pm_configure` |
| | | 为二者设置最小值 |
+---------------+---------------------------------------+-------------------------------------+

View File

@ -0,0 +1,3 @@
.. note::
To be updated

View File

@ -1,29 +1,27 @@
{IDF_TARGET_APB_FREQ: default="80 Mhz", esp32c2="40 MHz"}
+---------------+---------------------------------------+-------------------------------------+ +---------------+---------------------------------------+-------------------------------------+
| CPU 最高频率 | 电源管理锁获取情况 | APB 频率和 CPU 频率 | | CPU 最高频率 | 电源管理锁获取情况 | APB 频率和 CPU 频率 |
| | | | | | | |
+---------------+---------------------------------------+-------------------------------------+ +---------------+---------------------------------------+-------------------------------------+
| 240 | 获取 ``ESP_PM_CPU_FREQ_MAX`` | | CPU: 240 MHz | | 240 | 获取 ``ESP_PM_CPU_FREQ_MAX`` | | CPU: 240 MHz |
| | | | APB: {IDF_TARGET_APB_FREQ} | | | | | APB: 80 Mhz |
+ +---------------------------------------+-------------------------------------+ + +---------------------------------------+-------------------------------------+
| | | 获取 ``ESP_PM_APB_FREQ_MAX``, | | CPU: 80 MHz | | | | 获取 ``ESP_PM_APB_FREQ_MAX``, | | CPU: 80 MHz |
| | | 未获得 ``ESP_PM_CPU_FREQ_MAX`` | | APB: {IDF_TARGET_APB_FREQ} | | | | 未获得 ``ESP_PM_CPU_FREQ_MAX`` | | APB: 80 Mhz |
+ +---------------------------------------+-------------------------------------+ + +---------------------------------------+-------------------------------------+
| | 无 | 使用 :cpp:func:`esp_pm_configure` | | | 无 | 使用 :cpp:func:`esp_pm_configure` |
| | | 为二者设置最小值 | | | | 为二者设置最小值 |
+---------------+---------------------------------------+-------------------------------------+ +---------------+---------------------------------------+-------------------------------------+
| 160 | 获取 ``ESP_PM_CPU_FREQ_MAX`` | | CPU: 160 MHz | | 160 | 获取 ``ESP_PM_CPU_FREQ_MAX`` | | CPU: 160 MHz |
| | | | APB: {IDF_TARGET_APB_FREQ} | | | | | APB: 80 Mhz |
+ +---------------------------------------+-------------------------------------+ + +---------------------------------------+-------------------------------------+
| | | 获取 ``ESP_PM_APB_FREQ_MAX``, | | CPU: 80 MHz | | | | 获取 ``ESP_PM_APB_FREQ_MAX``, | | CPU: 80 MHz |
| | | 未获得 ``ESP_PM_CPU_FREQ_MAX`` | | APB: {IDF_TARGET_APB_FREQ} | | | | 未获得 ``ESP_PM_CPU_FREQ_MAX`` | | APB: 80 Mhz |
+ +---------------------------------------+-------------------------------------+ + +---------------------------------------+-------------------------------------+
| | 无 | 使用 :cpp:func:`esp_pm_configure` | | | 无 | 使用 :cpp:func:`esp_pm_configure` |
| | | 为二者设置最小值 | | | | 为二者设置最小值 |
+---------------+---------------------------------------+-------------------------------------+ +---------------+---------------------------------------+-------------------------------------+
| 80 | | 获取 ``ESP_PM_CPU_FREQ_MAX`` | | CPU: 80 MHz | | 80 | | 获取 ``ESP_PM_CPU_FREQ_MAX`` | | CPU: 80 MHz |
| | | 或 ``ESP_PM_APB_FREQ_MAX`` | | APB: {IDF_TARGET_APB_FREQ} | | | | 或 ``ESP_PM_APB_FREQ_MAX`` | | APB: 80 Mhz |
+ +---------------------------------------+-------------------------------------+ + +---------------------------------------+-------------------------------------+
| | 无 | 使用 :cpp:func:`esp_pm_configure` | | | 无 | 使用 :cpp:func:`esp_pm_configure` |
| | | 为二者设置最小值 | | | | 为二者设置最小值 |

View File

@ -0,0 +1,28 @@
+---------------+---------------------------------------+-------------------------------------+
| CPU 最高频率 | 电源管理锁获取情况 | APB 频率和 CPU 频率 |
| | | |
+---------------+---------------------------------------+-------------------------------------+
| 240 | 获取 ``ESP_PM_CPU_FREQ_MAX`` | | CPU: 240 MHz |
| | | | APB: 80 Mhz |
+ +---------------------------------------+-------------------------------------+
| | | 获取 ``ESP_PM_APB_FREQ_MAX``, | | CPU: 80 MHz |
| | | 未获得 ``ESP_PM_CPU_FREQ_MAX`` | | APB: 80 Mhz |
+ +---------------------------------------+-------------------------------------+
| | 无 | 使用 :cpp:func:`esp_pm_configure` |
| | | 为二者设置最小值 |
+---------------+---------------------------------------+-------------------------------------+
| 160 | 获取 ``ESP_PM_CPU_FREQ_MAX`` | | CPU: 160 MHz |
| | | | APB: 80 Mhz |
+ +---------------------------------------+-------------------------------------+
| | | 获取 ``ESP_PM_APB_FREQ_MAX``, | | CPU: 80 MHz |
| | | 未获得 ``ESP_PM_CPU_FREQ_MAX`` | | APB: 80 Mhz |
+ +---------------------------------------+-------------------------------------+
| | 无 | 使用 :cpp:func:`esp_pm_configure` |
| | | 为二者设置最小值 |
+---------------+---------------------------------------+-------------------------------------+
| 80 | | 获取 ``ESP_PM_CPU_FREQ_MAX`` | | CPU: 80 MHz |
| | | 或 ``ESP_PM_APB_FREQ_MAX`` | | APB: 80 Mhz |
+ +---------------------------------------+-------------------------------------+
| | 无 | 使用 :cpp:func:`esp_pm_configure` |
| | | 为二者设置最小值 |
+---------------+---------------------------------------+-------------------------------------+

View File

@ -49,6 +49,7 @@ ESP-IDF 中集成的电源管理算法可以根据应用程序组件的需求,
电源管理锁 电源管理锁
---------------------- ----------------------
{IDF_TARGET_MAX_CPU_FREQ: default="Not updated yet", esp32="80 MHz, 160 MHz, or 240 MHz", esp32s2="80 MHz, 160 MHz, 或 240 MHz", esp32s3="80 MHz, 160 MHz, 或 240 MHz", esp32c2="80 MHz 或 120 MHz", esp32c3="80 MHz 或 160 MHz", esp32c6="80 MHz 或 160 MHz"}
应用程序可以通过获取或释放管理锁来控制电源管理算法。应用程序获取电源管理锁后,电源管理算法的操作将受到下面的限制。释放电源管理锁后,限制解除。 应用程序可以通过获取或释放管理锁来控制电源管理算法。应用程序获取电源管理锁后,电源管理算法的操作将受到下面的限制。释放电源管理锁后,限制解除。
@ -63,7 +64,7 @@ ESP-IDF 中集成的电源管理算法可以根据应用程序组件的需求,
* - 电源管理锁 * - 电源管理锁
- 描述 - 描述
* - ``ESP_PM_CPU_FREQ_MAX`` * - ``ESP_PM_CPU_FREQ_MAX``
- 请求使用 :cpp:func:`esp_pm_configure` 将 CPU 频率设置为最大值。{IDF_TARGET_NAME} 可以将该值设置为 80 MHz、160 MHz 或 240 MHz - 请求使用 :cpp:func:`esp_pm_configure` 将 CPU 频率设置为最大值。{IDF_TARGET_NAME} 可以将该值设置为 {IDF_TARGET_MAX_CPU_FREQ}
* - ``ESP_PM_APB_FREQ_MAX`` * - ``ESP_PM_APB_FREQ_MAX``
- 请求将 APB 频率设置为最大值,{IDF_TARGET_NAME} 支持的最大频率为 80 MHz。 - 请求将 APB 频率设置为最大值,{IDF_TARGET_NAME} 支持的最大频率为 80 MHz。
* - ``ESP_PM_NO_LIGHT_SLEEP`` * - ``ESP_PM_NO_LIGHT_SLEEP``
@ -74,14 +75,7 @@ ESP-IDF 中集成的电源管理算法可以根据应用程序组件的需求,
下表列出了启用动态调频时如何切换 CPU 频率和 APB 频率。您可以使用 :cpp:func:`esp_pm_configure` 或者 :ref:`CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ` 指定 CPU 最大频率。 下表列出了启用动态调频时如何切换 CPU 频率和 APB 频率。您可以使用 :cpp:func:`esp_pm_configure` 或者 :ref:`CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ` 指定 CPU 最大频率。
.. only:: esp32 .. include:: inc/power_management_{IDF_TARGET_PATH_NAME}.rst
.. include:: inc/power_management_esp32.rst
.. only:: not esp32
.. include:: inc/power_management_esp32s2_and_later.rst
如果没有获取任何管理锁,调用 :cpp:func:`esp_pm_configure` 将启动 Light-sleep 模式。 Light-sleep 模式持续时间由以下因素决定: 如果没有获取任何管理锁,调用 :cpp:func:`esp_pm_configure` 将启动 Light-sleep 模式。 Light-sleep 模式持续时间由以下因素决定: