Skip to content

Commit 92c8b68

Browse files
committed
feat(relinker): Add IDF v5.3.x support
1 parent 7cfbf3a commit 92c8b68

File tree

30 files changed

+1360
-46
lines changed

30 files changed

+1360
-46
lines changed

tools/cmake_utilities/CHANGELOG.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
1-
## v0.6.0 - 2023-08-23
1+
## v1.1.0 - 2025-01-16
22

3-
* relinker: support ESP32-C3 and SRAM optimization for flash-suspend
3+
* relinker: support ESP32-C3 and SRAM optimization for flash-suspend
4+
* relinker: add IDF v5.3.x support
45

56
## v0.5.3 - 2023-09-15
67

tools/cmake_utilities/docs/relinker.md

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ include(relinker)
1616

1717
The relinker feature is disabled by default, in order to use it, you need to enable the option `CU_RELINKER_ENABLE` in menuconfig.
1818

19-
Here are the default configuration files in the folder `cmake_utilities/scripts/relinker/examples/XXX (XXX=esp32c2, esp32c3...)` for specific SoC platform, it's just used as a reference. If you would like to use your own configuration files, please enable option `CU_RELINKER_ENABLE_CUSTOMIZED_CONFIGURATION_FILES` and set the path of your configuration files as following, this path is evaluated relative to the project root directory:
19+
Here are the default configuration files in the folder `cmake_utilities/scripts/relinker/examples/flash_suspend/XXX (XXX=esp32c2, esp32c3...)` for specific SoC platform when flash_suspend and relinker feature are enabled, please note that the configuration files may be slightly different for different ESP-IDF versions, it's just used as a reference. If you would like to use your own configuration files, please enable option `CU_RELINKER_ENABLE_CUSTOMIZED_CONFIGURATION_FILES` and set the path of your configuration files as following, this path is evaluated relative to the project root directory:
2020

2121
```
2222
[*] Enable customized relinker configuration files
@@ -49,15 +49,15 @@ You can refer to the files in the directory of `cmake_utilities/scripts/relinker
4949

5050
1. iram_strip
5151

52-
For `example/iram_strip`, if you want to link function `__getreent` from SRAM to Flash, firstly you should add it to `function.csv` file as following:
52+
For `example/iram_strip`, it includes the functions which you want to relink into Flash after enable the option `CU_RELINKER_ENABLE` and disable the option `CU_RELINKER_LINK_SPECIFIC_FUNCTIONS_TO_IRAM` in menuconfig. If you want to link function `__getreent` from SRAM to Flash, firstly you should add it to `function.csv` file as following:
5353

5454
```
5555
libfreertos.a,tasks.c.obj,__getreent,
5656
```
5757
5858
2. flash_suspend
5959
60-
For `example/flash_suspend`, if you want to link function `__getreent` into SRAM no matter its original locations, firstly you should add it to `function.csv` file as following:
60+
For `example/flash_suspend`, it includes the functions which you want to relink into SRAM after enable the options: `SPI_FLASH_AUTO_SUSPEND`, `CU_RELINKER_ENABLE`, `CU_RELINKER_LINK_SPECIFIC_FUNCTIONS_TO_IRAM` in menuconfig. If you want to link function `__getreent` into SRAM no matter its original locations, firstly you should add it to `function.csv` file as following:
6161
6262
```
6363
libfreertos.a,tasks.c.obj,__getreent,
@@ -89,4 +89,14 @@ libfreertos.a,./esp-idf/freertos/libfreertos.a
8989
9090
This means library `libfreertos.a`'s location is `./esp-idf/freertos/libfreertos.a` relative to `build`.
9191
92-
If above related data has exists in corresponding files, please don't add this repeatedly.
92+
If above related data has exists in corresponding files, please don't add this repeatedly.
93+
94+
## Test Results Reference
95+
96+
| Chip | example | | SRAM used (Bytes) | |
97+
| -------- | --------------- | ----------------- | ----------------- | --------------------------------- |
98+
| | | Default options | Enable relinker | Enable relinker and flash-suspend |
99+
| ESP32-C2 | power_save | 101408 | 91728 | 51360 |
100+
| ESP32-C3 | power_save | 118728 | 99864 | 58312 |
101+
102+
All of the above examples are compiled on ESP-IDF Tag/v5.3.2 and version v1.1.0 of `cmake_utilities` component, you can view the memory type usage summary by using `idf.py size`, the above data is for reference only.

tools/cmake_utilities/idf_component.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
version: "1.0.0"
1+
version: "1.1.0"
22
description: A collection of useful cmake utilities
33
url: https://github.com/espressif/esp-iot-solution/tree/master/tools/cmake_utilities
44
documentation: https://docs.espressif.com/projects/esp-iot-solution/zh_CN/latest/basic/cmake_utilities.html

tools/cmake_utilities/relinker.cmake

Lines changed: 26 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,9 @@ if(CONFIG_CU_RELINKER_ENABLE)
1111
message(FATAL_ERROR "Other targets are not supported.")
1212
endif()
1313

14+
set(idf_version "${CONFIG_IDF_INIT_VERSION}")
15+
string(REGEX MATCH "^([0-9]+\\.[0-9]+)" version_prefix "${idf_version}")
16+
1417
if(CONFIG_CU_RELINKER_ENABLE_CUSTOMIZED_CONFIGURATION_FILES)
1518
idf_build_get_property(project_dir PROJECT_DIR)
1619
get_filename_component(cfg_file_path "${CONFIG_CU_RELINKER_CUSTOMIZED_CONFIGURATION_FILES_PATH}"
@@ -22,10 +25,14 @@ if(CONFIG_CU_RELINKER_ENABLE)
2225
else()
2326
set(cfg_file_path ${PROJECT_DIR}/relinker/${target})
2427
if(NOT EXISTS ${cfg_file_path})
25-
if(CONFIG_CU_RELINKER_LINK_SPECIFIC_FUNCTIONS_TO_IRAM)
26-
set(cfg_file_path ${CMAKE_CURRENT_LIST_DIR}/scripts/relinker/examples/flash_suspend/${target})
28+
if(version_prefix STREQUAL "5.0" OR version_prefix STREQUAL "5.3")
29+
if(CONFIG_CU_RELINKER_LINK_SPECIFIC_FUNCTIONS_TO_IRAM)
30+
set(cfg_file_path ${CMAKE_CURRENT_LIST_DIR}/scripts/relinker/examples/flash_suspend/${target}/${version_prefix})
31+
else()
32+
set(cfg_file_path ${CMAKE_CURRENT_LIST_DIR}/scripts/relinker/examples/iram_strip/${target}/${version_prefix})
33+
endif()
2734
else()
28-
set(cfg_file_path ${CMAKE_CURRENT_LIST_DIR}/scripts/relinker/examples/iram_strip/${target})
35+
message(FATAL_ERROR "There is no configuration file corresponding to esp-idf/v${version_prefix}, please make a request in github issue")
2936
endif()
3037
endif()
3138
endif()
@@ -48,6 +55,8 @@ if(CONFIG_CU_RELINKER_ENABLE)
4855
--object ${object_file}
4956
--function ${function_file}
5057
--sdkconfig ${sdkconfig}
58+
--target ${target}
59+
--version ${version_prefix}
5160
--objdump ${cmake_objdump})
5261

5362
if(CONFIG_CU_RELINKER_ENABLE_PRINT_ERROR_INFO_WHEN_MISSING_FUNCTION)
@@ -60,20 +69,20 @@ if(CONFIG_CU_RELINKER_ENABLE)
6069

6170
idf_build_get_property(link_depends __LINK_DEPENDS)
6271

63-
add_custom_command(OUTPUT ${link_dst_file}
64-
COMMAND ${python} -B ${relinker_script}
65-
${relinker_opts}
66-
COMMAND ${CMAKE_COMMAND} -E copy
67-
${link_dst_file}
68-
${link_src_file}
69-
COMMAND ${CMAKE_COMMAND} -E echo
70-
/*relinker*/ >>
71-
${link_dst_file}
72-
DEPENDS "${link_depends}"
73-
"${library_file}"
74-
"${object_file}"
75-
"${function_file}"
76-
VERBATIM)
72+
add_custom_command(OUTPUT ${link_dst_file}
73+
COMMAND ${python} -B ${relinker_script}
74+
${relinker_opts}
75+
COMMAND ${CMAKE_COMMAND} -E copy
76+
${link_dst_file}
77+
${link_src_file}
78+
COMMAND ${CMAKE_COMMAND} -E echo
79+
/*relinker*/ >>
80+
${link_dst_file}
81+
DEPENDS "${link_depends}"
82+
"${library_file}"
83+
"${object_file}"
84+
"${function_file}"
85+
VERBATIM)
7786

7887
add_custom_target(customer_sections DEPENDS ${link_dst_file})
7988
add_dependencies(${project_elf} customer_sections)

tools/cmake_utilities/scripts/relinker/configuration.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -84,13 +84,13 @@ def __init__(self, name, paths, library):
8484
self.name = name
8585
self.library = library
8686
self.funcs = dict()
87-
self.pathes = paths
87+
self.paths = paths
8888
self.dumps = self.read_dump_info(paths)
8989
self.section_all = False
90-
90+
9191
def append(self, func):
9292
section = None
93-
93+
9494
if func == '.text.*':
9595
section = '.literal .literal.* .text .text.*'
9696
self.section_all = True
@@ -102,7 +102,7 @@ def append(self, func):
102102
self.section_all = True
103103
elif func == '.wifirxiram.*':
104104
section = '.wifirxiram .wifirxiram.*'
105-
self.section_all = True
105+
self.section_all = True
106106
else:
107107
section = self.get_func_section(self.dumps, func)
108108

tools/cmake_utilities/scripts/relinker/examples/flash_suspend/esp32c2/function.csv renamed to tools/cmake_utilities/scripts/relinker/examples/flash_suspend/esp32c2/5.0/function.csv

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,4 +91,4 @@ libpp.a,*,.iram1.*
9191
libpp.a,*,.wifi0iram.*,CONFIG_ESP32_WIFI_IRAM_OPT
9292
libpp.a,*,.wifirxiram.*,CONFIG_ESP32_WIFI_IRAM_OPT
9393
libnet80211.a,*,.wifi0iram.*,CONFIG_ESP32_WIFI_IRAM_OPT
94-
libnet80211.a,*,.wifirxiram.*,CONFIG_ESP32_WIFI_IRAM_OPT
94+
libnet80211.a,*,.wifirxiram.*,CONFIG_ESP32_WIFI_IRAM_OPT
Lines changed: 150 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,150 @@
1+
library,object,function,option
2+
libesp_hw_support.a,rtc_module.c.obj,rtc_isr
3+
libesp_hw_support.a,rtc_module.c.obj,rtc_isr_noniram_disable
4+
libesp_hw_support.a,rtc_module.c.obj,rtc_isr_noniram_enable
5+
libesp_hw_support.a,sleep_modes.c.obj,suspend_cache
6+
libesp_hw_support.a,sleep_modes.c.obj,resume_cache
7+
libesp_hw_support.a,rtc_sleep.c.obj,rtc_sleep_start
8+
libesp_hw_support.a,rtc_sleep.c.obj,rtc_sleep_pu
9+
libesp_hw_support.a,rtc_sleep.c.obj,rtc_sleep_finish
10+
libesp_hw_support.a,rtc_sleep.c.obj,rtc_sleep_get_default_config
11+
libesp_hw_support.a,rtc_sleep.c.obj,rtc_sleep_init
12+
libesp_hw_support.a,rtc_sleep.c.obj,rtc_sleep_low_init
13+
libesp_hw_support.a,rtc_time.c.obj,rtc_clk_cal
14+
libesp_hw_support.a,rtc_time.c.obj,rtc_clk_cal_internal
15+
libesp_hw_support.a,rtc_time.c.obj,rtc_time_get
16+
libesp_hw_support.a,rtc_time.c.obj,rtc_time_us_to_slowclk
17+
libesp_hw_support.a,rtc_time.c.obj,rtc_time_slowclk_to_us
18+
libesp_hw_support.a,sleep_modes.c.obj,esp_sleep_enable_timer_wakeup,CONFIG_PM_SLP_IRAM_OPT
19+
libesp_hw_support.a,periph_ctrl.c.obj,wifi_bt_common_module_enable,CONFIG_PM_ENABLE
20+
libesp_hw_support.a,periph_ctrl.c.obj,wifi_bt_common_module_disable,CONFIG_PM_ENABLE
21+
libesp_hw_support.a,periph_ctrl.c.obj,wifi_module_enable,CONFIG_PERIPH_CTRL_FUNC_IN_IRAM
22+
libesp_hw_support.a,periph_ctrl.c.obj,wifi_module_disable,CONFIG_PERIPH_CTRL_FUNC_IN_IRAM
23+
libesp_hw_support.a,esp_clk.c.obj,periph_module_reset,CONFIG_PERIPH_CTRL_FUNC_IN_IRAM
24+
libesp_hw_support.a,esp_memory_utils.c.obj,esp_ptr_byte_accessible
25+
libesp_hw_support.a,cpu.c.obj,esp_cpu_wait_for_intr
26+
libesp_hw_support.a,rtc_clk.c.obj,rtc_clk_cpu_set_to_default_config
27+
libesp_hw_support.a,rtc_clk.c.obj,rtc_clk_32k_enable_external
28+
libesp_hw_support.a,rtc_clk.c.obj,rtc_clk_fast_src_set
29+
libesp_hw_support.a,rtc_clk.c.obj,rtc_clk_slow_freq_get_hz
30+
libesp_hw_support.a,rtc_clk.c.obj,rtc_clk_slow_src_get
31+
libesp_hw_support.a,rtc_clk.c.obj,rtc_clk_slow_src_set
32+
libesp_hw_support.a,rtc_clk.c.obj,rtc_dig_clk8m_disable
33+
libesp_hw_support.a,rtc_clk.c.obj,rtc_clk_cpu_freq_set_config_fast
34+
libesp_hw_support.a,rtc_clk.c.obj,rtc_clk_8m_enable
35+
libesp_hw_support.a,rtc_clk.c.obj,rtc_clk_8md256_enabled
36+
libesp_hw_support.a,rtc_clk.c.obj,rtc_clk_bbpll_configure
37+
libesp_hw_support.a,rtc_clk.c.obj,rtc_clk_bbpll_enable
38+
libesp_hw_support.a,rtc_clk.c.obj,rtc_clk_cpu_freq_get_config
39+
libesp_hw_support.a,rtc_clk.c.obj,rtc_clk_cpu_freq_mhz_to_config
40+
libesp_hw_support.a,rtc_clk.c.obj,rtc_clk_cpu_freq_set_config
41+
libesp_hw_support.a,rtc_clk.c.obj,rtc_clk_cpu_freq_to_8m
42+
libesp_hw_support.a,rtc_clk.c.obj,rtc_clk_cpu_freq_to_pll_mhz
43+
libesp_hw_support.a,rtc_clk.c.obj,rtc_clk_cpu_freq_set_xtal
44+
libesp_hw_support.a,rtc_clk.c.obj,rtc_clk_xtal_freq_get
45+
libesp_hw_support.a,rtc_clk.c.obj,rtc_clk_cpu_freq_to_xtal
46+
libesp_hw_support.a,rtc_clk.c.obj,rtc_clk_bbpll_disable
47+
libesp_hw_support.a,rtc_clk.c.obj,rtc_clk_apb_freq_update
48+
libesp_hw_support.a,rtc_clk.c.obj,clk_ll_rtc_slow_get_src
49+
libesp_hw_support.a,sleep_modes.c.obj,.iram1.*
50+
libesp_system.a,cpu_start.c.obj,call_start_cpu0,FALSE
51+
libesp_system.a,panic_handler.c.obj,xt_unhandled_exception
52+
libesp_system.a,panic_handler.c.obj,panicHandler
53+
libesp_system.a,system_internal.c.obj,esp_restart_noos
54+
libesp_system.a,system_internal.c.obj,esp_system_reset_modules_on_exit
55+
libesp_system.a,crosscore_int.c.obj,esp_crosscore_isr,FALSE
56+
libesp_system.a,crosscore_int.c.obj,esp_crosscore_int_send
57+
libesp_system.a,crosscore_int.c.obj,esp_crosscore_int_send_yield
58+
libesp_system.a,panic_handler.c.obj,panic_enable_cache
59+
libesp_system.a,freertos_hooks.c.obj,esp_vApplicationIdleHook,CONFIG_PM_RTOS_IDLE_OPT
60+
libesp_system.a,freertos_hooks.c.obj,esp_vApplicationTickHook
61+
libesp_system.a,int_wdt.c.obj,tick_hook,CONFIG_ESP_INT_WDT
62+
libesp_system.a,task_wdt.c.obj,idle_hook_cb,CONFIG_PM_SLP_IRAM_OPT
63+
libesp_system.a,task_wdt.c.obj,esp_task_wdt_reset,CONFIG_PM_SLP_IRAM_OPT
64+
libesp_system.a,task_wdt.c.obj,esp_task_wdt_reset_user,CONFIG_PM_SLP_IRAM_OPT
65+
libesp_system.a,task_wdt.c.obj,task_wdt_timer_feed,CONFIG_PM_SLP_IRAM_OPT
66+
libesp_system.a,task_wdt.c.obj,find_entry_and_check_all_reset,CONFIG_PM_SLP_IRAM_OPT
67+
libesp_system.a,task_wdt.c.obj,find_entry_from_task_handle_and_check_all_reset,CONFIG_PM_SLP_IRAM_OPT
68+
libesp_system.a,task_wdt_impl_esp_timer.c.obj,esp_task_wdt_impl_timer_feed,CONFIG_PM_SLP_IRAM_OPT
69+
libesp_timer.a,esp_timer_impl_systimer.c.obj,timer_alarm_isr,FALSE
70+
libesp_timer.a,esp_timer_impl_systimer.c.obj,esp_timer_get_time
71+
libesp_timer.a,esp_timer.c.obj,esp_timer_get_next_alarm_for_wake_up,CONFIG_PM_ENABLE
72+
libesp_timer.a,esp_timer.c.obj,timer_list_unlock
73+
libesp_timer.a,esp_timer.c.obj,timer_list_lock
74+
libfreertos.a,port_systick.c.obj,SysTickIsrHandler
75+
libfreertos.a,port_systick.c.obj,xPortSysTickHandler
76+
libfreertos.a,port.c.obj,vPortEnterCritical
77+
libfreertos.a,port.c.obj,vPortExitCritical
78+
libfreertos.a,port.c.obj,vPortYieldFromISR
79+
libfreertos.a,port.c.obj,vPortSetInterruptMask
80+
libfreertos.a,port.c.obj,xPortInIsrContext
81+
libfreertos.a,port.c.obj,vPortYield
82+
libfreertos.a,port.c.obj,vPortClearInterruptMask
83+
libfreertos.a,port.c.obj,xPortSetInterruptMaskFromISR
84+
libfreertos.a,port.c.obj,vPortClearInterruptMaskFromISR
85+
libfreertos.a,tasks.c.obj,xTaskGetCurrentTaskHandle
86+
libfreertos.a,tasks.c.obj,xTaskGetSchedulerState
87+
libfreertos.a,tasks.c.obj,xTaskIncrementTick
88+
libfreertos.a,tasks.c.obj,prvResetNextTaskUnblockTime
89+
libfreertos.a,tasks.c.obj,vTaskStepTick,CONFIG_FREERTOS_USE_TICKLESS_IDLE
90+
libfreertos.a,tasks.c.obj,taskSelectHighestPriorityTaskSMP
91+
libfreertos.a,tasks.c.obj,vTaskSwitchContext
92+
libfreertos.a,port_common.c.obj,xPortCheckValidTCBMem
93+
libfreertos.a,portasm.S.obj,.text.*
94+
libfreertos.a,list.c.obj,.text.*,FALSE
95+
libfreertos.a,queue.c.obj,.text.*,FALSE
96+
libfreertos.a,queue.c.obj,.iram1.*,FALSE
97+
libhal.a,cache_hal.c.obj,.iram1.*
98+
libhal.a,cache_hal.c.obj,.text.*
99+
libhal.a,spi_flash_hal_iram.c.obj,spi_flash_hal_program_page
100+
libhal.a,spi_flash_hal_iram.c.obj,spi_flash_hal_erase_sector
101+
libhal.a,spi_flash_hal_iram.c.obj,spi_flash_hal_erase_block
102+
libhal.a,spi_flash_hal_iram.c.obj,spi_flash_hal_erase_block
103+
libhal.a,spi_flash_hal_iram.c.obj,spi_flash_hal_read
104+
libhal.a,spi_flash_hal_iram.c.obj,spi_flash_hal_common_command
105+
libhal.a,spi_flash_hal_iram.c.obj,spi_flash_hal_resume
106+
libhal.a,spi_flash_hal_gpspi.c.obj,spi_flash_hal_gpspi_poll_cmd_done
107+
libspi_flash.a,cache_utils.c.obj,spi_flash_cache_enabled
108+
libspi_flash.a,cache_utils.c.obj,spi_flash_enable_cache
109+
libspi_flash.a,cache_utils.c.obj,spi_flash_restore_cache
110+
libspi_flash.a,cache_utils.c.obj,spi_flash_disable_cache
111+
libspi_flash.a,cache_utils.c.obj,spi_flash_disable_interrupts_caches_and_other_cpu
112+
libspi_flash.a,cache_utils.c.obj,spi_flash_enable_interrupts_caches_and_other_cpu
113+
libspi_flash.a,flash_mmap.c.obj,.iram1.*
114+
libesp_pm.a,pm_impl.c.obj,esp_pm_impl_isr_hook,CONFIG_PM_ENABLE
115+
libesp_pm.a,pm_impl.c.obj,vApplicationSleep,CONFIG_PM_ENABLE
116+
libesp_pm.a,pm_impl.c.obj,leave_idle,CONFIG_PM_ENABLE
117+
libesp_pm.a,pm_impl.c.obj,esp_pm_impl_idle_hook,CONFIG_PM_RTOS_IDLE_OPT
118+
libesp_pm.a,pm_impl.c.obj,esp_pm_impl_waiti,CONFIG_PM_RTOS_IDLE_OPT
119+
libesp_pm.a,pm_locks.c.obj,esp_pm_lock_acquire,CONFIG_PM_ENABLE
120+
libesp_pm.a,pm_locks.c.obj,esp_pm_lock_release,CONFIG_PM_ENABLE
121+
libesp_phy.a,phy_init.c.obj,esp_phy_disable,CONFIG_PM_ENABLE
122+
libesp_phy.a,phy_init.c.obj,esp_phy_enable,CONFIG_PM_ENABLE
123+
libesp_phy.a,phy_init.c.obj,esp_phy_common_clock_disable,CONFIG_PM_ENABLE
124+
libesp_phy.a,phy_init.c.obj,esp_phy_common_clock_enable,CONFIG_PM_ENABLE
125+
libesp_wifi.a,esp_adapter.c.obj,wifi_apb80m_release_wrapper,CONFIG_PM_ENABLE
126+
libesp_wifi.a,esp_adapter.c.obj,wifi_apb80m_request_wrapper,CONFIG_PM_ENABLE
127+
libesp_wifi.a,esp_adapter.c.obj,wifi_reset_mac_wrapper,CONFIG_PM_ENABLE
128+
libesp_wifi.a,esp_adapter.c.obj,wifi_clock_disable_wrapper,CONFIG_ESP_WIFI_SLP_IRAM_OPT
129+
libesp_wifi.a,esp_adapter.c.obj,wifi_clock_enable_wrapper,CONFIG_ESP_WIFI_SLP_IRAM_OPT
130+
libesp_wifi.a,wifi_init.c.obj,wifi_apb80m_release,CONFIG_PM_ENABLE
131+
libesp_wifi.a,wifi_init.c.obj,wifi_apb80m_request,CONFIG_PM_ENABLE
132+
libnewlib.a,locks.c.obj,_lock_acquire,CONFIG_PM_ENABLE
133+
libnewlib.a,locks.c.obj,_lock_release,CONFIG_PM_ENABLE
134+
libnewlib.a,locks.c.obj,.text.*
135+
libnewlib.a,locks.c.obj,.iram1.*
136+
libriscv.a,interrupt.c.obj,.text.*
137+
libriscv.a,vectors.S.obj,.text.*
138+
libpp.a,*,.iram1.*,FALSE
139+
libpp.a,*,.wifi0iram.*,CONFIG_ESP32_WIFI_IRAM_OPT
140+
libpp.a,*,.wifirxiram.*,CONFIG_ESP32_WIFI_IRAM_OPT
141+
libnet80211.a,*,.wifi0iram.*,CONFIG_ESP32_WIFI_IRAM_OPT
142+
libnet80211.a,*,.wifirxiram.*,CONFIG_ESP32_WIFI_IRAM_OPT
143+
libesp_mm.a,esp_mmu_map.c.obj,.iram1.*
144+
libesp_mm.a,esp_mmu_map.c.obj,.text.*,FALSE
145+
libesp_mm.a,esp_mmu_map.c.obj,s_do_cache_invalidate,
146+
libesp_mm.a,esp_mmu_map.c.obj,s_do_mapping,
147+
libesp_mm.a,esp_mmu_map.c.obj,s_do_unmapping,
148+
libesp_mm.a,esp_mmu_map.c.obj,esp_mmu_vaddr_to_paddr,
149+
libhal.a,mmu_hal.c.obj,.iram1.*
150+
libhal.a,mmu_hal.c.obj,.text.*
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
library,path
2+
libesp_hw_support.a,./esp-idf/esp_hw_support/libesp_hw_support.a
3+
libesp_pm.a,./esp-idf/esp_pm/libesp_pm.a
4+
libesp_phy.a,./esp-idf/esp_phy/libesp_phy.a
5+
libesp_system.a,./esp-idf/esp_system/libesp_system.a
6+
libesp_timer.a,./esp-idf/esp_timer/libesp_timer.a
7+
libesp_wifi.a,./esp-idf/esp_wifi/libesp_wifi.a
8+
libfreertos.a,./esp-idf/freertos/libfreertos.a
9+
libhal.a,./esp-idf/hal/libhal.a
10+
libnet80211.a,$IDF_PATH/components/esp_wifi/lib/esp32c2/libnet80211.a
11+
libnewlib.a,./esp-idf/newlib/libnewlib.a
12+
libpp.a,$IDF_PATH/components/esp_wifi/lib/esp32c2/libpp.a
13+
libriscv.a,./esp-idf/riscv/libriscv.a
14+
libspi_flash.a,./esp-idf/spi_flash/libspi_flash.a
15+
libesp_mm.a,./esp-idf/esp_mm/libesp_mm.a

0 commit comments

Comments
 (0)