Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Help with command line debugging on esp32-c3-wroom (IDFGH-14282) #15075

Closed
3 tasks done
gamename opened this issue Dec 22, 2024 · 15 comments
Closed
3 tasks done

Help with command line debugging on esp32-c3-wroom (IDFGH-14282) #15075

gamename opened this issue Dec 22, 2024 · 15 comments
Labels
Status: Opened Issue is new Type: Bug bugs in IDF

Comments

@gamename
Copy link

Answers checklist.

  • I have read the documentation ESP-IDF Programming Guide and the issue is not addressed there.
  • I have updated my IDF branch (master or release) to the latest version and checked that the issue is present there.
  • I have searched the issue tracker for a similar issue and not found a similar issue.

IDF version.

5.3.1

Operating System used.

macOS

How did you build your project?

Command line with idf.py

If you are using Windows, please specify command line type.

None

What is the expected behavior?

The command idf.py gdbtui should start debugging for my app.

What is the actual behavior?

I get this output:

Copyright (C) 2023 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "--host=aarch64-apple-darwin21.1 --target=riscv32-esp-elf".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word".
add symbol table from file "/Users/tennis/src/C2DS-egg/build/bootloader/bootloader.elf"
/Users/tennis/src/C2DS-egg/build/gdbinit/gdbinit:4: Error in sourced command file:
/Users/tennis/src/C2DS-egg/build/gdbinit/connect:4: Error in sourced command file:
:3333: Operation timed out.
(gdb)```

### Steps to reproduce.

1. build the app using `idf.py build flash`
2. run `idf.py gdbtui`


### Build or installation Logs.

```plain
Everything works, but here it is for completeness:


idf build flash monitor
Executing action: all (aliases: build)
Running ninja in directory /Users/tennis/src/C2DS-egg/build
Executing "ninja all"...
[0/1] Re-running CMake...CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required):
  Compatibility with CMake < 3.10 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value.  Or, use the <min>...<max> syntax
  to tell CMake that the project requires at least <min> but has been updated
  to work with policies introduced by <max> or earlier.



-- Component directory /Users/tennis/src/C2DS-egg/components/esp-aws-iot/libraries/common does not contain a CMakeLists.txt file. No component will be added
-- Component directory /Users/tennis/src/C2DS-egg/components/esp-aws-iot does not contain a CMakeLists.txt file. No component will be added
-- Component directory /Users/tennis/src/C2DS-egg/components/mp3 does not contain a CMakeLists.txt file. No component will be added
-- Building ESP-IDF components for target esp32c3
NOTICE: Processing 4 dependencies:
NOTICE: [1/4] espressif/cbor (0.6.0~1)
NOTICE: [2/4] espressif/esp_secure_cert_mgr (2.5.0)
NOTICE: [3/4] espressif/led_strip (3.0.0)
NOTICE: [4/4] idf (5.3.1)
-- Project sdkconfig file /Users/tennis/src/C2DS-egg/sdkconfig
info: INFO: Symbol GRI_SUB_PUB_UNSUB_DEMO_STRING_BUFFER_LENGTH defined in multiple locations (see below). Please check if this is a correct behavior or a random name match:
    /Users/tennis/src/C2DS-egg/main/Kconfig.projbuild:264
    /Users/tennis/src/C2DS-egg/main/Kconfig.projbuild:97
info: INFO: Symbol GRI_SUB_PUB_UNSUB_DEMO_DELAY_BETWEEN_SUB_PUB_UNSUB_LOOPS_MS defined in multiple locations (see below). Please check if this is a correct behavior or a random name match:
    /Users/tennis/src/C2DS-egg/main/Kconfig.projbuild:103
    /Users/tennis/src/C2DS-egg/main/Kconfig.projbuild:270
info: INFO: Symbol GRI_SUB_PUB_UNSUB_DEMO_MAX_COMMAND_SEND_BLOCK_TIME_MS defined in multiple locations (see below). Please check if this is a correct behavior or a random name match:
    /Users/tennis/src/C2DS-egg/main/Kconfig.projbuild:109
    /Users/tennis/src/C2DS-egg/main/Kconfig.projbuild:276
info: INFO: Symbol GRI_SUB_PUB_UNSUB_DEMO_QOS_LEVEL defined in multiple locations (see below). Please check if this is a correct behavior or a random name match:
    /Users/tennis/src/C2DS-egg/main/Kconfig.projbuild:282
    /Users/tennis/src/C2DS-egg/main/Kconfig.projbuild:115
info: INFO: Symbol GRI_SUB_PUB_UNSUB_DEMO_NUM_TASKS_TO_CREATE defined in multiple locations (see below). Please check if this is a correct behavior or a random name match:
    /Users/tennis/src/C2DS-egg/main/Kconfig.projbuild:289
    /Users/tennis/src/C2DS-egg/main/Kconfig.projbuild:122
info: INFO: Symbol GRI_SUB_PUB_UNSUB_DEMO_TASK_PRIORITY defined in multiple locations (see below). Please check if this is a correct behavior or a random name match:
    /Users/tennis/src/C2DS-egg/main/Kconfig.projbuild:128
    /Users/tennis/src/C2DS-egg/main/Kconfig.projbuild:295
info: INFO: Symbol GRI_SUB_PUB_UNSUB_DEMO_TASK_STACK_SIZE defined in multiple locations (see below). Please check if this is a correct behavior or a random name match:
    /Users/tennis/src/C2DS-egg/main/Kconfig.projbuild:301
    /Users/tennis/src/C2DS-egg/main/Kconfig.projbuild:134
info: INFO: Symbol GRI_OTA_DEMO_MAX_FILE_PATH_SIZE defined in multiple locations (see below). Please check if this is a correct behavior or a random name match:
    /Users/tennis/src/C2DS-egg/main/Kconfig.projbuild:143
    /Users/tennis/src/C2DS-egg/main/Kconfig.projbuild:387
info: INFO: Symbol GRI_OTA_DEMO_MAX_STREAM_NAME_SIZE defined in multiple locations (see below). Please check if this is a correct behavior or a random name match:
    /Users/tennis/src/C2DS-egg/main/Kconfig.projbuild:393
    /Users/tennis/src/C2DS-egg/main/Kconfig.projbuild:149
info: INFO: Symbol GRI_OTA_DEMO_TASK_DELAY_MS defined in multiple locations (see below). Please check if this is a correct behavior or a random name match:
    /Users/tennis/src/C2DS-egg/main/Kconfig.projbuild:399
    /Users/tennis/src/C2DS-egg/main/Kconfig.projbuild:155
info: INFO: Symbol GRI_OTA_DEMO_MQTT_TIMEOUT_MS defined in multiple locations (see below). Please check if this is a correct behavior or a random name match:
    /Users/tennis/src/C2DS-egg/main/Kconfig.projbuild:405
    /Users/tennis/src/C2DS-egg/main/Kconfig.projbuild:161
info: INFO: Symbol GRI_OTA_DEMO_AGENT_TASK_PRIORITY defined in multiple locations (see below). Please check if this is a correct behavior or a random name match:
    /Users/tennis/src/C2DS-egg/main/Kconfig.projbuild:167
    /Users/tennis/src/C2DS-egg/main/Kconfig.projbuild:411
info: INFO: Symbol GRI_OTA_DEMO_AGENT_TASK_STACK_SIZE defined in multiple locations (see below). Please check if this is a correct behavior or a random name match:
    /Users/tennis/src/C2DS-egg/main/Kconfig.projbuild:171
    /Users/tennis/src/C2DS-egg/main/Kconfig.projbuild:415
info: INFO: Symbol GRI_OTA_DEMO_DEMO_TASK_PRIORITY defined in multiple locations (see below). Please check if this is a correct behavior or a random name match:
    /Users/tennis/src/C2DS-egg/main/Kconfig.projbuild:175
    /Users/tennis/src/C2DS-egg/main/Kconfig.projbuild:419
info: INFO: Symbol GRI_OTA_DEMO_DEMO_TASK_STACK_SIZE defined in multiple locations (see below). Please check if this is a correct behavior or a random name match:
    /Users/tennis/src/C2DS-egg/main/Kconfig.projbuild:423
    /Users/tennis/src/C2DS-egg/main/Kconfig.projbuild:179
info: INFO: Symbol GRI_OTA_MAX_NUM_DATA_BUFFERS defined in multiple locations (see below). Please check if this is a correct behavior or a random name match:
    /Users/tennis/src/C2DS-egg/main/Kconfig.projbuild:439
    /Users/tennis/src/C2DS-egg/main/Kconfig.projbuild:183
info: INFO: Symbol DEVICE_SHADOW_LOG_ERROR defined in multiple locations (see below). Please check if this is a correct behavior or a random name match:
    /Users/tennis/src/C2DS-egg/components/esp-aws-iot/libraries/Device-Shadow-for-AWS-IoT-embedded-sdk/Kconfig:5
    /Users/tennis/src/C2DS-egg/components/esp-aws-iot/libraries/coreHTTP/Kconfig:5
info: INFO: Symbol DEVICE_SHADOW_LOG_WARN defined in multiple locations (see below). Please check if this is a correct behavior or a random name match:
    /Users/tennis/src/C2DS-egg/components/esp-aws-iot/libraries/Device-Shadow-for-AWS-IoT-embedded-sdk/Kconfig:9
    /Users/tennis/src/C2DS-egg/components/esp-aws-iot/libraries/coreHTTP/Kconfig:9
info: INFO: Symbol DEVICE_SHADOW_LOG_INFO defined in multiple locations (see below). Please check if this is a correct behavior or a random name match:
    /Users/tennis/src/C2DS-egg/components/esp-aws-iot/libraries/coreHTTP/Kconfig:13
    /Users/tennis/src/C2DS-egg/components/esp-aws-iot/libraries/Device-Shadow-for-AWS-IoT-embedded-sdk/Kconfig:13
info: INFO: Symbol DEVICE_SHADOW_LOG_DEBUG defined in multiple locations (see below). Please check if this is a correct behavior or a random name match:
    /Users/tennis/src/C2DS-egg/components/esp-aws-iot/libraries/Device-Shadow-for-AWS-IoT-embedded-sdk/Kconfig:17
    /Users/tennis/src/C2DS-egg/components/esp-aws-iot/libraries/coreHTTP/Kconfig:17
/var/folders/x2/4lbk1sy91jv_j1811qfzb02h0000gn/T/kconfgen_tmpp61cfffx:1: warning: malformed string literal in assignment to IDF_TARGET (defined at /Users/tennis/esp/esp-idf-v5.3.1/Kconfig:64). Assignment ignored.
Loading defaults file /Users/tennis/src/C2DS-egg/sdkconfig.defaults...
warning: unknown kconfig symbol 'GRI_ENABLE_SIMPLE_PUB_SUB_DEMO' assigned to 'y' in /Users/tennis/src/C2DS-egg/sdkconfig.defaults
warning: unknown kconfig symbol 'GRI_ENABLE_TEMPERATURE_LED_PUB_SUB_DEMO' assigned to 'y' in /Users/tennis/src/C2DS-egg/sdkconfig.defaults
warning: unknown kconfig symbol 'OTA_DATA_OVER_HTTP' assigned to 'n' in /Users/tennis/src/C2DS-egg/sdkconfig.defaults
warning: unknown kconfig symbol 'OTA_DATA_OVER_MQTT' assigned to 'y' in /Users/tennis/src/C2DS-egg/sdkconfig.defaults
warning: unknown kconfig symbol 'OTA_DATA_OVER_MQTT_PRIMARY' assigned to 'y' in /Users/tennis/src/C2DS-egg/sdkconfig.defaults
warning: unknown kconfig symbol 'OTA_PRIMARY_DATA_PROTOCOL' assigned to '1' in /Users/tennis/src/C2DS-egg/sdkconfig.defaults
warning: unknown kconfig symbol 'LOG2_FILE_BLOCK_SIZE' assigned to '12' in /Users/tennis/src/C2DS-egg/sdkconfig.defaults
warning: unknown kconfig symbol 'MAX_NUM_BLOCKS_REQUEST' assigned to '8' in /Users/tennis/src/C2DS-egg/sdkconfig.defaults
warning: unknown kconfig symbol 'ALLOW_DOWNGRADE' assigned to '0' in /Users/tennis/src/C2DS-egg/sdkconfig.defaults
warning: unknown kconfig symbol 'OTA_DATA_OVER_MQTT' assigned to 'y' in /Users/tennis/src/C2DS-egg/sdkconfig.defaults
warning: unknown kconfig symbol 'OTA_DATA_OVER_HTTP' assigned to 'n' in /Users/tennis/src/C2DS-egg/sdkconfig.defaults
warning: unknown kconfig symbol 'OTA_DATA_OVER_MQTT_PRIMARY' assigned to 'y' in /Users/tennis/src/C2DS-egg/sdkconfig.defaults
warning: unknown kconfig symbol 'OTA_PRIMARY_DATA_PROTOCOL' assigned to '1' in /Users/tennis/src/C2DS-egg/sdkconfig.defaults
-- Adding linker script /Users/tennis/esp/esp-idf-v5.3.1/components/riscv/ld/rom.api.ld
CMake Deprecation Warning at /Users/tennis/esp/esp-idf-v5.3.1/components/mbedtls/mbedtls/CMakeLists.txt:21 (cmake_minimum_required):
  Compatibility with CMake < 3.10 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value.  Or, use the <min>...<max> syntax
  to tell CMake that the project requires at least <min> but has been updated
  to work with policies introduced by <max> or earlier.


-- App "CoopCopEgg" version: 7592b3f-dirty
-- Adding linker script /Users/tennis/src/C2DS-egg/build/esp-idf/esp_system/ld/memory.ld
-- Adding linker script /Users/tennis/src/C2DS-egg/build/esp-idf/esp_system/ld/sections.ld.in
-- Adding linker script /Users/tennis/esp/esp-idf-v5.3.1/components/esp_rom/esp32c3/ld/esp32c3.rom.ld
-- Adding linker script /Users/tennis/esp/esp-idf-v5.3.1/components/esp_rom/esp32c3/ld/esp32c3.rom.api.ld
-- Adding linker script /Users/tennis/esp/esp-idf-v5.3.1/components/esp_rom/esp32c3/ld/esp32c3.rom.libgcc.ld
-- Adding linker script /Users/tennis/esp/esp-idf-v5.3.1/components/esp_rom/esp32c3/ld/esp32c3.rom.version.ld
-- Adding linker script /Users/tennis/esp/esp-idf-v5.3.1/components/esp_rom/esp32c3/ld/esp32c3.rom.eco3.ld
-- Adding linker script /Users/tennis/esp/esp-idf-v5.3.1/components/esp_rom/esp32c3/ld/esp32c3.rom.newlib.ld
-- Adding linker script /Users/tennis/esp/esp-idf-v5.3.1/components/soc/esp32c3/ld/esp32c3.peripherals.ld
CMake Deprecation Warning at components/gecl-rgb-led-manager/CMakeLists.txt:1 (cmake_minimum_required):
  Compatibility with CMake < 3.10 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value.  Or, use the <min>...<max> syntax
  to tell CMake that the project requires at least <min> but has been updated
  to work with policies introduced by <max> or earlier.


CMake Deprecation Warning at components/gecl-time-sync-manager/CMakeLists.txt:1 (cmake_minimum_required):
  Compatibility with CMake < 3.10 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value.  Or, use the <min>...<max> syntax
  to tell CMake that the project requires at least <min> but has been updated
  to work with policies introduced by <max> or earlier.


-- Components: Device-Defender-for-AWS-IoT-embedded-sdk Device-Shadow-for-AWS-IoT-embedded-sdk Fleet-Provisioning-for-AWS-IoT-embedded-sdk Jobs-for-AWS-IoT-embedded-sdk app_trace app_update aws-iot-core-mqtt-file-streams-embedded-c backoffAlgorithm bootloader bootloader_support bt cmock console coreHTTP coreJSON coreMQTT coreMQTT-Agent corePKCS11 cxx driver efuse esp-tls esp_adc esp_app_format esp_bootloader_format esp_coex esp_common esp_driver_ana_cmpr esp_driver_cam esp_driver_dac esp_driver_gpio esp_driver_gptimer esp_driver_i2c esp_driver_i2s esp_driver_isp esp_driver_jpeg esp_driver_ledc esp_driver_mcpwm esp_driver_parlio esp_driver_pcnt esp_driver_ppa esp_driver_rmt esp_driver_sdio esp_driver_sdm esp_driver_sdmmc esp_driver_sdspi esp_driver_spi esp_driver_touch_sens esp_driver_tsens esp_driver_uart esp_driver_usb_serial_jtag esp_eth esp_event esp_gdbstub esp_hid esp_http_client esp_http_server esp_https_ota esp_https_server esp_hw_support esp_lcd esp_local_ctrl esp_mm esp_netif esp_netif_stack esp_partition esp_phy esp_pm esp_psram esp_ringbuf esp_rom esp_system esp_timer esp_vfs_console esp_wifi espcoredump espressif__cbor espressif__esp_secure_cert_mgr espressif__led_strip esptool_py fatfs freertos gecl-rgb-led-manager gecl-time-sync-manager hal heap http_parser idf_test ieee802154 json log lwip main mbedtls mqtt newlib nvs_flash nvs_sec_provider openthread ota partition_table protobuf-c protocomm pthread qrcode riscv sdmmc soc spi_flash spiffs tcp_transport ulp unity usb vfs wear_levelling wifi wifi_provisioning wpa_supplicant
-- Component paths: /Users/tennis/src/C2DS-egg/components/esp-aws-iot/libraries/Device-Defender-for-AWS-IoT-embedded-sdk /Users/tennis/src/C2DS-egg/components/esp-aws-iot/libraries/Device-Shadow-for-AWS-IoT-embedded-sdk /Users/tennis/src/C2DS-egg/components/esp-aws-iot/libraries/Fleet-Provisioning-for-AWS-IoT-embedded-sdk /Users/tennis/src/C2DS-egg/components/esp-aws-iot/libraries/Jobs-for-AWS-IoT-embedded-sdk /Users/tennis/esp/esp-idf-v5.3.1/components/app_trace /Users/tennis/esp/esp-idf-v5.3.1/components/app_update /Users/tennis/src/C2DS-egg/components/esp-aws-iot/libraries/aws-iot-core-mqtt-file-streams-embedded-c /Users/tennis/src/C2DS-egg/components/esp-aws-iot/libraries/backoffAlgorithm /Users/tennis/esp/esp-idf-v5.3.1/components/bootloader /Users/tennis/esp/esp-idf-v5.3.1/components/bootloader_support /Users/tennis/esp/esp-idf-v5.3.1/components/bt /Users/tennis/esp/esp-idf-v5.3.1/components/cmock /Users/tennis/esp/esp-idf-v5.3.1/components/console /Users/tennis/src/C2DS-egg/components/esp-aws-iot/libraries/coreHTTP /Users/tennis/src/C2DS-egg/components/esp-aws-iot/libraries/coreJSON /Users/tennis/src/C2DS-egg/components/esp-aws-iot/libraries/coreMQTT /Users/tennis/src/C2DS-egg/components/esp-aws-iot/libraries/coreMQTT-Agent /Users/tennis/src/C2DS-egg/components/esp-aws-iot/libraries/corePKCS11 /Users/tennis/esp/esp-idf-v5.3.1/components/cxx /Users/tennis/esp/esp-idf-v5.3.1/components/driver /Users/tennis/esp/esp-idf-v5.3.1/components/efuse /Users/tennis/esp/esp-idf-v5.3.1/components/esp-tls /Users/tennis/esp/esp-idf-v5.3.1/components/esp_adc /Users/tennis/esp/esp-idf-v5.3.1/components/esp_app_format /Users/tennis/esp/esp-idf-v5.3.1/components/esp_bootloader_format /Users/tennis/esp/esp-idf-v5.3.1/components/esp_coex /Users/tennis/esp/esp-idf-v5.3.1/components/esp_common /Users/tennis/esp/esp-idf-v5.3.1/components/esp_driver_ana_cmpr /Users/tennis/esp/esp-idf-v5.3.1/components/esp_driver_cam /Users/tennis/esp/esp-idf-v5.3.1/components/esp_driver_dac /Users/tennis/esp/esp-idf-v5.3.1/components/esp_driver_gpio /Users/tennis/esp/esp-idf-v5.3.1/components/esp_driver_gptimer /Users/tennis/esp/esp-idf-v5.3.1/components/esp_driver_i2c /Users/tennis/esp/esp-idf-v5.3.1/components/esp_driver_i2s /Users/tennis/esp/esp-idf-v5.3.1/components/esp_driver_isp /Users/tennis/esp/esp-idf-v5.3.1/components/esp_driver_jpeg /Users/tennis/esp/esp-idf-v5.3.1/components/esp_driver_ledc /Users/tennis/esp/esp-idf-v5.3.1/components/esp_driver_mcpwm /Users/tennis/esp/esp-idf-v5.3.1/components/esp_driver_parlio /Users/tennis/esp/esp-idf-v5.3.1/components/esp_driver_pcnt /Users/tennis/esp/esp-idf-v5.3.1/components/esp_driver_ppa /Users/tennis/esp/esp-idf-v5.3.1/components/esp_driver_rmt /Users/tennis/esp/esp-idf-v5.3.1/components/esp_driver_sdio /Users/tennis/esp/esp-idf-v5.3.1/components/esp_driver_sdm /Users/tennis/esp/esp-idf-v5.3.1/components/esp_driver_sdmmc /Users/tennis/esp/esp-idf-v5.3.1/components/esp_driver_sdspi /Users/tennis/esp/esp-idf-v5.3.1/components/esp_driver_spi /Users/tennis/esp/esp-idf-v5.3.1/components/esp_driver_touch_sens /Users/tennis/esp/esp-idf-v5.3.1/components/esp_driver_tsens /Users/tennis/esp/esp-idf-v5.3.1/components/esp_driver_uart /Users/tennis/esp/esp-idf-v5.3.1/components/esp_driver_usb_serial_jtag /Users/tennis/esp/esp-idf-v5.3.1/components/esp_eth /Users/tennis/esp/esp-idf-v5.3.1/components/esp_event /Users/tennis/esp/esp-idf-v5.3.1/components/esp_gdbstub /Users/tennis/esp/esp-idf-v5.3.1/components/esp_hid /Users/tennis/esp/esp-idf-v5.3.1/components/esp_http_client /Users/tennis/esp/esp-idf-v5.3.1/components/esp_http_server /Users/tennis/esp/esp-idf-v5.3.1/components/esp_https_ota /Users/tennis/esp/esp-idf-v5.3.1/components/esp_https_server /Users/tennis/esp/esp-idf-v5.3.1/components/esp_hw_support /Users/tennis/esp/esp-idf-v5.3.1/components/esp_lcd /Users/tennis/esp/esp-idf-v5.3.1/components/esp_local_ctrl /Users/tennis/esp/esp-idf-v5.3.1/components/esp_mm /Users/tennis/esp/esp-idf-v5.3.1/components/esp_netif /Users/tennis/esp/esp-idf-v5.3.1/components/esp_netif_stack /Users/tennis/esp/esp-idf-v5.3.1/components/esp_partition /Users/tennis/esp/esp-idf-v5.3.1/components/esp_phy /Users/tennis/esp/esp-idf-v5.3.1/components/esp_pm /Users/tennis/esp/esp-idf-v5.3.1/components/esp_psram /Users/tennis/esp/esp-idf-v5.3.1/components/esp_ringbuf /Users/tennis/esp/esp-idf-v5.3.1/components/esp_rom /Users/tennis/esp/esp-idf-v5.3.1/components/esp_system /Users/tennis/esp/esp-idf-v5.3.1/components/esp_timer /Users/tennis/esp/esp-idf-v5.3.1/components/esp_vfs_console /Users/tennis/esp/esp-idf-v5.3.1/components/esp_wifi /Users/tennis/esp/esp-idf-v5.3.1/components/espcoredump /Users/tennis/src/C2DS-egg/managed_components/espressif__cbor /Users/tennis/src/C2DS-egg/managed_components/espressif__esp_secure_cert_mgr /Users/tennis/src/C2DS-egg/managed_components/espressif__led_strip /Users/tennis/esp/esp-idf-v5.3.1/components/esptool_py /Users/tennis/esp/esp-idf-v5.3.1/components/fatfs /Users/tennis/esp/esp-idf-v5.3.1/components/freertos /Users/tennis/src/C2DS-egg/components/gecl-rgb-led-manager /Users/tennis/src/C2DS-egg/components/gecl-time-sync-manager /Users/tennis/esp/esp-idf-v5.3.1/components/hal /Users/tennis/esp/esp-idf-v5.3.1/components/heap /Users/tennis/esp/esp-idf-v5.3.1/components/http_parser /Users/tennis/esp/esp-idf-v5.3.1/components/idf_test /Users/tennis/esp/esp-idf-v5.3.1/components/ieee802154 /Users/tennis/esp/esp-idf-v5.3.1/components/json /Users/tennis/esp/esp-idf-v5.3.1/components/log /Users/tennis/esp/esp-idf-v5.3.1/components/lwip /Users/tennis/src/C2DS-egg/main /Users/tennis/esp/esp-idf-v5.3.1/components/mbedtls /Users/tennis/src/C2DS-egg/components/mqtt /Users/tennis/esp/esp-idf-v5.3.1/components/newlib /Users/tennis/esp/esp-idf-v5.3.1/components/nvs_flash /Users/tennis/esp/esp-idf-v5.3.1/components/nvs_sec_provider /Users/tennis/esp/esp-idf-v5.3.1/components/openthread /Users/tennis/src/C2DS-egg/components/ota /Users/tennis/esp/esp-idf-v5.3.1/components/partition_table /Users/tennis/esp/esp-idf-v5.3.1/components/protobuf-c /Users/tennis/esp/esp-idf-v5.3.1/components/protocomm /Users/tennis/esp/esp-idf-v5.3.1/components/pthread /Users/tennis/src/C2DS-egg/components/qrcode /Users/tennis/esp/esp-idf-v5.3.1/components/riscv /Users/tennis/esp/esp-idf-v5.3.1/components/sdmmc /Users/tennis/esp/esp-idf-v5.3.1/components/soc /Users/tennis/esp/esp-idf-v5.3.1/components/spi_flash /Users/tennis/esp/esp-idf-v5.3.1/components/spiffs /Users/tennis/esp/esp-idf-v5.3.1/components/tcp_transport /Users/tennis/esp/esp-idf-v5.3.1/components/ulp /Users/tennis/esp/esp-idf-v5.3.1/components/unity /Users/tennis/esp/esp-idf-v5.3.1/components/usb /Users/tennis/esp/esp-idf-v5.3.1/components/vfs /Users/tennis/esp/esp-idf-v5.3.1/components/wear_levelling /Users/tennis/src/C2DS-egg/components/wifi /Users/tennis/esp/esp-idf-v5.3.1/components/wifi_provisioning /Users/tennis/esp/esp-idf-v5.3.1/components/wpa_supplicant
-- Configuring done (2.7s)
-- Generating done (0.4s)
-- Build files have been written to: /Users/tennis/src/C2DS-egg/build
[0/1] Re-running CMake...
-- Building ESP-IDF components for target esp32c3
-- Project sdkconfig file /Users/tennis/src/C2DS-egg/sdkconfig
-- Adding linker script /Users/tennis/esp/esp-idf-v5.3.1/components/riscv/ld/rom.api.ld
-- Adding linker script /Users/tennis/esp/esp-idf-v5.3.1/components/soc/esp32c3/ld/esp32c3.peripherals.ld
-- Bootloader project name: "bootloader" version: 1
-- Adding linker script /Users/tennis/esp/esp-idf-v5.3.1/components/esp_rom/esp32c3/ld/esp32c3.rom.ld
-- Adding linker script /Users/tennis/esp/esp-idf-v5.3.1/components/esp_rom/esp32c3/ld/esp32c3.rom.api.ld
-- Adding linker script /Users/tennis/esp/esp-idf-v5.3.1/components/esp_rom/esp32c3/ld/esp32c3.rom.libgcc.ld
-- Adding linker script /Users/tennis/esp/esp-idf-v5.3.1/components/esp_rom/esp32c3/ld/esp32c3.rom.version.ld
-- Adding linker script /Users/tennis/esp/esp-idf-v5.3.1/components/esp_rom/esp32c3/ld/esp32c3.rom.newlib.ld
-- Adding linker script /Users/tennis/esp/esp-idf-v5.3.1/components/bootloader/subproject/main/ld/esp32c3/bootloader.ld
-- Adding linker script /Users/tennis/esp/esp-idf-v5.3.1/components/bootloader/subproject/main/ld/esp32c3/bootloader.rom.ld
-- Components: bootloader bootloader_support efuse esp_app_format esp_bootloader_format esp_common esp_hw_support esp_rom esp_system esptool_py freertos hal log main micro-ecc newlib partition_table riscv soc spi_flash
-- Component paths: /Users/tennis/esp/esp-idf-v5.3.1/components/bootloader /Users/tennis/esp/esp-idf-v5.3.1/components/bootloader_support /Users/tennis/esp/esp-idf-v5.3.1/components/efuse /Users/tennis/esp/esp-idf-v5.3.1/components/esp_app_format /Users/tennis/esp/esp-idf-v5.3.1/components/esp_bootloader_format /Users/tennis/esp/esp-idf-v5.3.1/components/esp_common /Users/tennis/esp/esp-idf-v5.3.1/components/esp_hw_support /Users/tennis/esp/esp-idf-v5.3.1/components/esp_rom /Users/tennis/esp/esp-idf-v5.3.1/components/esp_system /Users/tennis/esp/esp-idf-v5.3.1/components/esptool_py /Users/tennis/esp/esp-idf-v5.3.1/components/freertos /Users/tennis/esp/esp-idf-v5.3.1/components/hal /Users/tennis/esp/esp-idf-v5.3.1/components/log /Users/tennis/esp/esp-idf-v5.3.1/components/bootloader/subproject/main /Users/tennis/esp/esp-idf-v5.3.1/components/bootloader/subproject/components/micro-ecc /Users/tennis/esp/esp-idf-v5.3.1/components/newlib /Users/tennis/esp/esp-idf-v5.3.1/components/partition_table /Users/tennis/esp/esp-idf-v5.3.1/components/riscv /Users/tennis/esp/esp-idf-v5.3.1/components/soc /Users/tennis/esp/esp-idf-v5.3.1/components/spi_flash
-- Configuring done (3.2s)
-- Generating done (0.1s)
-- Build files have been written to: /Users/tennis/src/C2DS-egg/build/bootloader
[1/2] cd /Users/tennis/src/C2DS-egg/build/bootloader/esp-idf/esptool_py && /Users/ten...fset 0xb000 bootloader 0x0 /Users/tennis/src/C2DS-egg/build/bootloader/bootloader.bin
Bootloader binary size 0x4790 bytes. 0x6870 bytes (59%) free.
[951/1099] Building C object esp-idf/aws-iot-core-mqtt-file-streams-embedded-c/CMakeF...-c.dir/aws-iot-core-mqtt-file-streams-embedded-c/source/MQTTFileDownloader_cbor.c.obj
/Users/tennis/src/C2DS-egg/components/esp-aws-iot/libraries/aws-iot-core-mqtt-file-streams-embedded-c/aws-iot-core-mqtt-file-streams-embedded-c/source/MQTTFileDownloader_cbor.c: In function 'CBOR_Decode_GetStreamResponseMessage':
/Users/tennis/src/C2DS-egg/components/esp-aws-iot/libraries/aws-iot-core-mqtt-file-streams-embedded-c/aws-iot-core-mqtt-file-streams-embedded-c/source/MQTTFileDownloader_cbor.c:117:50: warning: passing argument 2 of 'cbor_value_get_int' from incompatible pointer type [-Wincompatible-pointer-types]
  117 |         cborResult = cbor_value_get_int( &value, ( int32_t * ) fileId );
      |                                                  ^~~~~~~~~~~~~~~~~~~~
      |                                                  |
      |                                                  int32_t * {aka long int *}
In file included from /Users/tennis/src/C2DS-egg/managed_components/espressif__cbor/port/include/cbor.h:1,
                 from /Users/tennis/src/C2DS-egg/components/esp-aws-iot/libraries/aws-iot-core-mqtt-file-streams-embedded-c/aws-iot-core-mqtt-file-streams-embedded-c/source/MQTTFileDownloader_cbor.c:17:
/Users/tennis/src/C2DS-egg/managed_components/espressif__cbor/port/include/../../tinycbor/src/cbor.h:437:75: note: expected 'int *' but argument is of type 'int32_t *' {aka  long int *'}
  437 | CBOR_INLINE_API CborError cbor_value_get_int(const CborValue *value, int *result)
      |                                                                      ~~~~~^~~~~~
/Users/tennis/src/C2DS-egg/components/esp-aws-iot/libraries/aws-iot-core-mqtt-file-streams-embedded-c/aws-iot-core-mqtt-file-streams-embedded-c/source/MQTTFileDownloader_cbor.c:135:50: warning: passing argument 2 of 'cbor_value_get_int' from incompatible pointer type [-Wincompatible-pointer-types]
  135 |         cborResult = cbor_value_get_int( &value, ( int32_t * ) blockId );
      |                                                  ^~~~~~~~~~~~~~~~~~~~~
      |                                                  |
      |                                                  int32_t * {aka long int *}
/Users/tennis/src/C2DS-egg/managed_components/espressif__cbor/port/include/../../tinycbor/src/cbor.h:437:75: note: expected 'int *' but argument is of type 'int32_t *' {aka  long int *'}
  437 | CBOR_INLINE_API CborError cbor_value_get_int(const CborValue *value, int *result)
      |                                                                      ~~~~~^~~~~~
/Users/tennis/src/C2DS-egg/components/esp-aws-iot/libraries/aws-iot-core-mqtt-file-streams-embedded-c/aws-iot-core-mqtt-file-streams-embedded-c/source/MQTTFileDownloader_cbor.c:153:50: warning: passing argument 2 of 'cbor_value_get_int' from incompatible pointer type [-Wincompatible-pointer-types]
  153 |         cborResult = cbor_value_get_int( &value, ( int32_t * ) blockSize );
      |                                                  ^~~~~~~~~~~~~~~~~~~~~~~
      |                                                  |
      |                                                  int32_t * {aka long int *}
/Users/tennis/src/C2DS-egg/managed_components/espressif__cbor/port/include/../../tinycbor/src/cbor.h:437:75: note: expected 'int *' but argument is of type 'int32_t *' {aka  long int *'}
  437 | CBOR_INLINE_API CborError cbor_value_get_int(const CborValue *value, int *result)
      |                                                                      ~~~~~^~~~~~
[962/1099] Building C object esp-idf/aws-iot-core-mqtt-file-streams-embedded-c/CMakeFiles/__idf_aws-iot-core-mqtt-file-streams-embedded-c.dir/port/ota_pal.c.obj
/Users/tennis/src/C2DS-egg/components/esp-aws-iot/libraries/aws-iot-core-mqtt-file-streams-embedded-c/port/ota_pal.c: In function 'otaPal_CheckFileSignature':
/Users/tennis/src/C2DS-egg/components/esp-aws-iot/libraries/aws-iot-core-mqtt-file-streams-embedded-c/port/ota_pal.c:478:56: warning: passing argument 4 of 'CRYPTO_SignatureVerificationFinal' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
  478 |                                            pFileContext->signature, pFileContext->signatureLen ) == pdFALSE )
      |                                            ~~~~~~~~~~~~^~~~~~~~~~~
In file included from /Users/tennis/src/C2DS-egg/components/esp-aws-iot/libraries/aws-iot-core-mqtt-file-streams-embedded-c/port/ota_pal.c:31:
/Users/tennis/src/C2DS-egg/components/esp-aws-iot/libraries/corePKCS11/port/iot_crypto.h:104:57: note: expected 'uint8_t *' {aka 'unsigned char *'} but argument is of type 'const char *'
  104 |                                               uint8_t * pucSignature,
      |                                               ~~~~~~~~~~^~~~~~~~~~~~
/Users/tennis/src/C2DS-egg/components/esp-aws-iot/libraries/aws-iot-core-mqtt-file-streams-embedded-c/port/ota_pal.c: In function 'otaPal_CloseFile':
/Users/tennis/src/C2DS-egg/components/esp-aws-iot/libraries/aws-iot-core-mqtt-file-streams-embedded-c/port/ota_pal.c:532:58: warning: passing argument 1 of 'asn1_to_raw_ecds ' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
  532 |                 mainErr = asn1_to_raw_ecdsa( pFileContext->signature, pFileContext->signatureLen, sec_boot_sig->raw_ecdsa_sig );
      |                                              ~~~~~~~~~~~~^~~~~~~~~~~
/Users/tennis/src/C2DS-egg/components/esp-aws-iot/libraries/aws-iot-core-mqtt-file-streams-embedded-c/port/ota_pal.c:109:52: note: expected 'uint8_t *' {aka 'unsigned char *'} but argument is of type 'const char *'
  109 | static OtaPalStatus_t asn1_to_raw_ecdsa( uint8_t * signature,
      |                                          ~~~~~~~~~~^~~~~~~~~
[1003/1099] Building C object esp-idf/ota/CMakeFiles/__idf_ota.dir/ota_over_mqtt.c.obj
/Users/tennis/src/C2DS-egg/components/ota/ota_over_mqtt.c: In function 'receivedJobDocumentHandler':
/Users/tennis/src/C2DS-egg/components/ota/ota_over_mqtt.c:692:29: warning: initialization of 'const char **' from incompatible pointer type 'char **' [-Wincompatible-pointer-types]
  692 |     const char **jobIdptr = &jobId;
      |                             ^
/Users/tennis/src/C2DS-egg/components/ota/ota_over_mqtt.c: In function 'processOTAEvents':
/Users/tennis/src/C2DS-egg/components/ota/ota_over_mqtt.c:1073:31: warning: this statement may fall through [-Wimplicit-fallthrough=]
 1073 |             nextEvent.eventId = OtaAgentEventRequestFileBlock;
      |             ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/tennis/src/C2DS-egg/components/ota/ota_over_mqtt.c:1075:9: note: here
 1075 |         case OtaAgentEventCloseFile:
      |         ^~~~
/Users/tennis/src/C2DS-egg/components/ota/ota_over_mqtt.c: At top level:
/Users/tennis/src/C2DS-egg/components/ota/ota_over_mqtt.c:479:24: warning: 'prvMQTTUnsubscribe' defined but not used [-Wunused-function]
  479 | static OtaMqttStatus_t prvMQTTUnsubscribe(const char *pTopicFilter, uint16_t topicFilterLength, uint8_t ucQoS) {
      |                        ^~~~~~~~~~~~~~~~~~
/Users/tennis/src/C2DS-egg/components/ota/ota_over_mqtt.c:344:13: warning: 'prvMatchClientIdentifierInTopic' defined but not used [-Wunused-function]
  344 | static bool prvMatchClientIdentifierInTopic(const char *pTopic, size_t topicNameLength, const char *pClientIdentifier,
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[1065/1099] Building C object esp-idf/main/CMakeFiles/__idf_main.dir/main.c.obj
/Users/tennis/src/C2DS-egg/main/main.c: In function 'prvInitializeNetworkContext':
/Users/tennis/src/C2DS-egg/main/main.c:143:50: warning: passing argument 1 of 'esp_secure_cert_get_device_cert' from incompatible pointer type [-Wincompatible-pointer-types]
  143 |     xEspErrRet = esp_secure_cert_get_device_cert(&xNetworkContext.pcClientCert, &xNetworkContext.pcClientCertSize);
      |                                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                                                  |
      |                                                  const char **
In file included from /Users/tennis/src/C2DS-egg/main/main.c:47:
/Users/tennis/src/C2DS-egg/managed_components/espressif__esp_secure_cert_mgr/include/esp_secure_cert_read.h:70:50: note: expected 'char **' but argument is of type 'const char **'
   70 | esp_err_t esp_secure_cert_get_device_cert(char **buffer, uint32_t *len);
      |                                           ~~~~~~~^~~~~~
/Users/tennis/src/C2DS-egg/main/main.c:184:47: warning: passing argument 1 of 'esp_secure_cert_get_priv_key' from incompatible pointer type [-Wincompatible-pointer-types]
  184 |     xEspErrRet = esp_secure_cert_get_priv_key(&xNetworkContext.pcClientKey, &xNetworkContext.pcClientKeySize);
      |                                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                                               |
      |                                               const char **
/Users/tennis/src/C2DS-egg/managed_components/espressif__esp_secure_cert_mgr/include/esp_secure_cert_read.h:157:47: note: expected 'char **' but argument is of type 'const char **'
  157 | esp_err_t esp_secure_cert_get_priv_key(char **buffer, uint32_t *len);
      |                                        ~~~~~~~^~~~~~
/Users/tennis/src/C2DS-egg/main/main.c: At top level:
/Users/tennis/src/C2DS-egg/main/main.c:109:13: warning: 'prvStartEnabledDemos' declared 'static' but never defined [-Wunused-function]
  109 | static void prvStartEnabledDemos(void);
      |             ^~~~~~~~~~~~~~~~~~~~
[1070/1099] Building C object esp-idf/main/CMakeFiles/__idf_main.dir/mqtt_subscriptions.c.obj
/Users/tennis/src/C2DS-egg/main/mqtt_subscriptions.c:517:13: warning: 'prvUnsubscribeToTopic' defined but not used [-Wunused-function]
  517 | static void prvUnsubscribeToTopic(MQTTQoS_t xQoS, char *pcTopicFilter, EventGroupHandle_t xMqttEventGroup) {
      |             ^~~~~~~~~~~~~~~~~~~~~
/Users/tennis/src/C2DS-egg/main/mqtt_subscriptions.c:349:13: warning: 'prvPublishToTopic' defined but not used [-Wunused-function]
  349 | static void prvPublishToTopic(MQTTQoS_t xQoS, char *pcTopicName, char *pcPayload, EventGroupHandle_t xMqttEventGroup) {
      |             ^~~~~~~~~~~~~~~~~
/Users/tennis/src/C2DS-egg/main/mqtt_subscriptions.c:97:13: warning: 'topicBuf' defined but not used [-Wunused-variable]
   97 | static char topicBuf[subpubunsubconfigNUM_TASKS_TO_CREATE][subpubunsubconfigSTRING_BUFFER_LENGTH];
      |             ^~~~~~~~
[1095/1099] Generating ld/sections.ld
info: INFO: Symbol GRI_SUB_PUB_UNSUB_DEMO_STRING_BUFFER_LENGTH defined in multiple locations (see below). Please check if this is a correct behavior or a random name match:
    /Users/tennis/src/C2DS-egg/main/Kconfig.projbuild:97
    /Users/tennis/src/C2DS-egg/main/Kconfig.projbuild:264
info: INFO: Symbol GRI_SUB_PUB_UNSUB_DEMO_DELAY_BETWEEN_SUB_PUB_UNSUB_LOOPS_MS defined in multiple locations (see below). Please check if this is a correct behavior or a random name match:
    /Users/tennis/src/C2DS-egg/main/Kconfig.projbuild:103
    /Users/tennis/src/C2DS-egg/main/Kconfig.projbuild:270
info: INFO: Symbol GRI_SUB_PUB_UNSUB_DEMO_MAX_COMMAND_SEND_BLOCK_TIME_MS defined in multiple locations (see below). Please check if this is a correct behavior or a random name match:
    /Users/tennis/src/C2DS-egg/main/Kconfig.projbuild:276
    /Users/tennis/src/C2DS-egg/main/Kconfig.projbuild:109
info: INFO: Symbol GRI_SUB_PUB_UNSUB_DEMO_QOS_LEVEL defined in multiple locations (see below). Please check if this is a correct behavior or a random name match:
    /Users/tennis/src/C2DS-egg/main/Kconfig.projbuild:115
    /Users/tennis/src/C2DS-egg/main/Kconfig.projbuild:282
info: INFO: Symbol GRI_SUB_PUB_UNSUB_DEMO_NUM_TASKS_TO_CREATE defined in multiple locations (see below). Please check if this is a correct behavior or a random name match:
    /Users/tennis/src/C2DS-egg/main/Kconfig.projbuild:122
    /Users/tennis/src/C2DS-egg/main/Kconfig.projbuild:289
info: INFO: Symbol GRI_SUB_PUB_UNSUB_DEMO_TASK_PRIORITY defined in multiple locations (see below). Please check if this is a correct behavior or a random name match:
    /Users/tennis/src/C2DS-egg/main/Kconfig.projbuild:295
    /Users/tennis/src/C2DS-egg/main/Kconfig.projbuild:128
info: INFO: Symbol GRI_SUB_PUB_UNSUB_DEMO_TASK_STACK_SIZE defined in multiple locations (see below). Please check if this is a correct behavior or a random name match:
    /Users/tennis/src/C2DS-egg/main/Kconfig.projbuild:301
    /Users/tennis/src/C2DS-egg/main/Kconfig.projbuild:134
info: INFO: Symbol GRI_OTA_DEMO_MAX_FILE_PATH_SIZE defined in multiple locations (see below). Please check if this is a correct behavior or a random name match:
    /Users/tennis/src/C2DS-egg/main/Kconfig.projbuild:143
    /Users/tennis/src/C2DS-egg/main/Kconfig.projbuild:387
info: INFO: Symbol GRI_OTA_DEMO_MAX_STREAM_NAME_SIZE defined in multiple locations (see below). Please check if this is a correct behavior or a random name match:
    /Users/tennis/src/C2DS-egg/main/Kconfig.projbuild:393
    /Users/tennis/src/C2DS-egg/main/Kconfig.projbuild:149
info: INFO: Symbol GRI_OTA_DEMO_TASK_DELAY_MS defined in multiple locations (see below). Please check if this is a correct behavior or a random name match:
    /Users/tennis/src/C2DS-egg/main/Kconfig.projbuild:399
    /Users/tennis/src/C2DS-egg/main/Kconfig.projbuild:155
info: INFO: Symbol GRI_OTA_DEMO_MQTT_TIMEOUT_MS defined in multiple locations (see below). Please check if this is a correct behavior or a random name match:
    /Users/tennis/src/C2DS-egg/main/Kconfig.projbuild:161
    /Users/tennis/src/C2DS-egg/main/Kconfig.projbuild:405
info: INFO: Symbol GRI_OTA_DEMO_AGENT_TASK_PRIORITY defined in multiple locations (see below). Please check if this is a correct behavior or a random name match:
    /Users/tennis/src/C2DS-egg/main/Kconfig.projbuild:167
    /Users/tennis/src/C2DS-egg/main/Kconfig.projbuild:411
info: INFO: Symbol GRI_OTA_DEMO_AGENT_TASK_STACK_SIZE defined in multiple locations (see below). Please check if this is a correct behavior or a random name match:
    /Users/tennis/src/C2DS-egg/main/Kconfig.projbuild:171
    /Users/tennis/src/C2DS-egg/main/Kconfig.projbuild:415
info: INFO: Symbol GRI_OTA_DEMO_DEMO_TASK_PRIORITY defined in multiple locations (see below). Please check if this is a correct behavior or a random name match:
    /Users/tennis/src/C2DS-egg/main/Kconfig.projbuild:175
    /Users/tennis/src/C2DS-egg/main/Kconfig.projbuild:419
info: INFO: Symbol GRI_OTA_DEMO_DEMO_TASK_STACK_SIZE defined in multiple locations (see below). Please check if this is a correct behavior or a random name match:
    /Users/tennis/src/C2DS-egg/main/Kconfig.projbuild:179
    /Users/tennis/src/C2DS-egg/main/Kconfig.projbuild:423
info: INFO: Symbol GRI_OTA_MAX_NUM_DATA_BUFFERS defined in multiple locations (see below). Please check if this is a correct behavior or a random name match:
    /Users/tennis/src/C2DS-egg/main/Kconfig.projbuild:439
    /Users/tennis/src/C2DS-egg/main/Kconfig.projbuild:183
info: INFO: Symbol DEVICE_SHADOW_LOG_ERROR defined in multiple locations (see below). Please check if this is a correct behavior or a random name match:
    /Users/tennis/src/C2DS-egg/components/esp-aws-iot/libraries/Device-Shadow-for-AWS-IoT-embedded-sdk/Kconfig:5
    /Users/tennis/src/C2DS-egg/components/esp-aws-iot/libraries/coreHTTP/Kconfig:5
info: INFO: Symbol DEVICE_SHADOW_LOG_WARN defined in multiple locations (see below). Please check if this is a correct behavior or a random name match:
    /Users/tennis/src/C2DS-egg/components/esp-aws-iot/libraries/coreHTTP/Kconfig:9
    /Users/tennis/src/C2DS-egg/components/esp-aws-iot/libraries/Device-Shadow-for-AWS-IoT-embedded-sdk/Kconfig:9
info: INFO: Symbol DEVICE_SHADOW_LOG_INFO defined in multiple locations (see below). Please check if this is a correct behavior or a random name match:
    /Users/tennis/src/C2DS-egg/components/esp-aws-iot/libraries/Device-Shadow-for-AWS-IoT-embedded-sdk/Kconfig:13
    /Users/tennis/src/C2DS-egg/components/esp-aws-iot/libraries/coreHTTP/Kconfig:13
info: INFO: Symbol DEVICE_SHADOW_LOG_DEBUG defined in multiple locations (see below). Please check if this is a correct behavior or a random name match:
    /Users/tennis/src/C2DS-egg/components/esp-aws-iot/libraries/coreHTTP/Kconfig:17
    /Users/tennis/src/C2DS-egg/components/esp-aws-iot/libraries/Device-Shadow-for-AWS-IoT-embedded-sdk/Kconfig:17
[1097/1099] Generating binary image from built executable
esptool.py v4.8.1
Creating esp32c3 image...
Merged 1 ELF section
Successfully created esp32c3 image.
Generated /Users/tennis/src/C2DS-egg/build/CoopCopEgg.bin
[1098/1099] cd /Users/tennis/src/C2DS-egg/build/esp-idf/esptool_py && /Users/tennis/....d/partition_table/partition-table.bin /Users/tennis/src/C2DS-egg/build/CoopCopEgg.bin
CoopCopEgg.bin binary size 0x124c90 bytes. Smallest app partition is 0x190000 bytes. 0x6b370 bytes (27%) free.
Executing action: flash
Serial port /dev/cu.usbserial-2110
Connecting....
Detecting chip type... ESP32-C3
Running ninja in directory /Users/tennis/src/C2DS-egg/build
Executing "ninja flash"...
[1/5] cd /Users/tennis/src/C2DS-egg/build/esp-idf/esptool_py && /Users/tennis/.espres...d/partition_table/partition-table.bin /Users/tennis/src/C2DS-egg/build/CoopCopEgg.bin
CoopCopEgg.bin binary size 0x124c90 bytes. Smallest app partition is 0x190000 bytes. 0x6b370 bytes (27%) free.
[1/1] cd /Users/tennis/src/C2DS-egg/build/bootloader/esp-idf/esptool_py && /Users/ten...fset 0xb000 bootloader 0x0 /Users/tennis/src/C2DS-egg/build/bootloader/bootloader.bin
Bootloader binary size 0x4790 bytes. 0x6870 bytes (59%) free.
[4/5] cd /Users/tennis/esp/esp-idf-v5.3.1/components/esptool_py && /opt/homebrew/bin/...build -P /Users/tennis/esp/esp-idf-v5.3.1/components/esptool_py/run_serial_tool.cmake
esptool.py --chip esp32c3 -p /dev/cu.usbserial-2110 -b 460800 --before=default_reset --after=hard_reset write_flash --flash_mode dio --flash_freq 80m --flash_size 4MB 0x0 bootloader/bootloader.bin 0x20000 CoopCopEgg.bin 0xb000 partition_table/partition-table.bin 0x19000 ota_data_initial.bin
esptool.py v4.8.1
Serial port /dev/cu.usbserial-2110
Connecting....
Chip is ESP32-C3 (QFN32) (revision v0.4)
Features: WiFi, BLE
Crystal is 40MHz
MAC: f0:f5:bd:8f:f7:dc
Uploading stub...
Running stub...
Stub running...
Changing baud rate to 460800
Changed.
Configuring flash size...
Flash will be erased from 0x00000000 to 0x00004fff...
Flash will be erased from 0x00020000 to 0x00144fff...
Flash will be erased from 0x0000b000 to 0x0000bfff...
Flash will be erased from 0x00019000 to 0x0001afff...
SHA digest in image updated
Compressed 18320 bytes to 11569...
Writing at 0x00000000... (100 %)
Wrote 18320 bytes (11569 compressed) at 0x00000000 in 0.7 seconds (effective 204.5 kbit/s)...
Hash of data verified.
Compressed 1199248 bytes to 714455...
Writing at 0x00141230... (100 %)
Wrote 1199248 bytes (714455 compressed) at 0x00020000 in 20.3 seconds (effective 473.7 kbit/s)...
Hash of data verified.
Compressed 3072 bytes to 201...
Writing at 0x0000b000... (100 %)
Wrote 3072 bytes (201 compressed) at 0x0000b000 in 0.1 seconds (effective 253.8 kbit/s)...
Hash of data verified.
Compressed 8192 bytes to 31...
Writing at 0x00019000... (100 %)
Wrote 8192 bytes (31 compressed) at 0x00019000 in 0.1 seconds (effective 467.5 kbit/s)...
Hash of data verified.

Leaving...
Hard resetting via RTS pin...
Executing action: monitor
Running idf_monitor in directory /Users/tennis/src/C2DS-egg
Executing "/Users/tennis/.espressif/python_env/idf5.3_py3.12_env/bin/python /Users/tennis/esp/esp-idf/tools/idf_monitor.py -p /dev/cu.usbserial-2110 -b 115200 --toolchain-prefix riscv32-esp-elf- --target esp32c3 --revision 3 --decode-panic backtrace /Users/tennis/src/C2DS-egg/build/CoopCopEgg.elf -m '/Users/tennis/.espressif/python_env/idf5.3_py3.12_env/bin/python' '/Users/tennis/esp/esp-idf/tools/idf.py'"...
--- esp-idf-monitor 1.5.0 on /dev/cu.usbserial-2110 115200
--- Quit: Ctrl+] | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H
ESP-ROM:esp32c3-api1-20210207
Build:Feb  7 2021
rst:0x1 (POWERON),boot:0xc (SPI_FAST_FLASH_BOOT)
SPIWP:0xee
mode:DIO, clock div:1
load:0x3fcd5820,len:0x1188
load:0x403cc710,len:0x964
load:0x403ce710,len:0x2c48
entry 0x403cc710
I (232) cpu_start: Unicore app
I (241) cpu_start: Pro cpu start user code
I (241) cpu_start: cpu freq: 160000000 Hz
I (241) app_init: Application information:
I (244) app_init: Project name:     CoopCopEgg
I (249) app_init: App version:      7592b3f-dirty
I (254) app_init: Compile time:     Dec 22 2024 01:33:43
I (260) app_init: ELF file SHA256:  6bf209379...
I (265) app_init: ESP-IDF:          v5.3.1-dirty
I (271) efuse_init: Min chip rev:     v0.3
I (275) efuse_init: Max chip rev:     v1.99 
I (280) efuse_init: Chip rev:         v0.4
I (285) heap_init: Initializing. RAM available for dynamic allocation:
I (292) heap_init: At 3FCA7290 len 00018D70 (99 KiB): RAM
I (298) heap_init: At 3FCC0000 len 0001C710 (113 KiB): Retention RAM
I (305) heap_init: At 3FCDC710 len 00002950 (10 KiB): Retention RAM
I (312) heap_init: At 50000200 len 00001DE8 (7 KiB): RTCRAM
I (320) spi_flash: detected chip: generic
I (323) spi_flash: flash io: dio
I (328) sleep: Configure to isolate all GPIO pins in sleep state
I (334) sleep: Enable automatic switching of GPIO sleep configuration
I (341) coexist: coex firmware version: 4482466
I (346) coexist: coexist rom version 9387209
I (352) main_task: Started on CPU0
I (352) main_task: Calling app_main()
E (352) intr_alloc: No free interrupt inputs for UART0 interrupt (flags 0xE)
HINT: For troubleshooting instructions related to interrupt allocation, run 'idf.py docs -sp api-reference/system/intr_alloc.html'
I (362) esp_secure_cert: Pre-provisioned partition information:
I (372) esp_secure_cert: partition format: CUST_FLASH, partition name: esp_secure_cert
W (382) mmap: paddr block is mapped already, vaddr_start: 0x3c120000, size: 0x10000
W (382) mmap: paddr block is mapped already, vaddr_start: 0x3c120000, size: 0x10000
W (392) mmap: paddr block is mapped already, vaddr_start: 0x3c120000, size: 0x10000
W (402) mmap: paddr block is mapped already, vaddr_start: 0x3c120000, size: 0x10000
I (422) MAIN: Application version number: 0.0.0
I (422) core_mqtt_agent_manager: Starting coreMQTT-Agent manager.
I (422) core_mqtt_agent_manager: coreMQTT-Agent network manager event group created.
I (432) core_mqtt_agent_manager: Registering MQTT Agent Event Handler
I (442) core_mqtt_agent_manager: MQTT Agent event handler registered successfully.
I (452) core_mqtt_agent_manager: MQTT Agent task started.
I (452) core_mqtt_agent_manager: coreMQTT-Agent started.
I (462) core_mqtt_agent_manager: Starting MQTT connection task.
I (462) core_mqtt_agent_manager: Setting initial state of network connection.
I (472) MAIN: coreMQTT-Agent network manager started.
I (482) RGB_LED_MGR: RGB LED queue created
I (482) core_mqtt_agent_manager: Registering MQTT Agent Event Handler
I (492) core_mqtt_agent_manager: MQTT Agent event handler registered successfully.
I (502) mqtt_subscriptions: Enter: Subscribing to topic farm/coop/led/color
I (502) mqtt_subscriptions: Do-Loop: Subscribing to topic farm/coop/led/color
I (512) pp: pp rom version: 9387209
I (522) net80211: net80211 rom version: 9387209
I (532) wifi:wifi driver task: 3fcb3fcc, prio:23, stack:6656, core=0
I (532) wifi:wifi firmware version: ccaebfa
I (532) wifi:wifi certification version: v7.0
I (542) wifi:config NVS flash: enabled
I (542) wifi:config nano formating: disabled
I (542) wifi:Init data frame dynamic rx buffer num: 32
I (552) wifi:Init static rx mgmt buffer num: 5
I (552) wifi:Init management short buffer num: 32
I (562) wifi:Init dynamic tx buffer num: 32
I (562) wifi:Init static tx FG buffer num: 2
I (572) wifi:Init static rx buffer size: 1600
I (572) wifi:Init static rx buffer num: 10
I (572) wifi:Init dynamic rx buffer num: 32
I (582) wifi_init: rx ba win: 6
I (582) wifi_init: accept mbox: 6
I (582) wifi_init: tcpip mbox: 32
I (592) wifi_init: udp mbox: 6
I (592) wifi_init: tcp mbox: 6
I (602) wifi_init: tcp tx win: 5760
I (602) wifi_init: tcp rx win: 5760
I (602) wifi_init: tcp mss: 1440
I (612) wifi_init: WiFi IRAM OP enabled
I (612) wifi_init: WiFi RX IRAM OP enabled
I (622) wifi_prov_scheme_ble: BT memory released
I (622) app_wifi: Already provisioned, starting Wi-Fi STA
I (632) wifi_prov_scheme_ble: BTDM memory released
I (642) phy_init: phy_version 1180,01f2a49,Jun  4 2024,16:34:25
I (682) wifi:mode : sta (f0:f5:bd:8f:f7:dc)
I (682) wifi:enable tsf
I (3092) wifi:new:<3,0>, old:<1,0>, ap:<255,255>, sta:<3,0>, prof:1, snd_ch_cfg:0x0
I (3092) wifi:state: init -> auth (0xb0)
I (3122) wifi:state: auth -> assoc (0x0)
I (3132) wifi:state: assoc -> run (0x10)
I (3242) wifi:connected with disconnected_iot, aid = 53, channel 3, BW20, bssid = 76:fe:ce:47:5c:f6
I (3242) wifi:security: WPA2-PSK, phy: bgn, rssi: -51
I (3242) wifi:pm start, type: 1

I (3242) wifi:dp: 1, bi: 102400, li: 3, scale listen interval from 307200 us to 307200 us
I (3252) wifi:set rx beacon pti, rx_bcn_pti: 14, bcn_timeout: 25000, mt_pti: 14, mt_time: 10000
I (3272) wifi:AP's beacon interval = 102400 us, DTIM period = 1
I (4262) core_mqtt_agent_manager: WiFi connected.
I (4262) app_wifi: Connected with IP Address:192.168.0.6
I (4262) esp_netif_handlers: sta ip: 192.168.0.6, mask: 255.255.255.0, gw: 192.168.0.1
I (4272) main_task: Returned from app_main()
I (4272) wifi:<ba-add>idx:0 (ifx:0, 76:fe:ce:47:5c:f6), tid:0, ssn:5, winSize:64
I (4322) wifi:<ba-add>idx:1 (ifx:0, 76:fe:ce:47:5c:f6), tid:2, ssn:1, winSize:64
I (5272) core_mqtt_agent_manager: TLS connection established.
I (5272) core_mqtt_agent_manager: Connecting to the broker.
I (5532) coreMQTT: MQTT connection established with the broker.
I (5532) core_mqtt_agent_manager: Session present: 1

I (5532) core_mqtt_agent_manager: MQTT connection established.
I (5542) core_mqtt_agent_manager: Received MQTT Agent event: 0
I (5552) core_mqtt_agent_manager: coreMQTT-Agent connected.
I (5552) mqtt_subscriptions: coreMQTT-Agent connected.
I (5562) core_mqtt_agent_manager: Posted MQTT Agent event: 0
I (5562) mqtt_subscriptions: Task "LedColorTask" sending subscribe request to coreMQTT-Agent for topic filter: farm/coop/led/color with id 1
I (5762) SubManager: Adding subscription for topic farm/coop/led/color
I (5762) mqtt_subscriptions: Subscribe 1 for topic filter farm/coop/led/color succeeded for task "LedColorTask".
I (5832) coreMQTT: De-serialized incoming PUBLISH packet: DeserializerResult=MQTTSuccess.
I (5832) coreMQTT: State record updated. New state=MQTTPubAckSend.
I (5842) mqtt_subscriptions: Task "LedColorTask" received: {"LED": "LED_SOLID_GREEN"}
I (5852) mqtt_subscriptions: Received message: {"LED": "LED_SOLID_GREEN"}

Done

More Information.

I am completely confused about how to get GDB working for this environment. Supposedly, the esp32-c3-wroom chip does not require openocd or an external jtag. True?

Either way, I cannot get GDB to work in the simpliest way I can configure.

@gamename gamename added the Type: Bug bugs in IDF label Dec 22, 2024
@github-actions github-actions bot changed the title Help with command line debugging on esp32-c3-wroom Help with command line debugging on esp32-c3-wroom (IDFGH-14282) Dec 22, 2024
@espressif-bot espressif-bot added the Status: Opened Issue is new label Dec 22, 2024
@igrr
Copy link
Member

igrr commented Dec 22, 2024

Supposedly, the esp32-c3-wroom chip does not require openocd or an external jtag. True?

That's true. For this to work, you need to connect to the chip using it's built-in USB port, not via a USB-UART converter such as CP2102. This depends on your development board.

Additionally, you are running idf.py gdbtui which expects that OpenOCD is already running somewhere. Usually if you also want to launch OpenOCD you'd use idf.py openocd gdbtui.

I would recommend to run idf.py openocd first and see if it starts up without errors. If you get errors that the device isn't found, likely you aren't connected to ESP32-C3 over the built-in USB port. If it starts up without errors, exit and proceed with gdbtui added.

Some links for reference:

@gamename
Copy link
Author

@igrr Thanks for the quick reply.

I would recommend to run idf.py openocd first and see if it starts up without errors. If you get errors that the device isn't found, likely you aren't connected to ESP32-C3 over the built-in USB port.

So, openocd is required for esp32-c3-wroom?

Anyway, here is the output:

idf openocd
Executing action: openocd
Note: OpenOCD cfg not found (via env variable OPENOCD_COMMANDS nor as a --openocd-commands argument)
OpenOCD arguments default to: "-f board/esp32c3-builtin.cfg"
OpenOCD started as a background task 22208
Executing action: post_debug
Open On-Chip Debugger v0.12.0-esp32-20240318 (2024-03-18-18:28)
Licensed under GNU GPL v2
For bug reports, read
	http://openocd.org/doc/doxygen/bugs.html
Info : only one transport option; autoselecting 'jtag'
Info : esp_usb_jtag: VID set to 0x303a and PID to 0x1001
Info : esp_usb_jtag: capabilities descriptor set to 0x2000
Info : Listening on port 6666 for tcl connections
Info : Listening on port 4444 for telnet connections
Error: esp_usb_jtag: could not find or open device!
/Users/tennis/.espressif/tools/openocd-esp32/v0.12.0-esp32-20240318/openocd-esp32/share/openocd/scripts/target/esp_common.cfg:9: Error:
at file "/Users/tennis/.espressif/tools/openocd-esp32/v0.12.0-esp32-20240318/openocd-esp32/share/openocd/scripts/target/esp_common.cfg", line 9
Error: [esp32c3] Unsupported DTM version: -1
Error: [esp32c3] Could not identify target type.
"openocd" exited with 1
HINT: Please check the wire connection to debugging device or access rights to a serial port.

This is very confusing. There is only one micro-usb connector on the esp32. There is no alternative. It is the only USB connection. If that is the case, how can a separate USB be possible?

@gamename
Copy link
Author

gamename commented Dec 22, 2024

@igrr

This another point of confusion. The article talks about connecting pins and USB signals. Here is a picture of my esp32-c3-wroom:
image

There is micro-USB connection and no facility for breaking out the individual leads. The article doesn't mention anything about it. What is it trying to convey?

@igrr
Copy link
Member

igrr commented Dec 22, 2024

On this specific development board, microUSB port is connected to a CP2102 USB-UART bridge.

Internal USB port of ESP32-C3 is not connected to a physical USB connector. However you can connect a USB breakout cable such as this one https://www.adafruit.com/product/4448 to the pins on the side of the board.

Connection can be done according to https://docs.espressif.com/projects/esp-idf/en/latest/esp32c3/api-guides/jtag-debugging/configure-builtin-jtag.html#configure-hardware

I wrote about a couple of alternative options earlier in espressif/openocd-esp32#343 (comment)

@gamename
Copy link
Author

@igrr

I wrote about a couple of alternative options earlier in espressif/openocd-esp32#343 (comment)

Hmm. I have an esp32-s3-wroom-01. Does this mean that I can move my app over to the s3, plug into the "USB" port, and debug should "just work"?

@igrr
Copy link
Member

igrr commented Dec 22, 2024

I have an esp32-s3-wroom-01

ESP32-S3-WROOM-01 is the name of a module. I am not sure which development board with this module you have. If you have an ESP32-S3-DevKitC-1 then it should work as you have described.

@gamename
Copy link
Author

@igrr

Excellent!

It is an ESP32-S3-DevKitC-1. for monitoring, do I use the USB or UART port?

@igrr
Copy link
Member

igrr commented Dec 22, 2024

Both ports should work for monitoring, however depending on the one you choose you might need to adjust the console output channel in menuconfig.

https://docs.espressif.com/projects/esp-idf/en/latest/esp32s3/api-guides/stdio.html#configuration

@gamename
Copy link
Author

Thanks!

@gamename
Copy link
Author

@igrr

Re the esp32-c3-DevKitC-02... Do I need to use this for debugging and a connection via the micro-USB port for flash and monitoring?

I tried monitoring via the special adapter (above) and it didn't work.

@igrr
Copy link
Member

igrr commented Dec 22, 2024

Could you please describe what exactly didn't work? (No /dev/cu... port found, or port found but no output, or some other behavior?)
That specific adapter is not required, a USB cable cut in half with a pin header soldered should also work.

@gamename
Copy link
Author

@igrr

Could you please describe what exactly didn't work? (No /dev/cu... port found, or port found but no output, or some other behavior?) That specific adapter is not required, a USB cable cut in half with a pin header soldered should also work.

Ah, good point. I didn't say how it didn't work. Apologies. It simply hung when I tried idf.py monitor. No other diagnostics AFAIK.

As for the adapter, I made one that simply breaks out all the connections and I matched the pin connections per the description here

@gamename
Copy link
Author

@igrr

Could you please describe what exactly didn't work? (No /dev/cu... port found, or port found but no output, or some other behavior?) That specific adapter is not required, a USB cable cut in half with a pin header soldered should also work.

Could I simply use the adapter cable instead of the micro-USB connector for normal loading/monitoring as well as debugging? I have a esp32-c3-DevKitC-02.
Thanks

@igrr
Copy link
Member

igrr commented Dec 25, 2024

Yes, that should work. You might need to check that the console output is configured to go to USB_SERIAL_JTAG.

I'd recommend flashing a hello_world example first to verify the setup and then moving on to your real application.

@gamename
Copy link
Author

@igrr

Yes, that should work. You might need to check that the console output is configured to go to USB_SERIAL_JTAG.

I'd recommend flashing a hello_world example first to verify the setup and then moving on to your real application.

Thank you, sir. I'll close this out.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Status: Opened Issue is new Type: Bug bugs in IDF
Projects
None yet
Development

No branches or pull requests

3 participants