|
| 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 | +``` |
0 commit comments