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.
if(CONFIG_ESP32P4_REV_MIN_200)
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()
target_linker_script(${COMPONENT_LIB} INTERFACE "${target_folder}/${ld_folder}/${target}.rom.ld")
endif()
@@ -117,6 +119,8 @@ else()
if(CONFIG_COMPILER_FLOAT_LIB_FROM_GCCLIB)
if(CONFIG_ESP32P4_REV_MIN_200) # TODO: IDF-13410
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()
rom_linker_script("libgcc")
endif()
@@ -132,23 +136,39 @@ endif()
# Common API which is linked both for bootloader and app builds
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")
endif()
endif()
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")
endif()
endif()
if(CONFIG_ESP_ROM_HAS_VERSION)
rom_linker_script("version")
endif()
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("spiflash")
if(CONFIG_ESP_ROM_HAS_NEWLIB_NANO_FORMAT)
rom_linker_script("newlib-nano")
endif()
endif()
rom_linker_script("libc")
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")
@@ -174,6 +194,8 @@ if(BOOTLOADER_BUILD)
else()
if(CONFIG_ESP32P4_REV_MIN_200) # TODO: IDF-13410
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()
rom_linker_script("libc")
endif()
@@ -184,6 +206,8 @@ if(BOOTLOADER_BUILD)
if(CONFIG_LIBC_NEWLIB)
if(CONFIG_ESP32P4_REV_MIN_200) # TODO: IDF-13410
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()
rom_linker_script("newlib")
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
if(CONFIG_ESP32P4_REV_MIN_200) # TODO: IDF-13410
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()
rom_linker_script("libc")
endif()
@@ -350,6 +376,8 @@ else() # Regular app build
if(CONFIG_LIBC_NEWLIB)
if(CONFIG_ESP32P4_REV_MIN_200) # TODO: IDF-13410
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()
rom_linker_script("newlib")
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)
# Newlib-nano functions contains time_t related functions
# 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")
endif()
endif()
endif()
if(CONFIG_ESP_ROM_HAS_NEWLIB_NORMAL_FORMAT AND CONFIG_LIBC_NEWLIB AND NOT CONFIG_LIBC_NEWLIB_NANO_FORMAT)
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")
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")
endif()
endif()
if(CONFIG_SPI_FLASH_ROM_IMPL)
# 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(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")
endif()
endif()
endif()
if(CONFIG_MBEDTLS_USE_CRYPTO_ROM_IMPL)
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
*
*
* 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.
*
@@ -18,46 +18,46 @@
***************************************/
/* 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;
tlsf_create = 0x400003a8;
tlsf_create_with_pool = 0x400003ac;
tlsf_get_pool = 0x400003b0;
tlsf_add_pool = 0x400003b4;
tlsf_remove_pool = 0x400003b8;
tlsf_malloc = 0x400003bc;
tlsf_memalign = 0x400003c0;
tlsf_memalign_offs = 0x400003c4;
tlsf_malloc_addr = 0x400003c8;
tlsf_realloc = 0x400003cc;
tlsf_free = 0x400003d0;
tlsf_block_size = 0x400003d4;
tlsf_size = 0x400003d8;
tlsf_pool_overhead = 0x400003dc;
tlsf_alloc_overhead = 0x400003e0;
tlsf_walk_pool = 0x400003e4;
tlsf_check = 0x400003e8;
tlsf_check_pool = 0x400003ec;
tlsf_poison_fill_pfunc_set = 0x400003f0;
tlsf_poison_check_pfunc_set = 0x400003f4;
multi_heap_get_block_address_impl = 0x400003f8;
multi_heap_get_allocated_size_impl = 0x400003fc;
multi_heap_register_impl = 0x40000400;
multi_heap_set_lock = 0x40000404;
multi_heap_os_funcs_init = 0x40000408;
multi_heap_internal_lock = 0x4000040c;
multi_heap_internal_unlock = 0x40000410;
multi_heap_get_first_block = 0x40000414;
multi_heap_get_next_block = 0x40000418;
multi_heap_is_free = 0x4000041c;
multi_heap_malloc_impl = 0x40000420;
multi_heap_free_impl = 0x40000424;
multi_heap_realloc_impl = 0x40000428;
multi_heap_aligned_alloc_impl_offs = 0x4000042c;
multi_heap_aligned_alloc_impl = 0x40000430;
multi_heap_check = 0x40000434;
multi_heap_dump = 0x40000438;
multi_heap_free_size_impl = 0x4000043c;
multi_heap_minimum_free_size_impl = 0x40000440;
multi_heap_get_info_impl = 0x40000444;
/* Data (.data, .bss, .rodata) */
heap_tlsf_table_ptr = 0x4085ffd4;

View File

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

View File

@@ -3,63 +3,78 @@
*
* 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;
/* ROM function interface esp32h4.rom.libc.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 libc
***************************************/
/* Functions */
esp_rom_newlib_init_common_mutexes = 0x40000494;
memset = 0x40000498;
memcpy = 0x4000049c;
memmove = 0x400004a0;
memcmp = 0x400004a4;
strcpy = 0x400004a8;
strncpy = 0x400004ac;
strcmp = 0x400004b0;
strncmp = 0x400004b4;
strlen = 0x400004b8;
strstr = 0x400004bc;
bzero = 0x400004c0;
sbrk = 0x400004c4;
isalnum = 0x400004c8;
isalpha = 0x400004cc;
isascii = 0x400004d0;
isblank = 0x400004d4;
iscntrl = 0x400004d8;
isdigit = 0x400004dc;
islower = 0x400004e0;
isgraph = 0x400004e4;
isprint = 0x400004e8;
ispunct = 0x400004ec;
isspace = 0x400004f0;
isupper = 0x400004f4;
toupper = 0x400004f8;
tolower = 0x400004fc;
toascii = 0x40000500;
memccpy = 0x40000504;
memchr = 0x40000508;
memrchr = 0x4000050c;
strcasecmp = 0x40000510;
strcasestr = 0x40000514;
strcat = 0x40000518;
strchr = 0x4000051c;
strcspn = 0x40000520;
strcoll = 0x40000524;
strlcat = 0x40000528;
strlcpy = 0x4000052c;
strlwr = 0x40000530;
strncasecmp = 0x40000534;
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) */
syscall_table_ptr = 0x4085ffd0;
_global_impure_ptr = 0x4085ffcc;

View File

@@ -6,7 +6,7 @@
/* 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.
*
@@ -18,78 +18,78 @@
***************************************/
/* 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;
__absvdi2 = 0x400007e0;
__absvsi2 = 0x400007e4;
__adddf3 = 0x400007e8;
__addvdi3 = 0x400007ec;
__addvsi3 = 0x400007f0;
__ashldi3 = 0x400007f4;
__ashrdi3 = 0x400007f8;
__bswapdi2 = 0x400007fc;
__bswapsi2 = 0x40000800;
__clear_cache = 0x40000804;
__clrsbdi2 = 0x40000808;
__clrsbsi2 = 0x4000080c;
__clzdi2 = 0x40000810;
__clzsi2 = 0x40000814;
__cmpdi2 = 0x40000818;
__ctzdi2 = 0x4000081c;
__ctzsi2 = 0x40000820;
__divdc3 = 0x40000824;
__divdf3 = 0x40000828;
__divdi3 = 0x4000082c;
__divsc3 = 0x40000830;
__divsi3 = 0x40000834;
__eqdf2 = 0x40000838;
__extendsfdf2 = 0x4000083c;
__ffsdi2 = 0x40000840;
__ffssi2 = 0x40000844;
__fixdfdi = 0x40000848;
__fixdfsi = 0x4000084c;
__fixsfdi = 0x40000850;
__fixunsdfsi = 0x40000854;
__fixunssfdi = 0x40000858;
__fixunssfsi = 0x4000085c;
__floatdidf = 0x40000860;
__floatdisf = 0x40000864;
__floatsidf = 0x40000868;
__floatundidf = 0x4000086c;
__floatundisf = 0x40000870;
__floatunsidf = 0x40000874;
__gcc_bcmp = 0x40000878;
__gedf2 = 0x4000087c;
__gtdf2 = 0x40000880;
__ledf2 = 0x40000884;
__lshrdi3 = 0x40000888;
__ltdf2 = 0x4000088c;
__moddi3 = 0x40000890;
__modsi3 = 0x40000894;
__muldc3 = 0x40000898;
__muldf3 = 0x4000089c;
__muldi3 = 0x400008a0;
__mulsc3 = 0x400008a4;
__mulsi3 = 0x400008a8;
__mulvdi3 = 0x400008ac;
__mulvsi3 = 0x400008b0;
__nedf2 = 0x400008b4;
__negdf2 = 0x400008b8;
__negdi2 = 0x400008bc;
__negvdi2 = 0x400008c0;
__negvsi2 = 0x400008c4;
__paritysi2 = 0x400008c8;
__popcountdi2 = 0x400008cc;
__popcountsi2 = 0x400008d0;
__powidf2 = 0x400008d4;
__subdf3 = 0x400008d8;
__subvdi3 = 0x400008dc;
__subvsi3 = 0x400008e0;
__ucmpdi2 = 0x400008e4;
__udivdi3 = 0x400008e8;
__udivmoddi4 = 0x400008ec;
__udivsi3 = 0x400008f0;
__udiv_w_sdiv = 0x400008f4;
__umoddi3 = 0x400008f8;
__umodsi3 = 0x400008fc;
__unorddf2 = 0x40000900;
__extenddftf2 = 0x40000904;
__trunctfdf2 = 0x40000908;

View File

@@ -6,7 +6,7 @@
/* 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.
*
@@ -18,15 +18,15 @@
***************************************/
/* 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;
__sprint_r = 0x40000578;
_fiprintf_r = 0x4000057c;
_fprintf_r = 0x40000580;
_printf_common = 0x40000584;
_printf_i = 0x40000588;
_vfiprintf_r = 0x4000058c;
_vfprintf_r = 0x40000590;
fiprintf = 0x40000594;
fprintf = 0x40000598;
printf = 0x4000059c;
vfiprintf = 0x400005a0;
vfprintf = 0x400005a4;

View File

@@ -6,13 +6,11 @@
/* 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.
*
* 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.
* THIS FILE WAS AUTOMATICALLY GENERATED. DO NOT EDIT.
*/
/***************************************
@@ -20,22 +18,22 @@
***************************************/
/* 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;
_isatty_r = 0x40000448;
strdup = 0x4000044c;
strndup = 0x40000450;
rand_r = 0x40000454;
rand = 0x40000458;
srand = 0x4000045c;
atoi = 0x40000460;
atol = 0x40000464;
strtol = 0x40000468;
strtoul = 0x4000046c;
fflush = 0x40000470;
_fflush_r = 0x40000474;
_fwalk = 0x40000478;
_fwalk_reent = 0x4000047c;
__smakebuf_r = 0x40000480;
__swhatbuf_r = 0x40000484;
__swbuf_r = 0x40000488;
__swbuf = 0x4000048c;
__swsetup_r = 0x40000490;

View File

@@ -6,7 +6,7 @@
/* 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.
*
@@ -34,15 +34,15 @@ 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_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_write = 0x40000238;
esp_flash_write_encrypted = 0x4000023c;
esp_flash_read_encrypted = 0x40000240;
esp_flash_get_io_mode = 0x40000244;
esp_flash_set_io_mode = 0x40000248;
@@ -97,52 +97,33 @@ 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;
spi_flash_hal_poll_cmd_done = 0x400002dc;
spi_flash_hal_device_config = 0x400002e0;
spi_flash_hal_configure_host_io_mode = 0x400002e4;
spi_flash_hal_common_command = 0x400002e8;
spi_flash_hal_read = 0x400002ec;
spi_flash_hal_erase_chip = 0x400002f0;
spi_flash_hal_erase_sector = 0x400002f4;
spi_flash_hal_erase_block = 0x400002f8;
spi_flash_hal_program_page = 0x400002fc;
spi_flash_hal_set_write_protect = 0x40000300;
spi_flash_hal_host_idle = 0x40000304;
spi_flash_hal_check_status = 0x40000308;
spi_flash_hal_setup_read_suspend = 0x4000030c;
spi_flash_hal_setup_auto_suspend_mode = 0x40000310;
spi_flash_hal_setup_auto_resume_mode = 0x40000314;
spi_flash_hal_disable_auto_suspend_mode = 0x40000318;
spi_flash_hal_disable_auto_resume_mode = 0x4000031c;
spi_flash_hal_resume = 0x40000320;
spi_flash_hal_suspend = 0x40000324;
spi_flash_encryption_hal_enable = 0x40000328;
spi_flash_encryption_hal_disable = 0x4000032c;
spi_flash_encryption_hal_prepare = 0x40000330;
spi_flash_encryption_hal_done = 0x40000334;
spi_flash_encryption_hal_destroy = 0x40000338;
spi_flash_encryption_hal_check = 0x4000033c;

View File

@@ -3,24 +3,33 @@
*
* 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
***************************************/
/* 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;
systimer_hal_init = 0x4000036c;
systimer_hal_deinit = 0x40000370;
systimer_hal_set_tick_rate_ops = 0x40000374;
systimer_hal_get_counter_value = 0x40000378;
systimer_hal_get_time = 0x4000037c;
systimer_hal_set_alarm_target = 0x40000380;
systimer_hal_set_alarm_period = 0x40000384;
systimer_hal_get_alarm_value = 0x40000388;
systimer_hal_enable_alarm_int = 0x4000038c;
systimer_hal_on_apb_freq_update = 0x40000390;
systimer_hal_counter_value_advance = 0x40000394;
systimer_hal_enable_counter = 0x40000398;
systimer_hal_select_alarm_mode = 0x4000039c;
systimer_hal_connect_alarm_counter = 0x400003a0;
systimer_hal_counter_can_stall_by_cpu = 0x400003a4;

View File

@@ -3,20 +3,29 @@
*
* 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
***************************************/
/* 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;
wdt_hal_init = 0x40000340;
wdt_hal_deinit = 0x40000344;
wdt_hal_config_stage = 0x40000348;
wdt_hal_write_protect_disable = 0x4000034c;
wdt_hal_write_protect_enable = 0x40000350;
wdt_hal_enable = 0x40000354;
wdt_hal_disable = 0x40000358;
wdt_hal_handle_intr = 0x4000035c;
wdt_hal_feed = 0x40000360;
wdt_hal_set_flashboot_en = 0x40000364;
wdt_hal_is_enabled = 0x40000368;