ci(p4): use eco6 by default

This commit is contained in:
armando
2026-02-09 11:40:23 +08:00
parent f2968a99d6
commit 3d9e2ec948
17 changed files with 1000 additions and 1000 deletions
@@ -69,8 +69,8 @@ idf_build_set_property(__OUTPUT_SDKCONFIG 0)
# Define a property for the default linker script
set(LD_DEFAULT_PATH "${CMAKE_CURRENT_SOURCE_DIR}/main/ld/${IDF_TARGET}")
project(bootloader)
if(CONFIG_IDF_TARGET_ESP32P4 AND NOT CONFIG_ESP32P4_SELECTS_REV_LESS_V3)
target_linker_script("__idf_main" INTERFACE "${LD_DEFAULT_PATH}/bootloader.rev3.ld.in")
if(CONFIG_ESP32P4_SELECTS_REV_LESS_V3)
target_linker_script("__idf_main" INTERFACE "${LD_DEFAULT_PATH}/bootloader.rev0_2.ld.in")
else()
target_linker_script("__idf_main" INTERFACE "${LD_DEFAULT_PATH}/bootloader.ld.in")
endif()
@@ -1,5 +1,5 @@
/*
* SPDX-FileCopyrightText: 2023-2025 Espressif Systems (Shanghai) CO LTD
* SPDX-FileCopyrightText: 2025 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
@@ -24,7 +24,7 @@
*/
/* These lengths can be adjusted, if necessary: */
bootloader_usable_dram_end = 0x4ff3abd0;
bootloader_usable_dram_end = 0x4ffbcfc0;
bootloader_stack_overhead = 0x2000; /* For safety margin between bootloader data section and startup stacks */
bootloader_dram_seg_len = 0x5000;
bootloader_iram_loader_seg_len = 0x7000;
@@ -49,7 +49,7 @@ MEMORY
* 2. Update the value in this assert.
* 3. Update SRAM_DRAM_END in components/esp_system/ld/esp32p4/memory.ld.in to the same value.
*/
ASSERT(bootloader_iram_loader_seg_start == 0x4FF2CBD0, "bootloader_iram_loader_seg_start inconsistent with SRAM_DRAM_END");
ASSERT(bootloader_iram_loader_seg_start == 0x4FFAEFC0, "bootloader_iram_loader_seg_start inconsistent with SRAM_DRAM_END");
/* Default entry point: */
ENTRY(call_start_cpu0);
@@ -89,10 +89,12 @@ SECTIONS
*libhal.a:mmu_hal.*(.literal .text .literal.* .text.*)
*libhal.a:cache_hal.*(.literal .text .literal.* .text.*)
*libhal.a:efuse_hal.*(.literal .text .literal.* .text.*)
*libesp_hal_wdt.a:wdt_hal_iram.*(.literal .text .literal.* .text.*)
*libesp_hal_security.a:huk_hal.*(.literal .text .literal.* .text.*)
*libesp_hal_security.a:key_mgr_hal.*(.literal .text .literal.* .text.*)
*libesp_security.a:esp_key_mgr.*(.literal .text .literal.* .text.*)
*libesp_security.a:esp_crypto_periph_clk.*(.literal .text .literal.* .text.*)
*libesp_hal_wdt.a:wdt_hal_iram.*(.literal .text .literal.* .text.*)
*libesp_security.a:esp_crypto_lock.*(.literal .text .literal.* .text.*)
*libesp_hw_support.a:rtc_clk.*(.literal .text .literal.* .text.*)
*libesp_hw_support.a:rtc_time.*(.literal .text .literal.* .text.*)
*libesp_hw_support.a:regi2c_ctrl.*(.literal .text .literal.* .text.*)
@@ -282,9 +284,6 @@ SECTIONS
*/
.noload 0 (INFO) :
{
/* Reserve first 4 bytes as zero for vars pointed to NULL */
. = 0;
LONG(0);
_noload_keep_in_elf_start = ABSOLUTE(.);
KEEP(*(.noload_keep_in_elf .noload_keep_in_elf.*))
_noload_keep_in_elf_end = ABSOLUTE(.);
@@ -295,38 +294,38 @@ SECTIONS
/**
* Appendix: Memory Usage of ROM bootloader
*
* 0x4ff296b8 ------------------> _dram0_0_start
* | |
* | |
* | | 1. Large buffers that are only used in certain boot modes, see shared_buffers.h
* | |
* | |
* 0x4ff3afc0 ------------------> __stack_sentry
* | |
* | | 2. Startup pro cpu stack (freed when IDF app is running)
* | |
* 0x4ff3cfc0 ------------------> __stack (pro cpu)
* | |
* | | Startup app cpu stack
* | |
* 0x4ff3efc0 ------------------> __stack_app (app cpu)
* | |
* | |
* | | 3. Shared memory only used in startup code or nonos/early boot*
* | | (can be freed when IDF runs)
* | |
* | |
* 0x4ff3fba4 ------------------> _dram0_rtos_reserved_start
* | |
* | |
* | | 4. Shared memory used in startup code and when IDF runs
* | |
* | |
* 0x4ff3ff94 ------------------> _dram0_rtos_reserved_end
* | |
* 0x4ff3ffc8 ------------------> _data_start_interface
* | |
* | | 5. End of DRAM is the 'interface' data with constant addresses (ECO compatible)
* | |
* 0x4ff40000 ------------------> _data_end_interface
* 0x4ffa96b8 ------------------> _dram0_0_start
* | |
* | |
* | | 1. Large buffers that are only used in certain boot modes, see shared_buffers.h
* | |
* | |
* 0x4ffbafc0 ------------------> __stack_sentry
* | |
* | | 2. Startup pro cpu stack (freed when IDF app is running)
* | |
* 0x4ffbcfc0 ------------------> __stack (pro cpu)
* | |
* | | Startup app cpu stack
* | |
* 0x4ffbefc0 ------------------> __stack_app (app cpu)
* | |
* | |
* | | 3. Shared memory only used in startup code or nonos/early boot*
* | | (can be freed when IDF runs)
* | |
* | |
* 0x4ffbfbb0 ------------------> _dram0_rtos_reserved_start
* | |
* | |
* | | 4. Shared memory used in startup code and when IDF runs
* | |
* | |
* 0x4ffbffa4 ------------------> _dram0_rtos_reserved_end
* | |
* 0x4ffbffc8 ------------------> _data_start_interface
* | |
* | | 5. End of DRAM is the 'interface' data with constant addresses (ECO compatible)
* | |
* 0x4ffc0000 ------------------> _data_end_interface
*/
@@ -1,5 +1,5 @@
/*
* SPDX-FileCopyrightText: 2025 Espressif Systems (Shanghai) CO LTD
* SPDX-FileCopyrightText: 2023-2025 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
@@ -24,7 +24,7 @@
*/
/* These lengths can be adjusted, if necessary: */
bootloader_usable_dram_end = 0x4ffbcfc0;
bootloader_usable_dram_end = 0x4ff3abd0;
bootloader_stack_overhead = 0x2000; /* For safety margin between bootloader data section and startup stacks */
bootloader_dram_seg_len = 0x5000;
bootloader_iram_loader_seg_len = 0x7000;
@@ -49,7 +49,7 @@ MEMORY
* 2. Update the value in this assert.
* 3. Update SRAM_DRAM_END in components/esp_system/ld/esp32p4/memory.ld.in to the same value.
*/
ASSERT(bootloader_iram_loader_seg_start == 0x4FFAEFC0, "bootloader_iram_loader_seg_start inconsistent with SRAM_DRAM_END");
ASSERT(bootloader_iram_loader_seg_start == 0x4FF2CBD0, "bootloader_iram_loader_seg_start inconsistent with SRAM_DRAM_END");
/* Default entry point: */
ENTRY(call_start_cpu0);
@@ -89,12 +89,10 @@ SECTIONS
*libhal.a:mmu_hal.*(.literal .text .literal.* .text.*)
*libhal.a:cache_hal.*(.literal .text .literal.* .text.*)
*libhal.a:efuse_hal.*(.literal .text .literal.* .text.*)
*libesp_hal_wdt.a:wdt_hal_iram.*(.literal .text .literal.* .text.*)
*libesp_hal_security.a:huk_hal.*(.literal .text .literal.* .text.*)
*libesp_hal_security.a:key_mgr_hal.*(.literal .text .literal.* .text.*)
*libesp_security.a:esp_key_mgr.*(.literal .text .literal.* .text.*)
*libesp_security.a:esp_crypto_periph_clk.*(.literal .text .literal.* .text.*)
*libesp_security.a:esp_crypto_lock.*(.literal .text .literal.* .text.*)
*libesp_hal_wdt.a:wdt_hal_iram.*(.literal .text .literal.* .text.*)
*libesp_hw_support.a:rtc_clk.*(.literal .text .literal.* .text.*)
*libesp_hw_support.a:rtc_time.*(.literal .text .literal.* .text.*)
*libesp_hw_support.a:regi2c_ctrl.*(.literal .text .literal.* .text.*)
@@ -284,6 +282,9 @@ SECTIONS
*/
.noload 0 (INFO) :
{
/* Reserve first 4 bytes as zero for vars pointed to NULL */
. = 0;
LONG(0);
_noload_keep_in_elf_start = ABSOLUTE(.);
KEEP(*(.noload_keep_in_elf .noload_keep_in_elf.*))
_noload_keep_in_elf_end = ABSOLUTE(.);
@@ -294,38 +295,38 @@ SECTIONS
/**
* Appendix: Memory Usage of ROM bootloader
*
* 0x4ffa96b8 ------------------> _dram0_0_start
* | |
* | |
* | | 1. Large buffers that are only used in certain boot modes, see shared_buffers.h
* | |
* | |
* 0x4ffbafc0 ------------------> __stack_sentry
* | |
* | | 2. Startup pro cpu stack (freed when IDF app is running)
* | |
* 0x4ffbcfc0 ------------------> __stack (pro cpu)
* | |
* | | Startup app cpu stack
* | |
* 0x4ffbefc0 ------------------> __stack_app (app cpu)
* | |
* | |
* | | 3. Shared memory only used in startup code or nonos/early boot*
* | | (can be freed when IDF runs)
* | |
* | |
* 0x4ffbfbb0 ------------------> _dram0_rtos_reserved_start
* | |
* | |
* | | 4. Shared memory used in startup code and when IDF runs
* | |
* | |
* 0x4ffbffa4 ------------------> _dram0_rtos_reserved_end
* | |
* 0x4ffbffc8 ------------------> _data_start_interface
* | |
* | | 5. End of DRAM is the 'interface' data with constant addresses (ECO compatible)
* | |
* 0x4ffc0000 ------------------> _data_end_interface
* 0x4ff296b8 ------------------> _dram0_0_start
* | |
* | |
* | | 1. Large buffers that are only used in certain boot modes, see shared_buffers.h
* | |
* | |
* 0x4ff3afc0 ------------------> __stack_sentry
* | |
* | | 2. Startup pro cpu stack (freed when IDF app is running)
* | |
* 0x4ff3cfc0 ------------------> __stack (pro cpu)
* | |
* | | Startup app cpu stack
* | |
* 0x4ff3efc0 ------------------> __stack_app (app cpu)
* | |
* | |
* | | 3. Shared memory only used in startup code or nonos/early boot*
* | | (can be freed when IDF runs)
* | |
* | |
* 0x4ff3fba4 ------------------> _dram0_rtos_reserved_start
* | |
* | |
* | | 4. Shared memory used in startup code and when IDF runs
* | |
* | |
* 0x4ff3ff94 ------------------> _dram0_rtos_reserved_end
* | |
* 0x4ff3ffc8 ------------------> _data_start_interface
* | |
* | | 5. End of DRAM is the 'interface' data with constant addresses (ECO compatible)
* | |
* 0x4ff40000 ------------------> _data_end_interface
*/
@@ -12,7 +12,6 @@ config ESP32P4_SELECTS_REV_LESS_V3
choice ESP32P4_REV_MIN
prompt "Minimum Supported ESP32-P4 Revision"
default ESP32P4_REV_MIN_300 if IDF_CI_BUILD
default ESP32P4_REV_MIN_301
help
Required minimum chip revision. ESP-IDF will check for it and
+15 -14
View File
@@ -93,8 +93,8 @@ if(target STREQUAL "linux")
target_compile_options(${COMPONENT_LIB} PRIVATE -Wno-integer-overflow -Wno-shift-count-overflow)
endif()
else()
if(CONFIG_IDF_TARGET_ESP32P4 AND NOT CONFIG_ESP32P4_SELECTS_REV_LESS_V3)
target_linker_script(${COMPONENT_LIB} INTERFACE "${target_folder}/${ld_folder}/${target}.rom.eco5.ld")
if(CONFIG_ESP32P4_SELECTS_REV_LESS_V3)
target_linker_script(${COMPONENT_LIB} INTERFACE "${target_folder}/${ld_folder}/${target}.rom.eco0_4.ld")
else()
target_linker_script(${COMPONENT_LIB} INTERFACE "${target_folder}/${ld_folder}/${target}.rom.ld")
endif()
@@ -106,14 +106,14 @@ else()
endif()
if(CONFIG_COMPILER_FLOAT_LIB_FROM_GCCLIB)
if(CONFIG_IDF_TARGET_ESP32P4 AND NOT CONFIG_ESP32P4_SELECTS_REV_LESS_V3)
rom_linker_script("eco5.libgcc")
if(CONFIG_ESP32P4_SELECTS_REV_LESS_V3)
rom_linker_script("eco0_4.libgcc")
else()
rom_linker_script("libgcc")
endif()
else()
if(CONFIG_IDF_TARGET_ESP32P4 AND NOT CONFIG_ESP32P4_SELECTS_REV_LESS_V3)
rom_linker_script("eco5.rvfp")
if(CONFIG_ESP32P4_SELECTS_REV_LESS_V3)
rom_linker_script("eco0_4.rvfp")
else()
rom_linker_script("rvfp")
endif()
@@ -151,8 +151,8 @@ if(BOOTLOADER_BUILD)
if(target STREQUAL "esp32" OR target STREQUAL "esp32s2")
rom_linker_script("libc-funcs")
else()
if(CONFIG_IDF_TARGET_ESP32P4 AND NOT CONFIG_ESP32P4_SELECTS_REV_LESS_V3)
rom_linker_script("eco5.libc")
if(CONFIG_ESP32P4_SELECTS_REV_LESS_V3)
rom_linker_script("eco0_4.libc")
else()
rom_linker_script("libc")
endif()
@@ -161,8 +161,8 @@ if(BOOTLOADER_BUILD)
rom_linker_script("libc-suboptimal_for_misaligned_mem")
endif()
if(CONFIG_LIBC_NEWLIB)
if(CONFIG_IDF_TARGET_ESP32P4 AND NOT CONFIG_ESP32P4_SELECTS_REV_LESS_V3)
rom_linker_script("eco5.newlib")
if(CONFIG_ESP32P4_SELECTS_REV_LESS_V3)
rom_linker_script("eco0_4.newlib")
else()
rom_linker_script("newlib")
endif()
@@ -316,10 +316,11 @@ else() # Regular app build
endif()
endif()
if(CONFIG_ESP_ROM_HAS_NEWLIB AND NOT target STREQUAL "esp32" AND NOT target STREQUAL "esp32s2")
# ESP32 and S2 are a bit different, keep them as special cases in the target specific include section
if(CONFIG_IDF_TARGET_ESP32P4 AND NOT CONFIG_ESP32P4_SELECTS_REV_LESS_V3)
rom_linker_script("eco5.libc")
if(CONFIG_ESP32P4_SELECTS_REV_LESS_V3)
rom_linker_script("eco0_4.libc")
else()
rom_linker_script("libc")
endif()
@@ -327,8 +328,8 @@ else() # Regular app build
rom_linker_script("libc-suboptimal_for_misaligned_mem")
endif()
if(CONFIG_LIBC_NEWLIB)
if(CONFIG_IDF_TARGET_ESP32P4 AND NOT CONFIG_ESP32P4_SELECTS_REV_LESS_V3)
rom_linker_script("eco5.newlib")
if(CONFIG_ESP32P4_SELECTS_REV_LESS_V3)
rom_linker_script("eco0_4.newlib")
else()
rom_linker_script("newlib")
endif()
@@ -1,14 +1,14 @@
/*
* SPDX-FileCopyrightText: 2025 Espressif Systems (Shanghai) CO LTD
* SPDX-FileCopyrightText: 2023-2025 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
/* ROM function interface esp32p4.rom.ld for esp32p4
*
*
* Generated from ./target/esp32p4/interface-esp32p4.yml md5sum 56d78222be1daa0502090a078288f4d5
* Generated from ./target/esp32p4/interface-esp32p4.yml md5sum f6516bd9708d890f63db87f8aed53ca7
*
* Compatible with ROM where ECO version equal or greater to 5.
* Compatible with ROM where ECO version equal or greater to 0.
*
* THIS FILE WAS AUTOMATICALLY GENERATED. DO NOT EDIT.
*/
@@ -64,8 +64,8 @@ Uart_Init = 0x4fc000c0;
ets_set_user_start = 0x4fc000c4;
/* Data (.data, .bss, .rodata) */
ets_rom_layout_p = 0x4fc1fffc;
ets_ops_table_ptr = 0x4ffbfff4;
g_saved_pc = 0x4ffbfff8;
ets_ops_table_ptr = 0x4ff3fff4;
g_saved_pc = 0x4ff3fff8;
/***************************************
@@ -165,9 +165,9 @@ spi_flash_guard_set = 0x4fc001f0;
spi_flash_guard_get = 0x4fc001f4;
spi_flash_read_encrypted = 0x4fc001f8;
/* Data (.data, .bss, .rodata) */
rom_spiflash_legacy_funcs = 0x4ffbffec;
rom_spiflash_legacy_data = 0x4ffbffe8;
g_flash_guard_ops = 0x4ffbfff0;
rom_spiflash_legacy_funcs = 0x4ff3ffec;
rom_spiflash_legacy_data = 0x4ff3ffe8;
g_flash_guard_ops = 0x4ff3fff0;
/***************************************
@@ -266,17 +266,20 @@ Cache_PSRAM_MMU_Set = 0x4fc00520;
Cache_PSRAM_MMU_Set_Secure = 0x4fc00524;
Cache_Count_Flash_Pages = 0x4fc00528;
Cache_Flash_To_SPIRAM_Copy = 0x4fc0052c;
Cache_Set_IDROM_MMU_Size = 0x4fc00530;
flash2spiram_instruction_offset = 0x4fc00534;
flash2spiram_rodata_offset = 0x4fc00538;
flash_instr_rodata_start_page = 0x4fc0053c;
flash_instr_rodata_end_page = 0x4fc00540;
Cache_Set_IDROM_MMU_Info = 0x4fc00544;
Cache_Get_IROM_MMU_End = 0x4fc00548;
Cache_Get_DROM_MMU_End = 0x4fc0054c;
Cache_Travel_Tag_Memory = 0x4fc00530;
Cache_Travel_Tag_Memory2 = 0x4fc00534;
Cache_Get_Virtual_Addr = 0x4fc00538;
Cache_Set_IDROM_MMU_Size = 0x4fc0053c;
flash2spiram_instruction_offset = 0x4fc00540;
flash2spiram_rodata_offset = 0x4fc00544;
flash_instr_rodata_start_page = 0x4fc00548;
flash_instr_rodata_end_page = 0x4fc0054c;
Cache_Set_IDROM_MMU_Info = 0x4fc00550;
Cache_Get_IROM_MMU_End = 0x4fc00554;
Cache_Get_DROM_MMU_End = 0x4fc00558;
/* Data (.data, .bss, .rodata) */
rom_cache_op_cb = 0x4ffbffdc;
rom_cache_internal_table_ptr = 0x4ffbffd8;
rom_cache_op_cb = 0x4ff3ffdc;
rom_cache_internal_table_ptr = 0x4ff3ffd8;
/***************************************
@@ -284,8 +287,8 @@ rom_cache_internal_table_ptr = 0x4ffbffd8;
***************************************/
/* Functions */
ets_clk_get_xtal_freq = 0x4fc00550;
ets_clk_get_cpu_freq = 0x4fc00554;
ets_clk_get_xtal_freq = 0x4fc0055c;
ets_clk_get_cpu_freq = 0x4fc00560;
/***************************************
@@ -293,27 +296,27 @@ ets_clk_get_cpu_freq = 0x4fc00554;
***************************************/
/* Functions */
rom_gpio_set_output_level = 0x4fc00558;
rom_gpio_get_input_level = 0x4fc0055c;
rom_gpio_matrix_in = 0x4fc00560;
rom_gpio_matrix_out = 0x4fc00564;
rom_gpio_bypass_matrix_in = 0x4fc00568;
rom_gpio_output_disable = 0x4fc0056c;
rom_gpio_output_enable = 0x4fc00570;
rom_gpio_pad_input_disable = 0x4fc00574;
rom_gpio_pad_input_enable = 0x4fc00578;
rom_gpio_pad_pulldown = 0x4fc0057c;
rom_gpio_pad_pullup = 0x4fc00580;
rom_gpio_pad_select_gpio = 0x4fc00584;
rom_gpio_pad_set_drv = 0x4fc00588;
rom_gpio_pad_unhold = 0x4fc0058c;
rom_gpio_pad_hold = 0x4fc00590;
rom_gpio_lppad_select_mux = 0x4fc00594;
rom_gpio_ded_pad_set_drv = 0x4fc00598;
rom_gpio_ded_pad_pullup = 0x4fc0059c;
rom_gpio_ded_pad_pulldown = 0x4fc005a0;
rom_gpio_ded_pad_hold = 0x4fc005a4;
rom_gpio_ded_pad_unhold = 0x4fc005a8;
rom_gpio_set_output_level = 0x4fc00564;
rom_gpio_get_input_level = 0x4fc00568;
rom_gpio_matrix_in = 0x4fc0056c;
rom_gpio_matrix_out = 0x4fc00570;
rom_gpio_bypass_matrix_in = 0x4fc00574;
rom_gpio_output_disable = 0x4fc00578;
rom_gpio_output_enable = 0x4fc0057c;
rom_gpio_pad_input_disable = 0x4fc00580;
rom_gpio_pad_input_enable = 0x4fc00584;
rom_gpio_pad_pulldown = 0x4fc00588;
rom_gpio_pad_pullup = 0x4fc0058c;
rom_gpio_pad_select_gpio = 0x4fc00590;
rom_gpio_pad_set_drv = 0x4fc00594;
rom_gpio_pad_unhold = 0x4fc00598;
rom_gpio_pad_hold = 0x4fc0059c;
rom_gpio_lppad_select_mux = 0x4fc005a0;
rom_gpio_ded_pad_set_drv = 0x4fc005a4;
rom_gpio_ded_pad_pullup = 0x4fc005a8;
rom_gpio_ded_pad_pulldown = 0x4fc005ac;
rom_gpio_ded_pad_hold = 0x4fc005b0;
rom_gpio_ded_pad_unhold = 0x4fc005b4;
/***************************************
@@ -321,18 +324,17 @@ rom_gpio_ded_pad_unhold = 0x4fc005a8;
***************************************/
/* Functions */
esprv_intc_int_set_priority = 0x4fc005ac;
esprv_intc_int_set_threshold = 0x4fc005b0;
esprv_intc_int_enable = 0x4fc005b4;
esprv_intc_int_disable = 0x4fc005b8;
esprv_intc_int_set_type = 0x4fc005bc;
PROVIDE( intr_handler_set = 0x4fc005c0 );
intr_matrix_set = 0x4fc005c4;
ets_intr_lock = 0x4fc005c8;
ets_intr_unlock = 0x4fc005cc;
ets_isr_attach = 0x4fc005d0;
ets_isr_mask = 0x4fc005d4;
ets_isr_unmask = 0x4fc005d8;
esprv_intc_int_set_priority = 0x4fc005b8;
esprv_intc_int_set_threshold = 0x4fc005bc;
esprv_intc_int_enable = 0x4fc005c0;
esprv_intc_int_disable = 0x4fc005c4;
PROVIDE( intr_handler_set = 0x4fc005cc );
intr_matrix_set = 0x4fc005d0;
ets_intr_lock = 0x4fc005d4;
ets_intr_unlock = 0x4fc005d8;
ets_isr_attach = 0x4fc005dc;
ets_isr_mask = 0x4fc005e0;
ets_isr_unmask = 0x4fc005e4;
/***************************************
@@ -340,52 +342,52 @@ ets_isr_unmask = 0x4fc005d8;
***************************************/
/* Functions */
md5_vector = 0x4fc005dc;
MD5Init = 0x4fc005e0;
MD5Update = 0x4fc005e4;
MD5Final = 0x4fc005e8;
crc32_le = 0x4fc005ec;
crc16_le = 0x4fc005f0;
crc8_le = 0x4fc005f4;
crc32_be = 0x4fc005f8;
crc16_be = 0x4fc005fc;
crc8_be = 0x4fc00600;
esp_crc8 = 0x4fc00604;
ets_sha_enable = 0x4fc00608;
ets_sha_disable = 0x4fc0060c;
ets_sha_get_state = 0x4fc00610;
ets_sha_init = 0x4fc00614;
ets_sha_process = 0x4fc00618;
ets_sha_starts = 0x4fc0061c;
ets_sha_update = 0x4fc00620;
ets_sha_finish = 0x4fc00624;
ets_sha_clone = 0x4fc00628;
ets_hmac_enable = 0x4fc0062c;
ets_hmac_disable = 0x4fc00630;
ets_hmac_calculate_message = 0x4fc00634;
ets_hmac_calculate_downstream = 0x4fc00638;
ets_hmac_invalidate_downstream = 0x4fc0063c;
ets_jtag_enable_temporarily = 0x4fc00640;
ets_aes_enable = 0x4fc00644;
ets_aes_disable = 0x4fc00648;
ets_aes_setkey = 0x4fc0064c;
ets_aes_block = 0x4fc00650;
ets_aes_setkey_dec = 0x4fc00654;
ets_aes_setkey_enc = 0x4fc00658;
ets_bigint_enable = 0x4fc0065c;
ets_bigint_disable = 0x4fc00660;
ets_bigint_multiply = 0x4fc00664;
ets_bigint_modmult = 0x4fc00668;
ets_bigint_modexp = 0x4fc0066c;
ets_bigint_wait_finish = 0x4fc00670;
ets_bigint_getz = 0x4fc00674;
ets_ds_enable = 0x4fc00678;
ets_ds_disable = 0x4fc0067c;
ets_ds_start_sign = 0x4fc00680;
ets_ds_is_busy = 0x4fc00684;
ets_ds_finish_sign = 0x4fc00688;
ets_ds_encrypt_params = 0x4fc0068c;
ets_mgf1_sha256 = 0x4fc00690;
md5_vector = 0x4fc005e8;
MD5Init = 0x4fc005ec;
MD5Update = 0x4fc005f0;
MD5Final = 0x4fc005f4;
crc32_le = 0x4fc005f8;
crc16_le = 0x4fc005fc;
crc8_le = 0x4fc00600;
crc32_be = 0x4fc00604;
crc16_be = 0x4fc00608;
crc8_be = 0x4fc0060c;
esp_crc8 = 0x4fc00610;
ets_sha_enable = 0x4fc00614;
ets_sha_disable = 0x4fc00618;
ets_sha_get_state = 0x4fc0061c;
ets_sha_init = 0x4fc00620;
ets_sha_process = 0x4fc00624;
ets_sha_starts = 0x4fc00628;
ets_sha_update = 0x4fc0062c;
ets_sha_finish = 0x4fc00630;
ets_sha_clone = 0x4fc00634;
ets_hmac_enable = 0x4fc00638;
ets_hmac_disable = 0x4fc0063c;
ets_hmac_calculate_message = 0x4fc00640;
ets_hmac_calculate_downstream = 0x4fc00644;
ets_hmac_invalidate_downstream = 0x4fc00648;
ets_jtag_enable_temporarily = 0x4fc0064c;
ets_aes_enable = 0x4fc00650;
ets_aes_disable = 0x4fc00654;
ets_aes_setkey = 0x4fc00658;
ets_aes_block = 0x4fc0065c;
ets_aes_setkey_dec = 0x4fc00660;
ets_aes_setkey_enc = 0x4fc00664;
ets_bigint_enable = 0x4fc00668;
ets_bigint_disable = 0x4fc0066c;
ets_bigint_multiply = 0x4fc00670;
ets_bigint_modmult = 0x4fc00674;
ets_bigint_modexp = 0x4fc00678;
ets_bigint_wait_finish = 0x4fc0067c;
ets_bigint_getz = 0x4fc00680;
ets_ds_enable = 0x4fc00684;
ets_ds_disable = 0x4fc00688;
ets_ds_start_sign = 0x4fc0068c;
ets_ds_is_busy = 0x4fc00690;
ets_ds_finish_sign = 0x4fc00694;
ets_ds_encrypt_params = 0x4fc00698;
ets_mgf1_sha256 = 0x4fc0069c;
/* Data (.data, .bss, .rodata) */
crc32_le_table_ptr = 0x4fc1fff8;
crc16_le_table_ptr = 0x4fc1fff4;
@@ -400,35 +402,35 @@ crc8_be_table_ptr = 0x4fc1ffe4;
***************************************/
/* Functions */
ets_efuse_read = 0x4fc00694;
ets_efuse_program = 0x4fc00698;
ets_efuse_clear_program_registers = 0x4fc0069c;
ets_efuse_write_key = 0x4fc006a0;
ets_efuse_get_read_register_address = 0x4fc006a4;
ets_efuse_get_key_purpose = 0x4fc006a8;
ets_efuse_key_block_unused = 0x4fc006ac;
ets_efuse_find_unused_key_block = 0x4fc006b0;
ets_efuse_rs_calculate = 0x4fc006b4;
ets_efuse_count_unused_key_blocks = 0x4fc006b8;
ets_efuse_secure_boot_enabled = 0x4fc006bc;
ets_efuse_secure_boot_aggressive_revoke_enabled = 0x4fc006c0;
ets_efuse_cache_encryption_enabled = 0x4fc006c4;
ets_efuse_download_modes_disabled = 0x4fc006c8;
ets_efuse_find_purpose = 0x4fc006cc;
ets_efuse_force_send_resume = 0x4fc006d0;
ets_efuse_get_flash_delay_us = 0x4fc006d4;
ets_efuse_get_uart_print_control = 0x4fc006d8;
ets_efuse_direct_boot_mode_disabled = 0x4fc006dc;
ets_efuse_security_download_modes_enabled = 0x4fc006e0;
ets_efuse_jtag_disabled = 0x4fc006e4;
ets_efuse_usb_print_is_disabled = 0x4fc006e8;
ets_efuse_usb_download_mode_disabled = 0x4fc006ec;
ets_efuse_usb_device_disabled = 0x4fc006f0;
ets_efuse_get_km_huk_gen_state = 0x4fc006f4;
ets_efuse_get_km_deploy_only_once = 0x4fc006f8;
ets_efuse_get_force_use_km_key = 0x4fc006fc;
ets_efuse_xts_key_length_256 = 0x4fc00700;
ets_efuse_get_km_key_lock = 0x4fc00704;
ets_efuse_read = 0x4fc006a0;
ets_efuse_program = 0x4fc006a4;
ets_efuse_clear_program_registers = 0x4fc006a8;
ets_efuse_write_key = 0x4fc006ac;
ets_efuse_get_read_register_address = 0x4fc006b0;
ets_efuse_get_key_purpose = 0x4fc006b4;
ets_efuse_key_block_unused = 0x4fc006b8;
ets_efuse_find_unused_key_block = 0x4fc006bc;
ets_efuse_rs_calculate = 0x4fc006c0;
ets_efuse_count_unused_key_blocks = 0x4fc006c4;
ets_efuse_secure_boot_enabled = 0x4fc006c8;
ets_efuse_secure_boot_aggressive_revoke_enabled = 0x4fc006cc;
ets_efuse_cache_encryption_enabled = 0x4fc006d0;
ets_efuse_download_modes_disabled = 0x4fc006d4;
ets_efuse_find_purpose = 0x4fc006d8;
ets_efuse_force_send_resume = 0x4fc006dc;
ets_efuse_get_flash_delay_us = 0x4fc006e0;
ets_efuse_get_uart_print_control = 0x4fc006e4;
ets_efuse_direct_boot_mode_disabled = 0x4fc006e8;
ets_efuse_security_download_modes_enabled = 0x4fc006ec;
ets_efuse_jtag_disabled = 0x4fc006f0;
ets_efuse_usb_print_is_disabled = 0x4fc006f4;
ets_efuse_usb_download_mode_disabled = 0x4fc006f8;
ets_efuse_usb_device_disabled = 0x4fc006fc;
ets_efuse_get_km_huk_gen_state = 0x4fc00700;
ets_efuse_get_km_deploy_only_once = 0x4fc00704;
ets_efuse_get_force_use_km_key = 0x4fc00708;
ets_efuse_xts_key_length_256 = 0x4fc0070c;
ets_efuse_get_km_key_lock = 0x4fc00710;
/***************************************
@@ -436,9 +438,9 @@ ets_efuse_get_km_key_lock = 0x4fc00704;
***************************************/
/* Functions */
esp_rom_check_recover_key = 0x4fc00708;
esp_rom_km_huk_conf = 0x4fc0070c;
esp_rom_km_huk_risk = 0x4fc00710;
esp_rom_check_recover_key = 0x4fc00714;
esp_rom_km_huk_conf = 0x4fc00718;
esp_rom_km_huk_risk = 0x4fc0071c;
/***************************************
@@ -446,13 +448,13 @@ esp_rom_km_huk_risk = 0x4fc00710;
***************************************/
/* Functions */
ets_emsa_pss_verify = 0x4fc00714;
ets_rsa_pss_verify = 0x4fc00718;
ets_ecdsa_verify = 0x4fc0071c;
ets_secure_boot_verify_bootloader_with_keys = 0x4fc00720;
ets_secure_boot_verify_signature = 0x4fc00724;
ets_secure_boot_read_key_digests = 0x4fc00728;
ets_secure_boot_revoke_public_key_digest = 0x4fc0072c;
ets_emsa_pss_verify = 0x4fc00720;
ets_rsa_pss_verify = 0x4fc00724;
ets_ecdsa_verify = 0x4fc00728;
ets_secure_boot_verify_bootloader_with_keys = 0x4fc0072c;
ets_secure_boot_verify_signature = 0x4fc00730;
ets_secure_boot_read_key_digests = 0x4fc00734;
ets_secure_boot_revoke_public_key_digest = 0x4fc00738;
/***************************************
@@ -460,10 +462,10 @@ ets_secure_boot_revoke_public_key_digest = 0x4fc0072c;
***************************************/
/* Functions */
usb_serial_device_rx_one_char = 0x4fc008a4;
usb_serial_device_rx_one_char_block = 0x4fc008a8;
usb_serial_device_tx_flush = 0x4fc008ac;
usb_serial_device_tx_one_char = 0x4fc008b0;
usb_serial_device_rx_one_char = 0x4fc008b0;
usb_serial_device_rx_one_char_block = 0x4fc008b4;
usb_serial_device_tx_flush = 0x4fc008b8;
usb_serial_device_tx_one_char = 0x4fc008bc;
/***************************************
@@ -471,13 +473,13 @@ usb_serial_device_tx_one_char = 0x4fc008b0;
***************************************/
/* Functions */
Uart_Init_USB = 0x4fc008b4;
usb_serial_otg_rx_one_char = 0x4fc008b8;
usb_serial_otg_rx_one_char_block = 0x4fc008bc;
usb_serial_otg_tx_flush = 0x4fc008c0;
usb_serial_otg_tx_one_char = 0x4fc008c4;
Uart_Init_USB = 0x4fc008c0;
usb_serial_otg_rx_one_char = 0x4fc008c4;
usb_serial_otg_rx_one_char_block = 0x4fc008c8;
usb_serial_otg_tx_flush = 0x4fc008cc;
usb_serial_otg_tx_one_char = 0x4fc008d0;
/* Data (.data, .bss, .rodata) */
uart_acm_dev = 0x4ffbffd4;
uart_acm_dev = 0x4ff3ffd4;
/***************************************
@@ -485,108 +487,99 @@ uart_acm_dev = 0x4ffbffd4;
***************************************/
/* Functions */
cdc_acm_class_handle_req = 0x4fc008c8;
cdc_acm_init = 0x4fc008cc;
cdc_acm_fifo_fill = 0x4fc008d0;
cdc_acm_rx_fifo_cnt = 0x4fc008d4;
cdc_acm_fifo_read = 0x4fc008d8;
cdc_acm_irq_tx_enable = 0x4fc008dc;
cdc_acm_irq_tx_disable = 0x4fc008e0;
cdc_acm_irq_state_enable = 0x4fc008e4;
cdc_acm_irq_state_disable = 0x4fc008e8;
cdc_acm_irq_tx_ready = 0x4fc008ec;
cdc_acm_irq_rx_enable = 0x4fc008f0;
cdc_acm_irq_rx_disable = 0x4fc008f4;
cdc_acm_irq_rx_ready = 0x4fc008f8;
cdc_acm_irq_is_pending = 0x4fc008fc;
cdc_acm_irq_callback_set = 0x4fc00900;
cdc_acm_line_ctrl_set = 0x4fc00904;
cdc_acm_line_ctrl_get = 0x4fc00908;
cdc_acm_poll_out = 0x4fc0090c;
chip_usb_dw_did_persist = 0x4fc00910;
chip_usb_dw_init = 0x4fc00914;
chip_usb_detach = 0x4fc00918;
chip_usb_dw_prepare_persist = 0x4fc0091c;
chip_usb_get_persist_flags = 0x4fc00920;
chip_usb_set_persist_flags = 0x4fc00924;
cpio_start = 0x4fc00928;
cpio_feed = 0x4fc0092c;
cpio_done = 0x4fc00930;
cpio_destroy = 0x4fc00934;
dfu_flash_init = 0x4fc00938;
dfu_flash_erase = 0x4fc0093c;
dfu_flash_program = 0x4fc00940;
dfu_flash_read = 0x4fc00944;
dfu_flash_attach = 0x4fc00948;
dfu_cpio_callback = 0x4fc0094c;
dfu_updater_get_err = 0x4fc00950;
dfu_updater_clear_err = 0x4fc00954;
dfu_updater_enable = 0x4fc00958;
dfu_updater_begin = 0x4fc0095c;
dfu_updater_feed = 0x4fc00960;
dfu_updater_end = 0x4fc00964;
dfu_updater_set_raw_addr = 0x4fc00968;
dfu_updater_flash_read = 0x4fc0096c;
usb_dc_prepare_persist = 0x4fc00970;
usb_dw_isr_handler = 0x4fc00974;
usb_dc_attach = 0x4fc00978;
usb_dc_detach = 0x4fc0097c;
usb_dc_reset = 0x4fc00980;
usb_dc_set_address = 0x4fc00984;
usb_dc_ep_check_cap = 0x4fc00988;
usb_dc_ep_configure = 0x4fc0098c;
usb_dc_ep_set_stall = 0x4fc00990;
usb_dc_ep_clear_stall = 0x4fc00994;
usb_dc_ep_halt = 0x4fc00998;
usb_dc_ep_is_stalled = 0x4fc0099c;
usb_dc_ep_enable = 0x4fc009a0;
usb_dc_ep_disable = 0x4fc009a4;
usb_dc_ep_flush = 0x4fc009a8;
usb_dc_ep_write_would_block = 0x4fc009ac;
usb_dc_ep_write = 0x4fc009b0;
usb_dc_ep_read_wait = 0x4fc009b4;
usb_dc_ep_read_continue = 0x4fc009b8;
usb_dc_ep_read = 0x4fc009bc;
usb_dc_ep_set_callback = 0x4fc009c0;
usb_dc_set_status_callback = 0x4fc009c4;
usb_dc_ep_mps = 0x4fc009c8;
usb_dc_check_poll_for_interrupts = 0x4fc009cc;
mac_addr_to_serial_str_desc = 0x4fc009d0;
usb_set_current_descriptor = 0x4fc009d4;
usb_get_descriptor = 0x4fc009d8;
usb_dev_resume = 0x4fc009dc;
usb_dev_get_configuration = 0x4fc009e0;
usb_set_config = 0x4fc009e4;
usb_deconfig = 0x4fc009e8;
usb_enable = 0x4fc009ec;
usb_disable = 0x4fc009f0;
usb_write_would_block = 0x4fc009f4;
usb_write = 0x4fc009f8;
usb_read = 0x4fc009fc;
usb_ep_set_stall = 0x4fc00a00;
usb_ep_clear_stall = 0x4fc00a04;
usb_ep_read_wait = 0x4fc00a08;
usb_ep_read_continue = 0x4fc00a0c;
usb_transfer_ep_callback = 0x4fc00a10;
usb_transfer = 0x4fc00a14;
usb_cancel_transfer = 0x4fc00a18;
usb_transfer_sync = 0x4fc00a1c;
usb_dfu_set_detach_cb = 0x4fc00a20;
dfu_class_handle_req = 0x4fc00a24;
dfu_status_cb = 0x4fc00a28;
dfu_custom_handle_req = 0x4fc00a2c;
usb_dfu_init = 0x4fc00a30;
usb_dfu_force_detach = 0x4fc00a34;
usb_dev_deinit = 0x4fc00a38;
usb_dw_ctrl_deinit = 0x4fc00a3c;
cdc_acm_class_handle_req = 0x4fc008d4;
cdc_acm_init = 0x4fc008d8;
cdc_acm_fifo_fill = 0x4fc008dc;
cdc_acm_rx_fifo_cnt = 0x4fc008e0;
cdc_acm_fifo_read = 0x4fc008e4;
cdc_acm_irq_tx_enable = 0x4fc008e8;
cdc_acm_irq_tx_disable = 0x4fc008ec;
cdc_acm_irq_state_enable = 0x4fc008f0;
cdc_acm_irq_state_disable = 0x4fc008f4;
cdc_acm_irq_tx_ready = 0x4fc008f8;
cdc_acm_irq_rx_enable = 0x4fc008fc;
cdc_acm_irq_rx_disable = 0x4fc00900;
cdc_acm_irq_rx_ready = 0x4fc00904;
cdc_acm_irq_is_pending = 0x4fc00908;
cdc_acm_irq_callback_set = 0x4fc0090c;
cdc_acm_line_ctrl_set = 0x4fc00910;
cdc_acm_line_ctrl_get = 0x4fc00914;
cdc_acm_poll_out = 0x4fc00918;
chip_usb_dw_did_persist = 0x4fc0091c;
chip_usb_dw_init = 0x4fc00920;
chip_usb_detach = 0x4fc00924;
chip_usb_dw_prepare_persist = 0x4fc00928;
chip_usb_get_persist_flags = 0x4fc0092c;
chip_usb_set_persist_flags = 0x4fc00930;
cpio_start = 0x4fc00934;
cpio_feed = 0x4fc00938;
cpio_done = 0x4fc0093c;
cpio_destroy = 0x4fc00940;
dfu_flash_init = 0x4fc00944;
dfu_flash_erase = 0x4fc00948;
dfu_flash_program = 0x4fc0094c;
dfu_flash_read = 0x4fc00950;
dfu_flash_attach = 0x4fc00954;
dfu_cpio_callback = 0x4fc00958;
dfu_updater_get_err = 0x4fc0095c;
dfu_updater_clear_err = 0x4fc00960;
dfu_updater_enable = 0x4fc00964;
dfu_updater_begin = 0x4fc00968;
dfu_updater_feed = 0x4fc0096c;
dfu_updater_end = 0x4fc00970;
dfu_updater_set_raw_addr = 0x4fc00974;
dfu_updater_flash_read = 0x4fc00978;
usb_dc_prepare_persist = 0x4fc0097c;
usb_dw_isr_handler = 0x4fc00980;
usb_dc_attach = 0x4fc00984;
usb_dc_detach = 0x4fc00988;
usb_dc_reset = 0x4fc0098c;
usb_dc_set_address = 0x4fc00990;
usb_dc_ep_check_cap = 0x4fc00994;
usb_dc_ep_configure = 0x4fc00998;
usb_dc_ep_set_stall = 0x4fc0099c;
usb_dc_ep_clear_stall = 0x4fc009a0;
usb_dc_ep_halt = 0x4fc009a4;
usb_dc_ep_is_stalled = 0x4fc009a8;
usb_dc_ep_enable = 0x4fc009ac;
usb_dc_ep_disable = 0x4fc009b0;
usb_dc_ep_flush = 0x4fc009b4;
usb_dc_ep_write_would_block = 0x4fc009b8;
usb_dc_ep_write = 0x4fc009bc;
usb_dc_ep_read_wait = 0x4fc009c0;
usb_dc_ep_read_continue = 0x4fc009c4;
usb_dc_ep_read = 0x4fc009c8;
usb_dc_ep_set_callback = 0x4fc009cc;
usb_dc_set_status_callback = 0x4fc009d0;
usb_dc_ep_mps = 0x4fc009d4;
usb_dc_check_poll_for_interrupts = 0x4fc009d8;
mac_addr_to_serial_str_desc = 0x4fc009dc;
usb_set_current_descriptor = 0x4fc009e0;
usb_get_descriptor = 0x4fc009e4;
usb_dev_resume = 0x4fc009e8;
usb_dev_get_configuration = 0x4fc009ec;
usb_set_config = 0x4fc009f0;
usb_deconfig = 0x4fc009f4;
usb_enable = 0x4fc009f8;
usb_disable = 0x4fc009fc;
usb_write_would_block = 0x4fc00a00;
usb_write = 0x4fc00a04;
usb_read = 0x4fc00a08;
usb_ep_set_stall = 0x4fc00a0c;
usb_ep_clear_stall = 0x4fc00a10;
usb_ep_read_wait = 0x4fc00a14;
usb_ep_read_continue = 0x4fc00a18;
usb_transfer_ep_callback = 0x4fc00a1c;
usb_transfer = 0x4fc00a20;
usb_cancel_transfer = 0x4fc00a24;
usb_transfer_sync = 0x4fc00a28;
usb_dfu_set_detach_cb = 0x4fc00a2c;
dfu_class_handle_req = 0x4fc00a30;
dfu_status_cb = 0x4fc00a34;
dfu_custom_handle_req = 0x4fc00a38;
usb_dfu_init = 0x4fc00a3c;
usb_dfu_force_detach = 0x4fc00a40;
usb_dev_deinit = 0x4fc00a44;
usb_dw_ctrl_deinit = 0x4fc00a48;
/* Data (.data, .bss, .rodata) */
s_usb_osglue = 0x4ffbffc8;
/***************************************
Group recovery_bootloader
***************************************/
/* Functions */
ets_get_bootloader_offset = 0x4fc00a40;
ets_set_bootloader_offset = 0x4fc00a44;
s_usb_osglue = 0x4ff3ffc8;
@@ -1,5 +1,5 @@
/*
* SPDX-FileCopyrightText: 2025 Espressif Systems (Shanghai) CO LTD
* SPDX-FileCopyrightText: 2024-2025 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
@@ -9,41 +9,28 @@ strlen = 0x4fc00288;
strstr = 0x4fc0028c;
bzero = 0x4fc00290;
sbrk = 0x4fc00298;
isalnum = 0x4fc0029c;
isalpha = 0x4fc002a0;
isascii = 0x4fc002a4;
isblank = 0x4fc002a8;
iscntrl = 0x4fc002ac;
isdigit = 0x4fc002b0;
islower = 0x4fc002b4;
isgraph = 0x4fc002b8;
isprint = 0x4fc002bc;
ispunct = 0x4fc002c0;
isspace = 0x4fc002c4;
isupper = 0x4fc002c8;
toupper = 0x4fc002cc;
tolower = 0x4fc002d0;
toascii = 0x4fc002d4;
memccpy = 0x4fc002d8;
memchr = 0x4fc002dc;
memrchr = 0x4fc002e0;
strcasecmp = 0x4fc002e4;
strcasestr = 0x4fc002e8;
strcat = 0x4fc002ec;
strchr = 0x4fc002f4;
strcspn = 0x4fc002f8;
strcoll = 0x4fc002fc;
strlcat = 0x4fc00300;
strlcpy = 0x4fc00304;
strlwr = 0x4fc00308;
strncasecmp = 0x4fc0030c;
strncat = 0x4fc00310;
strnlen = 0x4fc00318;
strrchr = 0x4fc0031c;
strsep = 0x4fc00320;
strspn = 0x4fc00324;
strtok_r = 0x4fc00328;
strupr = 0x4fc0032c;
longjmp = 0x4fc00330;
setjmp = 0x4fc00334;
abs = 0x4fc00338;
@@ -54,5 +41,5 @@ qsort = 0x4fc00348;
utoa = 0x4fc00358;
itoa = 0x4fc0035c;
/* Data (.data, .bss, .rodata) */
syscall_table_ptr = 0x4ffbffe4;
_global_impure_ptr = 0x4ffbffe0;
syscall_table_ptr = 0x4ff3ffe4;
_global_impure_ptr = 0x4ff3ffe0;
@@ -0,0 +1,95 @@
/*
* SPDX-FileCopyrightText: 2023-2025 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
/* ROM function interface esp32p4.rom.libgcc.ld for esp32p4
*
*
* Generated from ./target/esp32p4/interface-esp32p4.yml md5sum f6516bd9708d890f63db87f8aed53ca7
*
* Compatible with ROM where ECO version equal or greater to 0.
*
* THIS FILE WAS AUTOMATICALLY GENERATED. DO NOT EDIT.
*/
/***************************************
Group libgccdf
***************************************/
/* Functions */
__absvdi2 = 0x4fc0073c;
__absvsi2 = 0x4fc00740;
__adddf3 = 0x4fc00744;
__addvdi3 = 0x4fc00748;
__addvsi3 = 0x4fc0074c;
__ashldi3 = 0x4fc00750;
__ashrdi3 = 0x4fc00754;
__bswapdi2 = 0x4fc00758;
__bswapsi2 = 0x4fc0075c;
__clear_cache = 0x4fc00760;
__clrsbdi2 = 0x4fc00764;
__clrsbsi2 = 0x4fc00768;
__clzdi2 = 0x4fc0076c;
__clzsi2 = 0x4fc00770;
__cmpdi2 = 0x4fc00774;
__ctzdi2 = 0x4fc00778;
__ctzsi2 = 0x4fc0077c;
__divdc3 = 0x4fc00780;
__divdf3 = 0x4fc00784;
__divdi3 = 0x4fc00788;
__divsc3 = 0x4fc0078c;
__divsi3 = 0x4fc00790;
__eqdf2 = 0x4fc00794;
__extendsfdf2 = 0x4fc00798;
__ffsdi2 = 0x4fc0079c;
__ffssi2 = 0x4fc007a0;
__fixdfdi = 0x4fc007a4;
__fixdfsi = 0x4fc007a8;
__fixsfdi = 0x4fc007ac;
__fixunsdfsi = 0x4fc007b0;
__fixunssfdi = 0x4fc007b4;
__fixunssfsi = 0x4fc007b8;
__floatdidf = 0x4fc007bc;
__floatdisf = 0x4fc007c0;
__floatsidf = 0x4fc007c4;
__floatundidf = 0x4fc007c8;
__floatundisf = 0x4fc007cc;
__floatunsidf = 0x4fc007d0;
__gcc_bcmp = 0x4fc007d4;
__gedf2 = 0x4fc007d8;
__gtdf2 = 0x4fc007dc;
__ledf2 = 0x4fc007e0;
__lshrdi3 = 0x4fc007e4;
__ltdf2 = 0x4fc007e8;
__moddi3 = 0x4fc007ec;
__modsi3 = 0x4fc007f0;
__muldc3 = 0x4fc007f4;
__muldf3 = 0x4fc007f8;
__muldi3 = 0x4fc007fc;
__mulsc3 = 0x4fc00800;
__mulsi3 = 0x4fc00804;
__mulvdi3 = 0x4fc00808;
__mulvsi3 = 0x4fc0080c;
__nedf2 = 0x4fc00810;
__negdf2 = 0x4fc00814;
__negdi2 = 0x4fc00818;
__negvdi2 = 0x4fc0081c;
__negvsi2 = 0x4fc00820;
__paritysi2 = 0x4fc00824;
__popcountdi2 = 0x4fc00828;
__popcountsi2 = 0x4fc0082c;
__powidf2 = 0x4fc00830;
__subdf3 = 0x4fc00834;
__subvdi3 = 0x4fc00838;
__subvsi3 = 0x4fc0083c;
__ucmpdi2 = 0x4fc00840;
__udivdi3 = 0x4fc00844;
__udivmoddi4 = 0x4fc00848;
__udivsi3 = 0x4fc0084c;
__udiv_w_sdiv = 0x4fc00850;
__umoddi3 = 0x4fc00854;
__umodsi3 = 0x4fc00858;
__unorddf2 = 0x4fc0085c;
__extenddftf2 = 0x4fc00860;
__trunctfdf2 = 0x4fc00864;
@@ -1,14 +1,14 @@
/*
* SPDX-FileCopyrightText: 2025 Espressif Systems (Shanghai) CO LTD
* SPDX-FileCopyrightText: 2023-2025 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
/* ROM function interface esp32p4.rom.newlib.ld for esp32p4
*
*
* Generated from ./target/esp32p4/interface-esp32p4.yml md5sum 56d78222be1daa0502090a078288f4d5
* Generated from ./target/esp32p4/interface-esp32p4.yml md5sum f6516bd9708d890f63db87f8aed53ca7
*
* Compatible with ROM where ECO version equal or greater to 5.
* Compatible with ROM where ECO version equal or greater to 0.
*
* THIS FILE WAS AUTOMATICALLY GENERATED. !!! BUT EDITED !!!
* The file was originally generated for use with newlib, but it was split into
@@ -39,3 +39,16 @@ __swhatbuf_r = 0x4fc00384;
__swbuf_r = 0x4fc00388;
__swbuf = 0x4fc0038c;
__swsetup_r = 0x4fc00390;
toupper = 0x4fc002cc;
tolower = 0x4fc002d0;
isalnum = 0x4fc0029c;
isalpha = 0x4fc002a0;
isdigit = 0x4fc002b0;
islower = 0x4fc002b4;
isspace = 0x4fc002c4;
isupper = 0x4fc002c8;
strcasecmp = 0x4fc002e4;
strcoll = 0x4fc002fc;
strlwr = 0x4fc00308;
strncasecmp = 0x4fc0030c;
strupr = 0x4fc0032c;
@@ -0,0 +1,116 @@
/*
* SPDX-FileCopyrightText: 2023-2025 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
/* ROM function interface esp32p4.rom.rvfp.ld for esp32p4
*
*
* Generated from ./target/esp32p4/interface-esp32p4.yml md5sum f6516bd9708d890f63db87f8aed53ca7
*
* Compatible with ROM where ECO version equal or greater to 0.
*
* THIS FILE WAS AUTOMATICALLY GENERATED. DO NOT EDIT.
*/
/***************************************
Group rvfplibdf
***************************************/
/*
* These functions cannot work when compiling with floating point ABI
* implementation assumes argument is passed in a0, but floats will be passed
* in the floating point registers instead
*
* __fixsfdi = 0x4fc00878;
* __fixunssfdi = 0x4fc00880;
*/
/* Functions */
__adddf3 = 0x4fc00868;
__eqdf2 = 0x4fc0086c;
__fixdfdi = 0x4fc00870;
__fixdfsi = 0x4fc00874;
__fixunsdfsi = 0x4fc0087c;
__floatdidf = 0x4fc00884;
__floatsidf = 0x4fc00888;
__floatundidf = 0x4fc0088c;
__floatunsidf = 0x4fc00890;
__gedf2 = 0x4fc00894;
__gtdf2 = 0x4fc00898;
__ledf2 = 0x4fc0089c;
__ltdf2 = 0x4fc008a0;
__muldf3 = 0x4fc008a4;
__nedf2 = 0x4fc008a8;
__subdf3 = 0x4fc008ac;
/***************************************
Group libgcc
***************************************/
/* Not part of the original ROM interface, but RVFP versions cannot work with float-abi */
__fixsfdi = 0x4fc007ac;
__fixunssfdi = 0x4fc007b4;
/* Functions */
__absvdi2 = 0x4fc0073c;
__absvsi2 = 0x4fc00740;
__addvdi3 = 0x4fc00748;
__addvsi3 = 0x4fc0074c;
__ashldi3 = 0x4fc00750;
__ashrdi3 = 0x4fc00754;
__bswapdi2 = 0x4fc00758;
__bswapsi2 = 0x4fc0075c;
__clear_cache = 0x4fc00760;
__clrsbdi2 = 0x4fc00764;
__clrsbsi2 = 0x4fc00768;
__clzdi2 = 0x4fc0076c;
__clzsi2 = 0x4fc00770;
__cmpdi2 = 0x4fc00774;
__ctzdi2 = 0x4fc00778;
__ctzsi2 = 0x4fc0077c;
__divdc3 = 0x4fc00780;
__divdf3 = 0x4fc00784;
__divdi3 = 0x4fc00788;
__divsc3 = 0x4fc0078c;
__divsi3 = 0x4fc00790;
__extendsfdf2 = 0x4fc00798;
__ffsdi2 = 0x4fc0079c;
__ffssi2 = 0x4fc007a0;
__fixunssfsi = 0x4fc007b8;
__floatdisf = 0x4fc007c0;
__floatundisf = 0x4fc007cc;
__gcc_bcmp = 0x4fc007d4;
__lshrdi3 = 0x4fc007e4;
__moddi3 = 0x4fc007ec;
__modsi3 = 0x4fc007f0;
__muldc3 = 0x4fc007f4;
__muldi3 = 0x4fc007fc;
__mulsc3 = 0x4fc00800;
__mulsi3 = 0x4fc00804;
__mulvdi3 = 0x4fc00808;
__mulvsi3 = 0x4fc0080c;
__negdf2 = 0x4fc00814;
__negdi2 = 0x4fc00818;
__negvdi2 = 0x4fc0081c;
__negvsi2 = 0x4fc00820;
__paritysi2 = 0x4fc00824;
__popcountdi2 = 0x4fc00828;
__popcountsi2 = 0x4fc0082c;
__powidf2 = 0x4fc00830;
__subvdi3 = 0x4fc00838;
__subvsi3 = 0x4fc0083c;
__ucmpdi2 = 0x4fc00840;
__udivdi3 = 0x4fc00844;
__udivmoddi4 = 0x4fc00848;
__udivsi3 = 0x4fc0084c;
__udiv_w_sdiv = 0x4fc00850;
__umoddi3 = 0x4fc00854;
__umodsi3 = 0x4fc00858;
__unorddf2 = 0x4fc0085c;
__extenddftf2 = 0x4fc00860;
__trunctfdf2 = 0x4fc00864;
/***************************************
Group libgcc
***************************************/
/* Functions */
@@ -1,95 +0,0 @@
/*
* SPDX-FileCopyrightText: 2025 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
/* ROM function interface esp32p4.rom.libgcc.ld for esp32p4
*
*
* Generated from ./target/esp32p4/interface-esp32p4.yml md5sum 56d78222be1daa0502090a078288f4d5
*
* Compatible with ROM where ECO version equal or greater to 5.
*
* THIS FILE WAS AUTOMATICALLY GENERATED. DO NOT EDIT.
*/
/***************************************
Group libgccdf
***************************************/
/* Functions */
__absvdi2 = 0x4fc00730;
__absvsi2 = 0x4fc00734;
__adddf3 = 0x4fc00738;
__addvdi3 = 0x4fc0073c;
__addvsi3 = 0x4fc00740;
__ashldi3 = 0x4fc00744;
__ashrdi3 = 0x4fc00748;
__bswapdi2 = 0x4fc0074c;
__bswapsi2 = 0x4fc00750;
__clear_cache = 0x4fc00754;
__clrsbdi2 = 0x4fc00758;
__clrsbsi2 = 0x4fc0075c;
__clzdi2 = 0x4fc00760;
__clzsi2 = 0x4fc00764;
__cmpdi2 = 0x4fc00768;
__ctzdi2 = 0x4fc0076c;
__ctzsi2 = 0x4fc00770;
__divdc3 = 0x4fc00774;
__divdf3 = 0x4fc00778;
__divdi3 = 0x4fc0077c;
__divsc3 = 0x4fc00780;
__divsi3 = 0x4fc00784;
__eqdf2 = 0x4fc00788;
__extendsfdf2 = 0x4fc0078c;
__ffsdi2 = 0x4fc00790;
__ffssi2 = 0x4fc00794;
__fixdfdi = 0x4fc00798;
__fixdfsi = 0x4fc0079c;
__fixsfdi = 0x4fc007a0;
__fixunsdfsi = 0x4fc007a4;
__fixunssfdi = 0x4fc007a8;
__fixunssfsi = 0x4fc007ac;
__floatdidf = 0x4fc007b0;
__floatdisf = 0x4fc007b4;
__floatsidf = 0x4fc007b8;
__floatundidf = 0x4fc007bc;
__floatundisf = 0x4fc007c0;
__floatunsidf = 0x4fc007c4;
__gcc_bcmp = 0x4fc007c8;
__gedf2 = 0x4fc007cc;
__gtdf2 = 0x4fc007d0;
__ledf2 = 0x4fc007d4;
__lshrdi3 = 0x4fc007d8;
__ltdf2 = 0x4fc007dc;
__moddi3 = 0x4fc007e0;
__modsi3 = 0x4fc007e4;
__muldc3 = 0x4fc007e8;
__muldf3 = 0x4fc007ec;
__muldi3 = 0x4fc007f0;
__mulsc3 = 0x4fc007f4;
__mulsi3 = 0x4fc007f8;
__mulvdi3 = 0x4fc007fc;
__mulvsi3 = 0x4fc00800;
__nedf2 = 0x4fc00804;
__negdf2 = 0x4fc00808;
__negdi2 = 0x4fc0080c;
__negvdi2 = 0x4fc00810;
__negvsi2 = 0x4fc00814;
__paritysi2 = 0x4fc00818;
__popcountdi2 = 0x4fc0081c;
__popcountsi2 = 0x4fc00820;
__powidf2 = 0x4fc00824;
__subdf3 = 0x4fc00828;
__subvdi3 = 0x4fc0082c;
__subvsi3 = 0x4fc00830;
__ucmpdi2 = 0x4fc00834;
__udivdi3 = 0x4fc00838;
__udivmoddi4 = 0x4fc0083c;
__udivsi3 = 0x4fc00840;
__udiv_w_sdiv = 0x4fc00844;
__umoddi3 = 0x4fc00848;
__umodsi3 = 0x4fc0084c;
__unorddf2 = 0x4fc00850;
__extenddftf2 = 0x4fc00854;
__trunctfdf2 = 0x4fc00858;
@@ -1,101 +0,0 @@
/*
* SPDX-FileCopyrightText: 2025 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
/* ROM function interface esp32p4.rom.rvfp.ld for esp32p4
*
*
* Generated from ./target/esp32p4/interface-esp32p4.yml md5sum 56d78222be1daa0502090a078288f4d5
*
* Compatible with ROM where ECO version equal or greater to 5.
*
* THIS FILE WAS AUTOMATICALLY GENERATED. DO NOT EDIT.
*/
/***************************************
Group rvfplibdf
***************************************/
/* Functions */
__adddf3 = 0x4fc0085c;
__eqdf2 = 0x4fc00860;
__fixdfdi = 0x4fc00864;
__fixdfsi = 0x4fc00868;
__fixunsdfsi = 0x4fc00870;
__floatdidf = 0x4fc00878;
__floatsidf = 0x4fc0087c;
__floatundidf = 0x4fc00880;
__floatunsidf = 0x4fc00884;
__gedf2 = 0x4fc00888;
__gtdf2 = 0x4fc0088c;
__ledf2 = 0x4fc00890;
__ltdf2 = 0x4fc00894;
__muldf3 = 0x4fc00898;
__nedf2 = 0x4fc0089c;
__subdf3 = 0x4fc008a0;
/***************************************
Group libgcc
***************************************/
/* Functions */
__absvdi2 = 0x4fc00730;
__absvsi2 = 0x4fc00734;
__addvdi3 = 0x4fc0073c;
__addvsi3 = 0x4fc00740;
__ashldi3 = 0x4fc00744;
__ashrdi3 = 0x4fc00748;
__bswapdi2 = 0x4fc0074c;
__bswapsi2 = 0x4fc00750;
__clear_cache = 0x4fc00754;
__clrsbdi2 = 0x4fc00758;
__clrsbsi2 = 0x4fc0075c;
__clzdi2 = 0x4fc00760;
__clzsi2 = 0x4fc00764;
__cmpdi2 = 0x4fc00768;
__ctzdi2 = 0x4fc0076c;
__ctzsi2 = 0x4fc00770;
__divdc3 = 0x4fc00774;
__divdf3 = 0x4fc00778;
__divdi3 = 0x4fc0077c;
__divsc3 = 0x4fc00780;
__divsi3 = 0x4fc00784;
__extendsfdf2 = 0x4fc0078c;
__ffsdi2 = 0x4fc00790;
__ffssi2 = 0x4fc00794;
__fixsfdi = 0x4fc007a0;
__fixunssfdi = 0x4fc007a8;
__fixunssfsi = 0x4fc007ac;
__floatdisf = 0x4fc007b4;
__floatundisf = 0x4fc007c0;
__gcc_bcmp = 0x4fc007c8;
__lshrdi3 = 0x4fc007d8;
__moddi3 = 0x4fc007e0;
__modsi3 = 0x4fc007e4;
__muldc3 = 0x4fc007e8;
__muldi3 = 0x4fc007f0;
__mulsc3 = 0x4fc007f4;
__mulsi3 = 0x4fc007f8;
__mulvdi3 = 0x4fc007fc;
__mulvsi3 = 0x4fc00800;
__negdf2 = 0x4fc00808;
__negdi2 = 0x4fc0080c;
__negvdi2 = 0x4fc00810;
__negvsi2 = 0x4fc00814;
__paritysi2 = 0x4fc00818;
__popcountdi2 = 0x4fc0081c;
__popcountsi2 = 0x4fc00820;
__powidf2 = 0x4fc00824;
__subvdi3 = 0x4fc0082c;
__subvsi3 = 0x4fc00830;
__ucmpdi2 = 0x4fc00834;
__udivdi3 = 0x4fc00838;
__udivmoddi4 = 0x4fc0083c;
__udivsi3 = 0x4fc00840;
__udiv_w_sdiv = 0x4fc00844;
__umoddi3 = 0x4fc00848;
__umodsi3 = 0x4fc0084c;
__unorddf2 = 0x4fc00850;
__extenddftf2 = 0x4fc00854;
__trunctfdf2 = 0x4fc00858;
+252 -245
View File
@@ -1,14 +1,14 @@
/*
* SPDX-FileCopyrightText: 2023-2025 Espressif Systems (Shanghai) CO LTD
* SPDX-FileCopyrightText: 2025 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
/* ROM function interface esp32p4.rom.ld for esp32p4
*
*
* Generated from ./target/esp32p4/interface-esp32p4.yml md5sum f6516bd9708d890f63db87f8aed53ca7
* Generated from ./target/esp32p4/interface-esp32p4.yml md5sum 56d78222be1daa0502090a078288f4d5
*
* Compatible with ROM where ECO version equal or greater to 0.
* Compatible with ROM where ECO version equal or greater to 5.
*
* THIS FILE WAS AUTOMATICALLY GENERATED. DO NOT EDIT.
*/
@@ -64,8 +64,8 @@ Uart_Init = 0x4fc000c0;
ets_set_user_start = 0x4fc000c4;
/* Data (.data, .bss, .rodata) */
ets_rom_layout_p = 0x4fc1fffc;
ets_ops_table_ptr = 0x4ff3fff4;
g_saved_pc = 0x4ff3fff8;
ets_ops_table_ptr = 0x4ffbfff4;
g_saved_pc = 0x4ffbfff8;
/***************************************
@@ -165,9 +165,9 @@ spi_flash_guard_set = 0x4fc001f0;
spi_flash_guard_get = 0x4fc001f4;
spi_flash_read_encrypted = 0x4fc001f8;
/* Data (.data, .bss, .rodata) */
rom_spiflash_legacy_funcs = 0x4ff3ffec;
rom_spiflash_legacy_data = 0x4ff3ffe8;
g_flash_guard_ops = 0x4ff3fff0;
rom_spiflash_legacy_funcs = 0x4ffbffec;
rom_spiflash_legacy_data = 0x4ffbffe8;
g_flash_guard_ops = 0x4ffbfff0;
/***************************************
@@ -266,20 +266,17 @@ Cache_PSRAM_MMU_Set = 0x4fc00520;
Cache_PSRAM_MMU_Set_Secure = 0x4fc00524;
Cache_Count_Flash_Pages = 0x4fc00528;
Cache_Flash_To_SPIRAM_Copy = 0x4fc0052c;
Cache_Travel_Tag_Memory = 0x4fc00530;
Cache_Travel_Tag_Memory2 = 0x4fc00534;
Cache_Get_Virtual_Addr = 0x4fc00538;
Cache_Set_IDROM_MMU_Size = 0x4fc0053c;
flash2spiram_instruction_offset = 0x4fc00540;
flash2spiram_rodata_offset = 0x4fc00544;
flash_instr_rodata_start_page = 0x4fc00548;
flash_instr_rodata_end_page = 0x4fc0054c;
Cache_Set_IDROM_MMU_Info = 0x4fc00550;
Cache_Get_IROM_MMU_End = 0x4fc00554;
Cache_Get_DROM_MMU_End = 0x4fc00558;
Cache_Set_IDROM_MMU_Size = 0x4fc00530;
flash2spiram_instruction_offset = 0x4fc00534;
flash2spiram_rodata_offset = 0x4fc00538;
flash_instr_rodata_start_page = 0x4fc0053c;
flash_instr_rodata_end_page = 0x4fc00540;
Cache_Set_IDROM_MMU_Info = 0x4fc00544;
Cache_Get_IROM_MMU_End = 0x4fc00548;
Cache_Get_DROM_MMU_End = 0x4fc0054c;
/* Data (.data, .bss, .rodata) */
rom_cache_op_cb = 0x4ff3ffdc;
rom_cache_internal_table_ptr = 0x4ff3ffd8;
rom_cache_op_cb = 0x4ffbffdc;
rom_cache_internal_table_ptr = 0x4ffbffd8;
/***************************************
@@ -287,8 +284,8 @@ rom_cache_internal_table_ptr = 0x4ff3ffd8;
***************************************/
/* Functions */
ets_clk_get_xtal_freq = 0x4fc0055c;
ets_clk_get_cpu_freq = 0x4fc00560;
ets_clk_get_xtal_freq = 0x4fc00550;
ets_clk_get_cpu_freq = 0x4fc00554;
/***************************************
@@ -296,27 +293,27 @@ ets_clk_get_cpu_freq = 0x4fc00560;
***************************************/
/* Functions */
rom_gpio_set_output_level = 0x4fc00564;
rom_gpio_get_input_level = 0x4fc00568;
rom_gpio_matrix_in = 0x4fc0056c;
rom_gpio_matrix_out = 0x4fc00570;
rom_gpio_bypass_matrix_in = 0x4fc00574;
rom_gpio_output_disable = 0x4fc00578;
rom_gpio_output_enable = 0x4fc0057c;
rom_gpio_pad_input_disable = 0x4fc00580;
rom_gpio_pad_input_enable = 0x4fc00584;
rom_gpio_pad_pulldown = 0x4fc00588;
rom_gpio_pad_pullup = 0x4fc0058c;
rom_gpio_pad_select_gpio = 0x4fc00590;
rom_gpio_pad_set_drv = 0x4fc00594;
rom_gpio_pad_unhold = 0x4fc00598;
rom_gpio_pad_hold = 0x4fc0059c;
rom_gpio_lppad_select_mux = 0x4fc005a0;
rom_gpio_ded_pad_set_drv = 0x4fc005a4;
rom_gpio_ded_pad_pullup = 0x4fc005a8;
rom_gpio_ded_pad_pulldown = 0x4fc005ac;
rom_gpio_ded_pad_hold = 0x4fc005b0;
rom_gpio_ded_pad_unhold = 0x4fc005b4;
rom_gpio_set_output_level = 0x4fc00558;
rom_gpio_get_input_level = 0x4fc0055c;
rom_gpio_matrix_in = 0x4fc00560;
rom_gpio_matrix_out = 0x4fc00564;
rom_gpio_bypass_matrix_in = 0x4fc00568;
rom_gpio_output_disable = 0x4fc0056c;
rom_gpio_output_enable = 0x4fc00570;
rom_gpio_pad_input_disable = 0x4fc00574;
rom_gpio_pad_input_enable = 0x4fc00578;
rom_gpio_pad_pulldown = 0x4fc0057c;
rom_gpio_pad_pullup = 0x4fc00580;
rom_gpio_pad_select_gpio = 0x4fc00584;
rom_gpio_pad_set_drv = 0x4fc00588;
rom_gpio_pad_unhold = 0x4fc0058c;
rom_gpio_pad_hold = 0x4fc00590;
rom_gpio_lppad_select_mux = 0x4fc00594;
rom_gpio_ded_pad_set_drv = 0x4fc00598;
rom_gpio_ded_pad_pullup = 0x4fc0059c;
rom_gpio_ded_pad_pulldown = 0x4fc005a0;
rom_gpio_ded_pad_hold = 0x4fc005a4;
rom_gpio_ded_pad_unhold = 0x4fc005a8;
/***************************************
@@ -324,17 +321,18 @@ rom_gpio_ded_pad_unhold = 0x4fc005b4;
***************************************/
/* Functions */
esprv_intc_int_set_priority = 0x4fc005b8;
esprv_intc_int_set_threshold = 0x4fc005bc;
esprv_intc_int_enable = 0x4fc005c0;
esprv_intc_int_disable = 0x4fc005c4;
PROVIDE( intr_handler_set = 0x4fc005cc );
intr_matrix_set = 0x4fc005d0;
ets_intr_lock = 0x4fc005d4;
ets_intr_unlock = 0x4fc005d8;
ets_isr_attach = 0x4fc005dc;
ets_isr_mask = 0x4fc005e0;
ets_isr_unmask = 0x4fc005e4;
esprv_intc_int_set_priority = 0x4fc005ac;
esprv_intc_int_set_threshold = 0x4fc005b0;
esprv_intc_int_enable = 0x4fc005b4;
esprv_intc_int_disable = 0x4fc005b8;
esprv_intc_int_set_type = 0x4fc005bc;
PROVIDE( intr_handler_set = 0x4fc005c0 );
intr_matrix_set = 0x4fc005c4;
ets_intr_lock = 0x4fc005c8;
ets_intr_unlock = 0x4fc005cc;
ets_isr_attach = 0x4fc005d0;
ets_isr_mask = 0x4fc005d4;
ets_isr_unmask = 0x4fc005d8;
/***************************************
@@ -342,52 +340,52 @@ ets_isr_unmask = 0x4fc005e4;
***************************************/
/* Functions */
md5_vector = 0x4fc005e8;
MD5Init = 0x4fc005ec;
MD5Update = 0x4fc005f0;
MD5Final = 0x4fc005f4;
crc32_le = 0x4fc005f8;
crc16_le = 0x4fc005fc;
crc8_le = 0x4fc00600;
crc32_be = 0x4fc00604;
crc16_be = 0x4fc00608;
crc8_be = 0x4fc0060c;
esp_crc8 = 0x4fc00610;
ets_sha_enable = 0x4fc00614;
ets_sha_disable = 0x4fc00618;
ets_sha_get_state = 0x4fc0061c;
ets_sha_init = 0x4fc00620;
ets_sha_process = 0x4fc00624;
ets_sha_starts = 0x4fc00628;
ets_sha_update = 0x4fc0062c;
ets_sha_finish = 0x4fc00630;
ets_sha_clone = 0x4fc00634;
ets_hmac_enable = 0x4fc00638;
ets_hmac_disable = 0x4fc0063c;
ets_hmac_calculate_message = 0x4fc00640;
ets_hmac_calculate_downstream = 0x4fc00644;
ets_hmac_invalidate_downstream = 0x4fc00648;
ets_jtag_enable_temporarily = 0x4fc0064c;
ets_aes_enable = 0x4fc00650;
ets_aes_disable = 0x4fc00654;
ets_aes_setkey = 0x4fc00658;
ets_aes_block = 0x4fc0065c;
ets_aes_setkey_dec = 0x4fc00660;
ets_aes_setkey_enc = 0x4fc00664;
ets_bigint_enable = 0x4fc00668;
ets_bigint_disable = 0x4fc0066c;
ets_bigint_multiply = 0x4fc00670;
ets_bigint_modmult = 0x4fc00674;
ets_bigint_modexp = 0x4fc00678;
ets_bigint_wait_finish = 0x4fc0067c;
ets_bigint_getz = 0x4fc00680;
ets_ds_enable = 0x4fc00684;
ets_ds_disable = 0x4fc00688;
ets_ds_start_sign = 0x4fc0068c;
ets_ds_is_busy = 0x4fc00690;
ets_ds_finish_sign = 0x4fc00694;
ets_ds_encrypt_params = 0x4fc00698;
ets_mgf1_sha256 = 0x4fc0069c;
md5_vector = 0x4fc005dc;
MD5Init = 0x4fc005e0;
MD5Update = 0x4fc005e4;
MD5Final = 0x4fc005e8;
crc32_le = 0x4fc005ec;
crc16_le = 0x4fc005f0;
crc8_le = 0x4fc005f4;
crc32_be = 0x4fc005f8;
crc16_be = 0x4fc005fc;
crc8_be = 0x4fc00600;
esp_crc8 = 0x4fc00604;
ets_sha_enable = 0x4fc00608;
ets_sha_disable = 0x4fc0060c;
ets_sha_get_state = 0x4fc00610;
ets_sha_init = 0x4fc00614;
ets_sha_process = 0x4fc00618;
ets_sha_starts = 0x4fc0061c;
ets_sha_update = 0x4fc00620;
ets_sha_finish = 0x4fc00624;
ets_sha_clone = 0x4fc00628;
ets_hmac_enable = 0x4fc0062c;
ets_hmac_disable = 0x4fc00630;
ets_hmac_calculate_message = 0x4fc00634;
ets_hmac_calculate_downstream = 0x4fc00638;
ets_hmac_invalidate_downstream = 0x4fc0063c;
ets_jtag_enable_temporarily = 0x4fc00640;
ets_aes_enable = 0x4fc00644;
ets_aes_disable = 0x4fc00648;
ets_aes_setkey = 0x4fc0064c;
ets_aes_block = 0x4fc00650;
ets_aes_setkey_dec = 0x4fc00654;
ets_aes_setkey_enc = 0x4fc00658;
ets_bigint_enable = 0x4fc0065c;
ets_bigint_disable = 0x4fc00660;
ets_bigint_multiply = 0x4fc00664;
ets_bigint_modmult = 0x4fc00668;
ets_bigint_modexp = 0x4fc0066c;
ets_bigint_wait_finish = 0x4fc00670;
ets_bigint_getz = 0x4fc00674;
ets_ds_enable = 0x4fc00678;
ets_ds_disable = 0x4fc0067c;
ets_ds_start_sign = 0x4fc00680;
ets_ds_is_busy = 0x4fc00684;
ets_ds_finish_sign = 0x4fc00688;
ets_ds_encrypt_params = 0x4fc0068c;
ets_mgf1_sha256 = 0x4fc00690;
/* Data (.data, .bss, .rodata) */
crc32_le_table_ptr = 0x4fc1fff8;
crc16_le_table_ptr = 0x4fc1fff4;
@@ -402,35 +400,35 @@ crc8_be_table_ptr = 0x4fc1ffe4;
***************************************/
/* Functions */
ets_efuse_read = 0x4fc006a0;
ets_efuse_program = 0x4fc006a4;
ets_efuse_clear_program_registers = 0x4fc006a8;
ets_efuse_write_key = 0x4fc006ac;
ets_efuse_get_read_register_address = 0x4fc006b0;
ets_efuse_get_key_purpose = 0x4fc006b4;
ets_efuse_key_block_unused = 0x4fc006b8;
ets_efuse_find_unused_key_block = 0x4fc006bc;
ets_efuse_rs_calculate = 0x4fc006c0;
ets_efuse_count_unused_key_blocks = 0x4fc006c4;
ets_efuse_secure_boot_enabled = 0x4fc006c8;
ets_efuse_secure_boot_aggressive_revoke_enabled = 0x4fc006cc;
ets_efuse_cache_encryption_enabled = 0x4fc006d0;
ets_efuse_download_modes_disabled = 0x4fc006d4;
ets_efuse_find_purpose = 0x4fc006d8;
ets_efuse_force_send_resume = 0x4fc006dc;
ets_efuse_get_flash_delay_us = 0x4fc006e0;
ets_efuse_get_uart_print_control = 0x4fc006e4;
ets_efuse_direct_boot_mode_disabled = 0x4fc006e8;
ets_efuse_security_download_modes_enabled = 0x4fc006ec;
ets_efuse_jtag_disabled = 0x4fc006f0;
ets_efuse_usb_print_is_disabled = 0x4fc006f4;
ets_efuse_usb_download_mode_disabled = 0x4fc006f8;
ets_efuse_usb_device_disabled = 0x4fc006fc;
ets_efuse_get_km_huk_gen_state = 0x4fc00700;
ets_efuse_get_km_deploy_only_once = 0x4fc00704;
ets_efuse_get_force_use_km_key = 0x4fc00708;
ets_efuse_xts_key_length_256 = 0x4fc0070c;
ets_efuse_get_km_key_lock = 0x4fc00710;
ets_efuse_read = 0x4fc00694;
ets_efuse_program = 0x4fc00698;
ets_efuse_clear_program_registers = 0x4fc0069c;
ets_efuse_write_key = 0x4fc006a0;
ets_efuse_get_read_register_address = 0x4fc006a4;
ets_efuse_get_key_purpose = 0x4fc006a8;
ets_efuse_key_block_unused = 0x4fc006ac;
ets_efuse_find_unused_key_block = 0x4fc006b0;
ets_efuse_rs_calculate = 0x4fc006b4;
ets_efuse_count_unused_key_blocks = 0x4fc006b8;
ets_efuse_secure_boot_enabled = 0x4fc006bc;
ets_efuse_secure_boot_aggressive_revoke_enabled = 0x4fc006c0;
ets_efuse_cache_encryption_enabled = 0x4fc006c4;
ets_efuse_download_modes_disabled = 0x4fc006c8;
ets_efuse_find_purpose = 0x4fc006cc;
ets_efuse_force_send_resume = 0x4fc006d0;
ets_efuse_get_flash_delay_us = 0x4fc006d4;
ets_efuse_get_uart_print_control = 0x4fc006d8;
ets_efuse_direct_boot_mode_disabled = 0x4fc006dc;
ets_efuse_security_download_modes_enabled = 0x4fc006e0;
ets_efuse_jtag_disabled = 0x4fc006e4;
ets_efuse_usb_print_is_disabled = 0x4fc006e8;
ets_efuse_usb_download_mode_disabled = 0x4fc006ec;
ets_efuse_usb_device_disabled = 0x4fc006f0;
ets_efuse_get_km_huk_gen_state = 0x4fc006f4;
ets_efuse_get_km_deploy_only_once = 0x4fc006f8;
ets_efuse_get_force_use_km_key = 0x4fc006fc;
ets_efuse_xts_key_length_256 = 0x4fc00700;
ets_efuse_get_km_key_lock = 0x4fc00704;
/***************************************
@@ -438,9 +436,9 @@ ets_efuse_get_km_key_lock = 0x4fc00710;
***************************************/
/* Functions */
esp_rom_check_recover_key = 0x4fc00714;
esp_rom_km_huk_conf = 0x4fc00718;
esp_rom_km_huk_risk = 0x4fc0071c;
esp_rom_check_recover_key = 0x4fc00708;
esp_rom_km_huk_conf = 0x4fc0070c;
esp_rom_km_huk_risk = 0x4fc00710;
/***************************************
@@ -448,13 +446,13 @@ esp_rom_km_huk_risk = 0x4fc0071c;
***************************************/
/* Functions */
ets_emsa_pss_verify = 0x4fc00720;
ets_rsa_pss_verify = 0x4fc00724;
ets_ecdsa_verify = 0x4fc00728;
ets_secure_boot_verify_bootloader_with_keys = 0x4fc0072c;
ets_secure_boot_verify_signature = 0x4fc00730;
ets_secure_boot_read_key_digests = 0x4fc00734;
ets_secure_boot_revoke_public_key_digest = 0x4fc00738;
ets_emsa_pss_verify = 0x4fc00714;
ets_rsa_pss_verify = 0x4fc00718;
ets_ecdsa_verify = 0x4fc0071c;
ets_secure_boot_verify_bootloader_with_keys = 0x4fc00720;
ets_secure_boot_verify_signature = 0x4fc00724;
ets_secure_boot_read_key_digests = 0x4fc00728;
ets_secure_boot_revoke_public_key_digest = 0x4fc0072c;
/***************************************
@@ -462,10 +460,10 @@ ets_secure_boot_revoke_public_key_digest = 0x4fc00738;
***************************************/
/* Functions */
usb_serial_device_rx_one_char = 0x4fc008b0;
usb_serial_device_rx_one_char_block = 0x4fc008b4;
usb_serial_device_tx_flush = 0x4fc008b8;
usb_serial_device_tx_one_char = 0x4fc008bc;
usb_serial_device_rx_one_char = 0x4fc008a4;
usb_serial_device_rx_one_char_block = 0x4fc008a8;
usb_serial_device_tx_flush = 0x4fc008ac;
usb_serial_device_tx_one_char = 0x4fc008b0;
/***************************************
@@ -473,13 +471,13 @@ usb_serial_device_tx_one_char = 0x4fc008bc;
***************************************/
/* Functions */
Uart_Init_USB = 0x4fc008c0;
usb_serial_otg_rx_one_char = 0x4fc008c4;
usb_serial_otg_rx_one_char_block = 0x4fc008c8;
usb_serial_otg_tx_flush = 0x4fc008cc;
usb_serial_otg_tx_one_char = 0x4fc008d0;
Uart_Init_USB = 0x4fc008b4;
usb_serial_otg_rx_one_char = 0x4fc008b8;
usb_serial_otg_rx_one_char_block = 0x4fc008bc;
usb_serial_otg_tx_flush = 0x4fc008c0;
usb_serial_otg_tx_one_char = 0x4fc008c4;
/* Data (.data, .bss, .rodata) */
uart_acm_dev = 0x4ff3ffd4;
uart_acm_dev = 0x4ffbffd4;
/***************************************
@@ -487,99 +485,108 @@ uart_acm_dev = 0x4ff3ffd4;
***************************************/
/* Functions */
cdc_acm_class_handle_req = 0x4fc008d4;
cdc_acm_init = 0x4fc008d8;
cdc_acm_fifo_fill = 0x4fc008dc;
cdc_acm_rx_fifo_cnt = 0x4fc008e0;
cdc_acm_fifo_read = 0x4fc008e4;
cdc_acm_irq_tx_enable = 0x4fc008e8;
cdc_acm_irq_tx_disable = 0x4fc008ec;
cdc_acm_irq_state_enable = 0x4fc008f0;
cdc_acm_irq_state_disable = 0x4fc008f4;
cdc_acm_irq_tx_ready = 0x4fc008f8;
cdc_acm_irq_rx_enable = 0x4fc008fc;
cdc_acm_irq_rx_disable = 0x4fc00900;
cdc_acm_irq_rx_ready = 0x4fc00904;
cdc_acm_irq_is_pending = 0x4fc00908;
cdc_acm_irq_callback_set = 0x4fc0090c;
cdc_acm_line_ctrl_set = 0x4fc00910;
cdc_acm_line_ctrl_get = 0x4fc00914;
cdc_acm_poll_out = 0x4fc00918;
chip_usb_dw_did_persist = 0x4fc0091c;
chip_usb_dw_init = 0x4fc00920;
chip_usb_detach = 0x4fc00924;
chip_usb_dw_prepare_persist = 0x4fc00928;
chip_usb_get_persist_flags = 0x4fc0092c;
chip_usb_set_persist_flags = 0x4fc00930;
cpio_start = 0x4fc00934;
cpio_feed = 0x4fc00938;
cpio_done = 0x4fc0093c;
cpio_destroy = 0x4fc00940;
dfu_flash_init = 0x4fc00944;
dfu_flash_erase = 0x4fc00948;
dfu_flash_program = 0x4fc0094c;
dfu_flash_read = 0x4fc00950;
dfu_flash_attach = 0x4fc00954;
dfu_cpio_callback = 0x4fc00958;
dfu_updater_get_err = 0x4fc0095c;
dfu_updater_clear_err = 0x4fc00960;
dfu_updater_enable = 0x4fc00964;
dfu_updater_begin = 0x4fc00968;
dfu_updater_feed = 0x4fc0096c;
dfu_updater_end = 0x4fc00970;
dfu_updater_set_raw_addr = 0x4fc00974;
dfu_updater_flash_read = 0x4fc00978;
usb_dc_prepare_persist = 0x4fc0097c;
usb_dw_isr_handler = 0x4fc00980;
usb_dc_attach = 0x4fc00984;
usb_dc_detach = 0x4fc00988;
usb_dc_reset = 0x4fc0098c;
usb_dc_set_address = 0x4fc00990;
usb_dc_ep_check_cap = 0x4fc00994;
usb_dc_ep_configure = 0x4fc00998;
usb_dc_ep_set_stall = 0x4fc0099c;
usb_dc_ep_clear_stall = 0x4fc009a0;
usb_dc_ep_halt = 0x4fc009a4;
usb_dc_ep_is_stalled = 0x4fc009a8;
usb_dc_ep_enable = 0x4fc009ac;
usb_dc_ep_disable = 0x4fc009b0;
usb_dc_ep_flush = 0x4fc009b4;
usb_dc_ep_write_would_block = 0x4fc009b8;
usb_dc_ep_write = 0x4fc009bc;
usb_dc_ep_read_wait = 0x4fc009c0;
usb_dc_ep_read_continue = 0x4fc009c4;
usb_dc_ep_read = 0x4fc009c8;
usb_dc_ep_set_callback = 0x4fc009cc;
usb_dc_set_status_callback = 0x4fc009d0;
usb_dc_ep_mps = 0x4fc009d4;
usb_dc_check_poll_for_interrupts = 0x4fc009d8;
mac_addr_to_serial_str_desc = 0x4fc009dc;
usb_set_current_descriptor = 0x4fc009e0;
usb_get_descriptor = 0x4fc009e4;
usb_dev_resume = 0x4fc009e8;
usb_dev_get_configuration = 0x4fc009ec;
usb_set_config = 0x4fc009f0;
usb_deconfig = 0x4fc009f4;
usb_enable = 0x4fc009f8;
usb_disable = 0x4fc009fc;
usb_write_would_block = 0x4fc00a00;
usb_write = 0x4fc00a04;
usb_read = 0x4fc00a08;
usb_ep_set_stall = 0x4fc00a0c;
usb_ep_clear_stall = 0x4fc00a10;
usb_ep_read_wait = 0x4fc00a14;
usb_ep_read_continue = 0x4fc00a18;
usb_transfer_ep_callback = 0x4fc00a1c;
usb_transfer = 0x4fc00a20;
usb_cancel_transfer = 0x4fc00a24;
usb_transfer_sync = 0x4fc00a28;
usb_dfu_set_detach_cb = 0x4fc00a2c;
dfu_class_handle_req = 0x4fc00a30;
dfu_status_cb = 0x4fc00a34;
dfu_custom_handle_req = 0x4fc00a38;
usb_dfu_init = 0x4fc00a3c;
usb_dfu_force_detach = 0x4fc00a40;
usb_dev_deinit = 0x4fc00a44;
usb_dw_ctrl_deinit = 0x4fc00a48;
cdc_acm_class_handle_req = 0x4fc008c8;
cdc_acm_init = 0x4fc008cc;
cdc_acm_fifo_fill = 0x4fc008d0;
cdc_acm_rx_fifo_cnt = 0x4fc008d4;
cdc_acm_fifo_read = 0x4fc008d8;
cdc_acm_irq_tx_enable = 0x4fc008dc;
cdc_acm_irq_tx_disable = 0x4fc008e0;
cdc_acm_irq_state_enable = 0x4fc008e4;
cdc_acm_irq_state_disable = 0x4fc008e8;
cdc_acm_irq_tx_ready = 0x4fc008ec;
cdc_acm_irq_rx_enable = 0x4fc008f0;
cdc_acm_irq_rx_disable = 0x4fc008f4;
cdc_acm_irq_rx_ready = 0x4fc008f8;
cdc_acm_irq_is_pending = 0x4fc008fc;
cdc_acm_irq_callback_set = 0x4fc00900;
cdc_acm_line_ctrl_set = 0x4fc00904;
cdc_acm_line_ctrl_get = 0x4fc00908;
cdc_acm_poll_out = 0x4fc0090c;
chip_usb_dw_did_persist = 0x4fc00910;
chip_usb_dw_init = 0x4fc00914;
chip_usb_detach = 0x4fc00918;
chip_usb_dw_prepare_persist = 0x4fc0091c;
chip_usb_get_persist_flags = 0x4fc00920;
chip_usb_set_persist_flags = 0x4fc00924;
cpio_start = 0x4fc00928;
cpio_feed = 0x4fc0092c;
cpio_done = 0x4fc00930;
cpio_destroy = 0x4fc00934;
dfu_flash_init = 0x4fc00938;
dfu_flash_erase = 0x4fc0093c;
dfu_flash_program = 0x4fc00940;
dfu_flash_read = 0x4fc00944;
dfu_flash_attach = 0x4fc00948;
dfu_cpio_callback = 0x4fc0094c;
dfu_updater_get_err = 0x4fc00950;
dfu_updater_clear_err = 0x4fc00954;
dfu_updater_enable = 0x4fc00958;
dfu_updater_begin = 0x4fc0095c;
dfu_updater_feed = 0x4fc00960;
dfu_updater_end = 0x4fc00964;
dfu_updater_set_raw_addr = 0x4fc00968;
dfu_updater_flash_read = 0x4fc0096c;
usb_dc_prepare_persist = 0x4fc00970;
usb_dw_isr_handler = 0x4fc00974;
usb_dc_attach = 0x4fc00978;
usb_dc_detach = 0x4fc0097c;
usb_dc_reset = 0x4fc00980;
usb_dc_set_address = 0x4fc00984;
usb_dc_ep_check_cap = 0x4fc00988;
usb_dc_ep_configure = 0x4fc0098c;
usb_dc_ep_set_stall = 0x4fc00990;
usb_dc_ep_clear_stall = 0x4fc00994;
usb_dc_ep_halt = 0x4fc00998;
usb_dc_ep_is_stalled = 0x4fc0099c;
usb_dc_ep_enable = 0x4fc009a0;
usb_dc_ep_disable = 0x4fc009a4;
usb_dc_ep_flush = 0x4fc009a8;
usb_dc_ep_write_would_block = 0x4fc009ac;
usb_dc_ep_write = 0x4fc009b0;
usb_dc_ep_read_wait = 0x4fc009b4;
usb_dc_ep_read_continue = 0x4fc009b8;
usb_dc_ep_read = 0x4fc009bc;
usb_dc_ep_set_callback = 0x4fc009c0;
usb_dc_set_status_callback = 0x4fc009c4;
usb_dc_ep_mps = 0x4fc009c8;
usb_dc_check_poll_for_interrupts = 0x4fc009cc;
mac_addr_to_serial_str_desc = 0x4fc009d0;
usb_set_current_descriptor = 0x4fc009d4;
usb_get_descriptor = 0x4fc009d8;
usb_dev_resume = 0x4fc009dc;
usb_dev_get_configuration = 0x4fc009e0;
usb_set_config = 0x4fc009e4;
usb_deconfig = 0x4fc009e8;
usb_enable = 0x4fc009ec;
usb_disable = 0x4fc009f0;
usb_write_would_block = 0x4fc009f4;
usb_write = 0x4fc009f8;
usb_read = 0x4fc009fc;
usb_ep_set_stall = 0x4fc00a00;
usb_ep_clear_stall = 0x4fc00a04;
usb_ep_read_wait = 0x4fc00a08;
usb_ep_read_continue = 0x4fc00a0c;
usb_transfer_ep_callback = 0x4fc00a10;
usb_transfer = 0x4fc00a14;
usb_cancel_transfer = 0x4fc00a18;
usb_transfer_sync = 0x4fc00a1c;
usb_dfu_set_detach_cb = 0x4fc00a20;
dfu_class_handle_req = 0x4fc00a24;
dfu_status_cb = 0x4fc00a28;
dfu_custom_handle_req = 0x4fc00a2c;
usb_dfu_init = 0x4fc00a30;
usb_dfu_force_detach = 0x4fc00a34;
usb_dev_deinit = 0x4fc00a38;
usb_dw_ctrl_deinit = 0x4fc00a3c;
/* Data (.data, .bss, .rodata) */
s_usb_osglue = 0x4ff3ffc8;
s_usb_osglue = 0x4ffbffc8;
/***************************************
Group recovery_bootloader
***************************************/
/* Functions */
ets_get_bootloader_offset = 0x4fc00a40;
ets_set_bootloader_offset = 0x4fc00a44;
@@ -1,5 +1,5 @@
/*
* SPDX-FileCopyrightText: 2024-2025 Espressif Systems (Shanghai) CO LTD
* SPDX-FileCopyrightText: 2025 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
@@ -9,28 +9,41 @@ strlen = 0x4fc00288;
strstr = 0x4fc0028c;
bzero = 0x4fc00290;
sbrk = 0x4fc00298;
isalnum = 0x4fc0029c;
isalpha = 0x4fc002a0;
isascii = 0x4fc002a4;
isblank = 0x4fc002a8;
iscntrl = 0x4fc002ac;
isdigit = 0x4fc002b0;
islower = 0x4fc002b4;
isgraph = 0x4fc002b8;
isprint = 0x4fc002bc;
ispunct = 0x4fc002c0;
isspace = 0x4fc002c4;
isupper = 0x4fc002c8;
toupper = 0x4fc002cc;
tolower = 0x4fc002d0;
toascii = 0x4fc002d4;
memccpy = 0x4fc002d8;
memchr = 0x4fc002dc;
memrchr = 0x4fc002e0;
strcasecmp = 0x4fc002e4;
strcasestr = 0x4fc002e8;
strcat = 0x4fc002ec;
strchr = 0x4fc002f4;
strcspn = 0x4fc002f8;
strcoll = 0x4fc002fc;
strlcat = 0x4fc00300;
strlcpy = 0x4fc00304;
strlwr = 0x4fc00308;
strncasecmp = 0x4fc0030c;
strncat = 0x4fc00310;
strnlen = 0x4fc00318;
strrchr = 0x4fc0031c;
strsep = 0x4fc00320;
strspn = 0x4fc00324;
strtok_r = 0x4fc00328;
strupr = 0x4fc0032c;
longjmp = 0x4fc00330;
setjmp = 0x4fc00334;
abs = 0x4fc00338;
@@ -41,5 +54,5 @@ qsort = 0x4fc00348;
utoa = 0x4fc00358;
itoa = 0x4fc0035c;
/* Data (.data, .bss, .rodata) */
syscall_table_ptr = 0x4ff3ffe4;
_global_impure_ptr = 0x4ff3ffe0;
syscall_table_ptr = 0x4ffbffe4;
_global_impure_ptr = 0x4ffbffe0;
@@ -1,14 +1,14 @@
/*
* SPDX-FileCopyrightText: 2023-2025 Espressif Systems (Shanghai) CO LTD
* SPDX-FileCopyrightText: 2025 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
/* ROM function interface esp32p4.rom.libgcc.ld for esp32p4
*
*
* Generated from ./target/esp32p4/interface-esp32p4.yml md5sum f6516bd9708d890f63db87f8aed53ca7
* Generated from ./target/esp32p4/interface-esp32p4.yml md5sum 56d78222be1daa0502090a078288f4d5
*
* Compatible with ROM where ECO version equal or greater to 0.
* Compatible with ROM where ECO version equal or greater to 5.
*
* THIS FILE WAS AUTOMATICALLY GENERATED. DO NOT EDIT.
*/
@@ -18,78 +18,78 @@
***************************************/
/* Functions */
__absvdi2 = 0x4fc0073c;
__absvsi2 = 0x4fc00740;
__adddf3 = 0x4fc00744;
__addvdi3 = 0x4fc00748;
__addvsi3 = 0x4fc0074c;
__ashldi3 = 0x4fc00750;
__ashrdi3 = 0x4fc00754;
__bswapdi2 = 0x4fc00758;
__bswapsi2 = 0x4fc0075c;
__clear_cache = 0x4fc00760;
__clrsbdi2 = 0x4fc00764;
__clrsbsi2 = 0x4fc00768;
__clzdi2 = 0x4fc0076c;
__clzsi2 = 0x4fc00770;
__cmpdi2 = 0x4fc00774;
__ctzdi2 = 0x4fc00778;
__ctzsi2 = 0x4fc0077c;
__divdc3 = 0x4fc00780;
__divdf3 = 0x4fc00784;
__divdi3 = 0x4fc00788;
__divsc3 = 0x4fc0078c;
__divsi3 = 0x4fc00790;
__eqdf2 = 0x4fc00794;
__extendsfdf2 = 0x4fc00798;
__ffsdi2 = 0x4fc0079c;
__ffssi2 = 0x4fc007a0;
__fixdfdi = 0x4fc007a4;
__fixdfsi = 0x4fc007a8;
__fixsfdi = 0x4fc007ac;
__fixunsdfsi = 0x4fc007b0;
__fixunssfdi = 0x4fc007b4;
__fixunssfsi = 0x4fc007b8;
__floatdidf = 0x4fc007bc;
__floatdisf = 0x4fc007c0;
__floatsidf = 0x4fc007c4;
__floatundidf = 0x4fc007c8;
__floatundisf = 0x4fc007cc;
__floatunsidf = 0x4fc007d0;
__gcc_bcmp = 0x4fc007d4;
__gedf2 = 0x4fc007d8;
__gtdf2 = 0x4fc007dc;
__ledf2 = 0x4fc007e0;
__lshrdi3 = 0x4fc007e4;
__ltdf2 = 0x4fc007e8;
__moddi3 = 0x4fc007ec;
__modsi3 = 0x4fc007f0;
__muldc3 = 0x4fc007f4;
__muldf3 = 0x4fc007f8;
__muldi3 = 0x4fc007fc;
__mulsc3 = 0x4fc00800;
__mulsi3 = 0x4fc00804;
__mulvdi3 = 0x4fc00808;
__mulvsi3 = 0x4fc0080c;
__nedf2 = 0x4fc00810;
__negdf2 = 0x4fc00814;
__negdi2 = 0x4fc00818;
__negvdi2 = 0x4fc0081c;
__negvsi2 = 0x4fc00820;
__paritysi2 = 0x4fc00824;
__popcountdi2 = 0x4fc00828;
__popcountsi2 = 0x4fc0082c;
__powidf2 = 0x4fc00830;
__subdf3 = 0x4fc00834;
__subvdi3 = 0x4fc00838;
__subvsi3 = 0x4fc0083c;
__ucmpdi2 = 0x4fc00840;
__udivdi3 = 0x4fc00844;
__udivmoddi4 = 0x4fc00848;
__udivsi3 = 0x4fc0084c;
__udiv_w_sdiv = 0x4fc00850;
__umoddi3 = 0x4fc00854;
__umodsi3 = 0x4fc00858;
__unorddf2 = 0x4fc0085c;
__extenddftf2 = 0x4fc00860;
__trunctfdf2 = 0x4fc00864;
__absvdi2 = 0x4fc00730;
__absvsi2 = 0x4fc00734;
__adddf3 = 0x4fc00738;
__addvdi3 = 0x4fc0073c;
__addvsi3 = 0x4fc00740;
__ashldi3 = 0x4fc00744;
__ashrdi3 = 0x4fc00748;
__bswapdi2 = 0x4fc0074c;
__bswapsi2 = 0x4fc00750;
__clear_cache = 0x4fc00754;
__clrsbdi2 = 0x4fc00758;
__clrsbsi2 = 0x4fc0075c;
__clzdi2 = 0x4fc00760;
__clzsi2 = 0x4fc00764;
__cmpdi2 = 0x4fc00768;
__ctzdi2 = 0x4fc0076c;
__ctzsi2 = 0x4fc00770;
__divdc3 = 0x4fc00774;
__divdf3 = 0x4fc00778;
__divdi3 = 0x4fc0077c;
__divsc3 = 0x4fc00780;
__divsi3 = 0x4fc00784;
__eqdf2 = 0x4fc00788;
__extendsfdf2 = 0x4fc0078c;
__ffsdi2 = 0x4fc00790;
__ffssi2 = 0x4fc00794;
__fixdfdi = 0x4fc00798;
__fixdfsi = 0x4fc0079c;
__fixsfdi = 0x4fc007a0;
__fixunsdfsi = 0x4fc007a4;
__fixunssfdi = 0x4fc007a8;
__fixunssfsi = 0x4fc007ac;
__floatdidf = 0x4fc007b0;
__floatdisf = 0x4fc007b4;
__floatsidf = 0x4fc007b8;
__floatundidf = 0x4fc007bc;
__floatundisf = 0x4fc007c0;
__floatunsidf = 0x4fc007c4;
__gcc_bcmp = 0x4fc007c8;
__gedf2 = 0x4fc007cc;
__gtdf2 = 0x4fc007d0;
__ledf2 = 0x4fc007d4;
__lshrdi3 = 0x4fc007d8;
__ltdf2 = 0x4fc007dc;
__moddi3 = 0x4fc007e0;
__modsi3 = 0x4fc007e4;
__muldc3 = 0x4fc007e8;
__muldf3 = 0x4fc007ec;
__muldi3 = 0x4fc007f0;
__mulsc3 = 0x4fc007f4;
__mulsi3 = 0x4fc007f8;
__mulvdi3 = 0x4fc007fc;
__mulvsi3 = 0x4fc00800;
__nedf2 = 0x4fc00804;
__negdf2 = 0x4fc00808;
__negdi2 = 0x4fc0080c;
__negvdi2 = 0x4fc00810;
__negvsi2 = 0x4fc00814;
__paritysi2 = 0x4fc00818;
__popcountdi2 = 0x4fc0081c;
__popcountsi2 = 0x4fc00820;
__powidf2 = 0x4fc00824;
__subdf3 = 0x4fc00828;
__subvdi3 = 0x4fc0082c;
__subvsi3 = 0x4fc00830;
__ucmpdi2 = 0x4fc00834;
__udivdi3 = 0x4fc00838;
__udivmoddi4 = 0x4fc0083c;
__udivsi3 = 0x4fc00840;
__udiv_w_sdiv = 0x4fc00844;
__umoddi3 = 0x4fc00848;
__umodsi3 = 0x4fc0084c;
__unorddf2 = 0x4fc00850;
__extenddftf2 = 0x4fc00854;
__trunctfdf2 = 0x4fc00858;
@@ -1,14 +1,14 @@
/*
* SPDX-FileCopyrightText: 2023-2025 Espressif Systems (Shanghai) CO LTD
* SPDX-FileCopyrightText: 2025 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
/* ROM function interface esp32p4.rom.newlib.ld for esp32p4
*
*
* Generated from ./target/esp32p4/interface-esp32p4.yml md5sum f6516bd9708d890f63db87f8aed53ca7
* Generated from ./target/esp32p4/interface-esp32p4.yml md5sum 56d78222be1daa0502090a078288f4d5
*
* Compatible with ROM where ECO version equal or greater to 0.
* Compatible with ROM where ECO version equal or greater to 5.
*
* THIS FILE WAS AUTOMATICALLY GENERATED. !!! BUT EDITED !!!
* The file was originally generated for use with newlib, but it was split into
@@ -39,16 +39,3 @@ __swhatbuf_r = 0x4fc00384;
__swbuf_r = 0x4fc00388;
__swbuf = 0x4fc0038c;
__swsetup_r = 0x4fc00390;
toupper = 0x4fc002cc;
tolower = 0x4fc002d0;
isalnum = 0x4fc0029c;
isalpha = 0x4fc002a0;
isdigit = 0x4fc002b0;
islower = 0x4fc002b4;
isspace = 0x4fc002c4;
isupper = 0x4fc002c8;
strcasecmp = 0x4fc002e4;
strcoll = 0x4fc002fc;
strlwr = 0x4fc00308;
strncasecmp = 0x4fc0030c;
strupr = 0x4fc0032c;
@@ -1,14 +1,14 @@
/*
* SPDX-FileCopyrightText: 2023-2025 Espressif Systems (Shanghai) CO LTD
* SPDX-FileCopyrightText: 2025 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
/* ROM function interface esp32p4.rom.rvfp.ld for esp32p4
*
*
* Generated from ./target/esp32p4/interface-esp32p4.yml md5sum f6516bd9708d890f63db87f8aed53ca7
* Generated from ./target/esp32p4/interface-esp32p4.yml md5sum 56d78222be1daa0502090a078288f4d5
*
* Compatible with ROM where ECO version equal or greater to 0.
* Compatible with ROM where ECO version equal or greater to 5.
*
* THIS FILE WAS AUTOMATICALLY GENERATED. DO NOT EDIT.
*/
@@ -16,101 +16,86 @@
/***************************************
Group rvfplibdf
***************************************/
/*
* These functions cannot work when compiling with floating point ABI
* implementation assumes argument is passed in a0, but floats will be passed
* in the floating point registers instead
*
* __fixsfdi = 0x4fc00878;
* __fixunssfdi = 0x4fc00880;
*/
/* Functions */
__adddf3 = 0x4fc00868;
__eqdf2 = 0x4fc0086c;
__fixdfdi = 0x4fc00870;
__fixdfsi = 0x4fc00874;
__fixunsdfsi = 0x4fc0087c;
__floatdidf = 0x4fc00884;
__floatsidf = 0x4fc00888;
__floatundidf = 0x4fc0088c;
__floatunsidf = 0x4fc00890;
__gedf2 = 0x4fc00894;
__gtdf2 = 0x4fc00898;
__ledf2 = 0x4fc0089c;
__ltdf2 = 0x4fc008a0;
__muldf3 = 0x4fc008a4;
__nedf2 = 0x4fc008a8;
__subdf3 = 0x4fc008ac;
__adddf3 = 0x4fc0085c;
__eqdf2 = 0x4fc00860;
__fixdfdi = 0x4fc00864;
__fixdfsi = 0x4fc00868;
__fixunsdfsi = 0x4fc00870;
__floatdidf = 0x4fc00878;
__floatsidf = 0x4fc0087c;
__floatundidf = 0x4fc00880;
__floatunsidf = 0x4fc00884;
__gedf2 = 0x4fc00888;
__gtdf2 = 0x4fc0088c;
__ledf2 = 0x4fc00890;
__ltdf2 = 0x4fc00894;
__muldf3 = 0x4fc00898;
__nedf2 = 0x4fc0089c;
__subdf3 = 0x4fc008a0;
/***************************************
Group libgcc
***************************************/
/* Not part of the original ROM interface, but RVFP versions cannot work with float-abi */
__fixsfdi = 0x4fc007ac;
__fixunssfdi = 0x4fc007b4;
/* Functions */
__absvdi2 = 0x4fc0073c;
__absvsi2 = 0x4fc00740;
__addvdi3 = 0x4fc00748;
__addvsi3 = 0x4fc0074c;
__ashldi3 = 0x4fc00750;
__ashrdi3 = 0x4fc00754;
__bswapdi2 = 0x4fc00758;
__bswapsi2 = 0x4fc0075c;
__clear_cache = 0x4fc00760;
__clrsbdi2 = 0x4fc00764;
__clrsbsi2 = 0x4fc00768;
__clzdi2 = 0x4fc0076c;
__clzsi2 = 0x4fc00770;
__cmpdi2 = 0x4fc00774;
__ctzdi2 = 0x4fc00778;
__ctzsi2 = 0x4fc0077c;
__divdc3 = 0x4fc00780;
__divdf3 = 0x4fc00784;
__divdi3 = 0x4fc00788;
__divsc3 = 0x4fc0078c;
__divsi3 = 0x4fc00790;
__extendsfdf2 = 0x4fc00798;
__ffsdi2 = 0x4fc0079c;
__ffssi2 = 0x4fc007a0;
__fixunssfsi = 0x4fc007b8;
__floatdisf = 0x4fc007c0;
__floatundisf = 0x4fc007cc;
__gcc_bcmp = 0x4fc007d4;
__lshrdi3 = 0x4fc007e4;
__moddi3 = 0x4fc007ec;
__modsi3 = 0x4fc007f0;
__muldc3 = 0x4fc007f4;
__muldi3 = 0x4fc007fc;
__mulsc3 = 0x4fc00800;
__mulsi3 = 0x4fc00804;
__mulvdi3 = 0x4fc00808;
__mulvsi3 = 0x4fc0080c;
__negdf2 = 0x4fc00814;
__negdi2 = 0x4fc00818;
__negvdi2 = 0x4fc0081c;
__negvsi2 = 0x4fc00820;
__paritysi2 = 0x4fc00824;
__popcountdi2 = 0x4fc00828;
__popcountsi2 = 0x4fc0082c;
__powidf2 = 0x4fc00830;
__subvdi3 = 0x4fc00838;
__subvsi3 = 0x4fc0083c;
__ucmpdi2 = 0x4fc00840;
__udivdi3 = 0x4fc00844;
__udivmoddi4 = 0x4fc00848;
__udivsi3 = 0x4fc0084c;
__udiv_w_sdiv = 0x4fc00850;
__umoddi3 = 0x4fc00854;
__umodsi3 = 0x4fc00858;
__unorddf2 = 0x4fc0085c;
__extenddftf2 = 0x4fc00860;
__trunctfdf2 = 0x4fc00864;
/***************************************
Group libgcc
***************************************/
/* Functions */
__absvdi2 = 0x4fc00730;
__absvsi2 = 0x4fc00734;
__addvdi3 = 0x4fc0073c;
__addvsi3 = 0x4fc00740;
__ashldi3 = 0x4fc00744;
__ashrdi3 = 0x4fc00748;
__bswapdi2 = 0x4fc0074c;
__bswapsi2 = 0x4fc00750;
__clear_cache = 0x4fc00754;
__clrsbdi2 = 0x4fc00758;
__clrsbsi2 = 0x4fc0075c;
__clzdi2 = 0x4fc00760;
__clzsi2 = 0x4fc00764;
__cmpdi2 = 0x4fc00768;
__ctzdi2 = 0x4fc0076c;
__ctzsi2 = 0x4fc00770;
__divdc3 = 0x4fc00774;
__divdf3 = 0x4fc00778;
__divdi3 = 0x4fc0077c;
__divsc3 = 0x4fc00780;
__divsi3 = 0x4fc00784;
__extendsfdf2 = 0x4fc0078c;
__ffsdi2 = 0x4fc00790;
__ffssi2 = 0x4fc00794;
__fixsfdi = 0x4fc007a0;
__fixunssfdi = 0x4fc007a8;
__fixunssfsi = 0x4fc007ac;
__floatdisf = 0x4fc007b4;
__floatundisf = 0x4fc007c0;
__gcc_bcmp = 0x4fc007c8;
__lshrdi3 = 0x4fc007d8;
__moddi3 = 0x4fc007e0;
__modsi3 = 0x4fc007e4;
__muldc3 = 0x4fc007e8;
__muldi3 = 0x4fc007f0;
__mulsc3 = 0x4fc007f4;
__mulsi3 = 0x4fc007f8;
__mulvdi3 = 0x4fc007fc;
__mulvsi3 = 0x4fc00800;
__negdf2 = 0x4fc00808;
__negdi2 = 0x4fc0080c;
__negvdi2 = 0x4fc00810;
__negvsi2 = 0x4fc00814;
__paritysi2 = 0x4fc00818;
__popcountdi2 = 0x4fc0081c;
__popcountsi2 = 0x4fc00820;
__powidf2 = 0x4fc00824;
__subvdi3 = 0x4fc0082c;
__subvsi3 = 0x4fc00830;
__ucmpdi2 = 0x4fc00834;
__udivdi3 = 0x4fc00838;
__udivmoddi4 = 0x4fc0083c;
__udivsi3 = 0x4fc00840;
__udiv_w_sdiv = 0x4fc00844;
__umoddi3 = 0x4fc00848;
__umodsi3 = 0x4fc0084c;
__unorddf2 = 0x4fc00850;
__extenddftf2 = 0x4fc00854;
__trunctfdf2 = 0x4fc00858;