first commit

This commit is contained in:
2026-05-22 22:05:03 +03:00
commit 43393d2692
33463 changed files with 9249702 additions and 0 deletions
+127
View File
@@ -0,0 +1,127 @@
/*
* SPDX-FileCopyrightText: 2022-2024 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
PROVIDE ( UART0 = 0x500CA000 );
PROVIDE ( UART1 = 0x500CB000 );
PROVIDE ( UART2 = 0x500CC000 );
PROVIDE ( UART3 = 0x500CD000 );
PROVIDE ( UART4 = 0x500CE000 );
PROVIDE ( SPIMEM0 = 0x5008C000 );
PROVIDE ( SPIMEM1 = 0x5008D000 );
PROVIDE ( SPIMEM2 = 0x5008E000 );
PROVIDE ( SPIMEM3 = 0x5008F000 );
PROVIDE ( I2C0 = 0x500C4000 );
PROVIDE ( I2C1 = 0x500C5000 );
PROVIDE ( UHCI0 = 0x500DF000 );
PROVIDE ( RMT = 0x500A2000 );
PROVIDE ( RMTMEM = 0x500A2800 );
PROVIDE ( AXI_ICM = 0x500A4000 );
PROVIDE ( AXI_ICM_QOS = 0x500A4400 );
PROVIDE ( HP_PERI_PMS = 0x500A5000 );
PROVIDE ( LP2HP_PERI_PMS = 0x500A5800 );
PROVIDE ( DMA_PMS = 0x500A6000 );
PROVIDE ( AXI_PERF_MON = 0x500A8000 );
PROVIDE ( LEDC = 0x500D3000 );
PROVIDE ( LEDC_GAMMA_RAM = 0x500D3400 );
PROVIDE ( TIMERG0 = 0x500C2000 );
PROVIDE ( TIMERG1 = 0x500C3000 );
PROVIDE ( SYSTIMER = 0x500E2000 );
PROVIDE ( TWAI0 = 0x500D7000 );
PROVIDE ( I2S0 = 0x500C6000 );
PROVIDE ( I2S1 = 0x500C7000 );
PROVIDE ( I2S2 = 0x500C8000 );
PROVIDE ( TWAI1 = 0x500D8000 );
PROVIDE ( TWAI2 = 0x500D9000 );
PROVIDE ( ADC = 0x500DE000 );
PROVIDE ( USB_SERIAL_JTAG = 0x500D2000 );
PROVIDE ( SDMMC = 0x50083000 );
PROVIDE ( BITSCRAMBLER = 0x500A3000 );
PROVIDE ( INTMTX = 0x500D6000 );
PROVIDE ( PCNT = 0x500C9000 );
PROVIDE ( SOC_ETM = 0x500D5000 );
PROVIDE ( MCPWM0 = 0x500C0000 );
PROVIDE ( MCPWM1 = 0x500C1000 );
PROVIDE ( PARL_IO = 0x500CF000 );
PROVIDE ( PVT_MONITOR = 0x5009E000 );
PROVIDE ( GPSPI2 = 0x500D0000 );
PROVIDE ( GPSPI3 = 0x500D1000 );
PROVIDE ( AES = 0x50090000 );
PROVIDE ( SHA = 0x50091000 );
PROVIDE ( RSA = 0x50092000 );
PROVIDE ( ECC = 0x50093000 );
PROVIDE ( DS = 0x50094000 );
PROVIDE ( HMAC = 0x50095000 );
PROVIDE ( ECDSA = 0x50096000 );
PROVIDE ( GPIO = 0x500E0000 );
PROVIDE ( GPIO_EXT = 0x500E0F00 );
PROVIDE ( SDM = 0x500E0F00 );
PROVIDE ( GLITCH_FILTER = 0x500E0F30 );
PROVIDE ( GPIO_ETM = 0x500E0F60 );
PROVIDE ( IO_MUX = 0x500E1000 );
PROVIDE ( MSPI_IOMUX = 0x500E1200 );
PROVIDE ( HP_SYSTEM = 0x500E5000 );
PROVIDE ( HP_SYS_CLKRST = 0x500E6000 );
PROVIDE ( PMU = 0x50115000 );
PROVIDE ( LP_SYS = 0x50110000 );
PROVIDE ( LP_AON_CLKRST = 0x50111000 );
PROVIDE ( EFUSE = 0x5012D000 );
PROVIDE ( LPPERI = 0x50120000 );
PROVIDE ( LP_TIMER = 0x50112000 );
PROVIDE ( LP_UART = 0x50121000 );
PROVIDE ( LP_I2C = 0x50122000 );
PROVIDE ( LP_SPI = 0x50123000 );
PROVIDE ( LP_WDT = 0x50116000 );
PROVIDE ( LP_I2S = 0x50125000 );
PROVIDE ( LP_TRNG = 0x50126000 );
PROVIDE ( LP_ADC = 0x50127000 );
PROVIDE ( LP_TOUCH = 0x50128000 );
PROVIDE ( LP_GPIO = 0x5012A000 );
PROVIDE ( LP_PERI_PMS = 0x5012E000 );
PROVIDE ( HP2LP_PERI_PMS = 0x5012E800 );
PROVIDE ( I2C_ANA_MST = 0x50124000 );
PROVIDE ( LP_ANA_PERI = 0x50113000 );
PROVIDE ( AHB_DMA = 0x50085000 );
PROVIDE ( AXI_DMA = 0x5008a000 );
PROVIDE ( LCD_CAM = 0x500dc000 );
PROVIDE ( LP_IOMUX = 0x5012B000 );
PROVIDE ( LP_TSENS = 0x5012f000 );
PROVIDE ( MIPI_CSI_BRIDGE = 0x5009F800 );
PROVIDE ( MIPI_CSI_HOST = 0x5009F000 );
PROVIDE ( MIPI_DSI_BRIDGE = 0x500A0800 );
PROVIDE ( MIPI_DSI_HOST = 0x500A0000 );
PROVIDE ( MIPI_CSI_MEM = 0x50104000 );
PROVIDE ( MIPI_DSI_MEM = 0x50105000 );
PROVIDE ( ISP = 0x500A1000 );
PROVIDE ( DW_GDMA = 0x50081000 );
PROVIDE ( PAU = 0x50082000 );
PROVIDE ( I3C_MST = 0x500DA000 );
PROVIDE ( I3C_MST_MEM = 0x500DA000 );
PROVIDE ( I3C_SLV = 0x500DB000 );
PROVIDE ( JPEG = 0x50086000 );
PROVIDE ( PPA = 0x50087000 );
PROVIDE ( DMA2D = 0x50088000 );
PROVIDE ( USB_WRAP = 0x50080000 );
PROVIDE ( USB_DWC_HS = 0x50000000 );
PROVIDE ( USB_DWC_FS = 0x50040000 );
PROVIDE ( USB_UTMI = 0x5009C000 );
PROVIDE ( EMAC_MAC = 0x50098000 );
PROVIDE ( EMAC_PTP = 0x50098700 );
PROVIDE ( EMAC_DMA = 0x50099000 );
PROVIDE ( CACHE = 0x3FF10000);
PROVIDE ( TRACE0 = 0x3FF04000);
PROVIDE ( TRACE1 = 0x3FF05000);
+67
View File
@@ -0,0 +1,67 @@
/*
* SPDX-FileCopyrightText: 2023-2024 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
/** ROM APIs
*/
PROVIDE ( esp_rom_crc32_le = crc32_le );
PROVIDE ( esp_rom_crc16_le = crc16_le );
PROVIDE ( esp_rom_crc8_le = crc8_le );
PROVIDE ( esp_rom_crc32_be = crc32_be );
PROVIDE ( esp_rom_crc16_be = crc16_be );
PROVIDE ( esp_rom_crc8_be = crc8_be );
PROVIDE ( esp_rom_gpio_pad_select_gpio = gpio_pad_select_gpio );
PROVIDE ( esp_rom_gpio_pad_pullup_only = gpio_pad_pullup );
PROVIDE ( esp_rom_gpio_pad_set_drv = gpio_pad_set_drv );
PROVIDE ( esp_rom_gpio_pad_unhold = gpio_pad_unhold );
PROVIDE ( esp_rom_gpio_connect_in_signal = gpio_matrix_in );
PROVIDE ( esp_rom_gpio_connect_out_signal = gpio_matrix_out );
PROVIDE ( esp_rom_efuse_mac_address_crc8 = esp_crc8 );
PROVIDE ( esp_rom_efuse_is_secure_boot_enabled = ets_efuse_secure_boot_enabled );
PROVIDE ( esp_rom_uart_flush_tx = uart_tx_flush );
PROVIDE ( esp_rom_uart_tx_one_char = uart_tx_one_char2 );
PROVIDE ( esp_rom_uart_tx_wait_idle = uart_tx_wait_idle );
PROVIDE ( esp_rom_uart_rx_one_char = uart_rx_one_char );
PROVIDE ( esp_rom_uart_rx_string = UartRxString );
PROVIDE ( esp_rom_uart_set_as_console = uart_tx_switch );
PROVIDE ( esp_rom_uart_putc = ets_write_char_uart );
PROVIDE ( esp_rom_usb_serial_putc = uart_tx_one_char3 );
PROVIDE ( esp_rom_output_flush_tx = uart_tx_flush );
PROVIDE ( esp_rom_output_tx_one_char = uart_tx_one_char );
PROVIDE ( esp_rom_output_tx_wait_idle = uart_tx_wait_idle );
PROVIDE ( esp_rom_output_rx_one_char = uart_rx_one_char );
PROVIDE ( esp_rom_output_rx_string = UartRxString );
PROVIDE ( esp_rom_output_set_as_console = uart_tx_switch );
PROVIDE ( esp_rom_output_putc = ets_write_char_uart );
PROVIDE ( esp_rom_md5_init = MD5Init );
PROVIDE ( esp_rom_md5_update = MD5Update );
PROVIDE ( esp_rom_md5_final = MD5Final );
PROVIDE ( esp_rom_software_reset_system = software_reset );
PROVIDE ( esp_rom_software_reset_cpu = software_reset_cpu );
PROVIDE ( esp_rom_printf = ets_printf );
PROVIDE ( esp_rom_install_uart_printf = ets_install_uart_printf );
PROVIDE ( esp_rom_delay_us = ets_delay_us );
PROVIDE ( esp_rom_get_reset_reason = rtc_get_reset_reason );
PROVIDE ( esp_rom_route_intr_matrix = intr_matrix_set );
PROVIDE ( esp_rom_get_cpu_ticks_per_us = ets_get_cpu_frequency );
PROVIDE ( esp_rom_set_cpu_ticks_per_us = ets_update_cpu_frequency );
PROVIDE ( esp_rom_spiflash_attach = spi_flash_attach );
PROVIDE ( esp_rom_spiflash_clear_bp = esp_rom_spiflash_unlock );
PROVIDE ( esp_rom_spiflash_write_enable = SPI_write_enable );
PROVIDE ( esp_rom_spiflash_erase_area = SPIEraseArea );
PROVIDE ( esp_rom_spiflash_fix_dummylen = spi_dummy_len_fix );
PROVIDE ( esp_rom_spiflash_set_drvs = SetSpiDrvs);
PROVIDE ( esp_rom_spiflash_select_padsfunc = SelectSpiFunction );
PROVIDE ( esp_rom_spiflash_common_cmd = SPI_Common_Command );
+592
View File
@@ -0,0 +1,592 @@
/*
* SPDX-FileCopyrightText: 2025 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
/* ROM function interface esp32p4.rom.ld for esp32p4
*
*
* Generated from ./target/esp32p4/interface-esp32p4.yml md5sum 56d78222be1daa0502090a078288f4d5
*
* Compatible with ROM where ECO version equal or greater to 5.
*
* THIS FILE WAS AUTOMATICALLY GENERATED. DO NOT EDIT.
*/
/***************************************
Group common
***************************************/
/* Functions */
rtc_get_reset_reason = 0x4fc00018;
rtc_get_wakeup_cause = 0x4fc0001c;
pmu_enable_unhold_pads = 0x4fc00020;
ets_printf = 0x4fc00024;
ets_install_putc1 = 0x4fc00028;
ets_install_putc2 = 0x4fc0002c;
ets_install_uart_printf = 0x4fc00030;
ets_install_usb_printf = 0x4fc00034;
ets_get_printf_channel = 0x4fc00038;
ets_delay_us = 0x4fc0003c;
ets_get_cpu_frequency = 0x4fc00040;
ets_update_cpu_frequency = 0x4fc00044;
ets_install_lock = 0x4fc00048;
UartRxString = 0x4fc0004c;
UartGetCmdLn = 0x4fc00050;
uart_tx_one_char = 0x4fc00054;
uart_tx_one_char2 = 0x4fc00058;
uart_tx_one_char3 = 0x4fc0005c;
uart_rx_one_char = 0x4fc00060;
uart_rx_one_char_block = 0x4fc00064;
uart_rx_intr_handler = 0x4fc00068;
uart_rx_readbuff = 0x4fc0006c;
uartAttach = 0x4fc00070;
uart_tx_flush = 0x4fc00074;
uart_tx_wait_idle = 0x4fc00078;
uart_div_modify = 0x4fc0007c;
ets_write_char_uart = 0x4fc00080;
uart_tx_switch = 0x4fc00084;
uart_buff_switch = 0x4fc00088;
roundup2 = 0x4fc0008c;
multofup = 0x4fc00090;
software_reset = 0x4fc00094;
software_reset_cpu = 0x4fc00098;
ets_clk_assist_debug_clock_enable = 0x4fc0009c;
clear_super_wdt_reset_flag = 0x4fc000a0;
disable_default_watchdog = 0x4fc000a4;
ets_set_appcpu_boot_addr = 0x4fc000a8;
send_packet = 0x4fc000ac;
recv_packet = 0x4fc000b0;
GetUartDevice = 0x4fc000b4;
UartDwnLdProc = 0x4fc000b8;
GetSecurityInfoProc = 0x4fc000bc;
Uart_Init = 0x4fc000c0;
ets_set_user_start = 0x4fc000c4;
/* Data (.data, .bss, .rodata) */
ets_rom_layout_p = 0x4fc1fffc;
ets_ops_table_ptr = 0x4ffbfff4;
g_saved_pc = 0x4ffbfff8;
/***************************************
Group miniz
***************************************/
/* Functions */
mz_adler32 = 0x4fc000c8;
mz_free = 0x4fc000cc;
tdefl_compress = 0x4fc000d0;
tdefl_compress_buffer = 0x4fc000d4;
tdefl_compress_mem_to_heap = 0x4fc000d8;
tdefl_compress_mem_to_mem = 0x4fc000dc;
tdefl_compress_mem_to_output = 0x4fc000e0;
tdefl_get_adler32 = 0x4fc000e4;
tdefl_get_prev_return_status = 0x4fc000e8;
tdefl_init = 0x4fc000ec;
tdefl_write_image_to_png_file_in_memory = 0x4fc000f0;
tdefl_write_image_to_png_file_in_memory_ex = 0x4fc000f4;
tinfl_decompress = 0x4fc000f8;
tinfl_decompress_mem_to_callback = 0x4fc000fc;
tinfl_decompress_mem_to_heap = 0x4fc00100;
tinfl_decompress_mem_to_mem = 0x4fc00104;
/***************************************
Group spi_extmem_common
***************************************/
/* Functions */
esp_rom_spi_cmd_config = 0x4fc00108;
esp_rom_spi_cmd_start = 0x4fc0010c;
esp_rom_spi_set_op_mode = 0x4fc00110;
esp_rom_spi_set_dtr_swap_mode = 0x4fc00114;
/***************************************
Group spiflash_legacy
***************************************/
/* Functions */
esp_rom_spiflash_wait_idle = 0x4fc00118;
esp_rom_spiflash_write_encrypted = 0x4fc0011c;
esp_rom_spiflash_write_encrypted_dest = 0x4fc00120;
esp_rom_spiflash_write_encrypted_enable = 0x4fc00124;
esp_rom_spiflash_write_encrypted_disable = 0x4fc00128;
esp_rom_spiflash_erase_chip = 0x4fc0012c;
_esp_rom_spiflash_erase_sector = 0x4fc00130;
_esp_rom_spiflash_erase_block = 0x4fc00134;
_esp_rom_spiflash_write = 0x4fc00138;
_esp_rom_spiflash_read = 0x4fc0013c;
_esp_rom_spiflash_unlock = 0x4fc00140;
_SPIEraseArea = 0x4fc00144;
_SPI_write_enable = 0x4fc00148;
esp_rom_spiflash_erase_sector = 0x4fc0014c;
esp_rom_spiflash_erase_block = 0x4fc00150;
esp_rom_spiflash_write = 0x4fc00154;
esp_rom_spiflash_read = 0x4fc00158;
esp_rom_spiflash_unlock = 0x4fc0015c;
SPIEraseArea = 0x4fc00160;
SPI_write_enable = 0x4fc00164;
esp_rom_spiflash_config_param = 0x4fc00168;
esp_rom_spiflash_read_user_cmd = 0x4fc0016c;
esp_rom_spiflash_select_qio_pins = 0x4fc00170;
esp_rom_spi_flash_auto_sus_res = 0x4fc00174;
esp_rom_spi_flash_send_resume = 0x4fc00178;
esp_rom_spi_flash_update_id = 0x4fc0017c;
esp_rom_spiflash_config_clk = 0x4fc00180;
esp_rom_spiflash_config_readmode = 0x4fc00184;
esp_rom_spiflash_read_status = 0x4fc00188;
esp_rom_spiflash_read_statushigh = 0x4fc0018c;
esp_rom_spiflash_write_status = 0x4fc00190;
esp_rom_spiflash_write_disable = 0x4fc00194;
spi_cache_mode_switch = 0x4fc00198;
spi_common_set_dummy_output = 0x4fc0019c;
spi_common_set_flash_cs_timing = 0x4fc001a0;
esp_rom_spi_set_address_bit_len = 0x4fc001a4;
SPILock = 0x4fc001a8;
SPIMasterReadModeCnfig = 0x4fc001ac;
SPI_Common_Command = 0x4fc001b0;
SPI_WakeUp = 0x4fc001b4;
SPI_block_erase = 0x4fc001b8;
SPI_chip_erase = 0x4fc001bc;
SPI_init = 0x4fc001c0;
SPI_page_program = 0x4fc001c4;
SPI_read_data = 0x4fc001c8;
SPI_sector_erase = 0x4fc001cc;
SelectSpiFunction = 0x4fc001d0;
SetSpiDrvs = 0x4fc001d4;
Wait_SPI_Idle = 0x4fc001d8;
spi_dummy_len_fix = 0x4fc001dc;
Disable_QMode = 0x4fc001e0;
Enable_QMode = 0x4fc001e4;
spi_flash_attach = 0x4fc001e8;
spi_flash_get_chip_size = 0x4fc001ec;
spi_flash_guard_set = 0x4fc001f0;
spi_flash_guard_get = 0x4fc001f4;
spi_flash_read_encrypted = 0x4fc001f8;
/* Data (.data, .bss, .rodata) */
rom_spiflash_legacy_funcs = 0x4ffbffec;
rom_spiflash_legacy_data = 0x4ffbffe8;
g_flash_guard_ops = 0x4ffbfff0;
/***************************************
Group cache
***************************************/
/* Functions */
Cache_Get_L1_ICache_Line_Size = 0x4fc003c4;
Cache_Get_L1_DCache_Line_Size = 0x4fc003c8;
Cache_Get_L2_Cache_Line_Size = 0x4fc003cc;
Cache_Get_Mode = 0x4fc003d0;
Cache_Set_L2_Cache_Mode = 0x4fc003d4;
Cache_Address_Through_Cache = 0x4fc003d8;
ROM_Boot_Cache_Init = 0x4fc003dc;
Cache_Sync_Addr = 0x4fc003e0;
Cache_Invalidate_Addr = 0x4fc003e4;
Cache_Invalidate_Addr_Gid = 0x4fc003e8;
Cache_Clean_Addr = 0x4fc003ec;
Cache_Clean_Addr_Gid = 0x4fc003f0;
Cache_WriteBack_Addr = 0x4fc003f4;
Cache_WriteBack_Addr_Gid = 0x4fc003f8;
Cache_WriteBack_Invalidate_Addr = 0x4fc003fc;
Cache_WriteBack_Invalidate_Addr_Gid = 0x4fc00400;
Cache_Invalidate_All = 0x4fc00404;
Cache_Invalidate_All_Gid = 0x4fc00408;
Cache_Clean_All = 0x4fc0040c;
Cache_Clean_All_Gid = 0x4fc00410;
Cache_WriteBack_All = 0x4fc00414;
Cache_WriteBack_All_Gid = 0x4fc00418;
Cache_WriteBack_Invalidate_All = 0x4fc0041c;
Cache_WriteBack_Invalidate_All_Gid = 0x4fc00420;
Cache_Mask_All = 0x4fc00424;
Cache_Suspend_L1_CORE0_ICache_Autoload = 0x4fc00428;
Cache_Resume_L1_CORE0_ICache_Autoload = 0x4fc0042c;
Cache_Suspend_L1_CORE1_ICache_Autoload = 0x4fc00430;
Cache_Resume_L1_CORE1_ICache_Autoload = 0x4fc00434;
Cache_Suspend_L1_DCache_Autoload = 0x4fc00438;
Cache_Resume_L1_DCache_Autoload = 0x4fc0043c;
Cache_Suspend_L2_Cache_Autoload = 0x4fc00440;
Cache_Resume_L2_Cache_Autoload = 0x4fc00444;
Cache_Start_L1_CORE0_ICache_Preload = 0x4fc00448;
Cache_L1_CORE0_ICache_Preload_Done = 0x4fc0044c;
Cache_End_L1_CORE0_ICache_Preload = 0x4fc00450;
Cache_Start_L1_CORE1_ICache_Preload = 0x4fc00454;
Cache_L1_CORE1_ICache_Preload_Done = 0x4fc00458;
Cache_End_L1_CORE1_ICache_Preload = 0x4fc0045c;
Cache_Start_L1_DCache_Preload = 0x4fc00460;
Cache_L1_DCache_Preload_Done = 0x4fc00464;
Cache_End_L1_DCache_Preload = 0x4fc00468;
Cache_Start_L2_Cache_Preload = 0x4fc0046c;
Cache_L2_Cache_Preload_Done = 0x4fc00470;
Cache_End_L2_Cache_Preload = 0x4fc00474;
Cache_Config_L1_CORE0_ICache_Autoload = 0x4fc00478;
Cache_Enable_L1_CORE0_ICache_Autoload = 0x4fc0047c;
Cache_Disable_L1_CORE0_ICache_Autoload = 0x4fc00480;
Cache_Config_L1_CORE1_ICache_Autoload = 0x4fc00484;
Cache_Enable_L1_CORE1_ICache_Autoload = 0x4fc00488;
Cache_Disable_L1_CORE1_ICache_Autoload = 0x4fc0048c;
Cache_Config_L1_DCache_Autoload = 0x4fc00490;
Cache_Enable_L1_DCache_Autoload = 0x4fc00494;
Cache_Disable_L1_DCache_Autoload = 0x4fc00498;
Cache_Config_L2_Cache_Autoload = 0x4fc0049c;
Cache_Enable_L2_Cache_Autoload = 0x4fc004a0;
Cache_Disable_L2_Cache_Autoload = 0x4fc004a4;
Cache_Enable_L1_CORE0_ICache_PreLock = 0x4fc004a8;
Cache_Disable_L1_CORE0_ICache_PreLock = 0x4fc004ac;
Cache_Enable_L1_CORE1_ICache_PreLock = 0x4fc004b0;
Cache_Disable_L1_CORE1_ICache_PreLock = 0x4fc004b4;
Cache_Enable_L1_DCache_PreLock = 0x4fc004b8;
Cache_Disable_L1_DCache_PreLock = 0x4fc004bc;
Cache_Enable_L2_Cache_PreLock = 0x4fc004c0;
Cache_Disable_L2_Cache_PreLock = 0x4fc004c4;
Cache_Lock_Addr = 0x4fc004c8;
Cache_Unlock_Addr = 0x4fc004cc;
Cache_Disable_L1_CORE0_ICache = 0x4fc004d0;
Cache_Enable_L1_CORE0_ICache = 0x4fc004d4;
Cache_Suspend_L1_CORE0_ICache = 0x4fc004d8;
Cache_Resume_L1_CORE0_ICache = 0x4fc004dc;
Cache_Disable_L1_CORE1_ICache = 0x4fc004e0;
Cache_Enable_L1_CORE1_ICache = 0x4fc004e4;
Cache_Suspend_L1_CORE1_ICache = 0x4fc004e8;
Cache_Resume_L1_CORE1_ICache = 0x4fc004ec;
Cache_Disable_L1_DCache = 0x4fc004f0;
Cache_Enable_L1_DCache = 0x4fc004f4;
Cache_Suspend_L1_DCache = 0x4fc004f8;
Cache_Resume_L1_DCache = 0x4fc004fc;
Cache_Disable_L2_Cache = 0x4fc00500;
Cache_Enable_L2_Cache = 0x4fc00504;
Cache_Suspend_L2_Cache = 0x4fc00508;
Cache_Resume_L2_Cache = 0x4fc0050c;
Cache_FLASH_MMU_Init = 0x4fc00510;
Cache_PSRAM_MMU_Init = 0x4fc00514;
Cache_FLASH_MMU_Set = 0x4fc00518;
Cache_FLASH_MMU_Set_Secure = 0x4fc0051c;
Cache_PSRAM_MMU_Set = 0x4fc00520;
Cache_PSRAM_MMU_Set_Secure = 0x4fc00524;
Cache_Count_Flash_Pages = 0x4fc00528;
Cache_Flash_To_SPIRAM_Copy = 0x4fc0052c;
Cache_Set_IDROM_MMU_Size = 0x4fc00530;
flash2spiram_instruction_offset = 0x4fc00534;
flash2spiram_rodata_offset = 0x4fc00538;
flash_instr_rodata_start_page = 0x4fc0053c;
flash_instr_rodata_end_page = 0x4fc00540;
Cache_Set_IDROM_MMU_Info = 0x4fc00544;
Cache_Get_IROM_MMU_End = 0x4fc00548;
Cache_Get_DROM_MMU_End = 0x4fc0054c;
/* Data (.data, .bss, .rodata) */
rom_cache_op_cb = 0x4ffbffdc;
rom_cache_internal_table_ptr = 0x4ffbffd8;
/***************************************
Group clock
***************************************/
/* Functions */
ets_clk_get_xtal_freq = 0x4fc00550;
ets_clk_get_cpu_freq = 0x4fc00554;
/***************************************
Group gpio
***************************************/
/* Functions */
gpio_set_output_level = 0x4fc00558;
gpio_get_input_level = 0x4fc0055c;
gpio_matrix_in = 0x4fc00560;
gpio_matrix_out = 0x4fc00564;
gpio_bypass_matrix_in = 0x4fc00568;
/* gpio_output_disable = 0x4fc0056c; */
/* gpio_output_enable = 0x4fc00570; */
gpio_pad_input_disable = 0x4fc00574;
gpio_pad_input_enable = 0x4fc00578;
gpio_pad_pulldown = 0x4fc0057c;
gpio_pad_pullup = 0x4fc00580;
gpio_pad_select_gpio = 0x4fc00584;
gpio_pad_set_drv = 0x4fc00588;
gpio_pad_unhold = 0x4fc0058c;
gpio_pad_hold = 0x4fc00590;
gpio_lppad_select_mux = 0x4fc00594;
gpio_ded_pad_set_drv = 0x4fc00598;
gpio_ded_pad_pullup = 0x4fc0059c;
gpio_ded_pad_pulldown = 0x4fc005a0;
gpio_ded_pad_hold = 0x4fc005a4;
gpio_ded_pad_unhold = 0x4fc005a8;
/***************************************
Group interrupts
***************************************/
/* Functions */
esprv_intc_int_set_priority = 0x4fc005ac;
esprv_intc_int_set_threshold = 0x4fc005b0;
esprv_intc_int_enable = 0x4fc005b4;
esprv_intc_int_disable = 0x4fc005b8;
esprv_intc_int_set_type = 0x4fc005bc;
PROVIDE( intr_handler_set = 0x4fc005c0 );
intr_matrix_set = 0x4fc005c4;
ets_intr_lock = 0x4fc005c8;
ets_intr_unlock = 0x4fc005cc;
ets_isr_attach = 0x4fc005d0;
ets_isr_mask = 0x4fc005d4;
ets_isr_unmask = 0x4fc005d8;
/***************************************
Group crypto
***************************************/
/* Functions */
md5_vector = 0x4fc005dc;
MD5Init = 0x4fc005e0;
MD5Update = 0x4fc005e4;
MD5Final = 0x4fc005e8;
crc32_le = 0x4fc005ec;
crc16_le = 0x4fc005f0;
crc8_le = 0x4fc005f4;
crc32_be = 0x4fc005f8;
crc16_be = 0x4fc005fc;
crc8_be = 0x4fc00600;
esp_crc8 = 0x4fc00604;
ets_sha_enable = 0x4fc00608;
ets_sha_disable = 0x4fc0060c;
ets_sha_get_state = 0x4fc00610;
ets_sha_init = 0x4fc00614;
ets_sha_process = 0x4fc00618;
ets_sha_starts = 0x4fc0061c;
ets_sha_update = 0x4fc00620;
ets_sha_finish = 0x4fc00624;
ets_sha_clone = 0x4fc00628;
ets_hmac_enable = 0x4fc0062c;
ets_hmac_disable = 0x4fc00630;
ets_hmac_calculate_message = 0x4fc00634;
ets_hmac_calculate_downstream = 0x4fc00638;
ets_hmac_invalidate_downstream = 0x4fc0063c;
ets_jtag_enable_temporarily = 0x4fc00640;
ets_aes_enable = 0x4fc00644;
ets_aes_disable = 0x4fc00648;
ets_aes_setkey = 0x4fc0064c;
ets_aes_block = 0x4fc00650;
ets_aes_setkey_dec = 0x4fc00654;
ets_aes_setkey_enc = 0x4fc00658;
ets_bigint_enable = 0x4fc0065c;
ets_bigint_disable = 0x4fc00660;
ets_bigint_multiply = 0x4fc00664;
ets_bigint_modmult = 0x4fc00668;
ets_bigint_modexp = 0x4fc0066c;
ets_bigint_wait_finish = 0x4fc00670;
ets_bigint_getz = 0x4fc00674;
ets_ds_enable = 0x4fc00678;
ets_ds_disable = 0x4fc0067c;
ets_ds_start_sign = 0x4fc00680;
ets_ds_is_busy = 0x4fc00684;
ets_ds_finish_sign = 0x4fc00688;
ets_ds_encrypt_params = 0x4fc0068c;
ets_mgf1_sha256 = 0x4fc00690;
/* Data (.data, .bss, .rodata) */
crc32_le_table_ptr = 0x4fc1fff8;
crc16_le_table_ptr = 0x4fc1fff4;
crc8_le_table_ptr = 0x4fc1fff0;
crc32_be_table_ptr = 0x4fc1ffec;
crc16_be_table_ptr = 0x4fc1ffe8;
crc8_be_table_ptr = 0x4fc1ffe4;
/***************************************
Group efuse
***************************************/
/* Functions */
ets_efuse_read = 0x4fc00694;
ets_efuse_program = 0x4fc00698;
ets_efuse_clear_program_registers = 0x4fc0069c;
ets_efuse_write_key = 0x4fc006a0;
ets_efuse_get_read_register_address = 0x4fc006a4;
ets_efuse_get_key_purpose = 0x4fc006a8;
ets_efuse_key_block_unused = 0x4fc006ac;
ets_efuse_find_unused_key_block = 0x4fc006b0;
ets_efuse_rs_calculate = 0x4fc006b4;
ets_efuse_count_unused_key_blocks = 0x4fc006b8;
ets_efuse_secure_boot_enabled = 0x4fc006bc;
ets_efuse_secure_boot_aggressive_revoke_enabled = 0x4fc006c0;
ets_efuse_cache_encryption_enabled = 0x4fc006c4;
ets_efuse_download_modes_disabled = 0x4fc006c8;
ets_efuse_find_purpose = 0x4fc006cc;
ets_efuse_force_send_resume = 0x4fc006d0;
ets_efuse_get_flash_delay_us = 0x4fc006d4;
ets_efuse_get_uart_print_control = 0x4fc006d8;
ets_efuse_direct_boot_mode_disabled = 0x4fc006dc;
ets_efuse_security_download_modes_enabled = 0x4fc006e0;
ets_efuse_jtag_disabled = 0x4fc006e4;
ets_efuse_usb_print_is_disabled = 0x4fc006e8;
ets_efuse_usb_download_mode_disabled = 0x4fc006ec;
ets_efuse_usb_device_disabled = 0x4fc006f0;
ets_efuse_get_km_huk_gen_state = 0x4fc006f4;
ets_efuse_get_km_deploy_only_once = 0x4fc006f8;
ets_efuse_get_force_use_km_key = 0x4fc006fc;
ets_efuse_xts_key_length_256 = 0x4fc00700;
ets_efuse_get_km_key_lock = 0x4fc00704;
/***************************************
Group key_mgr
***************************************/
/* Functions */
esp_rom_check_recover_key = 0x4fc00708;
esp_rom_km_huk_conf = 0x4fc0070c;
esp_rom_km_huk_risk = 0x4fc00710;
/***************************************
Group secureboot
***************************************/
/* Functions */
ets_emsa_pss_verify = 0x4fc00714;
ets_rsa_pss_verify = 0x4fc00718;
ets_ecdsa_verify = 0x4fc0071c;
ets_secure_boot_verify_bootloader_with_keys = 0x4fc00720;
ets_secure_boot_verify_signature = 0x4fc00724;
ets_secure_boot_read_key_digests = 0x4fc00728;
ets_secure_boot_revoke_public_key_digest = 0x4fc0072c;
/***************************************
Group usb_device_uart
***************************************/
/* Functions */
usb_serial_device_rx_one_char = 0x4fc008a4;
usb_serial_device_rx_one_char_block = 0x4fc008a8;
usb_serial_device_tx_flush = 0x4fc008ac;
usb_serial_device_tx_one_char = 0x4fc008b0;
/***************************************
Group usb_dwcotg_uart
***************************************/
/* Functions */
Uart_Init_USB = 0x4fc008b4;
usb_serial_otg_rx_one_char = 0x4fc008b8;
usb_serial_otg_rx_one_char_block = 0x4fc008bc;
usb_serial_otg_tx_flush = 0x4fc008c0;
usb_serial_otg_tx_one_char = 0x4fc008c4;
/* Data (.data, .bss, .rodata) */
uart_acm_dev = 0x4ffbffd4;
/***************************************
Group usb_dwcotg_module
***************************************/
/* Functions */
cdc_acm_class_handle_req = 0x4fc008c8;
cdc_acm_init = 0x4fc008cc;
cdc_acm_fifo_fill = 0x4fc008d0;
cdc_acm_rx_fifo_cnt = 0x4fc008d4;
cdc_acm_fifo_read = 0x4fc008d8;
cdc_acm_irq_tx_enable = 0x4fc008dc;
cdc_acm_irq_tx_disable = 0x4fc008e0;
cdc_acm_irq_state_enable = 0x4fc008e4;
cdc_acm_irq_state_disable = 0x4fc008e8;
cdc_acm_irq_tx_ready = 0x4fc008ec;
cdc_acm_irq_rx_enable = 0x4fc008f0;
cdc_acm_irq_rx_disable = 0x4fc008f4;
cdc_acm_irq_rx_ready = 0x4fc008f8;
cdc_acm_irq_is_pending = 0x4fc008fc;
cdc_acm_irq_callback_set = 0x4fc00900;
cdc_acm_line_ctrl_set = 0x4fc00904;
cdc_acm_line_ctrl_get = 0x4fc00908;
cdc_acm_poll_out = 0x4fc0090c;
chip_usb_dw_did_persist = 0x4fc00910;
chip_usb_dw_init = 0x4fc00914;
chip_usb_detach = 0x4fc00918;
chip_usb_dw_prepare_persist = 0x4fc0091c;
chip_usb_get_persist_flags = 0x4fc00920;
chip_usb_set_persist_flags = 0x4fc00924;
cpio_start = 0x4fc00928;
cpio_feed = 0x4fc0092c;
cpio_done = 0x4fc00930;
cpio_destroy = 0x4fc00934;
dfu_flash_init = 0x4fc00938;
dfu_flash_erase = 0x4fc0093c;
dfu_flash_program = 0x4fc00940;
dfu_flash_read = 0x4fc00944;
dfu_flash_attach = 0x4fc00948;
dfu_cpio_callback = 0x4fc0094c;
dfu_updater_get_err = 0x4fc00950;
dfu_updater_clear_err = 0x4fc00954;
dfu_updater_enable = 0x4fc00958;
dfu_updater_begin = 0x4fc0095c;
dfu_updater_feed = 0x4fc00960;
dfu_updater_end = 0x4fc00964;
dfu_updater_set_raw_addr = 0x4fc00968;
dfu_updater_flash_read = 0x4fc0096c;
usb_dc_prepare_persist = 0x4fc00970;
usb_dw_isr_handler = 0x4fc00974;
usb_dc_attach = 0x4fc00978;
usb_dc_detach = 0x4fc0097c;
usb_dc_reset = 0x4fc00980;
usb_dc_set_address = 0x4fc00984;
usb_dc_ep_check_cap = 0x4fc00988;
usb_dc_ep_configure = 0x4fc0098c;
usb_dc_ep_set_stall = 0x4fc00990;
usb_dc_ep_clear_stall = 0x4fc00994;
usb_dc_ep_halt = 0x4fc00998;
usb_dc_ep_is_stalled = 0x4fc0099c;
usb_dc_ep_enable = 0x4fc009a0;
usb_dc_ep_disable = 0x4fc009a4;
usb_dc_ep_flush = 0x4fc009a8;
usb_dc_ep_write_would_block = 0x4fc009ac;
usb_dc_ep_write = 0x4fc009b0;
usb_dc_ep_read_wait = 0x4fc009b4;
usb_dc_ep_read_continue = 0x4fc009b8;
usb_dc_ep_read = 0x4fc009bc;
usb_dc_ep_set_callback = 0x4fc009c0;
usb_dc_set_status_callback = 0x4fc009c4;
usb_dc_ep_mps = 0x4fc009c8;
usb_dc_check_poll_for_interrupts = 0x4fc009cc;
mac_addr_to_serial_str_desc = 0x4fc009d0;
usb_set_current_descriptor = 0x4fc009d4;
usb_get_descriptor = 0x4fc009d8;
usb_dev_resume = 0x4fc009dc;
usb_dev_get_configuration = 0x4fc009e0;
usb_set_config = 0x4fc009e4;
usb_deconfig = 0x4fc009e8;
usb_enable = 0x4fc009ec;
usb_disable = 0x4fc009f0;
usb_write_would_block = 0x4fc009f4;
usb_write = 0x4fc009f8;
usb_read = 0x4fc009fc;
usb_ep_set_stall = 0x4fc00a00;
usb_ep_clear_stall = 0x4fc00a04;
usb_ep_read_wait = 0x4fc00a08;
usb_ep_read_continue = 0x4fc00a0c;
usb_transfer_ep_callback = 0x4fc00a10;
usb_transfer = 0x4fc00a14;
usb_cancel_transfer = 0x4fc00a18;
usb_transfer_sync = 0x4fc00a1c;
usb_dfu_set_detach_cb = 0x4fc00a20;
dfu_class_handle_req = 0x4fc00a24;
dfu_status_cb = 0x4fc00a28;
dfu_custom_handle_req = 0x4fc00a2c;
usb_dfu_init = 0x4fc00a30;
usb_dfu_force_detach = 0x4fc00a34;
usb_dev_deinit = 0x4fc00a38;
usb_dw_ctrl_deinit = 0x4fc00a3c;
/* Data (.data, .bss, .rodata) */
s_usb_osglue = 0x4ffbffc8;
/***************************************
Group recovery_bootloader
***************************************/
/* Functions */
ets_get_bootloader_offset = 0x4fc00a40;
ets_set_bootloader_offset = 0x4fc00a44;
+58
View File
@@ -0,0 +1,58 @@
/*
* SPDX-FileCopyrightText: 2025 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
esp_rom_newlib_init_common_mutexes = 0x4fc00264;
memset = 0x4fc00268;
strlen = 0x4fc00288;
strstr = 0x4fc0028c;
bzero = 0x4fc00290;
sbrk = 0x4fc00298;
isalnum = 0x4fc0029c;
isalpha = 0x4fc002a0;
isascii = 0x4fc002a4;
isblank = 0x4fc002a8;
iscntrl = 0x4fc002ac;
isdigit = 0x4fc002b0;
islower = 0x4fc002b4;
isgraph = 0x4fc002b8;
isprint = 0x4fc002bc;
ispunct = 0x4fc002c0;
isspace = 0x4fc002c4;
isupper = 0x4fc002c8;
toupper = 0x4fc002cc;
tolower = 0x4fc002d0;
toascii = 0x4fc002d4;
memccpy = 0x4fc002d8;
memchr = 0x4fc002dc;
memrchr = 0x4fc002e0;
strcasecmp = 0x4fc002e4;
strcasestr = 0x4fc002e8;
strcat = 0x4fc002ec;
strchr = 0x4fc002f4;
strcspn = 0x4fc002f8;
strcoll = 0x4fc002fc;
strlcat = 0x4fc00300;
strlcpy = 0x4fc00304;
strlwr = 0x4fc00308;
strncasecmp = 0x4fc0030c;
strncat = 0x4fc00310;
strnlen = 0x4fc00318;
strrchr = 0x4fc0031c;
strsep = 0x4fc00320;
strspn = 0x4fc00324;
strtok_r = 0x4fc00328;
strupr = 0x4fc0032c;
longjmp = 0x4fc00330;
setjmp = 0x4fc00334;
abs = 0x4fc00338;
div = 0x4fc0033c;
labs = 0x4fc00340;
ldiv = 0x4fc00344;
qsort = 0x4fc00348;
utoa = 0x4fc00358;
itoa = 0x4fc0035c;
/* Data (.data, .bss, .rodata) */
syscall_table_ptr = 0x4ffbffe4;
_global_impure_ptr = 0x4ffbffe0;
+95
View File
@@ -0,0 +1,95 @@
/*
* SPDX-FileCopyrightText: 2025 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
/* ROM function interface esp32p4.rom.libgcc.ld for esp32p4
*
*
* Generated from ./target/esp32p4/interface-esp32p4.yml md5sum 56d78222be1daa0502090a078288f4d5
*
* Compatible with ROM where ECO version equal or greater to 5.
*
* THIS FILE WAS AUTOMATICALLY GENERATED. DO NOT EDIT.
*/
/***************************************
Group libgccdf
***************************************/
/* Functions */
__absvdi2 = 0x4fc00730;
__absvsi2 = 0x4fc00734;
__adddf3 = 0x4fc00738;
__addvdi3 = 0x4fc0073c;
__addvsi3 = 0x4fc00740;
__ashldi3 = 0x4fc00744;
__ashrdi3 = 0x4fc00748;
__bswapdi2 = 0x4fc0074c;
__bswapsi2 = 0x4fc00750;
__clear_cache = 0x4fc00754;
__clrsbdi2 = 0x4fc00758;
__clrsbsi2 = 0x4fc0075c;
__clzdi2 = 0x4fc00760;
__clzsi2 = 0x4fc00764;
__cmpdi2 = 0x4fc00768;
__ctzdi2 = 0x4fc0076c;
__ctzsi2 = 0x4fc00770;
__divdc3 = 0x4fc00774;
__divdf3 = 0x4fc00778;
__divdi3 = 0x4fc0077c;
__divsc3 = 0x4fc00780;
__divsi3 = 0x4fc00784;
__eqdf2 = 0x4fc00788;
__extendsfdf2 = 0x4fc0078c;
__ffsdi2 = 0x4fc00790;
__ffssi2 = 0x4fc00794;
__fixdfdi = 0x4fc00798;
__fixdfsi = 0x4fc0079c;
__fixsfdi = 0x4fc007a0;
__fixunsdfsi = 0x4fc007a4;
__fixunssfdi = 0x4fc007a8;
__fixunssfsi = 0x4fc007ac;
__floatdidf = 0x4fc007b0;
__floatdisf = 0x4fc007b4;
__floatsidf = 0x4fc007b8;
__floatundidf = 0x4fc007bc;
__floatundisf = 0x4fc007c0;
__floatunsidf = 0x4fc007c4;
__gcc_bcmp = 0x4fc007c8;
__gedf2 = 0x4fc007cc;
__gtdf2 = 0x4fc007d0;
__ledf2 = 0x4fc007d4;
__lshrdi3 = 0x4fc007d8;
__ltdf2 = 0x4fc007dc;
__moddi3 = 0x4fc007e0;
__modsi3 = 0x4fc007e4;
__muldc3 = 0x4fc007e8;
__muldf3 = 0x4fc007ec;
__muldi3 = 0x4fc007f0;
__mulsc3 = 0x4fc007f4;
__mulsi3 = 0x4fc007f8;
__mulvdi3 = 0x4fc007fc;
__mulvsi3 = 0x4fc00800;
__nedf2 = 0x4fc00804;
__negdf2 = 0x4fc00808;
__negdi2 = 0x4fc0080c;
__negvdi2 = 0x4fc00810;
__negvsi2 = 0x4fc00814;
__paritysi2 = 0x4fc00818;
__popcountdi2 = 0x4fc0081c;
__popcountsi2 = 0x4fc00820;
__powidf2 = 0x4fc00824;
__subdf3 = 0x4fc00828;
__subvdi3 = 0x4fc0082c;
__subvsi3 = 0x4fc00830;
__ucmpdi2 = 0x4fc00834;
__udivdi3 = 0x4fc00838;
__udivmoddi4 = 0x4fc0083c;
__udivsi3 = 0x4fc00840;
__udiv_w_sdiv = 0x4fc00844;
__umoddi3 = 0x4fc00848;
__umodsi3 = 0x4fc0084c;
__unorddf2 = 0x4fc00850;
__extenddftf2 = 0x4fc00854;
__trunctfdf2 = 0x4fc00858;
+41
View File
@@ -0,0 +1,41 @@
/*
* SPDX-FileCopyrightText: 2025 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
/* ROM function interface esp32p4.rom.newlib.ld for esp32p4
*
*
* Generated from ./target/esp32p4/interface-esp32p4.yml md5sum 56d78222be1daa0502090a078288f4d5
*
* Compatible with ROM where ECO version equal or greater to 5.
*
* THIS FILE WAS AUTOMATICALLY GENERATED. !!! BUT EDITED !!!
* The file was originally generated for use with newlib, but it was split into
* multiple files to make it compatible with picolibc.
*/
/***************************************
Group newlib
***************************************/
/* Functions */
_isatty_r = 0x4fc00294;
strdup = 0x4fc002f0;
strndup = 0x4fc00314;
rand_r = 0x4fc0034c;
rand = 0x4fc00350;
srand = 0x4fc00354;
atoi = 0x4fc00360;
atol = 0x4fc00364;
strtol = 0x4fc00368;
strtoul = 0x4fc0036c;
fflush = 0x4fc00370;
_fflush_r = 0x4fc00374;
_fwalk = 0x4fc00378;
_fwalk_reent = 0x4fc0037c;
__smakebuf_r = 0x4fc00380;
__swhatbuf_r = 0x4fc00384;
__swbuf_r = 0x4fc00388;
__swbuf = 0x4fc0038c;
__swsetup_r = 0x4fc00390;
+101
View File
@@ -0,0 +1,101 @@
/*
* SPDX-FileCopyrightText: 2025 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
/* ROM function interface esp32p4.rom.rvfp.ld for esp32p4
*
*
* Generated from ./target/esp32p4/interface-esp32p4.yml md5sum 56d78222be1daa0502090a078288f4d5
*
* Compatible with ROM where ECO version equal or greater to 5.
*
* THIS FILE WAS AUTOMATICALLY GENERATED. DO NOT EDIT.
*/
/***************************************
Group rvfplibdf
***************************************/
/* Functions */
__adddf3 = 0x4fc0085c;
__eqdf2 = 0x4fc00860;
__fixdfdi = 0x4fc00864;
__fixdfsi = 0x4fc00868;
__fixunsdfsi = 0x4fc00870;
__floatdidf = 0x4fc00878;
__floatsidf = 0x4fc0087c;
__floatundidf = 0x4fc00880;
__floatunsidf = 0x4fc00884;
__gedf2 = 0x4fc00888;
__gtdf2 = 0x4fc0088c;
__ledf2 = 0x4fc00890;
__ltdf2 = 0x4fc00894;
__muldf3 = 0x4fc00898;
__nedf2 = 0x4fc0089c;
__subdf3 = 0x4fc008a0;
/***************************************
Group libgcc
***************************************/
/* Functions */
__absvdi2 = 0x4fc00730;
__absvsi2 = 0x4fc00734;
__addvdi3 = 0x4fc0073c;
__addvsi3 = 0x4fc00740;
__ashldi3 = 0x4fc00744;
__ashrdi3 = 0x4fc00748;
__bswapdi2 = 0x4fc0074c;
__bswapsi2 = 0x4fc00750;
__clear_cache = 0x4fc00754;
__clrsbdi2 = 0x4fc00758;
__clrsbsi2 = 0x4fc0075c;
__clzdi2 = 0x4fc00760;
__clzsi2 = 0x4fc00764;
__cmpdi2 = 0x4fc00768;
__ctzdi2 = 0x4fc0076c;
__ctzsi2 = 0x4fc00770;
__divdc3 = 0x4fc00774;
__divdf3 = 0x4fc00778;
__divdi3 = 0x4fc0077c;
__divsc3 = 0x4fc00780;
__divsi3 = 0x4fc00784;
__extendsfdf2 = 0x4fc0078c;
__ffsdi2 = 0x4fc00790;
__ffssi2 = 0x4fc00794;
__fixsfdi = 0x4fc007a0;
__fixunssfdi = 0x4fc007a8;
__fixunssfsi = 0x4fc007ac;
__floatdisf = 0x4fc007b4;
__floatundisf = 0x4fc007c0;
__gcc_bcmp = 0x4fc007c8;
__lshrdi3 = 0x4fc007d8;
__moddi3 = 0x4fc007e0;
__modsi3 = 0x4fc007e4;
__muldc3 = 0x4fc007e8;
__muldi3 = 0x4fc007f0;
__mulsc3 = 0x4fc007f4;
__mulsi3 = 0x4fc007f8;
__mulvdi3 = 0x4fc007fc;
__mulvsi3 = 0x4fc00800;
__negdf2 = 0x4fc00808;
__negdi2 = 0x4fc0080c;
__negvdi2 = 0x4fc00810;
__negvsi2 = 0x4fc00814;
__paritysi2 = 0x4fc00818;
__popcountdi2 = 0x4fc0081c;
__popcountsi2 = 0x4fc00820;
__powidf2 = 0x4fc00824;
__subvdi3 = 0x4fc0082c;
__subvsi3 = 0x4fc00830;
__ucmpdi2 = 0x4fc00834;
__udivdi3 = 0x4fc00838;
__udivmoddi4 = 0x4fc0083c;
__udivsi3 = 0x4fc00840;
__udiv_w_sdiv = 0x4fc00844;
__umoddi3 = 0x4fc00848;
__umodsi3 = 0x4fc0084c;
__unorddf2 = 0x4fc00850;
__extenddftf2 = 0x4fc00854;
__trunctfdf2 = 0x4fc00858;
+585
View File
@@ -0,0 +1,585 @@
/*
* SPDX-FileCopyrightText: 2023-2025 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
/* ROM function interface esp32p4.rom.ld for esp32p4
*
*
* Generated from ./target/esp32p4/interface-esp32p4.yml md5sum f6516bd9708d890f63db87f8aed53ca7
*
* 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 = 0x4fc00018;
rtc_get_wakeup_cause = 0x4fc0001c;
pmu_enable_unhold_pads = 0x4fc00020;
ets_printf = 0x4fc00024;
ets_install_putc1 = 0x4fc00028;
ets_install_putc2 = 0x4fc0002c;
ets_install_uart_printf = 0x4fc00030;
ets_install_usb_printf = 0x4fc00034;
ets_get_printf_channel = 0x4fc00038;
ets_delay_us = 0x4fc0003c;
ets_get_cpu_frequency = 0x4fc00040;
ets_update_cpu_frequency = 0x4fc00044;
ets_install_lock = 0x4fc00048;
UartRxString = 0x4fc0004c;
UartGetCmdLn = 0x4fc00050;
uart_tx_one_char = 0x4fc00054;
uart_tx_one_char2 = 0x4fc00058;
uart_tx_one_char3 = 0x4fc0005c;
uart_rx_one_char = 0x4fc00060;
uart_rx_one_char_block = 0x4fc00064;
uart_rx_intr_handler = 0x4fc00068;
uart_rx_readbuff = 0x4fc0006c;
uartAttach = 0x4fc00070;
uart_tx_flush = 0x4fc00074;
uart_tx_wait_idle = 0x4fc00078;
uart_div_modify = 0x4fc0007c;
ets_write_char_uart = 0x4fc00080;
uart_tx_switch = 0x4fc00084;
uart_buff_switch = 0x4fc00088;
roundup2 = 0x4fc0008c;
multofup = 0x4fc00090;
software_reset = 0x4fc00094;
software_reset_cpu = 0x4fc00098;
ets_clk_assist_debug_clock_enable = 0x4fc0009c;
clear_super_wdt_reset_flag = 0x4fc000a0;
disable_default_watchdog = 0x4fc000a4;
ets_set_appcpu_boot_addr = 0x4fc000a8;
send_packet = 0x4fc000ac;
recv_packet = 0x4fc000b0;
GetUartDevice = 0x4fc000b4;
UartDwnLdProc = 0x4fc000b8;
GetSecurityInfoProc = 0x4fc000bc;
Uart_Init = 0x4fc000c0;
ets_set_user_start = 0x4fc000c4;
/* Data (.data, .bss, .rodata) */
ets_rom_layout_p = 0x4fc1fffc;
ets_ops_table_ptr = 0x4ff3fff4;
g_saved_pc = 0x4ff3fff8;
/***************************************
Group miniz
***************************************/
/* Functions */
mz_adler32 = 0x4fc000c8;
mz_free = 0x4fc000cc;
tdefl_compress = 0x4fc000d0;
tdefl_compress_buffer = 0x4fc000d4;
tdefl_compress_mem_to_heap = 0x4fc000d8;
tdefl_compress_mem_to_mem = 0x4fc000dc;
tdefl_compress_mem_to_output = 0x4fc000e0;
tdefl_get_adler32 = 0x4fc000e4;
tdefl_get_prev_return_status = 0x4fc000e8;
tdefl_init = 0x4fc000ec;
tdefl_write_image_to_png_file_in_memory = 0x4fc000f0;
tdefl_write_image_to_png_file_in_memory_ex = 0x4fc000f4;
tinfl_decompress = 0x4fc000f8;
tinfl_decompress_mem_to_callback = 0x4fc000fc;
tinfl_decompress_mem_to_heap = 0x4fc00100;
tinfl_decompress_mem_to_mem = 0x4fc00104;
/***************************************
Group spi_extmem_common
***************************************/
/* Functions */
esp_rom_spi_cmd_config = 0x4fc00108;
esp_rom_spi_cmd_start = 0x4fc0010c;
esp_rom_spi_set_op_mode = 0x4fc00110;
esp_rom_spi_set_dtr_swap_mode = 0x4fc00114;
/***************************************
Group spiflash_legacy
***************************************/
/* Functions */
esp_rom_spiflash_wait_idle = 0x4fc00118;
esp_rom_spiflash_write_encrypted = 0x4fc0011c;
esp_rom_spiflash_write_encrypted_dest = 0x4fc00120;
esp_rom_spiflash_write_encrypted_enable = 0x4fc00124;
esp_rom_spiflash_write_encrypted_disable = 0x4fc00128;
esp_rom_spiflash_erase_chip = 0x4fc0012c;
_esp_rom_spiflash_erase_sector = 0x4fc00130;
_esp_rom_spiflash_erase_block = 0x4fc00134;
_esp_rom_spiflash_write = 0x4fc00138;
_esp_rom_spiflash_read = 0x4fc0013c;
_esp_rom_spiflash_unlock = 0x4fc00140;
_SPIEraseArea = 0x4fc00144;
_SPI_write_enable = 0x4fc00148;
esp_rom_spiflash_erase_sector = 0x4fc0014c;
esp_rom_spiflash_erase_block = 0x4fc00150;
esp_rom_spiflash_write = 0x4fc00154;
esp_rom_spiflash_read = 0x4fc00158;
esp_rom_spiflash_unlock = 0x4fc0015c;
SPIEraseArea = 0x4fc00160;
SPI_write_enable = 0x4fc00164;
esp_rom_spiflash_config_param = 0x4fc00168;
esp_rom_spiflash_read_user_cmd = 0x4fc0016c;
esp_rom_spiflash_select_qio_pins = 0x4fc00170;
esp_rom_spi_flash_auto_sus_res = 0x4fc00174;
esp_rom_spi_flash_send_resume = 0x4fc00178;
esp_rom_spi_flash_update_id = 0x4fc0017c;
esp_rom_spiflash_config_clk = 0x4fc00180;
esp_rom_spiflash_config_readmode = 0x4fc00184;
esp_rom_spiflash_read_status = 0x4fc00188;
esp_rom_spiflash_read_statushigh = 0x4fc0018c;
esp_rom_spiflash_write_status = 0x4fc00190;
esp_rom_spiflash_write_disable = 0x4fc00194;
spi_cache_mode_switch = 0x4fc00198;
spi_common_set_dummy_output = 0x4fc0019c;
spi_common_set_flash_cs_timing = 0x4fc001a0;
esp_rom_spi_set_address_bit_len = 0x4fc001a4;
SPILock = 0x4fc001a8;
SPIMasterReadModeCnfig = 0x4fc001ac;
SPI_Common_Command = 0x4fc001b0;
SPI_WakeUp = 0x4fc001b4;
SPI_block_erase = 0x4fc001b8;
SPI_chip_erase = 0x4fc001bc;
SPI_init = 0x4fc001c0;
SPI_page_program = 0x4fc001c4;
SPI_read_data = 0x4fc001c8;
SPI_sector_erase = 0x4fc001cc;
SelectSpiFunction = 0x4fc001d0;
SetSpiDrvs = 0x4fc001d4;
Wait_SPI_Idle = 0x4fc001d8;
spi_dummy_len_fix = 0x4fc001dc;
Disable_QMode = 0x4fc001e0;
Enable_QMode = 0x4fc001e4;
spi_flash_attach = 0x4fc001e8;
spi_flash_get_chip_size = 0x4fc001ec;
spi_flash_guard_set = 0x4fc001f0;
spi_flash_guard_get = 0x4fc001f4;
spi_flash_read_encrypted = 0x4fc001f8;
/* Data (.data, .bss, .rodata) */
rom_spiflash_legacy_funcs = 0x4ff3ffec;
rom_spiflash_legacy_data = 0x4ff3ffe8;
g_flash_guard_ops = 0x4ff3fff0;
/***************************************
Group cache
***************************************/
/* Functions */
Cache_Get_L1_ICache_Line_Size = 0x4fc003c4;
Cache_Get_L1_DCache_Line_Size = 0x4fc003c8;
Cache_Get_L2_Cache_Line_Size = 0x4fc003cc;
Cache_Get_Mode = 0x4fc003d0;
Cache_Set_L2_Cache_Mode = 0x4fc003d4;
Cache_Address_Through_Cache = 0x4fc003d8;
ROM_Boot_Cache_Init = 0x4fc003dc;
Cache_Sync_Addr = 0x4fc003e0;
Cache_Invalidate_Addr = 0x4fc003e4;
Cache_Invalidate_Addr_Gid = 0x4fc003e8;
Cache_Clean_Addr = 0x4fc003ec;
Cache_Clean_Addr_Gid = 0x4fc003f0;
Cache_WriteBack_Addr = 0x4fc003f4;
Cache_WriteBack_Addr_Gid = 0x4fc003f8;
Cache_WriteBack_Invalidate_Addr = 0x4fc003fc;
Cache_WriteBack_Invalidate_Addr_Gid = 0x4fc00400;
Cache_Invalidate_All = 0x4fc00404;
Cache_Invalidate_All_Gid = 0x4fc00408;
Cache_Clean_All = 0x4fc0040c;
Cache_Clean_All_Gid = 0x4fc00410;
Cache_WriteBack_All = 0x4fc00414;
Cache_WriteBack_All_Gid = 0x4fc00418;
Cache_WriteBack_Invalidate_All = 0x4fc0041c;
Cache_WriteBack_Invalidate_All_Gid = 0x4fc00420;
Cache_Mask_All = 0x4fc00424;
Cache_Suspend_L1_CORE0_ICache_Autoload = 0x4fc00428;
Cache_Resume_L1_CORE0_ICache_Autoload = 0x4fc0042c;
Cache_Suspend_L1_CORE1_ICache_Autoload = 0x4fc00430;
Cache_Resume_L1_CORE1_ICache_Autoload = 0x4fc00434;
Cache_Suspend_L1_DCache_Autoload = 0x4fc00438;
Cache_Resume_L1_DCache_Autoload = 0x4fc0043c;
Cache_Suspend_L2_Cache_Autoload = 0x4fc00440;
Cache_Resume_L2_Cache_Autoload = 0x4fc00444;
Cache_Start_L1_CORE0_ICache_Preload = 0x4fc00448;
Cache_L1_CORE0_ICache_Preload_Done = 0x4fc0044c;
Cache_End_L1_CORE0_ICache_Preload = 0x4fc00450;
Cache_Start_L1_CORE1_ICache_Preload = 0x4fc00454;
Cache_L1_CORE1_ICache_Preload_Done = 0x4fc00458;
Cache_End_L1_CORE1_ICache_Preload = 0x4fc0045c;
Cache_Start_L1_DCache_Preload = 0x4fc00460;
Cache_L1_DCache_Preload_Done = 0x4fc00464;
Cache_End_L1_DCache_Preload = 0x4fc00468;
Cache_Start_L2_Cache_Preload = 0x4fc0046c;
Cache_L2_Cache_Preload_Done = 0x4fc00470;
Cache_End_L2_Cache_Preload = 0x4fc00474;
Cache_Config_L1_CORE0_ICache_Autoload = 0x4fc00478;
Cache_Enable_L1_CORE0_ICache_Autoload = 0x4fc0047c;
Cache_Disable_L1_CORE0_ICache_Autoload = 0x4fc00480;
Cache_Config_L1_CORE1_ICache_Autoload = 0x4fc00484;
Cache_Enable_L1_CORE1_ICache_Autoload = 0x4fc00488;
Cache_Disable_L1_CORE1_ICache_Autoload = 0x4fc0048c;
Cache_Config_L1_DCache_Autoload = 0x4fc00490;
Cache_Enable_L1_DCache_Autoload = 0x4fc00494;
Cache_Disable_L1_DCache_Autoload = 0x4fc00498;
Cache_Config_L2_Cache_Autoload = 0x4fc0049c;
Cache_Enable_L2_Cache_Autoload = 0x4fc004a0;
Cache_Disable_L2_Cache_Autoload = 0x4fc004a4;
Cache_Enable_L1_CORE0_ICache_PreLock = 0x4fc004a8;
Cache_Disable_L1_CORE0_ICache_PreLock = 0x4fc004ac;
Cache_Enable_L1_CORE1_ICache_PreLock = 0x4fc004b0;
Cache_Disable_L1_CORE1_ICache_PreLock = 0x4fc004b4;
Cache_Enable_L1_DCache_PreLock = 0x4fc004b8;
Cache_Disable_L1_DCache_PreLock = 0x4fc004bc;
Cache_Enable_L2_Cache_PreLock = 0x4fc004c0;
Cache_Disable_L2_Cache_PreLock = 0x4fc004c4;
Cache_Lock_Addr = 0x4fc004c8;
Cache_Unlock_Addr = 0x4fc004cc;
Cache_Disable_L1_CORE0_ICache = 0x4fc004d0;
Cache_Enable_L1_CORE0_ICache = 0x4fc004d4;
Cache_Suspend_L1_CORE0_ICache = 0x4fc004d8;
Cache_Resume_L1_CORE0_ICache = 0x4fc004dc;
Cache_Disable_L1_CORE1_ICache = 0x4fc004e0;
Cache_Enable_L1_CORE1_ICache = 0x4fc004e4;
Cache_Suspend_L1_CORE1_ICache = 0x4fc004e8;
Cache_Resume_L1_CORE1_ICache = 0x4fc004ec;
Cache_Disable_L1_DCache = 0x4fc004f0;
Cache_Enable_L1_DCache = 0x4fc004f4;
Cache_Suspend_L1_DCache = 0x4fc004f8;
Cache_Resume_L1_DCache = 0x4fc004fc;
Cache_Disable_L2_Cache = 0x4fc00500;
Cache_Enable_L2_Cache = 0x4fc00504;
Cache_Suspend_L2_Cache = 0x4fc00508;
Cache_Resume_L2_Cache = 0x4fc0050c;
Cache_FLASH_MMU_Init = 0x4fc00510;
Cache_PSRAM_MMU_Init = 0x4fc00514;
Cache_FLASH_MMU_Set = 0x4fc00518;
Cache_FLASH_MMU_Set_Secure = 0x4fc0051c;
Cache_PSRAM_MMU_Set = 0x4fc00520;
Cache_PSRAM_MMU_Set_Secure = 0x4fc00524;
Cache_Count_Flash_Pages = 0x4fc00528;
Cache_Flash_To_SPIRAM_Copy = 0x4fc0052c;
Cache_Travel_Tag_Memory = 0x4fc00530;
Cache_Travel_Tag_Memory2 = 0x4fc00534;
Cache_Get_Virtual_Addr = 0x4fc00538;
Cache_Set_IDROM_MMU_Size = 0x4fc0053c;
flash2spiram_instruction_offset = 0x4fc00540;
flash2spiram_rodata_offset = 0x4fc00544;
flash_instr_rodata_start_page = 0x4fc00548;
flash_instr_rodata_end_page = 0x4fc0054c;
Cache_Set_IDROM_MMU_Info = 0x4fc00550;
Cache_Get_IROM_MMU_End = 0x4fc00554;
Cache_Get_DROM_MMU_End = 0x4fc00558;
/* Data (.data, .bss, .rodata) */
rom_cache_op_cb = 0x4ff3ffdc;
rom_cache_internal_table_ptr = 0x4ff3ffd8;
/***************************************
Group clock
***************************************/
/* Functions */
ets_clk_get_xtal_freq = 0x4fc0055c;
ets_clk_get_cpu_freq = 0x4fc00560;
/***************************************
Group gpio
***************************************/
/* Functions */
gpio_set_output_level = 0x4fc00564;
gpio_get_input_level = 0x4fc00568;
gpio_matrix_in = 0x4fc0056c;
gpio_matrix_out = 0x4fc00570;
gpio_bypass_matrix_in = 0x4fc00574;
/* gpio_output_disable = 0x4fc00578; */
/* gpio_output_enable = 0x4fc0057c; */
gpio_pad_input_disable = 0x4fc00580;
gpio_pad_input_enable = 0x4fc00584;
gpio_pad_pulldown = 0x4fc00588;
gpio_pad_pullup = 0x4fc0058c;
gpio_pad_select_gpio = 0x4fc00590;
gpio_pad_set_drv = 0x4fc00594;
gpio_pad_unhold = 0x4fc00598;
gpio_pad_hold = 0x4fc0059c;
gpio_lppad_select_mux = 0x4fc005a0;
gpio_ded_pad_set_drv = 0x4fc005a4;
gpio_ded_pad_pullup = 0x4fc005a8;
gpio_ded_pad_pulldown = 0x4fc005ac;
gpio_ded_pad_hold = 0x4fc005b0;
gpio_ded_pad_unhold = 0x4fc005b4;
/***************************************
Group interrupts
***************************************/
/* Functions */
esprv_intc_int_set_priority = 0x4fc005b8;
esprv_intc_int_set_threshold = 0x4fc005bc;
esprv_intc_int_enable = 0x4fc005c0;
esprv_intc_int_disable = 0x4fc005c4;
PROVIDE( intr_handler_set = 0x4fc005cc );
intr_matrix_set = 0x4fc005d0;
ets_intr_lock = 0x4fc005d4;
ets_intr_unlock = 0x4fc005d8;
ets_isr_attach = 0x4fc005dc;
ets_isr_mask = 0x4fc005e0;
ets_isr_unmask = 0x4fc005e4;
/***************************************
Group crypto
***************************************/
/* Functions */
md5_vector = 0x4fc005e8;
MD5Init = 0x4fc005ec;
MD5Update = 0x4fc005f0;
MD5Final = 0x4fc005f4;
crc32_le = 0x4fc005f8;
crc16_le = 0x4fc005fc;
crc8_le = 0x4fc00600;
crc32_be = 0x4fc00604;
crc16_be = 0x4fc00608;
crc8_be = 0x4fc0060c;
esp_crc8 = 0x4fc00610;
ets_sha_enable = 0x4fc00614;
ets_sha_disable = 0x4fc00618;
ets_sha_get_state = 0x4fc0061c;
ets_sha_init = 0x4fc00620;
ets_sha_process = 0x4fc00624;
ets_sha_starts = 0x4fc00628;
ets_sha_update = 0x4fc0062c;
ets_sha_finish = 0x4fc00630;
ets_sha_clone = 0x4fc00634;
ets_hmac_enable = 0x4fc00638;
ets_hmac_disable = 0x4fc0063c;
ets_hmac_calculate_message = 0x4fc00640;
ets_hmac_calculate_downstream = 0x4fc00644;
ets_hmac_invalidate_downstream = 0x4fc00648;
ets_jtag_enable_temporarily = 0x4fc0064c;
ets_aes_enable = 0x4fc00650;
ets_aes_disable = 0x4fc00654;
ets_aes_setkey = 0x4fc00658;
ets_aes_block = 0x4fc0065c;
ets_aes_setkey_dec = 0x4fc00660;
ets_aes_setkey_enc = 0x4fc00664;
ets_bigint_enable = 0x4fc00668;
ets_bigint_disable = 0x4fc0066c;
ets_bigint_multiply = 0x4fc00670;
ets_bigint_modmult = 0x4fc00674;
ets_bigint_modexp = 0x4fc00678;
ets_bigint_wait_finish = 0x4fc0067c;
ets_bigint_getz = 0x4fc00680;
ets_ds_enable = 0x4fc00684;
ets_ds_disable = 0x4fc00688;
ets_ds_start_sign = 0x4fc0068c;
ets_ds_is_busy = 0x4fc00690;
ets_ds_finish_sign = 0x4fc00694;
ets_ds_encrypt_params = 0x4fc00698;
ets_mgf1_sha256 = 0x4fc0069c;
/* Data (.data, .bss, .rodata) */
crc32_le_table_ptr = 0x4fc1fff8;
crc16_le_table_ptr = 0x4fc1fff4;
crc8_le_table_ptr = 0x4fc1fff0;
crc32_be_table_ptr = 0x4fc1ffec;
crc16_be_table_ptr = 0x4fc1ffe8;
crc8_be_table_ptr = 0x4fc1ffe4;
/***************************************
Group efuse
***************************************/
/* Functions */
ets_efuse_read = 0x4fc006a0;
ets_efuse_program = 0x4fc006a4;
ets_efuse_clear_program_registers = 0x4fc006a8;
ets_efuse_write_key = 0x4fc006ac;
ets_efuse_get_read_register_address = 0x4fc006b0;
ets_efuse_get_key_purpose = 0x4fc006b4;
ets_efuse_key_block_unused = 0x4fc006b8;
ets_efuse_find_unused_key_block = 0x4fc006bc;
ets_efuse_rs_calculate = 0x4fc006c0;
ets_efuse_count_unused_key_blocks = 0x4fc006c4;
ets_efuse_secure_boot_enabled = 0x4fc006c8;
ets_efuse_secure_boot_aggressive_revoke_enabled = 0x4fc006cc;
ets_efuse_cache_encryption_enabled = 0x4fc006d0;
ets_efuse_download_modes_disabled = 0x4fc006d4;
ets_efuse_find_purpose = 0x4fc006d8;
ets_efuse_force_send_resume = 0x4fc006dc;
ets_efuse_get_flash_delay_us = 0x4fc006e0;
ets_efuse_get_uart_print_control = 0x4fc006e4;
ets_efuse_direct_boot_mode_disabled = 0x4fc006e8;
ets_efuse_security_download_modes_enabled = 0x4fc006ec;
ets_efuse_jtag_disabled = 0x4fc006f0;
ets_efuse_usb_print_is_disabled = 0x4fc006f4;
ets_efuse_usb_download_mode_disabled = 0x4fc006f8;
ets_efuse_usb_device_disabled = 0x4fc006fc;
ets_efuse_get_km_huk_gen_state = 0x4fc00700;
ets_efuse_get_km_deploy_only_once = 0x4fc00704;
ets_efuse_get_force_use_km_key = 0x4fc00708;
ets_efuse_xts_key_length_256 = 0x4fc0070c;
ets_efuse_get_km_key_lock = 0x4fc00710;
/***************************************
Group key_mgr
***************************************/
/* Functions */
esp_rom_check_recover_key = 0x4fc00714;
esp_rom_km_huk_conf = 0x4fc00718;
esp_rom_km_huk_risk = 0x4fc0071c;
/***************************************
Group secureboot
***************************************/
/* Functions */
ets_emsa_pss_verify = 0x4fc00720;
ets_rsa_pss_verify = 0x4fc00724;
ets_ecdsa_verify = 0x4fc00728;
ets_secure_boot_verify_bootloader_with_keys = 0x4fc0072c;
ets_secure_boot_verify_signature = 0x4fc00730;
ets_secure_boot_read_key_digests = 0x4fc00734;
ets_secure_boot_revoke_public_key_digest = 0x4fc00738;
/***************************************
Group usb_device_uart
***************************************/
/* Functions */
usb_serial_device_rx_one_char = 0x4fc008b0;
usb_serial_device_rx_one_char_block = 0x4fc008b4;
usb_serial_device_tx_flush = 0x4fc008b8;
usb_serial_device_tx_one_char = 0x4fc008bc;
/***************************************
Group usb_dwcotg_uart
***************************************/
/* Functions */
Uart_Init_USB = 0x4fc008c0;
usb_serial_otg_rx_one_char = 0x4fc008c4;
usb_serial_otg_rx_one_char_block = 0x4fc008c8;
usb_serial_otg_tx_flush = 0x4fc008cc;
usb_serial_otg_tx_one_char = 0x4fc008d0;
/* Data (.data, .bss, .rodata) */
uart_acm_dev = 0x4ff3ffd4;
/***************************************
Group usb_dwcotg_module
***************************************/
/* Functions */
cdc_acm_class_handle_req = 0x4fc008d4;
cdc_acm_init = 0x4fc008d8;
cdc_acm_fifo_fill = 0x4fc008dc;
cdc_acm_rx_fifo_cnt = 0x4fc008e0;
cdc_acm_fifo_read = 0x4fc008e4;
cdc_acm_irq_tx_enable = 0x4fc008e8;
cdc_acm_irq_tx_disable = 0x4fc008ec;
cdc_acm_irq_state_enable = 0x4fc008f0;
cdc_acm_irq_state_disable = 0x4fc008f4;
cdc_acm_irq_tx_ready = 0x4fc008f8;
cdc_acm_irq_rx_enable = 0x4fc008fc;
cdc_acm_irq_rx_disable = 0x4fc00900;
cdc_acm_irq_rx_ready = 0x4fc00904;
cdc_acm_irq_is_pending = 0x4fc00908;
cdc_acm_irq_callback_set = 0x4fc0090c;
cdc_acm_line_ctrl_set = 0x4fc00910;
cdc_acm_line_ctrl_get = 0x4fc00914;
cdc_acm_poll_out = 0x4fc00918;
chip_usb_dw_did_persist = 0x4fc0091c;
chip_usb_dw_init = 0x4fc00920;
chip_usb_detach = 0x4fc00924;
chip_usb_dw_prepare_persist = 0x4fc00928;
chip_usb_get_persist_flags = 0x4fc0092c;
chip_usb_set_persist_flags = 0x4fc00930;
cpio_start = 0x4fc00934;
cpio_feed = 0x4fc00938;
cpio_done = 0x4fc0093c;
cpio_destroy = 0x4fc00940;
dfu_flash_init = 0x4fc00944;
dfu_flash_erase = 0x4fc00948;
dfu_flash_program = 0x4fc0094c;
dfu_flash_read = 0x4fc00950;
dfu_flash_attach = 0x4fc00954;
dfu_cpio_callback = 0x4fc00958;
dfu_updater_get_err = 0x4fc0095c;
dfu_updater_clear_err = 0x4fc00960;
dfu_updater_enable = 0x4fc00964;
dfu_updater_begin = 0x4fc00968;
dfu_updater_feed = 0x4fc0096c;
dfu_updater_end = 0x4fc00970;
dfu_updater_set_raw_addr = 0x4fc00974;
dfu_updater_flash_read = 0x4fc00978;
usb_dc_prepare_persist = 0x4fc0097c;
usb_dw_isr_handler = 0x4fc00980;
usb_dc_attach = 0x4fc00984;
usb_dc_detach = 0x4fc00988;
usb_dc_reset = 0x4fc0098c;
usb_dc_set_address = 0x4fc00990;
usb_dc_ep_check_cap = 0x4fc00994;
usb_dc_ep_configure = 0x4fc00998;
usb_dc_ep_set_stall = 0x4fc0099c;
usb_dc_ep_clear_stall = 0x4fc009a0;
usb_dc_ep_halt = 0x4fc009a4;
usb_dc_ep_is_stalled = 0x4fc009a8;
usb_dc_ep_enable = 0x4fc009ac;
usb_dc_ep_disable = 0x4fc009b0;
usb_dc_ep_flush = 0x4fc009b4;
usb_dc_ep_write_would_block = 0x4fc009b8;
usb_dc_ep_write = 0x4fc009bc;
usb_dc_ep_read_wait = 0x4fc009c0;
usb_dc_ep_read_continue = 0x4fc009c4;
usb_dc_ep_read = 0x4fc009c8;
usb_dc_ep_set_callback = 0x4fc009cc;
usb_dc_set_status_callback = 0x4fc009d0;
usb_dc_ep_mps = 0x4fc009d4;
usb_dc_check_poll_for_interrupts = 0x4fc009d8;
mac_addr_to_serial_str_desc = 0x4fc009dc;
usb_set_current_descriptor = 0x4fc009e0;
usb_get_descriptor = 0x4fc009e4;
usb_dev_resume = 0x4fc009e8;
usb_dev_get_configuration = 0x4fc009ec;
usb_set_config = 0x4fc009f0;
usb_deconfig = 0x4fc009f4;
usb_enable = 0x4fc009f8;
usb_disable = 0x4fc009fc;
usb_write_would_block = 0x4fc00a00;
usb_write = 0x4fc00a04;
usb_read = 0x4fc00a08;
usb_ep_set_stall = 0x4fc00a0c;
usb_ep_clear_stall = 0x4fc00a10;
usb_ep_read_wait = 0x4fc00a14;
usb_ep_read_continue = 0x4fc00a18;
usb_transfer_ep_callback = 0x4fc00a1c;
usb_transfer = 0x4fc00a20;
usb_cancel_transfer = 0x4fc00a24;
usb_transfer_sync = 0x4fc00a28;
usb_dfu_set_detach_cb = 0x4fc00a2c;
dfu_class_handle_req = 0x4fc00a30;
dfu_status_cb = 0x4fc00a34;
dfu_custom_handle_req = 0x4fc00a38;
usb_dfu_init = 0x4fc00a3c;
usb_dfu_force_detach = 0x4fc00a40;
usb_dev_deinit = 0x4fc00a44;
usb_dw_ctrl_deinit = 0x4fc00a48;
/* Data (.data, .bss, .rodata) */
s_usb_osglue = 0x4ff3ffc8;
@@ -0,0 +1,15 @@
/*
* SPDX-FileCopyrightText: 2025 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
/* These functions are not well optimized for misaligned memory access.
* See details in the https://sourceware.org/pipermail/newlib/2025/021470.html
* patch series. */
memcpy = 0x4fc0026c;
memmove = 0x4fc00270;
memcmp = 0x4fc00274;
strcpy = 0x4fc00278;
strncpy = 0x4fc0027c;
strcmp = 0x4fc00280;
strncmp = 0x4fc00284;
+58
View File
@@ -0,0 +1,58 @@
/*
* SPDX-FileCopyrightText: 2024-2025 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
esp_rom_newlib_init_common_mutexes = 0x4fc00264;
memset = 0x4fc00268;
strlen = 0x4fc00288;
strstr = 0x4fc0028c;
bzero = 0x4fc00290;
sbrk = 0x4fc00298;
isalnum = 0x4fc0029c;
isalpha = 0x4fc002a0;
isascii = 0x4fc002a4;
isblank = 0x4fc002a8;
iscntrl = 0x4fc002ac;
isdigit = 0x4fc002b0;
islower = 0x4fc002b4;
isgraph = 0x4fc002b8;
isprint = 0x4fc002bc;
ispunct = 0x4fc002c0;
isspace = 0x4fc002c4;
isupper = 0x4fc002c8;
toupper = 0x4fc002cc;
tolower = 0x4fc002d0;
toascii = 0x4fc002d4;
memccpy = 0x4fc002d8;
memchr = 0x4fc002dc;
memrchr = 0x4fc002e0;
strcasecmp = 0x4fc002e4;
strcasestr = 0x4fc002e8;
strcat = 0x4fc002ec;
strchr = 0x4fc002f4;
strcspn = 0x4fc002f8;
strcoll = 0x4fc002fc;
strlcat = 0x4fc00300;
strlcpy = 0x4fc00304;
strlwr = 0x4fc00308;
strncasecmp = 0x4fc0030c;
strncat = 0x4fc00310;
strnlen = 0x4fc00318;
strrchr = 0x4fc0031c;
strsep = 0x4fc00320;
strspn = 0x4fc00324;
strtok_r = 0x4fc00328;
strupr = 0x4fc0032c;
longjmp = 0x4fc00330;
setjmp = 0x4fc00334;
abs = 0x4fc00338;
div = 0x4fc0033c;
labs = 0x4fc00340;
ldiv = 0x4fc00344;
qsort = 0x4fc00348;
utoa = 0x4fc00358;
itoa = 0x4fc0035c;
/* Data (.data, .bss, .rodata) */
syscall_table_ptr = 0x4ff3ffe4;
_global_impure_ptr = 0x4ff3ffe0;
+95
View File
@@ -0,0 +1,95 @@
/*
* SPDX-FileCopyrightText: 2023-2025 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
/* ROM function interface esp32p4.rom.libgcc.ld for esp32p4
*
*
* Generated from ./target/esp32p4/interface-esp32p4.yml md5sum f6516bd9708d890f63db87f8aed53ca7
*
* Compatible with ROM where ECO version equal or greater to 0.
*
* THIS FILE WAS AUTOMATICALLY GENERATED. DO NOT EDIT.
*/
/***************************************
Group libgccdf
***************************************/
/* Functions */
__absvdi2 = 0x4fc0073c;
__absvsi2 = 0x4fc00740;
__adddf3 = 0x4fc00744;
__addvdi3 = 0x4fc00748;
__addvsi3 = 0x4fc0074c;
__ashldi3 = 0x4fc00750;
__ashrdi3 = 0x4fc00754;
__bswapdi2 = 0x4fc00758;
__bswapsi2 = 0x4fc0075c;
__clear_cache = 0x4fc00760;
__clrsbdi2 = 0x4fc00764;
__clrsbsi2 = 0x4fc00768;
__clzdi2 = 0x4fc0076c;
__clzsi2 = 0x4fc00770;
__cmpdi2 = 0x4fc00774;
__ctzdi2 = 0x4fc00778;
__ctzsi2 = 0x4fc0077c;
__divdc3 = 0x4fc00780;
__divdf3 = 0x4fc00784;
__divdi3 = 0x4fc00788;
__divsc3 = 0x4fc0078c;
__divsi3 = 0x4fc00790;
__eqdf2 = 0x4fc00794;
__extendsfdf2 = 0x4fc00798;
__ffsdi2 = 0x4fc0079c;
__ffssi2 = 0x4fc007a0;
__fixdfdi = 0x4fc007a4;
__fixdfsi = 0x4fc007a8;
__fixsfdi = 0x4fc007ac;
__fixunsdfsi = 0x4fc007b0;
__fixunssfdi = 0x4fc007b4;
__fixunssfsi = 0x4fc007b8;
__floatdidf = 0x4fc007bc;
__floatdisf = 0x4fc007c0;
__floatsidf = 0x4fc007c4;
__floatundidf = 0x4fc007c8;
__floatundisf = 0x4fc007cc;
__floatunsidf = 0x4fc007d0;
__gcc_bcmp = 0x4fc007d4;
__gedf2 = 0x4fc007d8;
__gtdf2 = 0x4fc007dc;
__ledf2 = 0x4fc007e0;
__lshrdi3 = 0x4fc007e4;
__ltdf2 = 0x4fc007e8;
__moddi3 = 0x4fc007ec;
__modsi3 = 0x4fc007f0;
__muldc3 = 0x4fc007f4;
__muldf3 = 0x4fc007f8;
__muldi3 = 0x4fc007fc;
__mulsc3 = 0x4fc00800;
__mulsi3 = 0x4fc00804;
__mulvdi3 = 0x4fc00808;
__mulvsi3 = 0x4fc0080c;
__nedf2 = 0x4fc00810;
__negdf2 = 0x4fc00814;
__negdi2 = 0x4fc00818;
__negvdi2 = 0x4fc0081c;
__negvsi2 = 0x4fc00820;
__paritysi2 = 0x4fc00824;
__popcountdi2 = 0x4fc00828;
__popcountsi2 = 0x4fc0082c;
__powidf2 = 0x4fc00830;
__subdf3 = 0x4fc00834;
__subvdi3 = 0x4fc00838;
__subvsi3 = 0x4fc0083c;
__ucmpdi2 = 0x4fc00840;
__udivdi3 = 0x4fc00844;
__udivmoddi4 = 0x4fc00848;
__udivsi3 = 0x4fc0084c;
__udiv_w_sdiv = 0x4fc00850;
__umoddi3 = 0x4fc00854;
__umodsi3 = 0x4fc00858;
__unorddf2 = 0x4fc0085c;
__extenddftf2 = 0x4fc00860;
__trunctfdf2 = 0x4fc00864;
+32
View File
@@ -0,0 +1,32 @@
/*
* SPDX-FileCopyrightText: 2025 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
/* ROM function interface esp32p4.rom.newlib-nano.ld for esp32p4
*
*
* Generated from ./target/esp32p4/interface-esp32p4.yml md5sum 56d78222be1daa0502090a078288f4d5
*
* 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 = 0x4fc00394;
_fiprintf_r = 0x4fc00398;
_fprintf_r = 0x4fc0039c;
_printf_common = 0x4fc003a0;
_printf_i = 0x4fc003a4;
_vfiprintf_r = 0x4fc003a8;
_vfprintf_r = 0x4fc003ac;
fiprintf = 0x4fc003b0;
fprintf = 0x4fc003b4;
printf = 0x4fc003b8;
vfiprintf = 0x4fc003bc;
vfprintf = 0x4fc003c0;
+41
View File
@@ -0,0 +1,41 @@
/*
* SPDX-FileCopyrightText: 2023-2025 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
/* ROM function interface esp32p4.rom.newlib.ld for esp32p4
*
*
* Generated from ./target/esp32p4/interface-esp32p4.yml md5sum f6516bd9708d890f63db87f8aed53ca7
*
* 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 = 0x4fc00294;
strdup = 0x4fc002f0;
strndup = 0x4fc00314;
rand_r = 0x4fc0034c;
rand = 0x4fc00350;
srand = 0x4fc00354;
atoi = 0x4fc00360;
atol = 0x4fc00364;
strtol = 0x4fc00368;
strtoul = 0x4fc0036c;
fflush = 0x4fc00370;
_fflush_r = 0x4fc00374;
_fwalk = 0x4fc00378;
_fwalk_reent = 0x4fc0037c;
__smakebuf_r = 0x4fc00380;
__swhatbuf_r = 0x4fc00384;
__swbuf_r = 0x4fc00388;
__swbuf = 0x4fc0038c;
__swsetup_r = 0x4fc00390;
+116
View File
@@ -0,0 +1,116 @@
/*
* SPDX-FileCopyrightText: 2023-2025 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
/* ROM function interface esp32p4.rom.rvfp.ld for esp32p4
*
*
* Generated from ./target/esp32p4/interface-esp32p4.yml md5sum f6516bd9708d890f63db87f8aed53ca7
*
* Compatible with ROM where ECO version equal or greater to 0.
*
* THIS FILE WAS AUTOMATICALLY GENERATED. DO NOT EDIT.
*/
/***************************************
Group rvfplibdf
***************************************/
/*
* These functions cannot work when compiling with floating point ABI
* implementation assumes argument is passed in a0, but floats will be passed
* in the floating point registers instead
*
* __fixsfdi = 0x4fc00878;
* __fixunssfdi = 0x4fc00880;
*/
/* Functions */
__adddf3 = 0x4fc00868;
__eqdf2 = 0x4fc0086c;
__fixdfdi = 0x4fc00870;
__fixdfsi = 0x4fc00874;
__fixunsdfsi = 0x4fc0087c;
__floatdidf = 0x4fc00884;
__floatsidf = 0x4fc00888;
__floatundidf = 0x4fc0088c;
__floatunsidf = 0x4fc00890;
__gedf2 = 0x4fc00894;
__gtdf2 = 0x4fc00898;
__ledf2 = 0x4fc0089c;
__ltdf2 = 0x4fc008a0;
__muldf3 = 0x4fc008a4;
__nedf2 = 0x4fc008a8;
__subdf3 = 0x4fc008ac;
/***************************************
Group libgcc
***************************************/
/* Not part of the original ROM interface, but RVFP versions cannot work with float-abi */
__fixsfdi = 0x4fc007ac;
__fixunssfdi = 0x4fc007b4;
/* Functions */
__absvdi2 = 0x4fc0073c;
__absvsi2 = 0x4fc00740;
__addvdi3 = 0x4fc00748;
__addvsi3 = 0x4fc0074c;
__ashldi3 = 0x4fc00750;
__ashrdi3 = 0x4fc00754;
__bswapdi2 = 0x4fc00758;
__bswapsi2 = 0x4fc0075c;
__clear_cache = 0x4fc00760;
__clrsbdi2 = 0x4fc00764;
__clrsbsi2 = 0x4fc00768;
__clzdi2 = 0x4fc0076c;
__clzsi2 = 0x4fc00770;
__cmpdi2 = 0x4fc00774;
__ctzdi2 = 0x4fc00778;
__ctzsi2 = 0x4fc0077c;
__divdc3 = 0x4fc00780;
__divdf3 = 0x4fc00784;
__divdi3 = 0x4fc00788;
__divsc3 = 0x4fc0078c;
__divsi3 = 0x4fc00790;
__extendsfdf2 = 0x4fc00798;
__ffsdi2 = 0x4fc0079c;
__ffssi2 = 0x4fc007a0;
__fixunssfsi = 0x4fc007b8;
__floatdisf = 0x4fc007c0;
__floatundisf = 0x4fc007cc;
__gcc_bcmp = 0x4fc007d4;
__lshrdi3 = 0x4fc007e4;
__moddi3 = 0x4fc007ec;
__modsi3 = 0x4fc007f0;
__muldc3 = 0x4fc007f4;
__muldi3 = 0x4fc007fc;
__mulsc3 = 0x4fc00800;
__mulsi3 = 0x4fc00804;
__mulvdi3 = 0x4fc00808;
__mulvsi3 = 0x4fc0080c;
__negdf2 = 0x4fc00814;
__negdi2 = 0x4fc00818;
__negvdi2 = 0x4fc0081c;
__negvsi2 = 0x4fc00820;
__paritysi2 = 0x4fc00824;
__popcountdi2 = 0x4fc00828;
__popcountsi2 = 0x4fc0082c;
__powidf2 = 0x4fc00830;
__subvdi3 = 0x4fc00838;
__subvsi3 = 0x4fc0083c;
__ucmpdi2 = 0x4fc00840;
__udivdi3 = 0x4fc00844;
__udivmoddi4 = 0x4fc00848;
__udivsi3 = 0x4fc0084c;
__udiv_w_sdiv = 0x4fc00850;
__umoddi3 = 0x4fc00854;
__umodsi3 = 0x4fc00858;
__unorddf2 = 0x4fc0085c;
__extenddftf2 = 0x4fc00860;
__trunctfdf2 = 0x4fc00864;
/***************************************
Group libgcc
***************************************/
/* Functions */
+28
View File
@@ -0,0 +1,28 @@
/*
* SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
/***************************************
Group hal_systimer
***************************************/
/* Functions */
/* The following ROM functions are commented out because they're patched in the esp_rom_systimer.c */
/* systimer_hal_init = 0x4fc00228; */
/* systimer_hal_deinit = 0x4fc0022c; */
systimer_hal_set_tick_rate_ops = 0x4fc00230;
systimer_hal_get_counter_value = 0x4fc00234;
systimer_hal_get_time = 0x4fc00238;
systimer_hal_set_alarm_target = 0x4fc0023c;
systimer_hal_set_alarm_period = 0x4fc00240;
systimer_hal_get_alarm_value = 0x4fc00244;
systimer_hal_enable_alarm_int = 0x4fc00248;
systimer_hal_on_apb_freq_update = 0x4fc0024c;
systimer_hal_counter_value_advance = 0x4fc00250;
systimer_hal_enable_counter = 0x4fc00254;
systimer_hal_select_alarm_mode = 0x4fc00258;
systimer_hal_connect_alarm_counter = 0x4fc0025c;
systimer_hal_counter_can_stall_by_cpu = 0x4fc00260;
+14
View File
@@ -0,0 +1,14 @@
/*
* SPDX-FileCopyrightText: 2023-2025 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
/* ROM version variables for esp32p4
*
* These addresses should be compatible with any ROM version for this chip.
*
* THIS FILE WAS AUTOMATICALLY GENERATED. DO NOT EDIT.
*/
_rom_chip_id = 0x4fc00010;
_rom_eco_version = 0x4fc00014;
+31
View File
@@ -0,0 +1,31 @@
/*
* SPDX-FileCopyrightText: 2025 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
/* ROM function interface esp32p4.rom.wdt.ld for esp32p4
*
*
* Generated from ./target/esp32p4/interface-esp32p4.yml md5sum 56d78222be1daa0502090a078288f4d5
*
* 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 = 0x4fc001fc;
wdt_hal_deinit = 0x4fc00200;
rom_wdt_hal_config_stage = 0x4fc00204;
wdt_hal_write_protect_disable = 0x4fc00208;
wdt_hal_write_protect_enable = 0x4fc0020c;
wdt_hal_enable = 0x4fc00210;
wdt_hal_disable = 0x4fc00214;
wdt_hal_handle_intr = 0x4fc00218;
wdt_hal_feed = 0x4fc0021c;
wdt_hal_set_flashboot_en = 0x4fc00220;
wdt_hal_is_enabled = 0x4fc00224;
+9
View File
@@ -0,0 +1,9 @@
/*
* SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
/** ROM APIs
*/
PROVIDE ( esp_rom_output_putc = uart_tx_one_char );
+80
View File
@@ -0,0 +1,80 @@
/*
* SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
/* ROM function interface esp32p4lp.rom.ld for esp32p4lp
*
*
* Generated from ./target/esp32p4lp/interface-esp32p4lp.yml md5sum f827caf806e9f4faec384ffbde44b380
*
* 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 = 0x50100098;
rtc_get_wakeup_cause = 0x5010009c;
pmu_enable_unhold_pads = 0x501000a0;
ets_printf = 0x501000a4;
ets_install_putc1 = 0x501000a8;
ets_install_uart_printf = 0x501000ac;
ets_delay_us = 0x501000b0;
uart_tx_one_char = 0x501000b4;
uart_tx_flush = 0x501000b8;
uart_tx_wait_idle = 0x501000bc;
uartAttach = 0x501000c0;
Uart_Init = 0x501000c4;
GetUartDevice = 0x501000c8;
/***************************************
Group gpio
***************************************/
/* Functions */
gpio_set_output_level = 0x501000cc;
gpio_get_input_level = 0x501000d0;
gpio_matrix_in = 0x501000d4;
gpio_matrix_out = 0x501000d8;
gpio_bypass_matrix_in = 0x501000dc;
gpio_output_disable = 0x501000e0;
/* gpio_output_enable = 0x501000e4; */
/* gpio_pad_input_disable = 0x501000e8; */
gpio_pad_input_enable = 0x501000ec;
gpio_pad_pulldown = 0x501000f0;
gpio_pad_pullup = 0x501000f4;
gpio_pad_select_gpio = 0x501000f8;
gpio_pad_set_drv = 0x501000fc;
gpio_pad_unhold = 0x50100100;
gpio_pad_hold = 0x50100104;
gpio_lppad_select_mux = 0x50100108;
/***************************************
Group crypto
***************************************/
/* Functions */
crc32_le = 0x5010010c;
crc16_le = 0x50100110;
crc8_le = 0x50100114;
esp_crc8 = 0x50100118;
/***************************************
Group interrupts
***************************************/
/* Functions */
ets_intr_lock = 0x5010011c;
ets_intr_unlock = 0x50100120;
PROVIDE( intr_handler_set = 0x50100124 );
ets_isr_attach = 0x50100128;
ets_isr_mask = 0x5010012c;
ets_isr_unmask = 0x50100130;
+77
View File
@@ -0,0 +1,77 @@
/*
* SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
/* ROM function interface esp32p4lp.rom.newlib.ld for esp32p4lp
*
*
* Generated from ./target/esp32p4lp/interface-esp32p4lp.yml md5sum f827caf806e9f4faec384ffbde44b380
*
* Compatible with ROM where ECO version equal or greater to 0.
*
* THIS FILE WAS AUTOMATICALLY GENERATED. DO NOT EDIT.
*/
/***************************************
Group newlib
***************************************/
/* Functions */
memset = 0x50100134;
memcpy = 0x50100138;
memmove = 0x5010013c;
memcmp = 0x50100140;
strcpy = 0x50100144;
strncpy = 0x50100148;
strcmp = 0x5010014c;
strncmp = 0x50100150;
strlen = 0x50100154;
strstr = 0x50100158;
bzero = 0x5010015c;
isalnum = 0x50100160;
isalpha = 0x50100164;
isascii = 0x50100168;
isblank = 0x5010016c;
iscntrl = 0x50100170;
isdigit = 0x50100174;
islower = 0x50100178;
isgraph = 0x5010017c;
isprint = 0x50100180;
ispunct = 0x50100184;
isspace = 0x50100188;
isupper = 0x5010018c;
toupper = 0x50100190;
tolower = 0x50100194;
toascii = 0x50100198;
memccpy = 0x5010019c;
memchr = 0x501001a0;
memrchr = 0x501001a4;
strcasecmp = 0x501001a8;
strcasestr = 0x501001ac;
strcat = 0x501001b0;
strchr = 0x501001b4;
strcspn = 0x501001b8;
strcoll = 0x501001bc;
strlcat = 0x501001c0;
strlcpy = 0x501001c4;
strlwr = 0x501001c8;
strncasecmp = 0x501001cc;
strncat = 0x501001d0;
strnlen = 0x501001d4;
strrchr = 0x501001d8;
strsep = 0x501001dc;
strspn = 0x501001e0;
strtok_r = 0x501001e4;
strupr = 0x501001e8;
longjmp = 0x501001ec;
setjmp = 0x501001f0;
abs = 0x501001f4;
div = 0x501001f8;
labs = 0x501001fc;
ldiv = 0x50100200;
qsort = 0x50100204;
atoi = 0x50100208;
atol = 0x5010020c;
itoa = 0x50100210;
utoa = 0x50100214;
+13
View File
@@ -0,0 +1,13 @@
/*
* SPDX-FileCopyrightText: 2023 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
/* ROM version variables for esp32p4lp
*
* These addresses should be compatible with any ROM version for this chip.
*
* THIS FILE WAS AUTOMATICALLY GENERATED. DO NOT EDIT.
*/
_rom_chip_id = 0x50100090;
_rom_eco_version = 0x50100094;
+108
View File
@@ -0,0 +1,108 @@
/*
* SPDX-FileCopyrightText: 2022-2024 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
/**
* ESP32-P4 Linker Script Memory Layout
* This file describes the memory layout (memory blocks) by virtual memory addresses.
* This linker script is passed through the C preprocessor to include configuration options.
* Please use preprocessor features sparingly!
* Restrict to simple macros with numeric values, and/or #if/#endif blocks.
*/
/*
* Automatically generated file. DO NOT EDIT.
* Espressif IoT Development Framework (ESP-IDF) 5.5.2 Configuration Header
*/
/* List of deprecated options */
/*
* SPDX-FileCopyrightText: 2021-2024 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
/* CPU instruction prefetch padding size for flash mmap scenario */
/* Copy from esp_secure_boot.h */
/*
* PMP region granularity size
* Software may determine the PMP granularity by writing zero to pmp0cfg, then writing all ones
* to pmpaddr0, then reading back pmpaddr0. If G is the index of the least-significant bit set,
* the PMP granularity is 2^G+2 bytes.
*/
/* CPU instruction prefetch padding size for memory protection scenario */
/* Memory alignment size for PMS */
/**
* The ESP_BOOTLOADER_RESERVE_RTC size must have the same alignment of RTC_TIMER_RESERVE_RTC, else
* the segment will overflow at link time because not enough bytes are allocated for the RTC segment.
*/
/* rtc timer data (s_rtc_timer_retain_mem, see esp_clk.c files). For rtc_timer_data_in_rtc_mem section. */
/* If the cache size is less than 512KB, then there is a region of RAM
* above the ROM-reserved region and below the start of the cache.
*/
MEMORY
{
/**
* All these values assume the flash cache is on, and have the blocks this uses subtracted from the length
* of the various regions. The 'data access port' dram/drom regions map to the same iram/irom regions but
* are connected to the data port of the CPU and eg allow byte-wise access.
*/
/* TCM */
tcm_idram_seg (RX) : org = 0x30100000, len = 0x2000
/* Flash mapped instruction data */
irom_seg (RX) : org = 0x40000020, len = (0x10000 << 10) - 0x20
/**
* (0x20 offset above is a convenience for the app binary image generation.
* Flash cache has 64KB pages. The .bin file which is flashed to the chip
* has a 0x18 byte file header, and each segment has a 0x08 byte segment
* header. Setting this offset makes it simple to meet the flash cache MMU's
* constraint that (paddr % 64KB == vaddr % 64KB).)
*/
/**
* Shared data RAM, excluding memory reserved for ROM bss/data/stack.
* Enabling Bluetooth & Trace Memory features in menuconfig will decrease the amount of RAM available.
*/
sram_low (RWX) : org = 0x4FF00000, len = 0x4FF2CBD0 - 0x4FF00000
sram_high (RW) : org = 0x4FF40000, len = 0x80000 - 0x20000
/* Flash mapped constant data */
drom_seg (R) : org = 0x40000020, len = (0x10000 << 10) - 0x20
/* (See irom_seg for meaning of 0x20 offset in the above.) */
/* Used to store the deep sleep workaround code of P4 rev3.0. The reset vector will be set here before the chip enters sleep. */
rev3_mspi_workaround_seg(RWX) : org = 0x50108000, len = 0x0
/**
* lp ram memory (RWX). Persists over deep sleep. // TODO: IDF-5667
*/
lp_ram_seg(RW) : org = 0x50108000 + 0x0 + ((((0x10) + (8 - 1)) & ~(8 - 1)) + (24)), len = 0x8000 - ((((0x10) + (8 - 1)) & ~(8 - 1)) + (24)) - 0x0
/* We reduced the size of lp_ram_seg by RESERVE_RTC_MEM value.
It reserves the amount of LP memory that we use for this memory segment.
This segment is intended for keeping:
- (lower addr) rtc timer data (s_rtc_timer_retain_mem, see esp_clk.c files).
- (higher addr) bootloader rtc data (s_bootloader_retain_mem, when a Kconfig option is on).
The aim of this is to keep data that will not be moved around and have a fixed address.
This segment is placed at the beginning of LP RAM, as the end of LP RAM is occupied by LP ROM stack/data
*/
lp_reserved_seg(RW) : org = 0x50108000 + 0x0, len = ((((0x10) + (8 - 1)) & ~(8 - 1)) + (24))
/* PSRAM seg */
extern_ram_seg(RWX) : org = 0x48000000, len = (0x10000 << 10)
}
/* Heap ends at top of dram0_0_seg */
_heap_end = 0x50000000;
_data_seg_org = ORIGIN(rtc_data_seg);
/**
* The lines below define location alias for .rtc.data section
* P4 has no distinguished LP(RTC) fast and slow memory sections, instead, there is a unified LP_RAM section
* Thus, the following region segments are not configurable like on other targets
*/
REGION_ALIAS("rtc_iram_seg", lp_ram_seg );
REGION_ALIAS("rtc_data_seg", rtc_iram_seg );
REGION_ALIAS("rtc_slow_seg", rtc_iram_seg );
REGION_ALIAS("rtc_data_location", rtc_iram_seg );
REGION_ALIAS("rtc_reserved_seg", lp_reserved_seg );
REGION_ALIAS("text_seg_low", irom_seg);
REGION_ALIAS("rodata_seg_low", drom_seg);
REGION_ALIAS("ext_ram_seg", extern_ram_seg);
/**
* If rodata default segment is placed in `drom_seg`, then flash's first rodata section must
* also be first in the segment.
*/
ASSERT(_flash_rodata_dummy_start == ORIGIN(rodata_seg_low),
".flash_rodata_dummy section must be placed at the beginning of the rodata segment.")
+12
View File
@@ -0,0 +1,12 @@
/*
* SPDX-FileCopyrightText: 2023-2024 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
/* The interrupt API functions are implemented in ROM under the deprecated names, define the aliases */
PROVIDE ( esprv_int_set_priority = esprv_intc_int_set_priority );
PROVIDE ( esprv_int_set_threshold = esprv_intc_int_set_threshold );
PROVIDE ( esprv_int_enable = esprv_intc_int_enable );
PROVIDE ( esprv_int_disable = esprv_intc_int_disable );
PROVIDE ( esprv_int_set_type = esprv_intc_int_set_type );
File diff suppressed because one or more lines are too long