Merge branch 'feat/h4_mp_update_rom_linker' into 'master'

feat(h4mp): update rom linker (part3)

Closes IDF-13770

See merge request espressif/esp-idf!41213
This commit is contained in:
Chen Ji Chang
2025-08-27 11:43:40 +08:00
19 changed files with 1404 additions and 442 deletions

View File

@@ -104,6 +104,8 @@ else()
# TODO: IDF-13410. Update to (CONFIG_ESP32P4_REV_MIN_FULL GREATER_EQUAL 200) when chip efuse is correct. # TODO: IDF-13410. Update to (CONFIG_ESP32P4_REV_MIN_FULL GREATER_EQUAL 200) when chip efuse is correct.
if(CONFIG_ESP32P4_REV_MIN_200) if(CONFIG_ESP32P4_REV_MIN_200)
target_linker_script(${COMPONENT_LIB} INTERFACE "${target_folder}/${ld_folder}/${target}.rom.eco5.ld") target_linker_script(${COMPONENT_LIB} INTERFACE "${target_folder}/${ld_folder}/${target}.rom.eco5.ld")
elseif(CONFIG_IDF_TARGET_ESP32H4 AND NOT CONFIG_ESP32H4_SELECTS_REV_MP) # TODO: ESP32H4 IDF-13835
target_linker_script(${COMPONENT_LIB} INTERFACE "${target_folder}/${ld_folder}/${target}.rom.beta5.ld")
else() else()
target_linker_script(${COMPONENT_LIB} INTERFACE "${target_folder}/${ld_folder}/${target}.rom.ld") target_linker_script(${COMPONENT_LIB} INTERFACE "${target_folder}/${ld_folder}/${target}.rom.ld")
endif() endif()
@@ -117,6 +119,8 @@ else()
if(CONFIG_COMPILER_FLOAT_LIB_FROM_GCCLIB) if(CONFIG_COMPILER_FLOAT_LIB_FROM_GCCLIB)
if(CONFIG_ESP32P4_REV_MIN_200) # TODO: IDF-13410 if(CONFIG_ESP32P4_REV_MIN_200) # TODO: IDF-13410
rom_linker_script("eco5.libgcc") rom_linker_script("eco5.libgcc")
elseif(CONFIG_IDF_TARGET_ESP32H4 AND NOT CONFIG_ESP32H4_SELECTS_REV_MP) # TODO: ESP32H4 IDF-13835
rom_linker_script("beta5.libgcc")
else() else()
rom_linker_script("libgcc") rom_linker_script("libgcc")
endif() endif()
@@ -132,11 +136,19 @@ endif()
# Common API which is linked both for bootloader and app builds # Common API which is linked both for bootloader and app builds
if(CONFIG_HAL_WDT_USE_ROM_IMPL) if(CONFIG_HAL_WDT_USE_ROM_IMPL)
if(CONFIG_IDF_TARGET_ESP32H4 AND NOT CONFIG_ESP32H4_SELECTS_REV_MP) # TODO: ESP32H4 IDF-13835
rom_linker_script("beta5.wdt")
else()
rom_linker_script("wdt") rom_linker_script("wdt")
endif()
endif() endif()
if(CONFIG_HAL_SYSTIMER_USE_ROM_IMPL) if(CONFIG_HAL_SYSTIMER_USE_ROM_IMPL)
if(CONFIG_IDF_TARGET_ESP32H4 AND NOT CONFIG_ESP32H4_SELECTS_REV_MP) # TODO: ESP32H4 IDF-13835
rom_linker_script("beta5.systimer")
else()
rom_linker_script("systimer") rom_linker_script("systimer")
endif()
endif() endif()
if(CONFIG_ESP_ROM_HAS_VERSION) if(CONFIG_ESP_ROM_HAS_VERSION)
@@ -144,11 +156,19 @@ if(CONFIG_ESP_ROM_HAS_VERSION)
endif() endif()
if(ESP_TEE_BUILD) if(ESP_TEE_BUILD)
rom_linker_script("spiflash") if(CONFIG_IDF_TARGET_ESP32H4 AND NOT CONFIG_ESP32H4_SELECTS_REV_MP) # TODO: ESP32H4 IDF-13835
rom_linker_script("beta5.heap")
rom_linker_script("beta5.spiflash")
if(CONFIG_ESP_ROM_HAS_NEWLIB_NANO_FORMAT)
rom_linker_script("beta5.newlib-nano")
endif()
else()
rom_linker_script("heap") rom_linker_script("heap")
rom_linker_script("spiflash")
if(CONFIG_ESP_ROM_HAS_NEWLIB_NANO_FORMAT) if(CONFIG_ESP_ROM_HAS_NEWLIB_NANO_FORMAT)
rom_linker_script("newlib-nano") rom_linker_script("newlib-nano")
endif() endif()
endif()
rom_linker_script("libc") rom_linker_script("libc")
if(CONFIG_ESP_ROM_HAS_SUBOPTIMAL_NEWLIB_ON_MISALIGNED_MEMORY) # TODO IDF-13852: use optimized memcpy for TEE ? if(CONFIG_ESP_ROM_HAS_SUBOPTIMAL_NEWLIB_ON_MISALIGNED_MEMORY) # TODO IDF-13852: use optimized memcpy for TEE ?
rom_linker_script("libc-suboptimal_for_misaligned_mem") rom_linker_script("libc-suboptimal_for_misaligned_mem")
@@ -174,6 +194,8 @@ if(BOOTLOADER_BUILD)
else() else()
if(CONFIG_ESP32P4_REV_MIN_200) # TODO: IDF-13410 if(CONFIG_ESP32P4_REV_MIN_200) # TODO: IDF-13410
rom_linker_script("eco5.libc") rom_linker_script("eco5.libc")
elseif(CONFIG_IDF_TARGET_ESP32H4 AND NOT CONFIG_ESP32H4_SELECTS_REV_MP) # TODO: ESP32H4 IDF-13835
rom_linker_script("beta5.libc")
else() else()
rom_linker_script("libc") rom_linker_script("libc")
endif() endif()
@@ -184,6 +206,8 @@ if(BOOTLOADER_BUILD)
if(CONFIG_LIBC_NEWLIB) if(CONFIG_LIBC_NEWLIB)
if(CONFIG_ESP32P4_REV_MIN_200) # TODO: IDF-13410 if(CONFIG_ESP32P4_REV_MIN_200) # TODO: IDF-13410
rom_linker_script("eco5.newlib") rom_linker_script("eco5.newlib")
elseif(CONFIG_IDF_TARGET_ESP32H4 AND NOT CONFIG_ESP32H4_SELECTS_REV_MP) # TODO: ESP32H4 IDF-13835
rom_linker_script("beta5.newlib")
else() else()
rom_linker_script("newlib") rom_linker_script("newlib")
endif() endif()
@@ -341,6 +365,8 @@ else() # Regular app build
# ESP32 and S2 are a bit different, keep them as special cases in the target specific include section # ESP32 and S2 are a bit different, keep them as special cases in the target specific include section
if(CONFIG_ESP32P4_REV_MIN_200) # TODO: IDF-13410 if(CONFIG_ESP32P4_REV_MIN_200) # TODO: IDF-13410
rom_linker_script("eco5.libc") rom_linker_script("eco5.libc")
elseif(CONFIG_IDF_TARGET_ESP32H4 AND NOT CONFIG_ESP32H4_SELECTS_REV_MP) # TODO: ESP32H4 IDF-13835
rom_linker_script("beta5.libc")
else() else()
rom_linker_script("libc") rom_linker_script("libc")
endif() endif()
@@ -350,6 +376,8 @@ else() # Regular app build
if(CONFIG_LIBC_NEWLIB) if(CONFIG_LIBC_NEWLIB)
if(CONFIG_ESP32P4_REV_MIN_200) # TODO: IDF-13410 if(CONFIG_ESP32P4_REV_MIN_200) # TODO: IDF-13410
rom_linker_script("eco5.newlib") rom_linker_script("eco5.newlib")
elseif(CONFIG_IDF_TARGET_ESP32H4 AND NOT CONFIG_ESP32H4_SELECTS_REV_MP) # TODO: ESP32H4 IDF-13835
rom_linker_script("beta5.newlib")
else() else()
rom_linker_script("newlib") rom_linker_script("newlib")
endif() endif()
@@ -359,9 +387,13 @@ else() # Regular app build
if(NOT CONFIG_ESP_ROM_HAS_NEWLIB_32BIT_TIME AND NOT CONFIG_ESP_ROM_HAS_NEWLIB_NANO_PRINTF_FLOAT_BUG) if(NOT CONFIG_ESP_ROM_HAS_NEWLIB_32BIT_TIME AND NOT CONFIG_ESP_ROM_HAS_NEWLIB_NANO_PRINTF_FLOAT_BUG)
# Newlib-nano functions contains time_t related functions # Newlib-nano functions contains time_t related functions
# and cannot be used if they were compiled with 32 bit time_t # and cannot be used if they were compiled with 32 bit time_t
if(CONFIG_IDF_TARGET_ESP32H4 AND NOT CONFIG_ESP32H4_SELECTS_REV_MP) # TODO: ESP32H4 IDF-13835
rom_linker_script("beta5.newlib-nano")
else()
rom_linker_script("newlib-nano") rom_linker_script("newlib-nano")
endif() endif()
endif() endif()
endif()
if(CONFIG_ESP_ROM_HAS_NEWLIB_NORMAL_FORMAT AND CONFIG_LIBC_NEWLIB AND NOT CONFIG_LIBC_NEWLIB_NANO_FORMAT) if(CONFIG_ESP_ROM_HAS_NEWLIB_NORMAL_FORMAT AND CONFIG_LIBC_NEWLIB AND NOT CONFIG_LIBC_NEWLIB_NANO_FORMAT)
rom_linker_script("newlib-normal") rom_linker_script("newlib-normal")
@@ -381,15 +413,23 @@ else() # Regular app build
target_link_libraries(${COMPONENT_LIB} PRIVATE "-u esp_rom_include_multi_heap_patch") target_link_libraries(${COMPONENT_LIB} PRIVATE "-u esp_rom_include_multi_heap_patch")
endif() endif()
if(CONFIG_IDF_TARGET_ESP32H4 AND NOT CONFIG_ESP32H4_SELECTS_REV_MP) # TODO: ESP32H4 IDF-13835
rom_linker_script("beta5.heap")
else()
rom_linker_script("heap") rom_linker_script("heap")
endif() endif()
endif()
if(CONFIG_SPI_FLASH_ROM_IMPL) if(CONFIG_SPI_FLASH_ROM_IMPL)
# Older targets do not have a separate ld file for spiflash # Older targets do not have a separate ld file for spiflash
if(NOT target STREQUAL "esp32c3" AND NOT target STREQUAL "esp32s3" AND NOT target STREQUAL "esp32c2") if(NOT target STREQUAL "esp32c3" AND NOT target STREQUAL "esp32s3" AND NOT target STREQUAL "esp32c2")
if(CONFIG_IDF_TARGET_ESP32H4 AND NOT CONFIG_ESP32H4_SELECTS_REV_MP) # TODO: ESP32H4 IDF-13835
rom_linker_script("beta5.spiflash")
else()
rom_linker_script("spiflash") rom_linker_script("spiflash")
endif() endif()
endif() endif()
endif()
if(CONFIG_MBEDTLS_USE_CRYPTO_ROM_IMPL) if(CONFIG_MBEDTLS_USE_CRYPTO_ROM_IMPL)
rom_linker_script("mbedtls") rom_linker_script("mbedtls")

View File

@@ -0,0 +1,79 @@
/*
* SPDX-FileCopyrightText: 2025 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
/* ROM function interface esp32h4.rom.heap.ld for esp32h4
*
*
* Generated from ./target/esp32h4/interface-esp32h4.yml md5sum 14f04fa4b1cf69c4e6eec57d641026c4
*
* Compatible with ROM where ECO version equal or greater to 0.
*
* THIS FILE WAS AUTOMATICALLY GENERATED. DO NOT EDIT.
*/
/***************************************
Group heap
***************************************/
/* Functions */
tlsf_create = 0x400003d8;
tlsf_create_with_pool = 0x400003dc;
tlsf_get_pool = 0x400003e0;
tlsf_add_pool = 0x400003e4;
tlsf_remove_pool = 0x400003e8;
tlsf_malloc = 0x400003ec;
tlsf_memalign = 0x400003f0;
tlsf_memalign_offs = 0x400003f4;
tlsf_malloc_addr = 0x400003f8;
tlsf_realloc = 0x400003fc;
tlsf_free = 0x40000400;
tlsf_block_size = 0x40000404;
tlsf_size = 0x40000408;
tlsf_pool_overhead = 0x4000040c;
tlsf_alloc_overhead = 0x40000410;
tlsf_walk_pool = 0x40000414;
tlsf_check = 0x40000418;
tlsf_check_pool = 0x4000041c;
tlsf_poison_fill_pfunc_set = 0x40000420;
tlsf_poison_check_pfunc_set = 0x40000424;
multi_heap_get_block_address_impl = 0x40000428;
multi_heap_get_allocated_size_impl = 0x4000042c;
multi_heap_register_impl = 0x40000430;
multi_heap_set_lock = 0x40000434;
multi_heap_os_funcs_init = 0x40000438;
multi_heap_internal_lock = 0x4000043c;
multi_heap_internal_unlock = 0x40000440;
multi_heap_get_first_block = 0x40000444;
multi_heap_get_next_block = 0x40000448;
multi_heap_is_free = 0x4000044c;
multi_heap_malloc_impl = 0x40000450;
multi_heap_free_impl = 0x40000454;
multi_heap_realloc_impl = 0x40000458;
multi_heap_aligned_alloc_impl_offs = 0x4000045c;
multi_heap_aligned_alloc_impl = 0x40000460;
multi_heap_check = 0x40000464;
multi_heap_dump = 0x40000468;
multi_heap_free_size_impl = 0x4000046c;
multi_heap_minimum_free_size_impl = 0x40000470;
multi_heap_get_info_impl = 0x40000474;
/* Data (.data, .bss, .rodata) */
heap_tlsf_table_ptr = 0x4085ffd4;
PROVIDE (multi_heap_malloc = multi_heap_malloc_impl);
PROVIDE (multi_heap_free = multi_heap_free_impl);
PROVIDE (multi_heap_realloc = multi_heap_realloc_impl);
PROVIDE (multi_heap_get_allocated_size = multi_heap_get_allocated_size_impl);
PROVIDE (multi_heap_register = multi_heap_register_impl);
PROVIDE (multi_heap_get_info = multi_heap_get_info_impl);
PROVIDE (multi_heap_free_size = multi_heap_free_size_impl);
PROVIDE (multi_heap_minimum_free_size = multi_heap_minimum_free_size_impl);
PROVIDE (multi_heap_get_block_address = multi_heap_get_block_address_impl);
PROVIDE (multi_heap_aligned_alloc = multi_heap_aligned_alloc_impl);
PROVIDE (multi_heap_aligned_free = multi_heap_aligned_free_impl);
PROVIDE (multi_heap_check = multi_heap_check);
PROVIDE (multi_heap_set_lock = multi_heap_set_lock);
PROVIDE (multi_heap_os_funcs_init = multi_heap_mutex_init);
PROVIDE (multi_heap_internal_lock = multi_heap_internal_lock);
PROVIDE (multi_heap_internal_unlock = multi_heap_internal_unlock);

View File

@@ -0,0 +1,404 @@
/*
* SPDX-FileCopyrightText: 2025 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
/* ROM function interface esp32h4.rom.ld for esp32h4
*
*
* Generated from ./target/esp32h4/interface-esp32h4.yml md5sum 14f04fa4b1cf69c4e6eec57d641026c4
*
* Compatible with ROM where ECO version equal or greater to 0.
*
* THIS FILE WAS AUTOMATICALLY GENERATED. DO NOT EDIT.
*/
/***************************************
Group common
***************************************/
/* Functions */
rtc_get_reset_reason = 0x40000018;
rtc_get_wakeup_cause = 0x4000001c;
pmu_enable_unhold_pads = 0x40000020;
ets_printf = 0x40000024;
ets_install_putc1 = 0x40000028;
ets_install_putc2 = 0x4000002c;
ets_install_uart_printf = 0x40000030;
ets_install_usb_printf = 0x40000034;
ets_get_printf_channel = 0x40000038;
ets_delay_us = 0x4000003c;
ets_get_cpu_frequency = 0x40000040;
ets_update_cpu_frequency = 0x40000044;
ets_install_lock = 0x40000048;
UartRxString = 0x4000004c;
UartGetCmdLn = 0x40000050;
uart_tx_one_char = 0x40000054;
uart_tx_one_char2 = 0x40000058;
uart_tx_one_char3 = 0x4000005c;
uart_rx_one_char = 0x40000060;
uart_rx_one_char_block = 0x40000064;
uart_rx_intr_handler = 0x40000068;
uart_rx_readbuff = 0x4000006c;
uartAttach = 0x40000070;
uart_tx_flush = 0x40000074;
uart_tx_wait_idle = 0x40000078;
uart_div_modify = 0x4000007c;
ets_write_char_uart = 0x40000080;
uart_tx_switch = 0x40000084;
uart_buff_switch = 0x40000088;
roundup2 = 0x4000008c;
multofup = 0x40000090;
software_reset = 0x40000094;
software_reset_cpu = 0x40000098;
ets_clk_assist_debug_clock_enable = 0x4000009c;
clear_super_wdt_reset_flag = 0x400000a0;
disable_default_watchdog = 0x400000a4;
ets_set_appcpu_boot_addr = 0x400000a8;
send_packet = 0x400000ac;
recv_packet = 0x400000b0;
GetUartDevice = 0x400000b4;
UartDwnLdProc = 0x400000b8;
GetSecurityInfoProc = 0x400000bc;
Uart_Init = 0x400000c0;
ets_set_user_start = 0x400000c4;
/* Data (.data, .bss, .rodata) */
ets_rom_layout_p = 0x4001fffc;
ets_ops_table_ptr = 0x4085fff4;
g_saved_pc = 0x4085fff8;
/***************************************
Group miniz
***************************************/
/* Functions */
mz_adler32 = 0x400000c8;
mz_free = 0x400000cc;
tdefl_compress = 0x400000d0;
tdefl_compress_buffer = 0x400000d4;
tdefl_compress_mem_to_heap = 0x400000d8;
tdefl_compress_mem_to_mem = 0x400000dc;
tdefl_compress_mem_to_output = 0x400000e0;
tdefl_get_adler32 = 0x400000e4;
tdefl_get_prev_return_status = 0x400000e8;
tdefl_init = 0x400000ec;
tdefl_write_image_to_png_file_in_memory = 0x400000f0;
tdefl_write_image_to_png_file_in_memory_ex = 0x400000f4;
tinfl_decompress = 0x400000f8;
tinfl_decompress_mem_to_callback = 0x400000fc;
tinfl_decompress_mem_to_heap = 0x40000100;
tinfl_decompress_mem_to_mem = 0x40000104;
/***************************************
Group spi_extmem_common
***************************************/
/* Functions */
esp_rom_spi_cmd_config = 0x40000108;
esp_rom_spi_cmd_start = 0x4000010c;
esp_rom_spi_set_op_mode = 0x40000110;
/***************************************
Group spiflash_legacy
***************************************/
/* Functions */
esp_rom_spiflash_wait_idle = 0x40000114;
esp_rom_spiflash_write_encrypted = 0x40000118;
esp_rom_spiflash_write_encrypted_dest = 0x4000011c;
esp_rom_spiflash_write_encrypted_enable = 0x40000120;
esp_rom_spiflash_write_encrypted_disable = 0x40000124;
esp_rom_spiflash_erase_chip = 0x40000128;
_esp_rom_spiflash_erase_sector = 0x4000012c;
_esp_rom_spiflash_erase_block = 0x40000130;
_esp_rom_spiflash_write = 0x40000134;
_esp_rom_spiflash_read = 0x40000138;
_esp_rom_spiflash_unlock = 0x4000013c;
_SPIEraseArea = 0x40000140;
_SPI_write_enable = 0x40000144;
esp_rom_spiflash_erase_sector = 0x40000148;
esp_rom_spiflash_erase_block = 0x4000014c;
esp_rom_spiflash_write = 0x40000150;
esp_rom_spiflash_read = 0x40000154;
esp_rom_spiflash_unlock = 0x40000158;
SPIEraseArea = 0x4000015c;
SPI_write_enable = 0x40000160;
esp_rom_spiflash_config_param = 0x40000164;
esp_rom_spiflash_read_user_cmd = 0x40000168;
esp_rom_spiflash_select_qio_pins = 0x4000016c;
esp_rom_spi_flash_auto_sus_res = 0x40000170;
esp_rom_spi_flash_send_resume = 0x40000174;
esp_rom_spi_flash_update_id = 0x40000178;
esp_rom_spiflash_config_clk = 0x4000017c;
esp_rom_spiflash_config_readmode = 0x40000180;
esp_rom_spiflash_read_status = 0x40000184;
esp_rom_spiflash_read_statushigh = 0x40000188;
esp_rom_spiflash_write_status = 0x4000018c;
esp_rom_spiflash_write_disable = 0x40000190;
spi_cache_mode_switch = 0x40000194;
spi_common_set_dummy_output = 0x40000198;
spi_common_set_flash_cs_timing = 0x4000019c;
esp_rom_spi_set_address_bit_len = 0x400001a0;
SPILock = 0x400001a4;
SPIMasterReadModeCnfig = 0x400001a8;
SPI_Common_Command = 0x400001ac;
SPI_WakeUp = 0x400001b0;
SPI_block_erase = 0x400001b4;
SPI_chip_erase = 0x400001b8;
SPI_init = 0x400001bc;
SPI_page_program = 0x400001c0;
SPI_read_data = 0x400001c4;
SPI_sector_erase = 0x400001c8;
SelectSpiFunction = 0x400001cc;
SetSpiDrvs = 0x400001d0;
Wait_SPI_Idle = 0x400001d4;
spi_dummy_len_fix = 0x400001d8;
Disable_QMode = 0x400001dc;
Enable_QMode = 0x400001e0;
spi_flash_attach = 0x400001e4;
spi_flash_get_chip_size = 0x400001e8;
spi_flash_guard_set = 0x400001ec;
spi_flash_guard_get = 0x400001f0;
spi_flash_read_encrypted = 0x400001f4;
/* Data (.data, .bss, .rodata) */
rom_spiflash_legacy_funcs = 0x4085ffec;
rom_spiflash_legacy_data = 0x4085ffe8;
g_flash_guard_ops = 0x4085fff0;
/***************************************
Group cache
***************************************/
/* Functions */
Cache_Get_Line_Size = 0x400005d8;
Cache_Get_Mode = 0x400005dc;
Cache_Address_Through_Cache = 0x400005e0;
ROM_Boot_Cache_Init = 0x400005e4;
Cache_Sync_Items = 0x400005e8;
Cache_Op_Addr = 0x400005ec;
Cache_Invalidate_Addr = 0x400005f0;
Cache_Clean_Addr = 0x400005f4;
Cache_WriteBack_Addr = 0x400005f8;
Cache_WriteBack_Invalidate_Addr = 0x400005fc;
Cache_Invalidate_All = 0x40000600;
Cache_Clean_All = 0x40000604;
Cache_WriteBack_All = 0x40000608;
Cache_WriteBack_Invalidate_All = 0x4000060c;
Cache_Mask_All = 0x40000610;
Cache_UnMask_Dram0 = 0x40000614;
Cache_Suspend_Autoload = 0x40000618;
Cache_Resume_Autoload = 0x4000061c;
Cache_Start_Preload = 0x40000620;
Cache_Preload_Done = 0x40000624;
Cache_End_Preload = 0x40000628;
Cache_Config_Autoload = 0x4000062c;
Cache_Enable_Autoload = 0x40000630;
Cache_Disable_Autoload = 0x40000634;
Cache_Enable_PreLock = 0x40000638;
Cache_Disable_PreLock = 0x4000063c;
Cache_Lock_Items = 0x40000640;
Cache_Lock_Addr = 0x40000644;
Cache_Unlock_Addr = 0x40000648;
Cache_Disable_Cache = 0x4000064c;
Cache_Enable_Cache = 0x40000650;
Cache_Suspend_Cache = 0x40000654;
Cache_Resume_Cache = 0x40000658;
Cache_Freeze_Enable = 0x4000065c;
Cache_Freeze_Disable = 0x40000660;
Cache_Set_IDROM_MMU_Size = 0x40000664;
Cache_Get_IROM_MMU_End = 0x40000668;
Cache_Get_DROM_MMU_End = 0x4000066c;
Cache_MMU_Init = 0x40000670;
Cache_MSPI_MMU_Set = 0x40000674;
Cache_MSPI_MMU_Set_Secure = 0x40000678;
Cache_Count_Flash_Pages = 0x4000067c;
Cache_Travel_Tag_Memory = 0x40000680;
Cache_Get_Virtual_Addr = 0x40000684;
flash2spiram_instruction_offset = 0x40000688;
flash2spiram_rodata_offset = 0x4000068c;
flash_instr_rodata_start_page = 0x40000690;
flash_instr_rodata_end_page = 0x40000694;
Cache_Set_IDROM_MMU_Info = 0x40000698;
Cache_Flash_To_SPIRAM_Copy = 0x4000069c;
/* Data (.data, .bss, .rodata) */
rom_cache_op_cb = 0x4085ffc8;
rom_cache_internal_table_ptr = 0x4085ffc4;
/***************************************
Group clock
***************************************/
/* Functions */
ets_clk_get_xtal_freq = 0x400006a0;
ets_clk_get_cpu_freq = 0x400006a4;
/***************************************
Group gpio
***************************************/
/* Functions */
gpio_set_output_level = 0x400006a8;
gpio_get_input_level = 0x400006ac;
gpio_matrix_in = 0x400006b0;
gpio_matrix_out = 0x400006b4;
gpio_bypass_matrix_in = 0x400006b8;
/* gpio_output_disable = 0x400006bc; */
/* gpio_output_enable = 0x400006c0; */
gpio_pad_input_disable = 0x400006c4;
gpio_pad_input_enable = 0x400006c8;
gpio_pad_pulldown = 0x400006cc;
gpio_pad_pullup = 0x400006d0;
gpio_pad_select_gpio = 0x400006d4;
gpio_pad_set_drv = 0x400006d8;
gpio_pad_unhold = 0x400006dc;
gpio_pad_hold = 0x400006e0;
/***************************************
Group interrupts
***************************************/
/* Functions */
esprv_intc_int_set_priority = 0x400006e4;
esprv_intc_int_set_threshold = 0x400006e8;
esprv_intc_int_enable = 0x400006ec;
esprv_intc_int_disable = 0x400006f0;
esprv_intc_int_set_type = 0x400006f4;
PROVIDE( intr_handler_set = 0x400006f8 );
intr_matrix_set = 0x400006fc;
ets_intr_register_ctx = 0x40000700;
ets_intr_lock = 0x40000704;
ets_intr_unlock = 0x40000708;
ets_isr_attach = 0x4000070c;
ets_isr_mask = 0x40000710;
ets_isr_unmask = 0x40000714;
/***************************************
Group crc
***************************************/
/* Functions */
crc32_le = 0x40000718;
crc16_le = 0x4000071c;
crc8_le = 0x40000720;
crc32_be = 0x40000724;
crc16_be = 0x40000728;
crc8_be = 0x4000072c;
esp_crc8 = 0x40000730;
/* Data (.data, .bss, .rodata) */
crc32_le_table_ptr = 0x4001fff8;
crc16_le_table_ptr = 0x4001fff4;
crc8_le_table_ptr = 0x4001fff0;
crc32_be_table_ptr = 0x4001ffec;
crc16_be_table_ptr = 0x4001ffe8;
crc8_be_table_ptr = 0x4001ffe4;
/***************************************
Group md5
***************************************/
/* Functions */
md5_vector = 0x40000734;
MD5Init = 0x40000738;
MD5Update = 0x4000073c;
MD5Final = 0x40000740;
/***************************************
Group hwcrypto
***************************************/
/* Functions */
ets_sha_enable = 0x40000744;
ets_sha_disable = 0x40000748;
ets_sha_get_state = 0x4000074c;
ets_sha_init = 0x40000750;
ets_sha_process = 0x40000754;
ets_sha_starts = 0x40000758;
ets_sha_update = 0x4000075c;
ets_sha_finish = 0x40000760;
ets_sha_clone = 0x40000764;
ets_hmac_enable = 0x40000768;
ets_hmac_disable = 0x4000076c;
ets_hmac_calculate_message = 0x40000770;
ets_hmac_calculate_downstream = 0x40000774;
ets_hmac_invalidate_downstream = 0x40000778;
ets_aes_enable = 0x4000077c;
ets_aes_disable = 0x40000780;
ets_aes_setkey = 0x40000784;
ets_aes_block = 0x40000788;
ets_aes_setkey_dec = 0x4000078c;
ets_aes_setkey_enc = 0x40000790;
/***************************************
Group efuse
***************************************/
/* Functions */
ets_efuse_read = 0x40000794;
ets_efuse_program = 0x40000798;
ets_efuse_clear_program_registers = 0x4000079c;
ets_efuse_write_key = 0x400007a0;
ets_efuse_get_read_register_address = 0x400007a4;
ets_efuse_get_key_purpose = 0x400007a8;
ets_efuse_key_block_unused = 0x400007ac;
ets_efuse_find_unused_key_block = 0x400007b0;
ets_efuse_rs_calculate = 0x400007b4;
ets_efuse_count_unused_key_blocks = 0x400007b8;
ets_efuse_secure_boot_enabled = 0x400007bc;
ets_efuse_secure_boot_aggressive_revoke_enabled = 0x400007c0;
ets_efuse_cache_encryption_enabled = 0x400007c4;
ets_efuse_download_modes_disabled = 0x400007c8;
ets_efuse_find_purpose = 0x400007cc;
ets_efuse_force_send_resume = 0x400007d0;
ets_efuse_get_flash_delay_us = 0x400007d4;
ets_efuse_get_uart_print_control = 0x400007d8;
ets_efuse_direct_boot_mode_disabled = 0x400007dc;
ets_efuse_security_download_modes_enabled = 0x400007e0;
ets_efuse_jtag_disabled = 0x400007e4;
ets_efuse_usb_print_is_disabled = 0x400007e8;
ets_efuse_usb_download_mode_disabled = 0x400007ec;
ets_efuse_usb_device_disabled = 0x400007f0;
ets_jtag_enable_temporarily = 0x400007f4;
/***************************************
Group key_mgr
***************************************/
/* Functions */
esp_rom_check_recover_key = 0x400007f8;
esp_rom_km_huk_conf = 0x400007fc;
esp_rom_km_huk_risk = 0x40000800;
/***************************************
Group secureboot
***************************************/
/* Functions */
ets_ecdsa_verify = 0x40000804;
ets_secure_boot_verify_bootloader_with_keys = 0x40000808;
ets_secure_boot_verify_signature = 0x4000080c;
ets_secure_boot_read_key_digests = 0x40000810;
ets_secure_boot_revoke_public_key_digest = 0x40000814;
/***************************************
Group usb_device_uart
***************************************/
/* Functions */
usb_serial_device_rx_one_char = 0x40000944;
usb_serial_device_rx_one_char_block = 0x40000948;
usb_serial_device_tx_flush = 0x4000094c;
usb_serial_device_tx_one_char = 0x40000950;

View File

@@ -0,0 +1,65 @@
/*
* SPDX-FileCopyrightText: 2025 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
esp_rom_newlib_init_common_mutexes = 0x40000478;
memset = 0x4000047c;
memcpy = 0x40000480;
memmove = 0x40000484;
memcmp = 0x40000488;
strcpy = 0x4000048c;
strncpy = 0x40000490;
strcmp = 0x40000494;
strncmp = 0x40000498;
strlen = 0x4000049c;
strstr = 0x400004a0;
bzero = 0x400004a4;
sbrk = 0x400004ac;
isalnum = 0x400004b0;
isalpha = 0x400004b4;
isascii = 0x400004b8;
isblank = 0x400004bc;
iscntrl = 0x400004c0;
isdigit = 0x400004c4;
islower = 0x400004c8;
isgraph = 0x400004cc;
isprint = 0x400004d0;
ispunct = 0x400004d4;
isspace = 0x400004d8;
isupper = 0x400004dc;
toupper = 0x400004e0;
tolower = 0x400004e4;
toascii = 0x400004e8;
memccpy = 0x400004ec;
memchr = 0x400004f0;
memrchr = 0x400004f4;
strcasecmp = 0x400004f8;
strcasestr = 0x400004fc;
strcat = 0x40000500;
strchr = 0x40000508;
strcspn = 0x4000050c;
strcoll = 0x40000510;
strlcat = 0x40000514;
strlcpy = 0x40000518;
strlwr = 0x4000051c;
strncasecmp = 0x40000520;
strncat = 0x40000524;
strnlen = 0x4000052c;
strrchr = 0x40000530;
strsep = 0x40000534;
strspn = 0x40000538;
strtok_r = 0x4000053c;
strupr = 0x40000540;
longjmp = 0x40000544;
setjmp = 0x40000548;
abs = 0x4000054c;
div = 0x40000550;
labs = 0x40000554;
ldiv = 0x40000558;
qsort = 0x4000055c;
utoa = 0x4000056c;
itoa = 0x40000570;
/* Data (.data, .bss, .rodata) */
syscall_table_ptr = 0x4085ffd0;
_global_impure_ptr = 0x4085ffcc;

View File

@@ -0,0 +1,95 @@
/*
* SPDX-FileCopyrightText: 2025 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
/* ROM function interface esp32h4.rom.libgcc.ld for esp32h4
*
*
* Generated from ./target/esp32h4/interface-esp32h4.yml md5sum 14f04fa4b1cf69c4e6eec57d641026c4
*
* Compatible with ROM where ECO version equal or greater to 0.
*
* THIS FILE WAS AUTOMATICALLY GENERATED. DO NOT EDIT.
*/
/***************************************
Group libgccdf
***************************************/
/* Functions */
__absvdi2 = 0x40000818;
__absvsi2 = 0x4000081c;
__adddf3 = 0x40000820;
__addvdi3 = 0x40000824;
__addvsi3 = 0x40000828;
__ashldi3 = 0x4000082c;
__ashrdi3 = 0x40000830;
__bswapdi2 = 0x40000834;
__bswapsi2 = 0x40000838;
__clear_cache = 0x4000083c;
__clrsbdi2 = 0x40000840;
__clrsbsi2 = 0x40000844;
__clzdi2 = 0x40000848;
__clzsi2 = 0x4000084c;
__cmpdi2 = 0x40000850;
__ctzdi2 = 0x40000854;
__ctzsi2 = 0x40000858;
__divdc3 = 0x4000085c;
__divdf3 = 0x40000860;
__divdi3 = 0x40000864;
__divsc3 = 0x40000868;
__divsi3 = 0x4000086c;
__eqdf2 = 0x40000870;
__extendsfdf2 = 0x40000874;
__ffsdi2 = 0x40000878;
__ffssi2 = 0x4000087c;
__fixdfdi = 0x40000880;
__fixdfsi = 0x40000884;
__fixsfdi = 0x40000888;
__fixunsdfsi = 0x4000088c;
__fixunssfdi = 0x40000890;
__fixunssfsi = 0x40000894;
__floatdidf = 0x40000898;
__floatdisf = 0x4000089c;
__floatsidf = 0x400008a0;
__floatundidf = 0x400008a4;
__floatundisf = 0x400008a8;
__floatunsidf = 0x400008ac;
__gcc_bcmp = 0x400008b0;
__gedf2 = 0x400008b4;
__gtdf2 = 0x400008b8;
__ledf2 = 0x400008bc;
__lshrdi3 = 0x400008c0;
__ltdf2 = 0x400008c4;
__moddi3 = 0x400008c8;
__modsi3 = 0x400008cc;
__muldc3 = 0x400008d0;
__muldf3 = 0x400008d4;
__muldi3 = 0x400008d8;
__mulsc3 = 0x400008dc;
__mulsi3 = 0x400008e0;
__mulvdi3 = 0x400008e4;
__mulvsi3 = 0x400008e8;
__nedf2 = 0x400008ec;
__negdf2 = 0x400008f0;
__negdi2 = 0x400008f4;
__negvdi2 = 0x400008f8;
__negvsi2 = 0x400008fc;
__paritysi2 = 0x40000900;
__popcountdi2 = 0x40000904;
__popcountsi2 = 0x40000908;
__powidf2 = 0x4000090c;
__subdf3 = 0x40000910;
__subvdi3 = 0x40000914;
__subvsi3 = 0x40000918;
__ucmpdi2 = 0x4000091c;
__udivdi3 = 0x40000920;
__udivmoddi4 = 0x40000924;
__udivsi3 = 0x40000928;
__udiv_w_sdiv = 0x4000092c;
__umoddi3 = 0x40000930;
__umodsi3 = 0x40000934;
__unorddf2 = 0x40000938;
__extenddftf2 = 0x4000093c;
__trunctfdf2 = 0x40000940;

View File

@@ -0,0 +1,32 @@
/*
* SPDX-FileCopyrightText: 2025 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
/* ROM function interface esp32h4.rom.newlib-nano.ld for esp32h4
*
*
* Generated from ./target/esp32h4/interface-esp32h4.yml md5sum 14f04fa4b1cf69c4e6eec57d641026c4
*
* Compatible with ROM where ECO version equal or greater to 0.
*
* THIS FILE WAS AUTOMATICALLY GENERATED. DO NOT EDIT.
*/
/***************************************
Group newlib_nano_format
***************************************/
/* Functions */
__sprint_r = 0x400005a8;
_fiprintf_r = 0x400005ac;
_fprintf_r = 0x400005b0;
_printf_common = 0x400005b4;
_printf_i = 0x400005b8;
_vfiprintf_r = 0x400005bc;
_vfprintf_r = 0x400005c0;
fiprintf = 0x400005c4;
fprintf = 0x400005c8;
printf = 0x400005cc;
vfiprintf = 0x400005d0;
vfprintf = 0x400005d4;

View File

@@ -0,0 +1,41 @@
/*
* SPDX-FileCopyrightText: 2025 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
/* ROM function interface esp32h4.rom.newlib.ld for esp32h4
*
*
* Generated from ./target/esp32h4/interface-esp32h4.yml md5sum 14f04fa4b1cf69c4e6eec57d641026c4
*
* 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
* multiple files to make it compatible with picolibc.
*/
/***************************************
Group newlib
***************************************/
/* Functions */
_isatty_r = 0x400004a8;
strdup = 0x40000504;
strndup = 0x40000528;
rand_r = 0x40000560;
rand = 0x40000564;
srand = 0x40000568;
atoi = 0x40000574;
atol = 0x40000578;
strtol = 0x4000057c;
strtoul = 0x40000580;
fflush = 0x40000584;
_fflush_r = 0x40000588;
_fwalk = 0x4000058c;
_fwalk_reent = 0x40000590;
__smakebuf_r = 0x40000594;
__swhatbuf_r = 0x40000598;
__swbuf_r = 0x4000059c;
__swbuf = 0x400005a0;
__swsetup_r = 0x400005a4;

View File

@@ -0,0 +1,148 @@
/*
* SPDX-FileCopyrightText: 2025 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
/* ROM function interface esp32h4.rom.spiflash.ld for esp32h4
*
*
* Generated from ./target/esp32h4/interface-esp32h4.yml md5sum 14f04fa4b1cf69c4e6eec57d641026c4
*
* Compatible with ROM where ECO version equal or greater to 0.
*
* THIS FILE WAS AUTOMATICALLY GENERATED. DO NOT EDIT.
*/
/***************************************
Group spi_flash_cache
***************************************/
/* Functions */
spi_flash_disable_cache = 0x400001f8;
spi_flash_restore_cache = 0x400001fc;
spi_flash_cache_enabled = 0x40000200;
spi_flash_enable_cache = 0x40000204;
esp_enable_cache_flash_wrap = 0x40000208;
/***************************************
Group esp_flash
***************************************/
/* Functions */
esp_flash_chip_driver_initialized = 0x4000020c;
esp_flash_read_id = 0x40000210;
esp_flash_get_size = 0x40000214;
esp_flash_erase_chip = 0x40000218;
rom_esp_flash_erase_region = 0x4000021c;
esp_flash_get_chip_write_protect = 0x40000220;
esp_flash_set_chip_write_protect = 0x40000224;
esp_flash_get_protectable_regions = 0x40000228;
esp_flash_get_protected_region = 0x4000022c;
esp_flash_set_protected_region = 0x40000230;
esp_flash_read = 0x40000234;
rom_esp_flash_write = 0x40000238;
rom_esp_flash_write_encrypted = 0x4000023c;
esp_flash_read_encrypted = 0x40000240;
esp_flash_get_io_mode = 0x40000244;
esp_flash_set_io_mode = 0x40000248;
spi_flash_boot_attach = 0x4000024c;
esp_flash_read_chip_id = 0x40000250;
detect_spi_flash_chip = 0x40000254;
esp_flash_suspend_cmd_init = 0x40000258;
/* Data (.data, .bss, .rodata) */
esp_flash_default_chip = 0x4085ffe4;
esp_flash_api_funcs = 0x4085ffe0;
/***************************************
Group spi_flash_chips
***************************************/
/* Functions */
spi_flash_chip_generic_probe = 0x4000025c;
spi_flash_chip_generic_detect_size = 0x40000260;
spi_flash_chip_generic_write = 0x40000264;
spi_flash_chip_generic_write_encrypted = 0x40000268;
spi_flash_chip_generic_set_write_protect = 0x4000026c;
spi_flash_common_write_status_16b_wrsr = 0x40000270;
spi_flash_chip_generic_reset = 0x40000274;
spi_flash_chip_generic_erase_chip = 0x40000278;
spi_flash_chip_generic_erase_sector = 0x4000027c;
spi_flash_chip_generic_erase_block = 0x40000280;
spi_flash_chip_generic_page_program = 0x40000284;
spi_flash_chip_generic_get_write_protect = 0x40000288;
spi_flash_common_read_status_16b_rdsr_rdsr2 = 0x4000028c;
spi_flash_chip_generic_read_reg = 0x40000290;
spi_flash_chip_generic_yield = 0x40000294;
spi_flash_generic_wait_host_idle = 0x40000298;
spi_flash_chip_generic_wait_idle = 0x4000029c;
spi_flash_chip_generic_config_host_io_mode = 0x400002a0;
spi_flash_chip_generic_read = 0x400002a4;
spi_flash_common_read_status_8b_rdsr2 = 0x400002a8;
spi_flash_chip_generic_get_io_mode = 0x400002ac;
spi_flash_common_read_status_8b_rdsr = 0x400002b0;
spi_flash_common_write_status_8b_wrsr = 0x400002b4;
spi_flash_common_write_status_8b_wrsr2 = 0x400002b8;
spi_flash_common_set_io_mode = 0x400002bc;
spi_flash_chip_generic_set_io_mode = 0x400002c0;
spi_flash_chip_generic_read_unique_id = 0x400002c4;
spi_flash_chip_generic_get_caps = 0x400002c8;
spi_flash_chip_generic_suspend_cmd_conf = 0x400002cc;
spi_flash_chip_gd_get_io_mode = 0x400002d0;
spi_flash_chip_gd_probe = 0x400002d4;
spi_flash_chip_gd_set_io_mode = 0x400002d8;
/* Data (.data, .bss, .rodata) */
spi_flash_chip_generic_config_data = 0x4085ffdc;
spi_flash_encryption = 0x4085ffd8;
/***************************************
Group memspi_host
***************************************/
/* Functions */
memspi_host_read_id_hs = 0x400002dc;
memspi_host_read_status_hs = 0x400002e0;
memspi_host_flush_cache = 0x400002e4;
memspi_host_erase_chip = 0x400002e8;
memspi_host_erase_sector = 0x400002ec;
memspi_host_erase_block = 0x400002f0;
memspi_host_program_page = 0x400002f4;
memspi_host_read = 0x400002f8;
memspi_host_set_write_protect = 0x400002fc;
memspi_host_set_max_read_len = 0x40000300;
memspi_host_read_data_slicer = 0x40000304;
memspi_host_write_data_slicer = 0x40000308;
/***************************************
Group hal_spiflash
***************************************/
/* Functions */
spi_flash_hal_poll_cmd_done = 0x4000030c;
spi_flash_hal_device_config = 0x40000310;
spi_flash_hal_configure_host_io_mode = 0x40000314;
spi_flash_hal_common_command = 0x40000318;
spi_flash_hal_read = 0x4000031c;
spi_flash_hal_erase_chip = 0x40000320;
spi_flash_hal_erase_sector = 0x40000324;
spi_flash_hal_erase_block = 0x40000328;
spi_flash_hal_program_page = 0x4000032c;
spi_flash_hal_set_write_protect = 0x40000330;
spi_flash_hal_host_idle = 0x40000334;
spi_flash_hal_check_status = 0x40000338;
spi_flash_hal_setup_read_suspend = 0x4000033c;
spi_flash_hal_setup_auto_suspend_mode = 0x40000340;
spi_flash_hal_setup_auto_resume_mode = 0x40000344;
spi_flash_hal_disable_auto_suspend_mode = 0x40000348;
spi_flash_hal_disable_auto_resume_mode = 0x4000034c;
spi_flash_hal_resume = 0x40000350;
spi_flash_hal_suspend = 0x40000354;
spi_flash_encryption_hal_enable = 0x40000358;
spi_flash_encryption_hal_disable = 0x4000035c;
spi_flash_encryption_hal_prepare = 0x40000360;
spi_flash_encryption_hal_done = 0x40000364;
spi_flash_encryption_hal_destroy = 0x40000368;
spi_flash_encryption_hal_check = 0x4000036c;

View File

@@ -0,0 +1,26 @@
/*
* SPDX-FileCopyrightText: 2025 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
/***************************************
Group hal_systimer
***************************************/
/* Functions */
systimer_hal_init = 0x4000039c;
systimer_hal_deinit = 0x400003a0;
systimer_hal_set_tick_rate_ops = 0x400003a4;
systimer_hal_get_counter_value = 0x400003a8;
systimer_hal_get_time = 0x400003ac;
systimer_hal_set_alarm_target = 0x400003b0;
systimer_hal_set_alarm_period = 0x400003b4;
systimer_hal_get_alarm_value = 0x400003b8;
systimer_hal_enable_alarm_int = 0x400003bc;
systimer_hal_on_apb_freq_update = 0x400003c0;
systimer_hal_counter_value_advance = 0x400003c4;
systimer_hal_enable_counter = 0x400003c8;
systimer_hal_select_alarm_mode = 0x400003cc;
systimer_hal_connect_alarm_counter = 0x400003d0;
systimer_hal_counter_can_stall_by_cpu = 0x400003d4;

View File

@@ -0,0 +1,22 @@
/*
* SPDX-FileCopyrightText: 2025 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
/***************************************
Group hal_wdt
***************************************/
/* Functions */
wdt_hal_init = 0x40000370;
wdt_hal_deinit = 0x40000374;
wdt_hal_config_stage = 0x40000378;
wdt_hal_write_protect_disable = 0x4000037c;
wdt_hal_write_protect_enable = 0x40000380;
wdt_hal_enable = 0x40000384;
wdt_hal_disable = 0x40000388;
wdt_hal_handle_intr = 0x4000038c;
wdt_hal_feed = 0x40000390;
wdt_hal_set_flashboot_en = 0x40000394;
wdt_hal_is_enabled = 0x40000398;

View File

@@ -6,7 +6,7 @@
/* ROM function interface esp32h4.rom.heap.ld for esp32h4 /* ROM function interface esp32h4.rom.heap.ld for esp32h4
* *
* *
* Generated from ./target/esp32h4/interface-esp32h4.yml md5sum 14f04fa4b1cf69c4e6eec57d641026c4 * Generated from ../../rom/target/esp32h4/interface-esp32h4.yml md5sum c9db9928804fe99070d282b058ff3c65
* *
* Compatible with ROM where ECO version equal or greater to 0. * Compatible with ROM where ECO version equal or greater to 0.
* *
@@ -18,46 +18,46 @@
***************************************/ ***************************************/
/* Functions */ /* Functions */
tlsf_create = 0x400003d8; tlsf_create = 0x400003a8;
tlsf_create_with_pool = 0x400003dc; tlsf_create_with_pool = 0x400003ac;
tlsf_get_pool = 0x400003e0; tlsf_get_pool = 0x400003b0;
tlsf_add_pool = 0x400003e4; tlsf_add_pool = 0x400003b4;
tlsf_remove_pool = 0x400003e8; tlsf_remove_pool = 0x400003b8;
tlsf_malloc = 0x400003ec; tlsf_malloc = 0x400003bc;
tlsf_memalign = 0x400003f0; tlsf_memalign = 0x400003c0;
tlsf_memalign_offs = 0x400003f4; tlsf_memalign_offs = 0x400003c4;
tlsf_malloc_addr = 0x400003f8; tlsf_malloc_addr = 0x400003c8;
tlsf_realloc = 0x400003fc; tlsf_realloc = 0x400003cc;
tlsf_free = 0x40000400; tlsf_free = 0x400003d0;
tlsf_block_size = 0x40000404; tlsf_block_size = 0x400003d4;
tlsf_size = 0x40000408; tlsf_size = 0x400003d8;
tlsf_pool_overhead = 0x4000040c; tlsf_pool_overhead = 0x400003dc;
tlsf_alloc_overhead = 0x40000410; tlsf_alloc_overhead = 0x400003e0;
tlsf_walk_pool = 0x40000414; tlsf_walk_pool = 0x400003e4;
tlsf_check = 0x40000418; tlsf_check = 0x400003e8;
tlsf_check_pool = 0x4000041c; tlsf_check_pool = 0x400003ec;
tlsf_poison_fill_pfunc_set = 0x40000420; tlsf_poison_fill_pfunc_set = 0x400003f0;
tlsf_poison_check_pfunc_set = 0x40000424; tlsf_poison_check_pfunc_set = 0x400003f4;
multi_heap_get_block_address_impl = 0x40000428; multi_heap_get_block_address_impl = 0x400003f8;
multi_heap_get_allocated_size_impl = 0x4000042c; multi_heap_get_allocated_size_impl = 0x400003fc;
multi_heap_register_impl = 0x40000430; multi_heap_register_impl = 0x40000400;
multi_heap_set_lock = 0x40000434; multi_heap_set_lock = 0x40000404;
multi_heap_os_funcs_init = 0x40000438; multi_heap_os_funcs_init = 0x40000408;
multi_heap_internal_lock = 0x4000043c; multi_heap_internal_lock = 0x4000040c;
multi_heap_internal_unlock = 0x40000440; multi_heap_internal_unlock = 0x40000410;
multi_heap_get_first_block = 0x40000444; multi_heap_get_first_block = 0x40000414;
multi_heap_get_next_block = 0x40000448; multi_heap_get_next_block = 0x40000418;
multi_heap_is_free = 0x4000044c; multi_heap_is_free = 0x4000041c;
multi_heap_malloc_impl = 0x40000450; multi_heap_malloc_impl = 0x40000420;
multi_heap_free_impl = 0x40000454; multi_heap_free_impl = 0x40000424;
multi_heap_realloc_impl = 0x40000458; multi_heap_realloc_impl = 0x40000428;
multi_heap_aligned_alloc_impl_offs = 0x4000045c; multi_heap_aligned_alloc_impl_offs = 0x4000042c;
multi_heap_aligned_alloc_impl = 0x40000460; multi_heap_aligned_alloc_impl = 0x40000430;
multi_heap_check = 0x40000464; multi_heap_check = 0x40000434;
multi_heap_dump = 0x40000468; multi_heap_dump = 0x40000438;
multi_heap_free_size_impl = 0x4000046c; multi_heap_free_size_impl = 0x4000043c;
multi_heap_minimum_free_size_impl = 0x40000470; multi_heap_minimum_free_size_impl = 0x40000440;
multi_heap_get_info_impl = 0x40000474; multi_heap_get_info_impl = 0x40000444;
/* Data (.data, .bss, .rodata) */ /* Data (.data, .bss, .rodata) */
heap_tlsf_table_ptr = 0x4085ffd4; heap_tlsf_table_ptr = 0x4085ffd4;

View File

@@ -6,7 +6,7 @@
/* ROM function interface esp32h4.rom.ld for esp32h4 /* ROM function interface esp32h4.rom.ld for esp32h4
* *
* *
* Generated from ./target/esp32h4/interface-esp32h4.yml md5sum 14f04fa4b1cf69c4e6eec57d641026c4 * Generated from ../../rom/target/esp32h4/interface-esp32h4.yml md5sum c9db9928804fe99070d282b058ff3c65
* *
* Compatible with ROM where ECO version equal or greater to 0. * Compatible with ROM where ECO version equal or greater to 0.
* *
@@ -174,56 +174,54 @@ g_flash_guard_ops = 0x4085fff0;
***************************************/ ***************************************/
/* Functions */ /* Functions */
Cache_Get_Line_Size = 0x400005d8; Cache_Get_Line_Size = 0x400005a8;
Cache_Get_Mode = 0x400005dc; Cache_Get_Mode = 0x400005ac;
Cache_Address_Through_Cache = 0x400005e0; Cache_Address_Through_Cache = 0x400005b0;
ROM_Boot_Cache_Init = 0x400005e4; ROM_Boot_Cache_Init = 0x400005b4;
Cache_Sync_Items = 0x400005e8; Cache_Sync_Items = 0x400005b8;
Cache_Op_Addr = 0x400005ec; Cache_Op_Addr = 0x400005bc;
Cache_Invalidate_Addr = 0x400005f0; Cache_Invalidate_Addr = 0x400005c0;
Cache_Clean_Addr = 0x400005f4; Cache_Clean_Addr = 0x400005c4;
Cache_WriteBack_Addr = 0x400005f8; Cache_WriteBack_Addr = 0x400005c8;
Cache_WriteBack_Invalidate_Addr = 0x400005fc; Cache_WriteBack_Invalidate_Addr = 0x400005cc;
Cache_Invalidate_All = 0x40000600; Cache_Invalidate_All = 0x400005d0;
Cache_Clean_All = 0x40000604; Cache_Clean_All = 0x400005d4;
Cache_WriteBack_All = 0x40000608; Cache_WriteBack_All = 0x400005d8;
Cache_WriteBack_Invalidate_All = 0x4000060c; Cache_WriteBack_Invalidate_All = 0x400005dc;
Cache_Mask_All = 0x40000610; Cache_Mask_All = 0x400005e0;
Cache_UnMask_Dram0 = 0x40000614; Cache_UnMask_Dram0 = 0x400005e4;
Cache_Suspend_Autoload = 0x40000618; Cache_Suspend_Autoload = 0x400005e8;
Cache_Resume_Autoload = 0x4000061c; Cache_Resume_Autoload = 0x400005ec;
Cache_Start_Preload = 0x40000620; Cache_Start_Preload = 0x400005f0;
Cache_Preload_Done = 0x40000624; Cache_Preload_Done = 0x400005f4;
Cache_End_Preload = 0x40000628; Cache_End_Preload = 0x400005f8;
Cache_Config_Autoload = 0x4000062c; Cache_Config_Autoload = 0x400005fc;
Cache_Enable_Autoload = 0x40000630; Cache_Enable_Autoload = 0x40000600;
Cache_Disable_Autoload = 0x40000634; Cache_Disable_Autoload = 0x40000604;
Cache_Enable_PreLock = 0x40000638; Cache_Enable_PreLock = 0x40000608;
Cache_Disable_PreLock = 0x4000063c; Cache_Disable_PreLock = 0x4000060c;
Cache_Lock_Items = 0x40000640; Cache_Lock_Items = 0x40000610;
Cache_Lock_Addr = 0x40000644; Cache_Lock_Addr = 0x40000614;
Cache_Unlock_Addr = 0x40000648; Cache_Unlock_Addr = 0x40000618;
Cache_Disable_Cache = 0x4000064c; Cache_Disable_Cache = 0x4000061c;
Cache_Enable_Cache = 0x40000650; Cache_Enable_Cache = 0x40000620;
Cache_Suspend_Cache = 0x40000654; Cache_Suspend_Cache = 0x40000624;
Cache_Resume_Cache = 0x40000658; Cache_Resume_Cache = 0x40000628;
Cache_Freeze_Enable = 0x4000065c; Cache_Freeze_Enable = 0x4000062c;
Cache_Freeze_Disable = 0x40000660; Cache_Freeze_Disable = 0x40000630;
Cache_Set_IDROM_MMU_Size = 0x40000664; Cache_Set_IDROM_MMU_Size = 0x40000634;
Cache_Get_IROM_MMU_End = 0x40000668; Cache_Get_IROM_MMU_End = 0x40000638;
Cache_Get_DROM_MMU_End = 0x4000066c; Cache_Get_DROM_MMU_End = 0x4000063c;
Cache_MMU_Init = 0x40000670; Cache_MMU_Init = 0x40000640;
Cache_MSPI_MMU_Set = 0x40000674; Cache_MSPI_MMU_Set = 0x40000644;
Cache_MSPI_MMU_Set_Secure = 0x40000678; Cache_MSPI_MMU_Set_Secure = 0x40000648;
Cache_Count_Flash_Pages = 0x4000067c; Cache_Count_Flash_Pages = 0x4000064c;
Cache_Travel_Tag_Memory = 0x40000680; flash2spiram_instruction_offset = 0x40000650;
Cache_Get_Virtual_Addr = 0x40000684; flash2spiram_rodata_offset = 0x40000654;
flash2spiram_instruction_offset = 0x40000688; flash_instr_rodata_start_page = 0x40000658;
flash2spiram_rodata_offset = 0x4000068c; flash_instr_rodata_end_page = 0x4000065c;
flash_instr_rodata_start_page = 0x40000690; Cache_Set_IDROM_MMU_Info = 0x40000660;
flash_instr_rodata_end_page = 0x40000694; Cache_Flash_To_SPIRAM_Copy = 0x40000664;
Cache_Set_IDROM_MMU_Info = 0x40000698;
Cache_Flash_To_SPIRAM_Copy = 0x4000069c;
/* Data (.data, .bss, .rodata) */ /* Data (.data, .bss, .rodata) */
rom_cache_op_cb = 0x4085ffc8; rom_cache_op_cb = 0x4085ffc8;
rom_cache_internal_table_ptr = 0x4085ffc4; rom_cache_internal_table_ptr = 0x4085ffc4;
@@ -234,8 +232,8 @@ rom_cache_internal_table_ptr = 0x4085ffc4;
***************************************/ ***************************************/
/* Functions */ /* Functions */
ets_clk_get_xtal_freq = 0x400006a0; ets_clk_get_xtal_freq = 0x40000668;
ets_clk_get_cpu_freq = 0x400006a4; ets_clk_get_cpu_freq = 0x4000066c;
/*************************************** /***************************************
@@ -243,21 +241,21 @@ ets_clk_get_cpu_freq = 0x400006a4;
***************************************/ ***************************************/
/* Functions */ /* Functions */
gpio_set_output_level = 0x400006a8; gpio_set_output_level = 0x40000670;
gpio_get_input_level = 0x400006ac; gpio_get_input_level = 0x40000674;
gpio_matrix_in = 0x400006b0; gpio_matrix_in = 0x40000678;
gpio_matrix_out = 0x400006b4; gpio_matrix_out = 0x4000067c;
gpio_bypass_matrix_in = 0x400006b8; gpio_bypass_matrix_in = 0x40000680;
/* gpio_output_disable = 0x400006bc; */ gpio_output_disable = 0x40000684;
/* gpio_output_enable = 0x400006c0; */ gpio_output_enable = 0x40000688;
gpio_pad_input_disable = 0x400006c4; gpio_pad_input_disable = 0x4000068c;
gpio_pad_input_enable = 0x400006c8; gpio_pad_input_enable = 0x40000690;
gpio_pad_pulldown = 0x400006cc; gpio_pad_pulldown = 0x40000694;
gpio_pad_pullup = 0x400006d0; gpio_pad_pullup = 0x40000698;
gpio_pad_select_gpio = 0x400006d4; gpio_pad_select_gpio = 0x4000069c;
gpio_pad_set_drv = 0x400006d8; gpio_pad_set_drv = 0x400006a0;
gpio_pad_unhold = 0x400006dc; gpio_pad_unhold = 0x400006a4;
gpio_pad_hold = 0x400006e0; gpio_pad_hold = 0x400006a8;
/*************************************** /***************************************
@@ -265,19 +263,19 @@ gpio_pad_hold = 0x400006e0;
***************************************/ ***************************************/
/* Functions */ /* Functions */
esprv_intc_int_set_priority = 0x400006e4; esprv_intc_int_set_priority = 0x400006ac;
esprv_intc_int_set_threshold = 0x400006e8; esprv_intc_int_set_threshold = 0x400006b0;
esprv_intc_int_enable = 0x400006ec; esprv_intc_int_enable = 0x400006b4;
esprv_intc_int_disable = 0x400006f0; esprv_intc_int_disable = 0x400006b8;
esprv_intc_int_set_type = 0x400006f4; esprv_intc_int_set_type = 0x400006bc;
PROVIDE( intr_handler_set = 0x400006f8 ); PROVIDE( intr_handler_set = 0x400006c0 );
intr_matrix_set = 0x400006fc; intr_matrix_set = 0x400006c4;
ets_intr_register_ctx = 0x40000700; ets_intr_register_ctx = 0x400006c8;
ets_intr_lock = 0x40000704; ets_intr_lock = 0x400006cc;
ets_intr_unlock = 0x40000708; ets_intr_unlock = 0x400006d0;
ets_isr_attach = 0x4000070c; ets_isr_attach = 0x400006d4;
ets_isr_mask = 0x40000710; ets_isr_mask = 0x400006d8;
ets_isr_unmask = 0x40000714; ets_isr_unmask = 0x400006dc;
/*************************************** /***************************************
@@ -285,13 +283,13 @@ ets_isr_unmask = 0x40000714;
***************************************/ ***************************************/
/* Functions */ /* Functions */
crc32_le = 0x40000718; crc32_le = 0x400006e0;
crc16_le = 0x4000071c; crc16_le = 0x400006e4;
crc8_le = 0x40000720; crc8_le = 0x400006e8;
crc32_be = 0x40000724; crc32_be = 0x400006ec;
crc16_be = 0x40000728; crc16_be = 0x400006f0;
crc8_be = 0x4000072c; crc8_be = 0x400006f4;
esp_crc8 = 0x40000730; esp_crc8 = 0x400006f8;
/* Data (.data, .bss, .rodata) */ /* Data (.data, .bss, .rodata) */
crc32_le_table_ptr = 0x4001fff8; crc32_le_table_ptr = 0x4001fff8;
crc16_le_table_ptr = 0x4001fff4; crc16_le_table_ptr = 0x4001fff4;
@@ -306,10 +304,10 @@ crc8_be_table_ptr = 0x4001ffe4;
***************************************/ ***************************************/
/* Functions */ /* Functions */
md5_vector = 0x40000734; md5_vector = 0x400006fc;
MD5Init = 0x40000738; MD5Init = 0x40000700;
MD5Update = 0x4000073c; MD5Update = 0x40000704;
MD5Final = 0x40000740; MD5Final = 0x40000708;
/*************************************** /***************************************
@@ -317,26 +315,26 @@ MD5Final = 0x40000740;
***************************************/ ***************************************/
/* Functions */ /* Functions */
ets_sha_enable = 0x40000744; ets_sha_enable = 0x4000070c;
ets_sha_disable = 0x40000748; ets_sha_disable = 0x40000710;
ets_sha_get_state = 0x4000074c; ets_sha_get_state = 0x40000714;
ets_sha_init = 0x40000750; ets_sha_init = 0x40000718;
ets_sha_process = 0x40000754; ets_sha_process = 0x4000071c;
ets_sha_starts = 0x40000758; ets_sha_starts = 0x40000720;
ets_sha_update = 0x4000075c; ets_sha_update = 0x40000724;
ets_sha_finish = 0x40000760; ets_sha_finish = 0x40000728;
ets_sha_clone = 0x40000764; ets_sha_clone = 0x4000072c;
ets_hmac_enable = 0x40000768; ets_hmac_enable = 0x40000730;
ets_hmac_disable = 0x4000076c; ets_hmac_disable = 0x40000734;
ets_hmac_calculate_message = 0x40000770; ets_hmac_calculate_message = 0x40000738;
ets_hmac_calculate_downstream = 0x40000774; ets_hmac_calculate_downstream = 0x4000073c;
ets_hmac_invalidate_downstream = 0x40000778; ets_hmac_invalidate_downstream = 0x40000740;
ets_aes_enable = 0x4000077c; ets_aes_enable = 0x40000744;
ets_aes_disable = 0x40000780; ets_aes_disable = 0x40000748;
ets_aes_setkey = 0x40000784; ets_aes_setkey = 0x4000074c;
ets_aes_block = 0x40000788; ets_aes_block = 0x40000750;
ets_aes_setkey_dec = 0x4000078c; ets_aes_setkey_dec = 0x40000754;
ets_aes_setkey_enc = 0x40000790; ets_aes_setkey_enc = 0x40000758;
/*************************************** /***************************************
@@ -344,31 +342,31 @@ ets_aes_setkey_enc = 0x40000790;
***************************************/ ***************************************/
/* Functions */ /* Functions */
ets_efuse_read = 0x40000794; ets_efuse_read = 0x4000075c;
ets_efuse_program = 0x40000798; ets_efuse_program = 0x40000760;
ets_efuse_clear_program_registers = 0x4000079c; ets_efuse_clear_program_registers = 0x40000764;
ets_efuse_write_key = 0x400007a0; ets_efuse_write_key = 0x40000768;
ets_efuse_get_read_register_address = 0x400007a4; ets_efuse_get_read_register_address = 0x4000076c;
ets_efuse_get_key_purpose = 0x400007a8; ets_efuse_get_key_purpose = 0x40000770;
ets_efuse_key_block_unused = 0x400007ac; ets_efuse_key_block_unused = 0x40000774;
ets_efuse_find_unused_key_block = 0x400007b0; ets_efuse_find_unused_key_block = 0x40000778;
ets_efuse_rs_calculate = 0x400007b4; ets_efuse_rs_calculate = 0x4000077c;
ets_efuse_count_unused_key_blocks = 0x400007b8; ets_efuse_count_unused_key_blocks = 0x40000780;
ets_efuse_secure_boot_enabled = 0x400007bc; ets_efuse_secure_boot_enabled = 0x40000784;
ets_efuse_secure_boot_aggressive_revoke_enabled = 0x400007c0; ets_efuse_secure_boot_aggressive_revoke_enabled = 0x40000788;
ets_efuse_cache_encryption_enabled = 0x400007c4; ets_efuse_cache_encryption_enabled = 0x4000078c;
ets_efuse_download_modes_disabled = 0x400007c8; ets_efuse_download_modes_disabled = 0x40000790;
ets_efuse_find_purpose = 0x400007cc; ets_efuse_find_purpose = 0x40000794;
ets_efuse_force_send_resume = 0x400007d0; ets_efuse_force_send_resume = 0x40000798;
ets_efuse_get_flash_delay_us = 0x400007d4; ets_efuse_get_flash_delay_us = 0x4000079c;
ets_efuse_get_uart_print_control = 0x400007d8; ets_efuse_get_uart_print_control = 0x400007a0;
ets_efuse_direct_boot_mode_disabled = 0x400007dc; ets_efuse_direct_boot_mode_disabled = 0x400007a4;
ets_efuse_security_download_modes_enabled = 0x400007e0; ets_efuse_security_download_modes_enabled = 0x400007a8;
ets_efuse_jtag_disabled = 0x400007e4; ets_efuse_jtag_disabled = 0x400007ac;
ets_efuse_usb_print_is_disabled = 0x400007e8; ets_efuse_usb_print_is_disabled = 0x400007b0;
ets_efuse_usb_download_mode_disabled = 0x400007ec; ets_efuse_usb_download_mode_disabled = 0x400007b4;
ets_efuse_usb_device_disabled = 0x400007f0; ets_efuse_usb_device_disabled = 0x400007b8;
ets_jtag_enable_temporarily = 0x400007f4; ets_jtag_enable_temporarily = 0x400007bc;
/*************************************** /***************************************
@@ -376,9 +374,9 @@ ets_jtag_enable_temporarily = 0x400007f4;
***************************************/ ***************************************/
/* Functions */ /* Functions */
esp_rom_check_recover_key = 0x400007f8; esp_rom_check_recover_key = 0x400007c0;
esp_rom_km_huk_conf = 0x400007fc; esp_rom_km_huk_conf = 0x400007c4;
esp_rom_km_huk_risk = 0x40000800; esp_rom_km_huk_risk = 0x400007c8;
/*************************************** /***************************************
@@ -386,11 +384,11 @@ esp_rom_km_huk_risk = 0x40000800;
***************************************/ ***************************************/
/* Functions */ /* Functions */
ets_ecdsa_verify = 0x40000804; ets_ecdsa_verify = 0x400007cc;
ets_secure_boot_verify_bootloader_with_keys = 0x40000808; ets_secure_boot_verify_bootloader_with_keys = 0x400007d0;
ets_secure_boot_verify_signature = 0x4000080c; ets_secure_boot_verify_signature = 0x400007d4;
ets_secure_boot_read_key_digests = 0x40000810; ets_secure_boot_read_key_digests = 0x400007d8;
ets_secure_boot_revoke_public_key_digest = 0x40000814; ets_secure_boot_revoke_public_key_digest = 0x400007dc;
/*************************************** /***************************************
@@ -398,7 +396,7 @@ ets_secure_boot_revoke_public_key_digest = 0x40000814;
***************************************/ ***************************************/
/* Functions */ /* Functions */
usb_serial_device_rx_one_char = 0x40000944; usb_serial_device_rx_one_char = 0x4000090c;
usb_serial_device_rx_one_char_block = 0x40000948; usb_serial_device_rx_one_char_block = 0x40000910;
usb_serial_device_tx_flush = 0x4000094c; usb_serial_device_tx_flush = 0x40000914;
usb_serial_device_tx_one_char = 0x40000950; usb_serial_device_tx_one_char = 0x40000918;

View File

@@ -3,63 +3,78 @@
* *
* SPDX-License-Identifier: Apache-2.0 * SPDX-License-Identifier: Apache-2.0
*/ */
esp_rom_newlib_init_common_mutexes = 0x40000478; /* ROM function interface esp32h4.rom.libc.ld for esp32h4
memset = 0x4000047c; *
memcpy = 0x40000480; *
memmove = 0x40000484; * Generated from ../../rom/target/esp32h4/interface-esp32h4.yml md5sum c9db9928804fe99070d282b058ff3c65
memcmp = 0x40000488; *
strcpy = 0x4000048c; * Compatible with ROM where ECO version equal or greater to 0.
strncpy = 0x40000490; *
strcmp = 0x40000494; * THIS FILE WAS AUTOMATICALLY GENERATED. DO NOT EDIT.
strncmp = 0x40000498; */
strlen = 0x4000049c;
strstr = 0x400004a0; /***************************************
bzero = 0x400004a4; Group libc
sbrk = 0x400004ac; ***************************************/
isalnum = 0x400004b0;
isalpha = 0x400004b4; /* Functions */
isascii = 0x400004b8; esp_rom_newlib_init_common_mutexes = 0x40000494;
isblank = 0x400004bc; memset = 0x40000498;
iscntrl = 0x400004c0; memcpy = 0x4000049c;
isdigit = 0x400004c4; memmove = 0x400004a0;
islower = 0x400004c8; memcmp = 0x400004a4;
isgraph = 0x400004cc; strcpy = 0x400004a8;
isprint = 0x400004d0; strncpy = 0x400004ac;
ispunct = 0x400004d4; strcmp = 0x400004b0;
isspace = 0x400004d8; strncmp = 0x400004b4;
isupper = 0x400004dc; strlen = 0x400004b8;
toupper = 0x400004e0; strstr = 0x400004bc;
tolower = 0x400004e4; bzero = 0x400004c0;
toascii = 0x400004e8; sbrk = 0x400004c4;
memccpy = 0x400004ec; isalnum = 0x400004c8;
memchr = 0x400004f0; isalpha = 0x400004cc;
memrchr = 0x400004f4; isascii = 0x400004d0;
strcasecmp = 0x400004f8; isblank = 0x400004d4;
strcasestr = 0x400004fc; iscntrl = 0x400004d8;
strcat = 0x40000500; isdigit = 0x400004dc;
strchr = 0x40000508; islower = 0x400004e0;
strcspn = 0x4000050c; isgraph = 0x400004e4;
strcoll = 0x40000510; isprint = 0x400004e8;
strlcat = 0x40000514; ispunct = 0x400004ec;
strlcpy = 0x40000518; isspace = 0x400004f0;
strlwr = 0x4000051c; isupper = 0x400004f4;
strncasecmp = 0x40000520; toupper = 0x400004f8;
strncat = 0x40000524; tolower = 0x400004fc;
strnlen = 0x4000052c; toascii = 0x40000500;
strrchr = 0x40000530; memccpy = 0x40000504;
strsep = 0x40000534; memchr = 0x40000508;
strspn = 0x40000538; memrchr = 0x4000050c;
strtok_r = 0x4000053c; strcasecmp = 0x40000510;
strupr = 0x40000540; strcasestr = 0x40000514;
longjmp = 0x40000544; strcat = 0x40000518;
setjmp = 0x40000548; strchr = 0x4000051c;
abs = 0x4000054c; strcspn = 0x40000520;
div = 0x40000550; strcoll = 0x40000524;
labs = 0x40000554; strlcat = 0x40000528;
ldiv = 0x40000558; strlcpy = 0x4000052c;
qsort = 0x4000055c; strlwr = 0x40000530;
utoa = 0x4000056c; strncasecmp = 0x40000534;
itoa = 0x40000570; strncat = 0x40000538;
strnlen = 0x4000053c;
strrchr = 0x40000540;
strsep = 0x40000544;
strspn = 0x40000548;
strtok_r = 0x4000054c;
strupr = 0x40000550;
longjmp = 0x40000554;
setjmp = 0x40000558;
abs = 0x4000055c;
div = 0x40000560;
labs = 0x40000564;
ldiv = 0x40000568;
qsort = 0x4000056c;
utoa = 0x40000570;
itoa = 0x40000574;
/* Data (.data, .bss, .rodata) */ /* Data (.data, .bss, .rodata) */
syscall_table_ptr = 0x4085ffd0; syscall_table_ptr = 0x4085ffd0;
_global_impure_ptr = 0x4085ffcc; _global_impure_ptr = 0x4085ffcc;

View File

@@ -6,7 +6,7 @@
/* ROM function interface esp32h4.rom.libgcc.ld for esp32h4 /* ROM function interface esp32h4.rom.libgcc.ld for esp32h4
* *
* *
* Generated from ./target/esp32h4/interface-esp32h4.yml md5sum 14f04fa4b1cf69c4e6eec57d641026c4 * Generated from ../../rom/target/esp32h4/interface-esp32h4.yml md5sum c9db9928804fe99070d282b058ff3c65
* *
* Compatible with ROM where ECO version equal or greater to 0. * Compatible with ROM where ECO version equal or greater to 0.
* *
@@ -18,78 +18,78 @@
***************************************/ ***************************************/
/* Functions */ /* Functions */
__absvdi2 = 0x40000818; __absvdi2 = 0x400007e0;
__absvsi2 = 0x4000081c; __absvsi2 = 0x400007e4;
__adddf3 = 0x40000820; __adddf3 = 0x400007e8;
__addvdi3 = 0x40000824; __addvdi3 = 0x400007ec;
__addvsi3 = 0x40000828; __addvsi3 = 0x400007f0;
__ashldi3 = 0x4000082c; __ashldi3 = 0x400007f4;
__ashrdi3 = 0x40000830; __ashrdi3 = 0x400007f8;
__bswapdi2 = 0x40000834; __bswapdi2 = 0x400007fc;
__bswapsi2 = 0x40000838; __bswapsi2 = 0x40000800;
__clear_cache = 0x4000083c; __clear_cache = 0x40000804;
__clrsbdi2 = 0x40000840; __clrsbdi2 = 0x40000808;
__clrsbsi2 = 0x40000844; __clrsbsi2 = 0x4000080c;
__clzdi2 = 0x40000848; __clzdi2 = 0x40000810;
__clzsi2 = 0x4000084c; __clzsi2 = 0x40000814;
__cmpdi2 = 0x40000850; __cmpdi2 = 0x40000818;
__ctzdi2 = 0x40000854; __ctzdi2 = 0x4000081c;
__ctzsi2 = 0x40000858; __ctzsi2 = 0x40000820;
__divdc3 = 0x4000085c; __divdc3 = 0x40000824;
__divdf3 = 0x40000860; __divdf3 = 0x40000828;
__divdi3 = 0x40000864; __divdi3 = 0x4000082c;
__divsc3 = 0x40000868; __divsc3 = 0x40000830;
__divsi3 = 0x4000086c; __divsi3 = 0x40000834;
__eqdf2 = 0x40000870; __eqdf2 = 0x40000838;
__extendsfdf2 = 0x40000874; __extendsfdf2 = 0x4000083c;
__ffsdi2 = 0x40000878; __ffsdi2 = 0x40000840;
__ffssi2 = 0x4000087c; __ffssi2 = 0x40000844;
__fixdfdi = 0x40000880; __fixdfdi = 0x40000848;
__fixdfsi = 0x40000884; __fixdfsi = 0x4000084c;
__fixsfdi = 0x40000888; __fixsfdi = 0x40000850;
__fixunsdfsi = 0x4000088c; __fixunsdfsi = 0x40000854;
__fixunssfdi = 0x40000890; __fixunssfdi = 0x40000858;
__fixunssfsi = 0x40000894; __fixunssfsi = 0x4000085c;
__floatdidf = 0x40000898; __floatdidf = 0x40000860;
__floatdisf = 0x4000089c; __floatdisf = 0x40000864;
__floatsidf = 0x400008a0; __floatsidf = 0x40000868;
__floatundidf = 0x400008a4; __floatundidf = 0x4000086c;
__floatundisf = 0x400008a8; __floatundisf = 0x40000870;
__floatunsidf = 0x400008ac; __floatunsidf = 0x40000874;
__gcc_bcmp = 0x400008b0; __gcc_bcmp = 0x40000878;
__gedf2 = 0x400008b4; __gedf2 = 0x4000087c;
__gtdf2 = 0x400008b8; __gtdf2 = 0x40000880;
__ledf2 = 0x400008bc; __ledf2 = 0x40000884;
__lshrdi3 = 0x400008c0; __lshrdi3 = 0x40000888;
__ltdf2 = 0x400008c4; __ltdf2 = 0x4000088c;
__moddi3 = 0x400008c8; __moddi3 = 0x40000890;
__modsi3 = 0x400008cc; __modsi3 = 0x40000894;
__muldc3 = 0x400008d0; __muldc3 = 0x40000898;
__muldf3 = 0x400008d4; __muldf3 = 0x4000089c;
__muldi3 = 0x400008d8; __muldi3 = 0x400008a0;
__mulsc3 = 0x400008dc; __mulsc3 = 0x400008a4;
__mulsi3 = 0x400008e0; __mulsi3 = 0x400008a8;
__mulvdi3 = 0x400008e4; __mulvdi3 = 0x400008ac;
__mulvsi3 = 0x400008e8; __mulvsi3 = 0x400008b0;
__nedf2 = 0x400008ec; __nedf2 = 0x400008b4;
__negdf2 = 0x400008f0; __negdf2 = 0x400008b8;
__negdi2 = 0x400008f4; __negdi2 = 0x400008bc;
__negvdi2 = 0x400008f8; __negvdi2 = 0x400008c0;
__negvsi2 = 0x400008fc; __negvsi2 = 0x400008c4;
__paritysi2 = 0x40000900; __paritysi2 = 0x400008c8;
__popcountdi2 = 0x40000904; __popcountdi2 = 0x400008cc;
__popcountsi2 = 0x40000908; __popcountsi2 = 0x400008d0;
__powidf2 = 0x4000090c; __powidf2 = 0x400008d4;
__subdf3 = 0x40000910; __subdf3 = 0x400008d8;
__subvdi3 = 0x40000914; __subvdi3 = 0x400008dc;
__subvsi3 = 0x40000918; __subvsi3 = 0x400008e0;
__ucmpdi2 = 0x4000091c; __ucmpdi2 = 0x400008e4;
__udivdi3 = 0x40000920; __udivdi3 = 0x400008e8;
__udivmoddi4 = 0x40000924; __udivmoddi4 = 0x400008ec;
__udivsi3 = 0x40000928; __udivsi3 = 0x400008f0;
__udiv_w_sdiv = 0x4000092c; __udiv_w_sdiv = 0x400008f4;
__umoddi3 = 0x40000930; __umoddi3 = 0x400008f8;
__umodsi3 = 0x40000934; __umodsi3 = 0x400008fc;
__unorddf2 = 0x40000938; __unorddf2 = 0x40000900;
__extenddftf2 = 0x4000093c; __extenddftf2 = 0x40000904;
__trunctfdf2 = 0x40000940; __trunctfdf2 = 0x40000908;

View File

@@ -6,7 +6,7 @@
/* ROM function interface esp32h4.rom.newlib-nano.ld for esp32h4 /* ROM function interface esp32h4.rom.newlib-nano.ld for esp32h4
* *
* *
* Generated from ./target/esp32h4/interface-esp32h4.yml md5sum 14f04fa4b1cf69c4e6eec57d641026c4 * Generated from ../../rom/target/esp32h4/interface-esp32h4.yml md5sum c9db9928804fe99070d282b058ff3c65
* *
* Compatible with ROM where ECO version equal or greater to 0. * Compatible with ROM where ECO version equal or greater to 0.
* *
@@ -18,15 +18,15 @@
***************************************/ ***************************************/
/* Functions */ /* Functions */
__sprint_r = 0x400005a8; __sprint_r = 0x40000578;
_fiprintf_r = 0x400005ac; _fiprintf_r = 0x4000057c;
_fprintf_r = 0x400005b0; _fprintf_r = 0x40000580;
_printf_common = 0x400005b4; _printf_common = 0x40000584;
_printf_i = 0x400005b8; _printf_i = 0x40000588;
_vfiprintf_r = 0x400005bc; _vfiprintf_r = 0x4000058c;
_vfprintf_r = 0x400005c0; _vfprintf_r = 0x40000590;
fiprintf = 0x400005c4; fiprintf = 0x40000594;
fprintf = 0x400005c8; fprintf = 0x40000598;
printf = 0x400005cc; printf = 0x4000059c;
vfiprintf = 0x400005d0; vfiprintf = 0x400005a0;
vfprintf = 0x400005d4; vfprintf = 0x400005a4;

View File

@@ -6,13 +6,11 @@
/* ROM function interface esp32h4.rom.newlib.ld for esp32h4 /* ROM function interface esp32h4.rom.newlib.ld for esp32h4
* *
* *
* Generated from ./target/esp32h4/interface-esp32h4.yml md5sum 14f04fa4b1cf69c4e6eec57d641026c4 * Generated from ../../rom/target/esp32h4/interface-esp32h4.yml md5sum c9db9928804fe99070d282b058ff3c65
* *
* Compatible with ROM where ECO version equal or greater to 0. * Compatible with ROM where ECO version equal or greater to 0.
* *
* THIS FILE WAS AUTOMATICALLY GENERATED. !!! BUT EDITED !!! * THIS FILE WAS AUTOMATICALLY GENERATED. DO NOT EDIT.
* The file was originally generated for use with newlib, but it was split into
* multiple files to make it compatible with picolibc.
*/ */
/*************************************** /***************************************
@@ -20,22 +18,22 @@
***************************************/ ***************************************/
/* Functions */ /* Functions */
_isatty_r = 0x400004a8; _isatty_r = 0x40000448;
strdup = 0x40000504; strdup = 0x4000044c;
strndup = 0x40000528; strndup = 0x40000450;
rand_r = 0x40000560; rand_r = 0x40000454;
rand = 0x40000564; rand = 0x40000458;
srand = 0x40000568; srand = 0x4000045c;
atoi = 0x40000574; atoi = 0x40000460;
atol = 0x40000578; atol = 0x40000464;
strtol = 0x4000057c; strtol = 0x40000468;
strtoul = 0x40000580; strtoul = 0x4000046c;
fflush = 0x40000584; fflush = 0x40000470;
_fflush_r = 0x40000588; _fflush_r = 0x40000474;
_fwalk = 0x4000058c; _fwalk = 0x40000478;
_fwalk_reent = 0x40000590; _fwalk_reent = 0x4000047c;
__smakebuf_r = 0x40000594; __smakebuf_r = 0x40000480;
__swhatbuf_r = 0x40000598; __swhatbuf_r = 0x40000484;
__swbuf_r = 0x4000059c; __swbuf_r = 0x40000488;
__swbuf = 0x400005a0; __swbuf = 0x4000048c;
__swsetup_r = 0x400005a4; __swsetup_r = 0x40000490;

View File

@@ -6,7 +6,7 @@
/* ROM function interface esp32h4.rom.spiflash.ld for esp32h4 /* ROM function interface esp32h4.rom.spiflash.ld for esp32h4
* *
* *
* Generated from ./target/esp32h4/interface-esp32h4.yml md5sum 14f04fa4b1cf69c4e6eec57d641026c4 * Generated from ../../rom/target/esp32h4/interface-esp32h4.yml md5sum c9db9928804fe99070d282b058ff3c65
* *
* Compatible with ROM where ECO version equal or greater to 0. * Compatible with ROM where ECO version equal or greater to 0.
* *
@@ -34,15 +34,15 @@ esp_flash_chip_driver_initialized = 0x4000020c;
esp_flash_read_id = 0x40000210; esp_flash_read_id = 0x40000210;
esp_flash_get_size = 0x40000214; esp_flash_get_size = 0x40000214;
esp_flash_erase_chip = 0x40000218; esp_flash_erase_chip = 0x40000218;
rom_esp_flash_erase_region = 0x4000021c; esp_flash_erase_region = 0x4000021c;
esp_flash_get_chip_write_protect = 0x40000220; esp_flash_get_chip_write_protect = 0x40000220;
esp_flash_set_chip_write_protect = 0x40000224; esp_flash_set_chip_write_protect = 0x40000224;
esp_flash_get_protectable_regions = 0x40000228; esp_flash_get_protectable_regions = 0x40000228;
esp_flash_get_protected_region = 0x4000022c; esp_flash_get_protected_region = 0x4000022c;
esp_flash_set_protected_region = 0x40000230; esp_flash_set_protected_region = 0x40000230;
esp_flash_read = 0x40000234; esp_flash_read = 0x40000234;
rom_esp_flash_write = 0x40000238; esp_flash_write = 0x40000238;
rom_esp_flash_write_encrypted = 0x4000023c; esp_flash_write_encrypted = 0x4000023c;
esp_flash_read_encrypted = 0x40000240; esp_flash_read_encrypted = 0x40000240;
esp_flash_get_io_mode = 0x40000244; esp_flash_get_io_mode = 0x40000244;
esp_flash_set_io_mode = 0x40000248; esp_flash_set_io_mode = 0x40000248;
@@ -97,52 +97,33 @@ spi_flash_chip_generic_config_data = 0x4085ffdc;
spi_flash_encryption = 0x4085ffd8; spi_flash_encryption = 0x4085ffd8;
/***************************************
Group memspi_host
***************************************/
/* Functions */
memspi_host_read_id_hs = 0x400002dc;
memspi_host_read_status_hs = 0x400002e0;
memspi_host_flush_cache = 0x400002e4;
memspi_host_erase_chip = 0x400002e8;
memspi_host_erase_sector = 0x400002ec;
memspi_host_erase_block = 0x400002f0;
memspi_host_program_page = 0x400002f4;
memspi_host_read = 0x400002f8;
memspi_host_set_write_protect = 0x400002fc;
memspi_host_set_max_read_len = 0x40000300;
memspi_host_read_data_slicer = 0x40000304;
memspi_host_write_data_slicer = 0x40000308;
/*************************************** /***************************************
Group hal_spiflash Group hal_spiflash
***************************************/ ***************************************/
/* Functions */ /* Functions */
spi_flash_hal_poll_cmd_done = 0x4000030c; spi_flash_hal_poll_cmd_done = 0x400002dc;
spi_flash_hal_device_config = 0x40000310; spi_flash_hal_device_config = 0x400002e0;
spi_flash_hal_configure_host_io_mode = 0x40000314; spi_flash_hal_configure_host_io_mode = 0x400002e4;
spi_flash_hal_common_command = 0x40000318; spi_flash_hal_common_command = 0x400002e8;
spi_flash_hal_read = 0x4000031c; spi_flash_hal_read = 0x400002ec;
spi_flash_hal_erase_chip = 0x40000320; spi_flash_hal_erase_chip = 0x400002f0;
spi_flash_hal_erase_sector = 0x40000324; spi_flash_hal_erase_sector = 0x400002f4;
spi_flash_hal_erase_block = 0x40000328; spi_flash_hal_erase_block = 0x400002f8;
spi_flash_hal_program_page = 0x4000032c; spi_flash_hal_program_page = 0x400002fc;
spi_flash_hal_set_write_protect = 0x40000330; spi_flash_hal_set_write_protect = 0x40000300;
spi_flash_hal_host_idle = 0x40000334; spi_flash_hal_host_idle = 0x40000304;
spi_flash_hal_check_status = 0x40000338; spi_flash_hal_check_status = 0x40000308;
spi_flash_hal_setup_read_suspend = 0x4000033c; spi_flash_hal_setup_read_suspend = 0x4000030c;
spi_flash_hal_setup_auto_suspend_mode = 0x40000340; spi_flash_hal_setup_auto_suspend_mode = 0x40000310;
spi_flash_hal_setup_auto_resume_mode = 0x40000344; spi_flash_hal_setup_auto_resume_mode = 0x40000314;
spi_flash_hal_disable_auto_suspend_mode = 0x40000348; spi_flash_hal_disable_auto_suspend_mode = 0x40000318;
spi_flash_hal_disable_auto_resume_mode = 0x4000034c; spi_flash_hal_disable_auto_resume_mode = 0x4000031c;
spi_flash_hal_resume = 0x40000350; spi_flash_hal_resume = 0x40000320;
spi_flash_hal_suspend = 0x40000354; spi_flash_hal_suspend = 0x40000324;
spi_flash_encryption_hal_enable = 0x40000358; spi_flash_encryption_hal_enable = 0x40000328;
spi_flash_encryption_hal_disable = 0x4000035c; spi_flash_encryption_hal_disable = 0x4000032c;
spi_flash_encryption_hal_prepare = 0x40000360; spi_flash_encryption_hal_prepare = 0x40000330;
spi_flash_encryption_hal_done = 0x40000364; spi_flash_encryption_hal_done = 0x40000334;
spi_flash_encryption_hal_destroy = 0x40000368; spi_flash_encryption_hal_destroy = 0x40000338;
spi_flash_encryption_hal_check = 0x4000036c; spi_flash_encryption_hal_check = 0x4000033c;

View File

@@ -3,24 +3,33 @@
* *
* SPDX-License-Identifier: Apache-2.0 * SPDX-License-Identifier: Apache-2.0
*/ */
/* ROM function interface esp32h4.rom.systimer.ld for esp32h4
*
*
* Generated from ../../rom/target/esp32h4/interface-esp32h4.yml md5sum c9db9928804fe99070d282b058ff3c65
*
* Compatible with ROM where ECO version equal or greater to 0.
*
* THIS FILE WAS AUTOMATICALLY GENERATED. DO NOT EDIT.
*/
/*************************************** /***************************************
Group hal_systimer Group hal_systimer
***************************************/ ***************************************/
/* Functions */ /* Functions */
systimer_hal_init = 0x4000039c; systimer_hal_init = 0x4000036c;
systimer_hal_deinit = 0x400003a0; systimer_hal_deinit = 0x40000370;
systimer_hal_set_tick_rate_ops = 0x400003a4; systimer_hal_set_tick_rate_ops = 0x40000374;
systimer_hal_get_counter_value = 0x400003a8; systimer_hal_get_counter_value = 0x40000378;
systimer_hal_get_time = 0x400003ac; systimer_hal_get_time = 0x4000037c;
systimer_hal_set_alarm_target = 0x400003b0; systimer_hal_set_alarm_target = 0x40000380;
systimer_hal_set_alarm_period = 0x400003b4; systimer_hal_set_alarm_period = 0x40000384;
systimer_hal_get_alarm_value = 0x400003b8; systimer_hal_get_alarm_value = 0x40000388;
systimer_hal_enable_alarm_int = 0x400003bc; systimer_hal_enable_alarm_int = 0x4000038c;
systimer_hal_on_apb_freq_update = 0x400003c0; systimer_hal_on_apb_freq_update = 0x40000390;
systimer_hal_counter_value_advance = 0x400003c4; systimer_hal_counter_value_advance = 0x40000394;
systimer_hal_enable_counter = 0x400003c8; systimer_hal_enable_counter = 0x40000398;
systimer_hal_select_alarm_mode = 0x400003cc; systimer_hal_select_alarm_mode = 0x4000039c;
systimer_hal_connect_alarm_counter = 0x400003d0; systimer_hal_connect_alarm_counter = 0x400003a0;
systimer_hal_counter_can_stall_by_cpu = 0x400003d4; systimer_hal_counter_can_stall_by_cpu = 0x400003a4;

View File

@@ -3,20 +3,29 @@
* *
* SPDX-License-Identifier: Apache-2.0 * SPDX-License-Identifier: Apache-2.0
*/ */
/* ROM function interface esp32h4.rom.wdt.ld for esp32h4
*
*
* Generated from ../../rom/target/esp32h4/interface-esp32h4.yml md5sum c9db9928804fe99070d282b058ff3c65
*
* Compatible with ROM where ECO version equal or greater to 0.
*
* THIS FILE WAS AUTOMATICALLY GENERATED. DO NOT EDIT.
*/
/*************************************** /***************************************
Group hal_wdt Group hal_wdt
***************************************/ ***************************************/
/* Functions */ /* Functions */
wdt_hal_init = 0x40000370; wdt_hal_init = 0x40000340;
wdt_hal_deinit = 0x40000374; wdt_hal_deinit = 0x40000344;
wdt_hal_config_stage = 0x40000378; wdt_hal_config_stage = 0x40000348;
wdt_hal_write_protect_disable = 0x4000037c; wdt_hal_write_protect_disable = 0x4000034c;
wdt_hal_write_protect_enable = 0x40000380; wdt_hal_write_protect_enable = 0x40000350;
wdt_hal_enable = 0x40000384; wdt_hal_enable = 0x40000354;
wdt_hal_disable = 0x40000388; wdt_hal_disable = 0x40000358;
wdt_hal_handle_intr = 0x4000038c; wdt_hal_handle_intr = 0x4000035c;
wdt_hal_feed = 0x40000390; wdt_hal_feed = 0x40000360;
wdt_hal_set_flashboot_en = 0x40000394; wdt_hal_set_flashboot_en = 0x40000364;
wdt_hal_is_enabled = 0x40000398; wdt_hal_is_enabled = 0x40000368;