mirror of
https://github.com/espressif/esp-idf
synced 2025-03-10 01:29:21 -04:00
docs(ulp): updated lp core docs with P4 related info
This commit is contained in:
parent
08d1460f15
commit
1e64c458b2
@ -115,7 +115,6 @@ api-reference/peripherals/hmac.rst
|
|||||||
api-reference/peripherals/usb_device.rst
|
api-reference/peripherals/usb_device.rst
|
||||||
api-reference/peripherals/gpio.rst
|
api-reference/peripherals/gpio.rst
|
||||||
api-reference/peripherals/sdspi_host.rst
|
api-reference/peripherals/sdspi_host.rst
|
||||||
api-reference/peripherals/dac.rst
|
|
||||||
api-reference/peripherals/spi_slave.rst
|
api-reference/peripherals/spi_slave.rst
|
||||||
api-reference/peripherals/etm.rst
|
api-reference/peripherals/etm.rst
|
||||||
api-reference/peripherals/i2s.rst
|
api-reference/peripherals/i2s.rst
|
||||||
@ -128,7 +127,6 @@ api-reference/peripherals/ana_cmpr.rst
|
|||||||
api-reference/peripherals/ledc.rst
|
api-reference/peripherals/ledc.rst
|
||||||
api-reference/peripherals/temp_sensor.rst
|
api-reference/peripherals/temp_sensor.rst
|
||||||
api-reference/peripherals/spi_features.rst
|
api-reference/peripherals/spi_features.rst
|
||||||
api-reference/peripherals/sdio_slave.rst
|
|
||||||
api-reference/peripherals/clk_tree.rst
|
api-reference/peripherals/clk_tree.rst
|
||||||
api-reference/peripherals/spi_flash/spi_flash_concurrency.rst
|
api-reference/peripherals/spi_flash/spi_flash_concurrency.rst
|
||||||
api-reference/peripherals/spi_flash/spi_flash_override_driver.rst
|
api-reference/peripherals/spi_flash/spi_flash_override_driver.rst
|
||||||
@ -165,14 +163,10 @@ api-reference/system/sleep_modes.rst
|
|||||||
api-reference/system/mm_sync.rst
|
api-reference/system/mm_sync.rst
|
||||||
api-reference/system/ota.rst
|
api-reference/system/ota.rst
|
||||||
api-reference/system/app_trace.rst
|
api-reference/system/app_trace.rst
|
||||||
api-reference/system/ulp_macros.rst
|
|
||||||
api-reference/system/perfmon.rst
|
api-reference/system/perfmon.rst
|
||||||
api-reference/system/ulp-lp-core.rst
|
|
||||||
api-reference/system/ulp.rst
|
|
||||||
api-reference/system/esp_function_with_shared_stack.rst
|
api-reference/system/esp_function_with_shared_stack.rst
|
||||||
api-reference/system/efuse.rst
|
api-reference/system/efuse.rst
|
||||||
api-reference/system/chip_revision.rst
|
api-reference/system/chip_revision.rst
|
||||||
api-reference/system/ulp_instruction_set.rst
|
|
||||||
api-reference/system/async_memcpy.rst
|
api-reference/system/async_memcpy.rst
|
||||||
api-reference/system/random.rst
|
api-reference/system/random.rst
|
||||||
api-reference/system/esp_timer.rst
|
api-reference/system/esp_timer.rst
|
||||||
@ -198,7 +192,6 @@ api-reference/system/heap_debug.rst
|
|||||||
api-reference/system/mm.rst
|
api-reference/system/mm.rst
|
||||||
api-reference/system/ipc.rst
|
api-reference/system/ipc.rst
|
||||||
api-reference/system/esp_https_ota.rst
|
api-reference/system/esp_https_ota.rst
|
||||||
api-reference/system/ulp-risc-v.rst
|
|
||||||
api-reference/system/esp_err.rst
|
api-reference/system/esp_err.rst
|
||||||
api-reference/system/freertos_idf.rst
|
api-reference/system/freertos_idf.rst
|
||||||
api-reference/system/console.rst
|
api-reference/system/console.rst
|
||||||
@ -238,7 +231,6 @@ api-reference/protocols/esp_serial_slave_link.rst
|
|||||||
api-reference/protocols/mqtt.rst
|
api-reference/protocols/mqtt.rst
|
||||||
api-reference/protocols/mbedtls.rst
|
api-reference/protocols/mbedtls.rst
|
||||||
api-reference/protocols/esp_http_server.rst
|
api-reference/protocols/esp_http_server.rst
|
||||||
api-reference/protocols/esp_sdio_slave_protocol.rst
|
|
||||||
api-reference/protocols/esp_local_ctrl.rst
|
api-reference/protocols/esp_local_ctrl.rst
|
||||||
api-reference/protocols/esp_crt_bundle.rst
|
api-reference/protocols/esp_crt_bundle.rst
|
||||||
api-reference/protocols/esp_http_client.rst
|
api-reference/protocols/esp_http_client.rst
|
||||||
|
@ -62,12 +62,10 @@ api-reference/peripherals/usb_host/usb_host_notes_index.rst
|
|||||||
api-reference/peripherals/usb_host/usb_host_notes_dwc_otg.rst
|
api-reference/peripherals/usb_host/usb_host_notes_dwc_otg.rst
|
||||||
api-reference/peripherals/usb_host/usb_host_notes_design.rst
|
api-reference/peripherals/usb_host/usb_host_notes_design.rst
|
||||||
api-reference/peripherals/usb_device.rst
|
api-reference/peripherals/usb_device.rst
|
||||||
api-reference/peripherals/dac.rst
|
|
||||||
api-reference/peripherals/touch_element.rst
|
api-reference/peripherals/touch_element.rst
|
||||||
api-reference/peripherals/lcd.rst
|
api-reference/peripherals/lcd.rst
|
||||||
api-reference/peripherals/ana_cmpr.rst
|
api-reference/peripherals/ana_cmpr.rst
|
||||||
api-reference/peripherals/temp_sensor.rst
|
api-reference/peripherals/temp_sensor.rst
|
||||||
api-reference/peripherals/sdio_slave.rst
|
|
||||||
api-reference/peripherals/spi_flash/xip_from_psram.inc
|
api-reference/peripherals/spi_flash/xip_from_psram.inc
|
||||||
api-reference/peripherals/spi_flash/spi_flash_concurrency.rst
|
api-reference/peripherals/spi_flash/spi_flash_concurrency.rst
|
||||||
api-reference/peripherals/spi_flash/spi_flash_override_driver.rst
|
api-reference/peripherals/spi_flash/spi_flash_override_driver.rst
|
||||||
@ -93,19 +91,13 @@ api-reference/network/esp_wifi.rst
|
|||||||
api-reference/network/index.rst
|
api-reference/network/index.rst
|
||||||
api-reference/system/sleep_modes.rst
|
api-reference/system/sleep_modes.rst
|
||||||
api-reference/system/app_trace.rst
|
api-reference/system/app_trace.rst
|
||||||
api-reference/system/ulp_macros.rst
|
|
||||||
api-reference/system/ulp-lp-core.rst
|
|
||||||
api-reference/system/ulp.rst
|
|
||||||
api-reference/system/ulp_instruction_set.rst
|
|
||||||
api-reference/system/random.rst
|
api-reference/system/random.rst
|
||||||
api-reference/system/power_management.rst
|
api-reference/system/power_management.rst
|
||||||
api-reference/system/misc_system_api.rst
|
api-reference/system/misc_system_api.rst
|
||||||
api-reference/system/inc/power_management_esp32p4.rst
|
api-reference/system/inc/power_management_esp32p4.rst
|
||||||
api-reference/system/ulp-risc-v.rst
|
|
||||||
api-reference/index.rst
|
api-reference/index.rst
|
||||||
api-reference/protocols/icmp_echo.rst
|
api-reference/protocols/icmp_echo.rst
|
||||||
api-reference/protocols/esp_serial_slave_link.rst
|
api-reference/protocols/esp_serial_slave_link.rst
|
||||||
api-reference/protocols/esp_sdio_slave_protocol.rst
|
|
||||||
api-reference/protocols/index.rst
|
api-reference/protocols/index.rst
|
||||||
security/host-based-security-workflows.rst
|
security/host-based-security-workflows.rst
|
||||||
security/flash-encryption.rst
|
security/flash-encryption.rst
|
||||||
|
@ -140,20 +140,42 @@ The ULP has the following wake-up sources:
|
|||||||
|
|
||||||
When the ULP is woken up, it will go through the following steps:
|
When the ULP is woken up, it will go through the following steps:
|
||||||
|
|
||||||
1. Initialize system feature, e.g., interrupts
|
.. list::
|
||||||
2. Call user code ``main()``
|
|
||||||
3. Return from ``main()``
|
:CONFIG_ESP_ROM_HAS_LP_ROM: #. Unless :cpp:member:`ulp_lp_core_cfg_t::skip_lp_rom_boot` is specified: run ROM start-up code and jump to the entry point in LP RAM. ROM start-up code will initialize lp-uart as well as print boot messages.
|
||||||
4. If ``lp_timer_sleep_duration_us`` is specified, then configure the next wake-up alarm
|
#. Initialize system feature, e.g., interrupts
|
||||||
5. Call :cpp:func:`ulp_lp_core_halt`
|
#. Call user code ``main()``
|
||||||
|
#. Return from ``main()``
|
||||||
|
#. If ``lp_timer_sleep_duration_us`` is specified, then configure the next wake-up alarm
|
||||||
|
#. Call :cpp:func:`ulp_lp_core_halt`
|
||||||
|
|
||||||
ULP LP-Core Peripheral Support
|
ULP LP-Core Peripheral Support
|
||||||
------------------------------
|
------------------------------
|
||||||
|
|
||||||
To enhance the capabilities of the ULP LP-Core coprocessor, it has access to peripherals which operate in the low-power domain. The ULP LP-Core coprocessor can interact with these peripherals when the main CPU is in sleep mode, and can wake up the main CPU once a wakeup condition is reached. The following peripherals are supported:
|
To enhance the capabilities of the ULP LP-Core coprocessor, it has access to peripherals which operate in the low-power domain. The ULP LP-Core coprocessor can interact with these peripherals when the main CPU is in sleep mode, and can wake up the main CPU once a wakeup condition is reached. The following peripherals are supported:
|
||||||
|
|
||||||
* LP IO
|
.. list::
|
||||||
* LP I2C
|
|
||||||
* LP UART
|
* LP IO
|
||||||
|
* LP I2C
|
||||||
|
* LP UART
|
||||||
|
|
||||||
|
.. only:: CONFIG_ESP_ROM_HAS_LP_ROM
|
||||||
|
|
||||||
|
ULP LP-Core ROM
|
||||||
|
---------------
|
||||||
|
|
||||||
|
The ULP LP-Core ROM is a small pre-built piece of code located in LP-ROM, which is not modifiable by users. Similar to the bootloader ROM code ran by the main CPU, this code is executed when the ULP LP-Core coprocessor is started. The ROM code initializes the ULP LP-Core coprocessor and then jumps to the user program. The ROM code is responsible for initializing the LP UART and printing boot messages.
|
||||||
|
|
||||||
|
The ROM code is not executed if :cpp:member:`ulp_lp_core_cfg_t::skip_lp_rom_boot` is set to true. This is useful when you need the ULP to wake-up as quickly as possible and the extra overhead of initializing UART and printing is unwanted.
|
||||||
|
|
||||||
|
In addition to the boot-up code mentioned above the ROM code also provides the following functions and interfaces:
|
||||||
|
|
||||||
|
* :component_file:`ROM.ld Interface <esp_rom/esp32p4/ld/esp32p4lp.rom.ld>`
|
||||||
|
* :component_file:`newlib.ld Interface <esp_rom/esp32p4/ld/esp32p4lp.rom.newlib.ld>`
|
||||||
|
|
||||||
|
Since these functions are already present in LP-ROM no matter what, using these in your program allows you to reduce the RAM footprint of your ULP application.
|
||||||
|
|
||||||
|
|
||||||
Application Examples
|
Application Examples
|
||||||
--------------------
|
--------------------
|
||||||
|
Loading…
x
Reference in New Issue
Block a user