diff --git a/docs/docs_not_updated/esp32c5.txt b/docs/docs_not_updated/esp32c5.txt index 24d43cc0d8..fabafbb7ea 100644 --- a/docs/docs_not_updated/esp32c5.txt +++ b/docs/docs_not_updated/esp32c5.txt @@ -115,7 +115,6 @@ api-reference/peripherals/hmac.rst api-reference/peripherals/usb_device.rst api-reference/peripherals/gpio.rst api-reference/peripherals/sdspi_host.rst -api-reference/peripherals/dac.rst api-reference/peripherals/spi_slave.rst api-reference/peripherals/etm.rst api-reference/peripherals/i2s.rst @@ -128,7 +127,6 @@ api-reference/peripherals/ana_cmpr.rst api-reference/peripherals/ledc.rst api-reference/peripherals/temp_sensor.rst api-reference/peripherals/spi_features.rst -api-reference/peripherals/sdio_slave.rst api-reference/peripherals/clk_tree.rst api-reference/peripherals/spi_flash/spi_flash_concurrency.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/ota.rst api-reference/system/app_trace.rst -api-reference/system/ulp_macros.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/efuse.rst api-reference/system/chip_revision.rst -api-reference/system/ulp_instruction_set.rst api-reference/system/async_memcpy.rst api-reference/system/random.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/ipc.rst api-reference/system/esp_https_ota.rst -api-reference/system/ulp-risc-v.rst api-reference/system/esp_err.rst api-reference/system/freertos_idf.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/mbedtls.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_crt_bundle.rst api-reference/protocols/esp_http_client.rst diff --git a/docs/docs_not_updated/esp32p4.txt b/docs/docs_not_updated/esp32p4.txt index ec5d80e670..5b513a929f 100644 --- a/docs/docs_not_updated/esp32p4.txt +++ b/docs/docs_not_updated/esp32p4.txt @@ -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_design.rst api-reference/peripherals/usb_device.rst -api-reference/peripherals/dac.rst api-reference/peripherals/touch_element.rst api-reference/peripherals/lcd.rst api-reference/peripherals/ana_cmpr.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/spi_flash_concurrency.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/system/sleep_modes.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/power_management.rst api-reference/system/misc_system_api.rst api-reference/system/inc/power_management_esp32p4.rst -api-reference/system/ulp-risc-v.rst api-reference/index.rst api-reference/protocols/icmp_echo.rst api-reference/protocols/esp_serial_slave_link.rst -api-reference/protocols/esp_sdio_slave_protocol.rst api-reference/protocols/index.rst security/host-based-security-workflows.rst security/flash-encryption.rst diff --git a/docs/en/api-reference/system/ulp-lp-core.rst b/docs/en/api-reference/system/ulp-lp-core.rst index bbe2383127..a2eb1dabe1 100644 --- a/docs/en/api-reference/system/ulp-lp-core.rst +++ b/docs/en/api-reference/system/ulp-lp-core.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: -1. Initialize system feature, e.g., interrupts -2. Call user code ``main()`` -3. Return from ``main()`` -4. If ``lp_timer_sleep_duration_us`` is specified, then configure the next wake-up alarm -5. Call :cpp:func:`ulp_lp_core_halt` +.. list:: + + :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. + #. Initialize system feature, e.g., interrupts + #. 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 ------------------------------ 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 - * LP I2C - * LP UART +.. list:: + + * 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 ` + * :component_file:`newlib.ld Interface ` + + 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 --------------------