Skip to content

Commit 58eaf60

Browse files
feat(relinker): add example for relinker CI
1 parent 59c66ec commit 58eaf60

File tree

14 files changed

+1187
-0
lines changed

14 files changed

+1187
-0
lines changed

.gitlab/ci/build.yml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1565,6 +1565,17 @@ build_tools_cmake_utilities_test_apps:
15651565
variables:
15661566
EXAMPLE_DIR: tools/cmake_utilities/test_apps
15671567

1568+
build_example_relinker:
1569+
extends:
1570+
- .build_examples_template
1571+
- .rules:build:example_relinker
1572+
parallel:
1573+
matrix:
1574+
- IMAGE: espressif/idf:release-v5.0
1575+
- IMAGE: espressif/idf:release-v5.3
1576+
variables:
1577+
EXAMPLE_DIR: examples/relinker
1578+
15681579
build_example_elf_loader_elf_loader_example:
15691580
extends:
15701581
- .build_examples_template

.gitlab/ci/rules.yml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -619,6 +619,10 @@
619619
.patterns-example_zero_cross_detection_example: &patterns-example_zero_cross_detection_example
620620
- "examples/zero_cross_detecion/**/*"
621621

622+
.patterns-example_relinker: &patterns-example_relinker
623+
- "examples/relinker/**/*"
624+
- "tools/cmake_utilities/scripts/relinker/**/*"
625+
622626
# tools folder, in the alphabetic order
623627
.patterns-tools_cmake_utilities: &patterns-tools_cmake_utilities
624628
- "tools/cmake_utilities/**/*"
@@ -1564,6 +1568,16 @@
15641568
- <<: *if-dev-push
15651569
changes: *patterns-example_elf_loader_build_elf_file_example
15661570

1571+
.rules:build:example_relinker:
1572+
rules:
1573+
- <<: *if-protected
1574+
- <<: *if-label-build
1575+
- <<: *if-trigger-job
1576+
- <<: *if-dev-push
1577+
changes: *patterns-build_system
1578+
- <<: *if-dev-push
1579+
changes: *patterns-example_relinker
1580+
15671581
# rules for ut
15681582
.rules:build:component_audio_dac_audio_test:
15691583
rules:

.gitlab/ci/target_test.yml

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -821,6 +821,31 @@ example_test_perf_benchmark:
821821
junit: XUNIT_RESULT.xml
822822
expire_in: 4 days
823823

824+
example_relinker:
825+
extends:
826+
- .pytest_template
827+
- .rules:build:example_relinker
828+
needs:
829+
- job: "build_example_relinker"
830+
artifacts: true
831+
optional: true
832+
parallel:
833+
matrix:
834+
- IDF_TARGET: esp32c2
835+
IDF_VERSION: "5.3"
836+
ENV_TAG: xtal_26mhz
837+
- IDF_TARGET: esp32c3
838+
IDF_VERSION: "5.3"
839+
ENV_TAG: generic
840+
tags:
841+
- ${IDF_TARGET}
842+
- ${ENV_TAG}
843+
image: $DOCKER_TARGET_TEST_v5_1_ENV_IMAGE
844+
variables:
845+
TEST_ENV: ${ENV_TAG}
846+
TEST_TARGET: ${IDF_TARGET}
847+
TEST_FOLDER: examples/relinker
848+
824849
tools_test_cmake_utilities:
825850
extends:
826851
- .pytest_template

examples/.build-rules.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -429,3 +429,7 @@ examples/elf_loader/build_elf_file_example:
429429
- if: IDF_TARGET in ["esp32","esp32s2","esp32s3"]
430430
- if: IDF_TARGET in ["esp32p4"] and (IDF_VERSION_MAJOR >= 5 and IDF_VERSION_MINOR >= 3)
431431
- if: IDF_TARGET in ["esp32c6"] and (IDF_VERSION_MAJOR >= 5 and IDF_VERSION_MINOR >= 1)
432+
433+
examples/relinker:
434+
enable:
435+
- if: IDF_TARGET in ["esp32c2","esp32c3"]

examples/relinker/CMakeLists.txt

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
# The following lines of boilerplate have to be in your project's CMakeLists
2+
# in this exact order for cmake to work correctly
3+
cmake_minimum_required(VERSION 3.16)
4+
5+
include($ENV{IDF_PATH}/tools/cmake/project.cmake)
6+
project(relinker_example)
7+
8+
# For QA when relinker enabled
9+
if (CONFIG_CU_RELINKER_ENABLE)
10+
include(relinker)
11+
endif()

examples/relinker/README.md

Lines changed: 268 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,268 @@
1+
| Supported Targets | ESP32-C2 | ESP32-C3 |
2+
| ----------------- | ----- | -------- |
3+
4+
# Relinker example
5+
6+
## Overview
7+
8+
This example demonstrates how to use relinker by the [cmake_utilities](https://components.espressif.com/components/espressif/cmake_utilities) component.
9+
10+
## How to use the example
11+
12+
The example is a copy of [bleprph_wifi_coex](https://github.com/espressif/esp-idf/tree/master/examples/bluetooth/nimble/bleprph_wifi_coex). Please refer the [README.md](https://github.com/espressif/esp-idf/tree/master/examples/bluetooth/nimble/bleprph_wifi_coex/README.md) for setup details.
13+
14+
Before project configuration and build, be sure to set the correct chip target using:
15+
16+
```bash
17+
idf.py set-target <chip_name>
18+
```
19+
20+
### Configure the project
21+
22+
Open the project configuration menu:
23+
24+
```bash
25+
idf.py menuconfig
26+
```
27+
28+
In the `Example Configuration` menu:
29+
30+
* Enter SSID and password of known Wi-Fi AP with connectivity to internet.
31+
* Enter desired ping IP Address. Default is set to `93.184.216.34` ( This is the IP address of https://example.com ).
32+
33+
* Enter other related parameters like count of ping and maximum numbers of retry.
34+
35+
## Testing
36+
37+
To test this demo, any BLE scanner app and a WiFi access point with internet connectivity can be used. Please refer the [README.md](https://github.com/espressif/esp-idf/tree/master/examples/bluetooth/nimble/bleprph_wifi_coex/README.md) for setup details.
38+
39+
### Build and Flash
40+
41+
Run `idf.py -p PORT flash monitor` to build, flash and monitor the project.
42+
43+
(To exit the serial monitor, type ``Ctrl-]``.)
44+
45+
See the [Getting Started Guide](https://idf.espressif.com/) for full steps to configure and use ESP-IDF to build projects.
46+
47+
## Example Output
48+
49+
Compile log:
50+
```
51+
$ idf.py set-target <target>
52+
-- Relinker is enabled.
53+
-- Relinker configuration files: /path-to/esp-iot-solution/tools/cmake_utilities/scripts/relinker/examples/iram_strip/esp32c2/5.3
54+
-- Configuring done (3.7s)
55+
-- Generating done (0.3s)
56+
-- Build files have been written to: /path-to/esp-iot-solution/examples/relinker/build
57+
58+
$ idf.py build
59+
[989/993] Generating esp-idf/esp_system/ld/customer_sections.ld
60+
paths: ['/home/infiniteyuan/espressif/espressif_gitlab/esp-idf/esp-idf-v5.3/components/bt/controller/lib_esp32c2/esp32c2-bt-lib/libble_app.a']
61+
paths: ['/home/infiniteyuan/espressif/espressif_gitlab/esp-idf/esp-idf-v5.3/components/bt/controller/lib_esp32c2/esp32c2-bt-lib/libble_app.a']
62+
paths: ['/home/infiniteyuan/espressif/espressif_gitlab/esp-idf/esp-idf-v5.3/components/bt/controller/lib_esp32c2/esp32c2-bt-lib/libble_app.a']
63+
paths: ['/home/infiniteyuan/espressif/espressif_gitlab/esp-idf/esp-idf-v5.3/components/bt/controller/lib_esp32c2/esp32c2-bt-lib/libble_app.a']
64+
paths: ['/home/infiniteyuan/espressif/espressif_gitlab/esp-idf/esp-idf-v5.3/components/bt/controller/lib_esp32c2/esp32c2-bt-lib/libble_app.a']
65+
paths: ['/home/infiniteyuan/espressif/espressif_gitlab/esp-idf/esp-idf-v5.3/components/bt/controller/lib_esp32c2/esp32c2-bt-lib/libble_app.a']
66+
paths: ['/home/infiniteyuan/espressif/espressif_gitlab/esp-idf/esp-idf-v5.3/components/bt/controller/lib_esp32c2/esp32c2-bt-lib/libble_app.a']
67+
paths: ['/home/infiniteyuan/espressif/espressif_gitlab/esp-idf/esp-idf-v5.3/components/bt/controller/lib_esp32c2/esp32c2-bt-lib/libble_app.a']
68+
paths: ['/home/infiniteyuan/espressif/espressif_gitlab/esp-idf/esp-idf-v5.3/components/bt/controller/lib_esp32c2/esp32c2-bt-lib/libble_app.a']
69+
paths: ['/home/infiniteyuan/espressif/espressif_gitlab/esp-idf/esp-idf-v5.3/components/bt/controller/lib_esp32c2/esp32c2-bt-lib/libble_app.a']
70+
paths: ['/home/infiniteyuan/espressif/espressif_gitlab/esp-idf/esp-idf-v5.3/components/bt/controller/lib_esp32c2/esp32c2-bt-lib/libble_app.a']
71+
paths: ['/home/infiniteyuan/espressif/espressif_gitlab/esp-idf/esp-idf-v5.3/components/bt/controller/lib_esp32c2/esp32c2-bt-lib/libble_app.a']
72+
paths: ['esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/bootloader_flash/src/bootloader_flash.c.obj']
73+
paths: ['esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/flash_encrypt.c.obj']
74+
paths: ['esp-idf/bt/CMakeFiles/__idf_bt.dir/porting/mem/bt_osi_mem.c.obj']
75+
paths: ['esp-idf/bt/CMakeFiles/__idf_bt.dir/controller/esp32c2/bt.c.obj']
76+
paths: ['esp-idf/bt/CMakeFiles/__idf_bt.dir/host/nimble/nimble/porting/nimble/src/nimble_port.c.obj']
77+
skip os_callout_timer_cb(CONFIG_BT_ENABLED && !CONFIG_BT_NIMBLE_USE_ESP_TIMER)
78+
paths: ['esp-idf/bt/CMakeFiles/__idf_bt.dir/porting/npl/freertos/src/npl_os_freertos.c.obj']
79+
paths: ['esp-idf/esp_driver_gpio/CMakeFiles/__idf_esp_driver_gpio.dir/src/gpio.c.obj']
80+
paths: ['esp-idf/esp_app_format/CMakeFiles/__idf_esp_app_format.dir/esp_app_desc.c.obj']
81+
paths: ['esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/cpu.c.obj']
82+
paths: ['esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/esp_clk.c.obj']
83+
paths: ['esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/esp_memory_utils.c.obj']
84+
paths: ['esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/hw_random.c.obj']
85+
paths: ['esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/intr_alloc.c.obj']
86+
paths: ['esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/periph_ctrl.c.obj']
87+
paths: ['esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/regi2c_ctrl.c.obj']
88+
paths: ['esp-idf/esp_phy/CMakeFiles/__idf_esp_phy.dir/src/phy_init.c.obj']
89+
paths: ['esp-idf/esp_phy/CMakeFiles/__idf_esp_phy.dir/src/phy_override.c.obj']
90+
paths: ['esp-idf/esp_pm/CMakeFiles/__idf_esp_pm.dir/pm_locks.c.obj']
91+
paths: ['esp-idf/esp_pm/CMakeFiles/__idf_esp_pm.dir/pm_impl.c.obj']
92+
skip vApplicationSleep(CONFIG_FREERTOS_USE_TICKLESS_IDLE)
93+
paths: ['esp-idf/esp_ringbuf/CMakeFiles/__idf_esp_ringbuf.dir/ringbuf.c.obj']
94+
paths: ['esp-idf/esp_system/CMakeFiles/__idf_esp_system.dir/port/brownout.c.obj']
95+
paths: ['esp-idf/esp_system/CMakeFiles/__idf_esp_system.dir/port/soc/esp32c2/cache_err_int.c.obj']
96+
paths: ['esp-idf/esp_system/CMakeFiles/__idf_esp_system.dir/port/cpu_start.c.obj']
97+
paths: ['esp-idf/esp_system/CMakeFiles/__idf_esp_system.dir/crosscore_int.c.obj']
98+
paths: ['esp-idf/esp_system/CMakeFiles/__idf_esp_system.dir/esp_system.c.obj']
99+
paths: ['esp-idf/esp_system/CMakeFiles/__idf_esp_system.dir/port/esp_system_chip.c.obj']
100+
paths: ['esp-idf/esp_system/CMakeFiles/__idf_esp_system.dir/port/soc/esp32c2/reset_reason.c.obj']
101+
paths: ['esp-idf/esp_system/CMakeFiles/__idf_esp_system.dir/ubsan.c.obj']
102+
paths: ['esp-idf/esp_timer/CMakeFiles/__idf_esp_timer.dir/src/esp_timer.c.obj']
103+
skip timer_list_unlock(!CONFIG_ESP_TIMER_SUPPORTS_ISR_DISPATCH_METHOD)
104+
skip timer_list_lock(!CONFIG_ESP_TIMER_SUPPORTS_ISR_DISPATCH_METHOD)
105+
skip timer_insert(!CONFIG_ESP_TIMER_SUPPORTS_ISR_DISPATCH_METHOD)
106+
skip esp_timer_impl_get_time(!CONFIG_ESP_TIMER_SUPPORTS_ISR_DISPATCH_METHOD)
107+
skip esp_timer_impl_set_alarm_id(!CONFIG_ESP_TIMER_SUPPORTS_ISR_DISPATCH_METHOD)
108+
paths: ['esp-idf/esp_timer/CMakeFiles/__idf_esp_timer.dir/src/esp_timer_impl_systimer.c.obj']
109+
paths: ['esp-idf/esp_timer/CMakeFiles/__idf_esp_timer.dir/src/esp_timer_impl_common.c.obj']
110+
paths: ['esp-idf/esp_timer/CMakeFiles/__idf_esp_timer.dir/src/ets_timer_legacy.c.obj']
111+
paths: ['esp-idf/esp_timer/CMakeFiles/__idf_esp_timer.dir/src/system_time.c.obj']
112+
paths: ['esp-idf/esp_wifi/CMakeFiles/__idf_esp_wifi.dir/esp32c2/esp_adapter.c.obj']
113+
semphr_take_from_isr_wrapper failed to find section
114+
env_is_chip_wrapper failed to find section
115+
semphr_give_from_isr_wrapper failed to find section
116+
timer_disarm_wrapper failed to find section
117+
timer_arm_us_wrapper failed to find section
118+
wifi_rtc_enable_iso_wrapper failed to find section
119+
wifi_rtc_disable_iso_wrapper failed to find section
120+
malloc_internal_wrapper failed to find section
121+
skip uxListRemove(FALSE)
122+
skip vListInitialise(CONFIG_FREERTOS_PLACE_FUNCTIONS_INTO_FLASH)
123+
skip vListInitialiseItem(CONFIG_FREERTOS_PLACE_FUNCTIONS_INTO_FLASH)
124+
skip vListInsert(CONFIG_FREERTOS_PLACE_FUNCTIONS_INTO_FLASH)
125+
skip vListInsertEnd(FALSE)
126+
skip vApplicationStackOverflowHook(FALSE)
127+
skip vPortYieldOtherCore(FALSE)
128+
paths: ['esp-idf/freertos/CMakeFiles/__idf_freertos.dir/FreeRTOS-Kernel/portable/riscv/port.c.obj']
129+
paths: ['esp-idf/freertos/CMakeFiles/__idf_freertos.dir/port_common.c.obj']
130+
xPortcheckValidStackMem failed to find section
131+
esp_startup_start_app_common failed to find section
132+
paths: ['esp-idf/freertos/CMakeFiles/__idf_freertos.dir/heap_idf.c.obj']
133+
paths: ['esp-idf/freertos/CMakeFiles/__idf_freertos.dir/port_systick.c.obj']
134+
skip xPortSysTickHandler(FALSE)
135+
paths: ['esp-idf/freertos/CMakeFiles/__idf_freertos.dir/FreeRTOS-Kernel/queue.c.obj']
136+
skip __getreent(CONFIG_FREERTOS_PLACE_FUNCTIONS_INTO_FLASH)
137+
skip pcTaskGetName(CONFIG_FREERTOS_PLACE_FUNCTIONS_INTO_FLASH)
138+
skip prvAddCurrentTaskToDelayedList(CONFIG_FREERTOS_PLACE_FUNCTIONS_INTO_FLASH)
139+
skip prvDeleteTLS(CONFIG_FREERTOS_PLACE_FUNCTIONS_INTO_FLASH)
140+
skip pvTaskIncrementMutexHeldCount(CONFIG_FREERTOS_PLACE_FUNCTIONS_INTO_FLASH)
141+
skip taskSelectHighestPriorityTaskSMP(FALSE)
142+
skip taskYIELD_OTHER_CORE(FALSE)
143+
paths: ['esp-idf/freertos/CMakeFiles/__idf_freertos.dir/FreeRTOS-Kernel/tasks.c.obj']
144+
skip vTaskInternalSetTimeOutState(CONFIG_FREERTOS_PLACE_FUNCTIONS_INTO_FLASH)
145+
skip vTaskPlaceOnEventList(CONFIG_FREERTOS_PLACE_FUNCTIONS_INTO_FLASH)
146+
skip vTaskPlaceOnEventListRestricted(CONFIG_FREERTOS_PLACE_FUNCTIONS_INTO_FLASH)
147+
skip vTaskPlaceOnUnorderedEventList(CONFIG_FREERTOS_PLACE_FUNCTIONS_INTO_FLASH)
148+
skip vTaskPriorityDisinheritAfterTimeout(CONFIG_FREERTOS_PLACE_FUNCTIONS_INTO_FLASH)
149+
skip vTaskReleaseEventListLock(CONFIG_FREERTOS_PLACE_FUNCTIONS_INTO_FLASH)
150+
skip vTaskTakeEventListLock(CONFIG_FREERTOS_PLACE_FUNCTIONS_INTO_FLASH)
151+
skip xTaskCheckForTimeOut(CONFIG_FREERTOS_PLACE_FUNCTIONS_INTO_FLASH)
152+
skip xTaskGetCurrentTaskHandle(CONFIG_FREERTOS_PLACE_FUNCTIONS_INTO_FLASH)
153+
skip xTaskGetSchedulerState(CONFIG_FREERTOS_PLACE_FUNCTIONS_INTO_FLASH)
154+
skip xTaskGetTickCount(CONFIG_FREERTOS_PLACE_FUNCTIONS_INTO_FLASH)
155+
skip xTaskPriorityDisinherit(FALSE)
156+
skip xTaskPriorityInherit(CONFIG_FREERTOS_PLACE_FUNCTIONS_INTO_FLASH)
157+
skip prvGetExpectedIdleTime(FALSE)
158+
skip vTaskStepTick(FALSE)
159+
paths: ['esp-idf/hal/CMakeFiles/__idf_hal.dir/efuse_hal.c.obj', 'esp-idf/hal/CMakeFiles/__idf_hal.dir/esp32c2/efuse_hal.c.obj']
160+
paths: ['esp-idf/heap/CMakeFiles/__idf_heap.dir/heap_caps_base.c.obj']
161+
skip hex_to_str(CONFIG_HEAP_ABORT_WHEN_ALLOCATION_FAILS)
162+
skip fmt_abort_str(CONFIG_HEAP_ABORT_WHEN_ALLOCATION_FAILS)
163+
paths: ['esp-idf/heap/CMakeFiles/__idf_heap.dir/heap_caps.c.obj']
164+
paths: ['./esp-idf/heap/CMakeFiles/__idf_heap.dir/multi_heap.c.obj']
165+
paths: ['esp-idf/log/CMakeFiles/__idf_log.dir/log_freertos.c.obj']
166+
paths: ['esp-idf/log/CMakeFiles/__idf_log.dir/log.c.obj']
167+
paths: ['esp-idf/newlib/CMakeFiles/__idf_newlib.dir/assert.c.obj']
168+
paths: ['esp-idf/newlib/CMakeFiles/__idf_newlib.dir/heap.c.obj']
169+
paths: ['esp-idf/newlib/CMakeFiles/__idf_newlib.dir/locks.c.obj']
170+
paths: ['esp-idf/newlib/CMakeFiles/__idf_newlib.dir/reent_init.c.obj']
171+
paths: ['esp-idf/newlib/CMakeFiles/__idf_newlib.dir/time.c.obj']
172+
paths: ['/home/infiniteyuan/espressif/espressif_gitlab/esp-idf/esp-idf-v5.3/components/esp_wifi/lib/esp32c2/libpp.a']
173+
paths: ['esp-idf/pthread/CMakeFiles/__idf_pthread.dir/pthread.c.obj']
174+
paths: ['esp-idf/riscv/CMakeFiles/__idf_riscv.dir/interrupt.c.obj']
175+
intr_matrix_route failed to find section
176+
skip spi_flash_needs_reset_check(FALSE)
177+
skip spi_flash_set_erasing_flag(FALSE)
178+
skip spi_flash_guard_set(CONFIG_SPI_FLASH_ROM_IMPL)
179+
skip spi_flash_malloc_internal(CONFIG_SPI_FLASH_ROM_IMPL)
180+
skip spi_flash_rom_impl_init(CONFIG_SPI_FLASH_ROM_IMPL)
181+
skip esp_mspi_pin_init(CONFIG_SPI_FLASH_ROM_IMPL)
182+
skip spi_flash_init_chip_state(CONFIG_SPI_FLASH_ROM_IMPL)
183+
skip delay_us(CONFIG_SPI_FLASH_ROM_IMPL)
184+
skip get_buffer_malloc(CONFIG_SPI_FLASH_ROM_IMPL)
185+
skip release_buffer_malloc(CONFIG_SPI_FLASH_ROM_IMPL)
186+
skip main_flash_region_protected(CONFIG_SPI_FLASH_ROM_IMPL)
187+
skip main_flash_op_status(CONFIG_SPI_FLASH_ROM_IMPL)
188+
skip spi1_flash_os_check_yield(CONFIG_SPI_FLASH_ROM_IMPL)
189+
skip spi1_flash_os_yield(CONFIG_SPI_FLASH_ROM_IMPL)
190+
skip start(CONFIG_SPI_FLASH_ROM_IMPL)
191+
skip end(CONFIG_SPI_FLASH_ROM_IMPL)
192+
skip delay_us(CONFIG_SPI_FLASH_ROM_IMPL)
193+
Remove lib libble_app.a
194+
Remove lib libbt.a
195+
[992/993] Generating binary image from built executable
196+
esptool.py v4.8.1
197+
Creating esp32c2 image...
198+
```
199+
200+
Device log:
201+
```
202+
I (558) coexist: coex firmware version: 6614b68
203+
I (567) coexist: coexist rom version de8c800
204+
I (575) main_task: Started on CPU0
205+
I (575) main_task: Calling app_main()
206+
I (585) wifi_prph_coex: ESP_WIFI_MODE_STA
207+
I (595) pp: pp rom version: de8c800
208+
I (595) net80211: net80211 rom version: de8c800
209+
I (615) wifi:wifi driver task: 3fcc36f4, prio:23, stack:6144, core=0
210+
I (615) wifi:wifi firmware version: b884461aeb
211+
I (615) wifi:wifi certification version: v7.0
212+
I (625) wifi:config NVS flash: enabled
213+
I (635) wifi:config nano formatting: enabled
214+
I (635) wifi:Init data frame dynamic rx buffer num: 32
215+
I (645) wifi:Init static rx mgmt buffer num: 5
216+
I (655) wifi:Init management short buffer num: 32
217+
I (655) wifi:Init dynamic tx buffer num: 32
218+
I (665) wifi:Init static tx FG buffer num: 2
219+
I (675) wifi:Init static rx buffer size: 1600
220+
I (675) wifi:Init static rx buffer num: 10
221+
I (685) wifi:Init dynamic rx buffer num: 32
222+
I (685) wifi_init: rx ba win: 6
223+
I (695) wifi_init: accept mbox: 6
224+
I (705) wifi_init: tcpip mbox: 32
225+
I (705) wifi_init: udp mbox: 6
226+
I (715) wifi_init: tcp mbox: 6
227+
I (715) wifi_init: tcp tx win: 5760
228+
I (725) wifi_init: tcp rx win: 5760
229+
I (735) wifi_init: tcp mss: 1440
230+
I (735) wifi_init: WiFi RX IRAM OP enabled
231+
I (755) phy_init: phy_version 340,e255ce0,Jun 4 2024,16:44:11
232+
W (755) phy_init: failed to load RF calibration data (0xffffffff), falling back to full calibration
233+
I (795) phy_init: Saving new calibration data due to checksum failure or outdated calibration data, mode(2)
234+
I (815) wifi:mode : sta (10:97:bd:f1:ab:f8)
235+
I (815) wifi:enable tsf
236+
I (815) wifi_prph_coex: wifi_init_sta finished.
237+
I (1105) wifi:new:<1,0>, old:<1,0>, ap:<255,255>, sta:<1,0>, prof:1, snd_ch_cfg:0x0
238+
I (1105) wifi:state: init -> auth (0xb0)
239+
I (1105) wifi:state: auth -> assoc (0x0)
240+
I (1175) wifi:state: assoc -> run (0x10)
241+
I (1205) wifi:connected with myssid, aid = 1, channel 1, BW20, bssid = 60:55:f9:f9:d6:95
242+
I (1205) wifi:security: WPA2-PSK, phy: bgn, rssi: -52
243+
I (1225) wifi:pm start, type: 1
244+
245+
I (1225) wifi:dp: 1, bi: 102400, li: 3, scale listen interval from 307200 us to 307200 us
246+
I (1225) wifi:set rx beacon pti, rx_bcn_pti: 14, bcn_timeout: 25000, mt_pti: 14, mt_time: 10000
247+
I (1285) wifi:AP's beacon interval = 102400 us, DTIM period = 1
248+
I (2245) esp_netif_handlers: sta ip: 192.168.4.2, mask: 255.255.255.0, gw: 192.168.4.1
249+
I (2245) wifi_prph_coex: got ip:192.168.4.2
250+
I (2245) wifi_prph_coex: connected to ap SSID:myssid password:mypassword
251+
I (2255) BLE_INIT: Using main XTAL as clock source
252+
I (2265) BLE_INIT: ble controller commit:[7b7ee44]
253+
I (2275) BLE_INIT: ble rom commit:[3314f9d]
254+
I (2285) BLE_INIT: Bluetooth MAC: 10:97:bd:f1:ab:fa
255+
I (2285) phy: libbtbb version: b97859f, Jun 4 2024, 16:44:27
256+
I (2305) wifi_prph_coex: BLE Host Task Started
257+
I (2305) NimBLE: GAP procedure initiated: stop advertising.
258+
259+
I (2315) wifi_prph_coex: Device Address:10:97:bd:f1:ab:fa
260+
I (2325) NimBLE: GAP procedure initiated: advertise;
261+
I (2335) NimBLE: disc_mode=2
262+
I (2345) NimBLE: adv_channel_map=0 own_addr_type=0 adv_filter_policy=0 adv_itvl_min=0 adv_itvl_max=0
263+
I (2355) NimBLE:
264+
265+
W (2365) wifi_prph_coex: Relinker Example End
266+
W (2365) wifi:<ba-add>idx:0 (ifx:0, 60:55:f9:f9:d6:95), tid:0, ssn:0, winSize:64
267+
I (2375) main_task: Returned from app_main()
268+
```
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
idf_component_register(SRCS "main.c" "gatt_svr.c"
2+
INCLUDE_DIRS ".")

0 commit comments

Comments
 (0)