espressif / esp-idf

Espressif IoT Development Framework. Official development framework for Espressif SoCs.
Apache License 2.0
13.69k stars 7.29k forks source link

Compile only necessary components for the project with CMake (IDFGH-2343) #4473

Closed mauriciofarina closed 4 years ago

mauriciofarina commented 4 years ago

Hello,

I'm having some trouble to setup cmake in a way that only the necessary components for the it get compiled. From what I understand from the documentation, using set(COMPONENTS main) in the project's CMakeLists.txt file would result in the wanted behaviour if all the components and main had their required components declared in their own CMakeLists.txt files (And, in my case they are). However, when I compile my project the whole IDF gets compiled.

I made a simple project to reproduce this:

File Structure:

- helloworld/
             - CMakeLists.txt
             - main/         - CMakeLists.txt
                             - theMain.c

helloworld/CMakeLists.txt

cmake_minimum_required(VERSION 3.5)
include($ENV{IDF_PATH}/tools/cmake/project.cmake)
project(helloworld)
set(COMPONENTS main)

helloworld/main/CMakeLists.txt

idf_component_register(SRCS "theMain.c"
                    INCLUDE_DIRS "")

helloworld/main/theMain.c

#include <stdio.h>

void app_main(void)
{
   printf("hello world");
}
renzbagaporo commented 4 years ago

Hi, can you post the build log here? @mauriciofarina

mauriciofarina commented 4 years ago

Hello @renzbagaporo

Sorry for taking so long to replay,

Build Logs:

Executing action: all (aliases: build)
Running cmake in directory /Users/mauricio/esp/hello_world/build
Executing "cmake -G Ninja -DPYTHON_DEPS_CHECKED=1 -DESP_PLATFORM=1 --warn-uninitialized -DCCACHE_ENABLE=0 /Users/mauricio/esp/hello_world"...
Warn about uninitialized values.
-- Found Git: /usr/bin/git (found version "2.21.0 (Apple Git-122.2)") 
-- IDF_TARGET not set, using default target: esp32
-- The C compiler identification is GNU 8.2.0
-- The CXX compiler identification is GNU 8.2.0
-- The ASM compiler identification is GNU
-- Found assembler: /Users/mauricio/.espressif/tools/xtensa-esp32-elf/esp-2019r2-8.2.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-gcc
-- Check for working C compiler: /Users/mauricio/.espressif/tools/xtensa-esp32-elf/esp-2019r2-8.2.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-gcc
-- Check for working C compiler: /Users/mauricio/.espressif/tools/xtensa-esp32-elf/esp-2019r2-8.2.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /Users/mauricio/.espressif/tools/xtensa-esp32-elf/esp-2019r2-8.2.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-g++
-- Check for working CXX compiler: /Users/mauricio/.espressif/tools/xtensa-esp32-elf/esp-2019r2-8.2.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-g++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Project is not inside a git repository, or git repository has no commits; will not use 'git describe' to determine PROJECT_VER.
-- Project version: 1
-- Building ESP-IDF components for target esp32
-- Found PythonInterp: /Users/mauricio/.espressif/python_env/idf4.1_py2.7_env/bin/python (found version "2.7.16") 
-- Found Perl: /usr/bin/perl (found version "5.18.4") 
-- Adding linker script /Users/mauricio/esp/hello_world/build/esp-idf/esp32/esp32_out.ld
-- Adding linker script /Users/mauricio/esp/esp-idf/components/esp32/ld/esp32.project.ld.in
-- Adding linker script /Users/mauricio/esp/esp-idf/components/esp32/ld/esp32.peripherals.ld
-- Adding linker script /Users/mauricio/esp/esp-idf/components/esp_rom/esp32/ld/esp32.rom.ld
-- Adding linker script /Users/mauricio/esp/esp-idf/components/esp_rom/esp32/ld/esp32.rom.libgcc.ld
-- Adding linker script /Users/mauricio/esp/esp-idf/components/esp_rom/esp32/ld/esp32.rom.newlib-data.ld
-- Adding linker script /Users/mauricio/esp/esp-idf/components/esp_rom/esp32/ld/esp32.rom.syscalls.ld
-- Adding linker script /Users/mauricio/esp/esp-idf/components/esp_rom/esp32/ld/esp32.rom.newlib-funcs.ld
-- Components: app_trace app_update asio bootloader bootloader_support bt cbor coap console cxx driver efuse esp-tls esp32 esp_adc_cal esp_common esp_eth esp_event esp_gdbstub esp_http_client esp_http_server esp_https_ota esp_https_server esp_local_ctrl esp_netif esp_ringbuf esp_rom esp_websocket_client esp_wifi espcoredump esptool_py expat fatfs freemodbus freertos heap idf_test jsmn json libsodium log lwip main mbedtls mdns mqtt newlib nghttp nvs_flash openssl partition_table perfmon protobuf-c protocomm pthread sdmmc soc spi_flash spiffs tcp_transport tcpip_adapter ulp unity vfs wear_levelling wifi_provisioning wpa_supplicant xtensa
-- Component paths: /Users/mauricio/esp/esp-idf/components/app_trace /Users/mauricio/esp/esp-idf/components/app_update /Users/mauricio/esp/esp-idf/components/asio /Users/mauricio/esp/esp-idf/components/bootloader /Users/mauricio/esp/esp-idf/components/bootloader_support /Users/mauricio/esp/esp-idf/components/bt /Users/mauricio/esp/esp-idf/components/cbor /Users/mauricio/esp/esp-idf/components/coap /Users/mauricio/esp/esp-idf/components/console /Users/mauricio/esp/esp-idf/components/cxx /Users/mauricio/esp/esp-idf/components/driver /Users/mauricio/esp/esp-idf/components/efuse /Users/mauricio/esp/esp-idf/components/esp-tls /Users/mauricio/esp/esp-idf/components/esp32 /Users/mauricio/esp/esp-idf/components/esp_adc_cal /Users/mauricio/esp/esp-idf/components/esp_common /Users/mauricio/esp/esp-idf/components/esp_eth /Users/mauricio/esp/esp-idf/components/esp_event /Users/mauricio/esp/esp-idf/components/esp_gdbstub /Users/mauricio/esp/esp-idf/components/esp_http_client /Users/mauricio/esp/esp-idf/components/esp_http_server /Users/mauricio/esp/esp-idf/components/esp_https_ota /Users/mauricio/esp/esp-idf/components/esp_https_server /Users/mauricio/esp/esp-idf/components/esp_local_ctrl /Users/mauricio/esp/esp-idf/components/esp_netif /Users/mauricio/esp/esp-idf/components/esp_ringbuf /Users/mauricio/esp/esp-idf/components/esp_rom /Users/mauricio/esp/esp-idf/components/esp_websocket_client /Users/mauricio/esp/esp-idf/components/esp_wifi /Users/mauricio/esp/esp-idf/components/espcoredump /Users/mauricio/esp/esp-idf/components/esptool_py /Users/mauricio/esp/esp-idf/components/expat /Users/mauricio/esp/esp-idf/components/fatfs /Users/mauricio/esp/esp-idf/components/freemodbus /Users/mauricio/esp/esp-idf/components/freertos /Users/mauricio/esp/esp-idf/components/heap /Users/mauricio/esp/esp-idf/components/idf_test /Users/mauricio/esp/esp-idf/components/jsmn /Users/mauricio/esp/esp-idf/components/json /Users/mauricio/esp/esp-idf/components/libsodium /Users/mauricio/esp/esp-idf/components/log /Users/mauricio/esp/esp-idf/components/lwip /Users/mauricio/esp/hello_world/main /Users/mauricio/esp/esp-idf/components/mbedtls /Users/mauricio/esp/esp-idf/components/mdns /Users/mauricio/esp/esp-idf/components/mqtt /Users/mauricio/esp/esp-idf/components/newlib /Users/mauricio/esp/esp-idf/components/nghttp /Users/mauricio/esp/esp-idf/components/nvs_flash /Users/mauricio/esp/esp-idf/components/openssl /Users/mauricio/esp/esp-idf/components/partition_table /Users/mauricio/esp/esp-idf/components/perfmon /Users/mauricio/esp/esp-idf/components/protobuf-c /Users/mauricio/esp/esp-idf/components/protocomm /Users/mauricio/esp/esp-idf/components/pthread /Users/mauricio/esp/esp-idf/components/sdmmc /Users/mauricio/esp/esp-idf/components/soc /Users/mauricio/esp/esp-idf/components/spi_flash /Users/mauricio/esp/esp-idf/components/spiffs /Users/mauricio/esp/esp-idf/components/tcp_transport /Users/mauricio/esp/esp-idf/components/tcpip_adapter /Users/mauricio/esp/esp-idf/components/ulp /Users/mauricio/esp/esp-idf/components/unity /Users/mauricio/esp/esp-idf/components/vfs /Users/mauricio/esp/esp-idf/components/wear_levelling /Users/mauricio/esp/esp-idf/components/wifi_provisioning /Users/mauricio/esp/esp-idf/components/wpa_supplicant /Users/mauricio/esp/esp-idf/components/xtensa
-- Configuring done
-- Generating done
-- Build files have been written to: /Users/mauricio/esp/hello_world/build
Running ninja in directory /Users/mauricio/esp/hello_world/build
Executing "ninja all"...
[661/859] Performing configure step for 'bootloader'
-- Found Git: /usr/bin/git (found version "2.21.0 (Apple Git-122.2)") 
-- The C compiler identification is GNU 8.2.0
-- The CXX compiler identification is GNU 8.2.0
-- The ASM compiler identification is GNU
-- Found assembler: /Users/mauricio/.espressif/tools/xtensa-esp32-elf/esp-2019r2-8.2.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-gcc
-- Check for working C compiler: /Users/mauricio/.espressif/tools/xtensa-esp32-elf/esp-2019r2-8.2.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-gcc
-- Check for working C compiler: /Users/mauricio/.espressif/tools/xtensa-esp32-elf/esp-2019r2-8.2.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /Users/mauricio/.espressif/tools/xtensa-esp32-elf/esp-2019r2-8.2.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-g++
-- Check for working CXX compiler: /Users/mauricio/.espressif/tools/xtensa-esp32-elf/esp-2019r2-8.2.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-g++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Project version: v4.1-dev-1086-g93a8603c5
-- Building ESP-IDF components for target esp32
-- Adding linker script /Users/mauricio/esp/esp-idf/components/esp32/ld/esp32.peripherals.ld
-- Adding linker script /Users/mauricio/esp/esp-idf/components/esp_rom/esp32/ld/esp32.rom.ld
-- Adding linker script /Users/mauricio/esp/esp-idf/components/esp_rom/esp32/ld/esp32.rom.newlib-funcs.ld
-- Adding linker script /Users/mauricio/esp/esp-idf/components/esp_rom/esp32/ld/esp32.rom.libgcc.ld
-- Adding linker script /Users/mauricio/esp/esp-idf/components/bootloader/subproject/main/ld/esp32/bootloader.ld
-- Adding linker script /Users/mauricio/esp/esp-idf/components/bootloader/subproject/main/ld/esp32/bootloader.rom.ld
-- Components: bootloader bootloader_support efuse esp32 esp_common esp_rom esptool_py freertos log main micro-ecc partition_table soc spi_flash xtensa
-- Component paths: /Users/mauricio/esp/esp-idf/components/bootloader /Users/mauricio/esp/esp-idf/components/bootloader_support /Users/mauricio/esp/esp-idf/components/efuse /Users/mauricio/esp/esp-idf/components/esp32 /Users/mauricio/esp/esp-idf/components/esp_common /Users/mauricio/esp/esp-idf/components/esp_rom /Users/mauricio/esp/esp-idf/components/esptool_py /Users/mauricio/esp/esp-idf/components/freertos /Users/mauricio/esp/esp-idf/components/log /Users/mauricio/esp/esp-idf/components/bootloader/subproject/main /Users/mauricio/esp/esp-idf/components/bootloader/subproject/components/micro-ecc /Users/mauricio/esp/esp-idf/components/partition_table /Users/mauricio/esp/esp-idf/components/soc /Users/mauricio/esp/esp-idf/components/spi_flash /Users/mauricio/esp/esp-idf/components/xtensa
-- Configuring done
-- Generating done
-- Build files have been written to: /Users/mauricio/esp/hello_world/build/bootloader
[755/859] Performing build step for 'bootloader'
[1/65] Generating project_elf_src.c
[2/65] Building C object CMakeFiles/bootloader.elf.dir/project_elf_src.c.obj
[3/65] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/gpio_periph.c.obj
[4/65] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/rtc_periph.c.obj
[5/65] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/rtc_pm.c.obj
[6/65] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/sdmmc_periph.c.obj
[7/65] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/cpu_util.c.obj
[8/65] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/interrupts.c.obj
[9/65] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/sdio_slave_periph.c.obj
[10/65] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/soc_memory_layout.c.obj
[11/65] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/spi_periph.c.obj
[12/65] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/ledc_periph.c.obj
[13/65] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/i2s_periph.c.obj
[14/65] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/rtc_time.c.obj
[15/65] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/rtc_init.c.obj
[16/65] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/src/lldesc.c.obj
[17/65] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/rtc_wdt.c.obj
[18/65] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/src/soc_include_legacy_warn.c.obj
[19/65] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/rtc_clk_init.c.obj
[20/65] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/src/memory_layout_utils.c.obj
[21/65] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/rtc_sleep.c.obj
[22/65] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/src/hal/spi_slave_hal.c.obj
[23/65] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/src/hal/spi_slave_hal_iram.c.obj
[24/65] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/src/hal/spi_flash_hal.c.obj
[25/65] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/esp32/esp_efuse_table.c.obj
[26/65] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/src/hal/spi_hal.c.obj
[27/65] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/src/esp32/esp_efuse_api.c.obj
[28/65] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/src/esp32/esp_efuse_fields.c.obj
[29/65] Building C object esp-idf/log/CMakeFiles/__idf_log.dir/log.c.obj
[30/65] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/src/hal/spi_hal_iram.c.obj
[31/65] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/rtc_clk.c.obj
[32/65] Linking C static library esp-idf/log/liblog.a
[33/65] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/src/esp_efuse_fields.c.obj
[34/65] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/src/hal/spi_flash_hal_iram.c.obj
[35/65] Linking C static library esp-idf/soc/libsoc.a
[36/65] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/src/esp32/esp_efuse_utility.c.obj
[37/65] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/src/esp_efuse_api.c.obj
[38/65] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_clock.c.obj
[39/65] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/flash_partitions.c.obj
[40/65] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_random.c.obj
[41/65] Building C object esp-idf/spi_flash/CMakeFiles/__idf_spi_flash.dir/esp32/spi_flash_rom_patch.c.obj
[42/65] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_flash.c.obj
[43/65] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_efuse_esp32.c.obj
[44/65] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/src/esp_efuse_utility.c.obj
[45/65] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/flash_encrypt.c.obj
[46/65] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/flash_qio_mode.c.obj
[47/65] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_common.c.obj
[48/65] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_flash_config_esp32.c.obj
[49/65] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/esp32/secure_boot_signatures.c.obj
[50/65] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/esp32/bootloader_sha.c.obj
[51/65] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/esp32/bootloader_esp32.c.obj
[52/65] Building C object esp-idf/main/CMakeFiles/__idf_main.dir/bootloader_start.c.obj
[53/65] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/esp_image_format.c.obj
[54/65] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/esp32/flash_encrypt.c.obj
[55/65] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/esp32/secure_boot.c.obj
[56/65] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_utility.c.obj
[57/65] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_init.c.obj
[58/65] Building C object esp-idf/micro-ecc/CMakeFiles/__idf_micro-ecc.dir/micro-ecc/uECC.c.obj
[59/65] Linking C static library esp-idf/micro-ecc/libmicro-ecc.a
[60/65] Linking C static library esp-idf/bootloader_support/libbootloader_support.a
[61/65] Linking C static library esp-idf/efuse/libefuse.a
[62/65] Linking C static library esp-idf/spi_flash/libspi_flash.a
[63/65] Linking C static library esp-idf/main/libmain.a
[64/65] Linking C executable bootloader.elf
[65/65] Generating binary image from built executable
esptool.py v2.9-dev
Generated /Users/mauricio/esp/hello_world/build/bootloader/bootloader.bin
[859/859] Generating binary image from built executable
esptool.py v2.9-dev
Generated /Users/mauricio/esp/hello_world/build/helloworld.bin

Project build complete. To flash, run this command:
/Users/mauricio/.espressif/python_env/idf4.1_py2.7_env/bin/python ../esp-idf/components/esptool_py/esptool/esptool.py -p (PORT) -b 460800 --before default_reset --after hard_reset write_flash --flash_mode dio --flash_size detect --flash_freq 40m 0x1000 build/bootloader/bootloader.bin 0x8000 build/partition_table/partition-table.bin 0x10000 build/helloworld.bin
or run 'idf.py -p (PORT) flash'

Build Directory Tree:

build/
├── [  87]  .bin_timestamp
├── [525K]  .ninja_deps
├── [104K]  .ninja_log
├── [ 35K]  CMakeCache.txt
├── [ 352]  CMakeFiles
│   ├── [ 352]  3.15.5
│   │   ├── [1.1K]  CMakeASMCompiler.cmake
│   │   ├── [3.4K]  CMakeCCompiler.cmake
│   │   ├── [6.4K]  CMakeCXXCompiler.cmake
│   │   ├── [1.1K]  CMakeDetermineCompilerABI_C.bin
│   │   ├── [1.1K]  CMakeDetermineCompilerABI_CXX.bin
│   │   ├── [ 416]  CMakeSystem.cmake
│   │   ├── [  64]  CompilerIdASM
│   │   ├── [ 160]  CompilerIdC
│   │   │   ├── [ 20K]  CMakeCCompilerId.c
│   │   │   ├── [4.0K]  a.out
│   │   │   └── [  64]  tmp
│   │   └── [ 160]  CompilerIdCXX
│   │       ├── [ 19K]  CMakeCXXCompilerId.cpp
│   │       ├── [4.0K]  a.out
│   │       └── [  64]  tmp
│   ├── [ 57K]  CMakeOutput.log
│   ├── [  64]  CMakeTmp
│   ├── [ 43K]  TargetDirectories.txt
│   ├── [   0]  bootloader-complete
│   ├── [ 128]  bootloader.dir
│   │   ├── [1.2K]  Labels.json
│   │   └── [ 962]  Labels.txt
│   ├── [  85]  cmake.check_cache
│   ├── [ 160]  git-data
│   │   ├── [  23]  HEAD
│   │   ├── [1.7K]  grabRef.cmake
│   │   └── [  41]  head-ref
│   └── [  96]  helloworld.elf.dir
│       └── [ 708]  project_elf_src.c.obj
├── [ 672]  bootloader
│   ├── [  98]  .bin_timestamp
│   ├── [ 40K]  .ninja_deps
│   ├── [7.1K]  .ninja_log
│   ├── [ 17K]  CMakeCache.txt
│   ├── [ 288]  CMakeFiles
│   │   ├── [ 352]  3.15.5
│   │   │   ├── [1.1K]  CMakeASMCompiler.cmake
│   │   │   ├── [3.4K]  CMakeCCompiler.cmake
│   │   │   ├── [6.4K]  CMakeCXXCompiler.cmake
│   │   │   ├── [1.1K]  CMakeDetermineCompilerABI_C.bin
│   │   │   ├── [1.1K]  CMakeDetermineCompilerABI_CXX.bin
│   │   │   ├── [ 416]  CMakeSystem.cmake
│   │   │   ├── [  64]  CompilerIdASM
│   │   │   ├── [ 160]  CompilerIdC
│   │   │   │   ├── [ 20K]  CMakeCCompilerId.c
│   │   │   │   ├── [4.0K]  a.out
│   │   │   │   └── [  64]  tmp
│   │   │   └── [ 160]  CompilerIdCXX
│   │   │       ├── [ 19K]  CMakeCXXCompilerId.cpp
│   │   │       ├── [4.0K]  a.out
│   │   │       └── [  64]  tmp
│   │   ├── [ 57K]  CMakeOutput.log
│   │   ├── [  64]  CMakeTmp
│   │   ├── [5.0K]  TargetDirectories.txt
│   │   ├── [  96]  bootloader.elf.dir
│   │   │   └── [ 708]  project_elf_src.c.obj
│   │   ├── [  85]  cmake.check_cache
│   │   └── [ 160]  git-data
│   │       ├── [  23]  HEAD
│   │       ├── [1.8K]  grabRef.cmake
│   │       └── [  41]  head-ref
│   ├── [ 25K]  bootloader.bin
│   ├── [552K]  bootloader.elf
│   ├── [322K]  bootloader.map
│   ├── [175K]  build.ninja
│   ├── [1.6K]  cmake_install.cmake
│   ├── [ 84K]  compile_commands.json
│   ├── [ 192]  config
│   │   ├── [244K]  kconfig_menus.json
│   │   ├── [ 22K]  sdkconfig.cmake
│   │   ├── [6.9K]  sdkconfig.h
│   │   └── [8.7K]  sdkconfig.json
│   ├── [1.3K]  config.env
│   ├── [ 608]  esp-idf
│   │   ├── [  64]  CMakeFiles
│   │   ├── [ 128]  bootloader
│   │   │   ├── [  64]  CMakeFiles
│   │   │   └── [ 999]  cmake_install.cmake
│   │   ├── [ 160]  bootloader_support
│   │   │   ├── [  96]  CMakeFiles
│   │   │   │   └── [  96]  __idf_bootloader_support.dir
│   │   │   │       └── [ 480]  src
│   │   │   │           ├── [ 56K]  bootloader_clock.c.obj
│   │   │   │           ├── [ 79K]  bootloader_common.c.obj
│   │   │   │           ├── [ 11K]  bootloader_efuse_esp32.c.obj
│   │   │   │           ├── [ 51K]  bootloader_flash.c.obj
│   │   │   │           ├── [ 26K]  bootloader_flash_config_esp32.c.obj
│   │   │   │           ├── [135K]  bootloader_init.c.obj
│   │   │   │           ├── [ 74K]  bootloader_random.c.obj
│   │   │   │           ├── [126K]  bootloader_utility.c.obj
│   │   │   │           ├── [ 224]  esp32
│   │   │   │           │   ├── [ 13K]  bootloader_esp32.c.obj
│   │   │   │           │   ├── [ 26K]  bootloader_sha.c.obj
│   │   │   │           │   ├── [ 72K]  flash_encrypt.c.obj
│   │   │   │           │   ├── [ 65K]  secure_boot.c.obj
│   │   │   │           │   └── [ 20K]  secure_boot_signatures.c.obj
│   │   │   │           ├── [ 78K]  esp_image_format.c.obj
│   │   │   │           ├── [ 16K]  flash_encrypt.c.obj
│   │   │   │           ├── [ 18K]  flash_partitions.c.obj
│   │   │   │           └── [ 53K]  flash_qio_mode.c.obj
│   │   │   ├── [1007]  cmake_install.cmake
│   │   │   └── [924K]  libbootloader_support.a
│   │   ├── [2.5K]  cmake_install.cmake
│   │   ├── [ 160]  efuse
│   │   │   ├── [  96]  CMakeFiles
│   │   │   │   └── [ 128]  __idf_efuse.dir
│   │   │   │       ├── [  96]  esp32
│   │   │   │       │   └── [ 26K]  esp_efuse_table.c.obj
│   │   │   │       └── [ 192]  src
│   │   │   │           ├── [ 160]  esp32
│   │   │   │           │   ├── [ 18K]  esp_efuse_api.c.obj
│   │   │   │           │   ├── [ 20K]  esp_efuse_fields.c.obj
│   │   │   │           │   └── [ 30K]  esp_efuse_utility.c.obj
│   │   │   │           ├── [ 36K]  esp_efuse_api.c.obj
│   │   │   │           ├── [ 16K]  esp_efuse_fields.c.obj
│   │   │   │           └── [ 55K]  esp_efuse_utility.c.obj
│   │   │   ├── [ 994]  cmake_install.cmake
│   │   │   └── [203K]  libefuse.a
│   │   ├── [ 128]  esp32
│   │   │   ├── [  64]  CMakeFiles
│   │   │   └── [ 994]  cmake_install.cmake
│   │   ├── [ 128]  esp_common
│   │   │   ├── [  64]  CMakeFiles
│   │   │   └── [ 999]  cmake_install.cmake
│   │   ├── [ 128]  esp_rom
│   │   │   ├── [  64]  CMakeFiles
│   │   │   └── [ 996]  cmake_install.cmake
│   │   ├── [ 128]  esptool_py
│   │   │   ├── [  64]  CMakeFiles
│   │   │   └── [ 999]  cmake_install.cmake
│   │   ├── [ 128]  freertos
│   │   │   ├── [  64]  CMakeFiles
│   │   │   └── [ 997]  cmake_install.cmake
│   │   ├── [ 160]  log
│   │   │   ├── [  96]  CMakeFiles
│   │   │   │   └── [  96]  __idf_log.dir
│   │   │   │       └── [ 36K]  log.c.obj
│   │   │   ├── [ 992]  cmake_install.cmake
│   │   │   └── [ 36K]  liblog.a
│   │   ├── [ 160]  main
│   │   │   ├── [  96]  CMakeFiles
│   │   │   │   └── [  96]  __idf_main.dir
│   │   │   │       └── [ 17K]  bootloader_start.c.obj
│   │   │   ├── [1015]  cmake_install.cmake
│   │   │   └── [ 17K]  libmain.a
│   │   ├── [ 160]  micro-ecc
│   │   │   ├── [  96]  CMakeFiles
│   │   │   │   └── [  96]  __idf_micro-ecc.dir
│   │   │   │       └── [  96]  micro-ecc
│   │   │   │           └── [181K]  uECC.c.obj
│   │   │   ├── [1.0K]  cmake_install.cmake
│   │   │   └── [181K]  libmicro-ecc.a
│   │   ├── [ 128]  partition_table
│   │   │   ├── [  64]  CMakeFiles
│   │   │   └── [1004]  cmake_install.cmake
│   │   ├── [ 160]  soc
│   │   │   ├── [  96]  CMakeFiles
│   │   │   │   └── [ 128]  __idf_soc.dir
│   │   │   │       ├── [ 608]  esp32
│   │   │   │       │   ├── [ 38K]  cpu_util.c.obj
│   │   │   │       │   ├── [7.1K]  gpio_periph.c.obj
│   │   │   │       │   ├── [ 18K]  i2s_periph.c.obj
│   │   │   │       │   ├── [4.2K]  interrupts.c.obj
│   │   │   │       │   ├── [9.4K]  ledc_periph.c.obj
│   │   │   │       │   ├── [120K]  rtc_clk.c.obj
│   │   │   │       │   ├── [ 77K]  rtc_clk_init.c.obj
│   │   │   │       │   ├── [ 50K]  rtc_init.c.obj
│   │   │   │       │   ├── [ 29K]  rtc_periph.c.obj
│   │   │   │       │   ├── [ 32K]  rtc_pm.c.obj
│   │   │   │       │   ├── [ 70K]  rtc_sleep.c.obj
│   │   │   │       │   ├── [ 53K]  rtc_time.c.obj
│   │   │   │       │   ├── [ 51K]  rtc_wdt.c.obj
│   │   │   │       │   ├── [ 58K]  sdio_slave_periph.c.obj
│   │   │   │       │   ├── [ 12K]  sdmmc_periph.c.obj
│   │   │   │       │   ├── [1.1K]  soc_memory_layout.c.obj
│   │   │   │       │   └── [ 26K]  spi_periph.c.obj
│   │   │   │       └── [ 192]  src
│   │   │   │           ├── [ 256]  hal
│   │   │   │           │   ├── [ 40K]  spi_flash_hal.c.obj
│   │   │   │           │   ├── [ 74K]  spi_flash_hal_iram.c.obj
│   │   │   │           │   ├── [ 61K]  spi_hal.c.obj
│   │   │   │           │   ├── [ 69K]  spi_hal_iram.c.obj
│   │   │   │           │   ├── [ 43K]  spi_slave_hal.c.obj
│   │   │   │           │   └── [ 49K]  spi_slave_hal_iram.c.obj
│   │   │   │           ├── [6.8K]  lldesc.c.obj
│   │   │   │           ├── [ 24K]  memory_layout_utils.c.obj
│   │   │   │           └── [1.1K]  soc_include_legacy_warn.c.obj
│   │   │   ├── [ 992]  cmake_install.cmake
│   │   │   └── [1.0M]  libsoc.a
│   │   ├── [ 160]  spi_flash
│   │   │   ├── [  96]  CMakeFiles
│   │   │   │   └── [  96]  __idf_spi_flash.dir
│   │   │   │       └── [  96]  esp32
│   │   │   │           └── [ 88K]  spi_flash_rom_patch.c.obj
│   │   │   ├── [ 998]  cmake_install.cmake
│   │   │   └── [ 88K]  libspi_flash.a
│   │   └── [ 128]  xtensa
│   │       ├── [  64]  CMakeFiles
│   │       └── [ 995]  cmake_install.cmake
│   ├── [ 381]  kconfigs.in
│   ├── [ 235]  kconfigs_projbuild.in
│   ├── [2.3K]  project_description.json
│   ├── [   0]  project_elf_src.c
│   └── [9.1K]  rules.ninja
├── [ 128]  bootloader-prefix
│   ├── [  96]  src
│   │   └── [ 288]  bootloader-stamp
│   │       ├── [   0]  bootloader-configure
│   │       ├── [   0]  bootloader-done
│   │       ├── [   0]  bootloader-download
│   │       ├── [   0]  bootloader-install
│   │       ├── [   0]  bootloader-mkdir
│   │       ├── [   0]  bootloader-patch
│   │       └── [   0]  bootloader-update
│   └── [ 128]  tmp
│       ├── [ 400]  bootloader-cfgcmd.txt
│       └── [  12]  bootloader-cfgcmd.txt.in
├── [2.8M]  build.ninja
├── [1.5K]  cmake_install.cmake
├── [2.2M]  compile_commands.json
├── [ 192]  config
│   ├── [849K]  kconfig_menus.json
│   ├── [ 49K]  sdkconfig.cmake
│   ├── [ 18K]  sdkconfig.h
│   └── [ 21K]  sdkconfig.json
├── [3.8K]  config.env
├── [2.2K]  esp-idf
│   ├── [  64]  CMakeFiles
│   ├── [ 160]  app_trace
│   │   ├── [  96]  CMakeFiles
│   │   │   └── [ 192]  __idf_app_trace.dir
│   │   │       ├── [ 19K]  app_trace.c.obj
│   │   │       ├── [ 32K]  app_trace_util.c.obj
│   │   │       ├── [  96]  gcov
│   │   │       │   └── [ 19K]  gcov_rtio.c.obj
│   │   │       └── [ 14K]  host_file_io.c.obj
│   │   ├── [ 998]  cmake_install.cmake
│   │   └── [ 83K]  libapp_trace.a
│   ├── [ 160]  app_update
│   │   ├── [  96]  CMakeFiles
│   │   │   └── [ 128]  __idf_app_update.dir
│   │   │       ├── [ 17K]  esp_app_desc.c.obj
│   │   │       └── [101K]  esp_ota_ops.c.obj
│   │   ├── [ 999]  cmake_install.cmake
│   │   └── [119K]  libapp_update.a
│   ├── [ 160]  asio
│   │   ├── [  96]  CMakeFiles
│   │   │   └── [  96]  __idf_asio.dir
│   │   │       └── [  96]  asio
│   │   │           └── [  96]  asio
│   │   │               └── [  96]  src
│   │   │                   └── [2.3M]  asio.cpp.obj
│   │   ├── [ 993]  cmake_install.cmake
│   │   └── [2.3M]  libasio.a
│   ├── [ 160]  bootloader
│   │   ├── [  64]  CMakeFiles
│   │   ├── [ 999]  cmake_install.cmake
│   │   └── [  87]  flash_bootloader_args.in.in2
│   ├── [ 160]  bootloader_support
│   │   ├── [  96]  CMakeFiles
│   │   │   └── [  96]  __idf_bootloader_support.dir
│   │   │       └── [ 448]  src
│   │   │           ├── [ 56K]  bootloader_clock.c.obj
│   │   │           ├── [ 82K]  bootloader_common.c.obj
│   │   │           ├── [ 12K]  bootloader_efuse_esp32.c.obj
│   │   │           ├── [ 23K]  bootloader_flash.c.obj
│   │   │           ├── [ 35K]  bootloader_flash_config_esp32.c.obj
│   │   │           ├── [ 81K]  bootloader_random.c.obj
│   │   │           ├── [129K]  bootloader_utility.c.obj
│   │   │           ├── [ 70K]  esp_image_format.c.obj
│   │   │           ├── [ 20K]  flash_encrypt.c.obj
│   │   │           ├── [ 19K]  flash_partitions.c.obj
│   │   │           ├── [ 53K]  flash_qio_mode.c.obj
│   │   │           └── [ 128]  idf
│   │   │               ├── [ 16K]  bootloader_sha.c.obj
│   │   │               └── [ 24K]  secure_boot_signatures.c.obj
│   │   ├── [1007]  cmake_install.cmake
│   │   └── [620K]  libbootloader_support.a
│   ├── [ 128]  bt
│   │   ├── [  64]  CMakeFiles
│   │   └── [ 991]  cmake_install.cmake
│   ├── [ 160]  cbor
│   │   ├── [  96]  CMakeFiles
│   │   │   └── [  96]  __idf_cbor.dir
│   │   │       └── [  96]  tinycbor
│   │   │           └── [ 384]  src
│   │   │               ├── [ 90K]  cborencoder.c.obj
│   │   │               ├── [ 11K]  cborencoder_close_container_checked.c.obj
│   │   │               ├── [ 20K]  cborerrorstrings.c.obj
│   │   │               ├── [ 92K]  cborparser.c.obj
│   │   │               ├── [ 14K]  cborparser_dup_string.c.obj
│   │   │               ├── [ 74K]  cborpretty.c.obj
│   │   │               ├── [ 15K]  cborpretty_stdio.c.obj
│   │   │               ├── [ 92K]  cbortojson.c.obj
│   │   │               ├── [ 74K]  cborvalidation.c.obj
│   │   │               └── [ 17K]  open_memstream.c.obj
│   │   ├── [ 993]  cmake_install.cmake
│   │   └── [501K]  libcbor.a
│   ├── [6.9K]  cmake_install.cmake
│   ├── [ 160]  coap
│   │   ├── [  96]  CMakeFiles
│   │   │   └── [ 128]  __idf_coap.dir
│   │   │       ├── [  96]  libcoap
│   │   │       │   └── [ 608]  src
│   │   │       │       ├── [ 26K]  address.c.obj
│   │   │       │       ├── [ 39K]  async.c.obj
│   │   │       │       ├── [ 54K]  block.c.obj
│   │   │       │       ├── [ 27K]  coap_event.c.obj
│   │   │       │       ├── [ 21K]  coap_hashkey.c.obj
│   │   │       │       ├── [164K]  coap_io.c.obj
│   │   │       │       ├── [159K]  coap_session.c.obj
│   │   │       │       ├── [ 27K]  coap_time.c.obj
│   │   │       │       ├── [ 26K]  encode.c.obj
│   │   │       │       ├── [ 22K]  mem.c.obj
│   │   │       │       ├── [252K]  net.c.obj
│   │   │       │       ├── [ 89K]  option.c.obj
│   │   │       │       ├── [ 92K]  pdu.c.obj
│   │   │       │       ├── [140K]  resource.c.obj
│   │   │       │       ├── [ 26K]  str.c.obj
│   │   │       │       ├── [ 30K]  subscribe.c.obj
│   │   │       │       └── [ 80K]  uri.c.obj
│   │   │       └── [ 160]  port
│   │   │           ├── [103K]  coap_debug.c.obj
│   │   │           ├── [198K]  coap_mbedtls.c.obj
│   │   │           └── [ 18K]  coap_notls.c.obj
│   │   ├── [ 993]  cmake_install.cmake
│   │   └── [1.6M]  libcoap.a
│   ├── [ 160]  console
│   │   ├── [  96]  CMakeFiles
│   │   │   └── [ 192]  __idf_console.dir
│   │   │       ├── [  96]  argtable3
│   │   │       │   └── [329K]  argtable3.c.obj
│   │   │       ├── [ 32K]  commands.c.obj
│   │   │       ├── [  96]  linenoise
│   │   │       │   └── [110K]  linenoise.c.obj
│   │   │       └── [ 15K]  split_argv.c.obj
│   │   ├── [ 996]  cmake_install.cmake
│   │   └── [488K]  libconsole.a
│   ├── [ 160]  cxx
│   │   ├── [  96]  CMakeFiles
│   │   │   └── [ 128]  __idf_cxx.dir
│   │   │       ├── [ 21K]  cxx_exception_stubs.cpp.obj
│   │   │       └── [ 44K]  cxx_guards.cpp.obj
│   │   ├── [ 992]  cmake_install.cmake
│   │   └── [ 66K]  libcxx.a
│   ├── [ 160]  driver
│   │   ├── [  96]  CMakeFiles
│   │   │   └── [ 768]  __idf_driver.dir
│   │   │       ├── [146K]  can.c.obj
│   │   │       ├── [161K]  gpio.c.obj
│   │   │       ├── [243K]  i2c.c.obj
│   │   │       ├── [242K]  i2s.c.obj
│   │   │       ├── [212K]  ledc.c.obj
│   │   │       ├── [188K]  mcpwm.c.obj
│   │   │       ├── [113K]  pcnt.c.obj
│   │   │       ├── [ 40K]  periph_ctrl.c.obj
│   │   │       ├── [200K]  rmt.c.obj
│   │   │       ├── [387K]  rtc_module.c.obj
│   │   │       ├── [230K]  sdio_slave.c.obj
│   │   │       ├── [ 91K]  sdmmc_host.c.obj
│   │   │       ├── [ 98K]  sdmmc_transaction.c.obj
│   │   │       ├── [6.6K]  sdspi_crc.c.obj
│   │   │       ├── [131K]  sdspi_host.c.obj
│   │   │       ├── [ 36K]  sdspi_transaction.c.obj
│   │   │       ├── [ 35K]  sigmadelta.c.obj
│   │   │       ├── [110K]  spi_common.c.obj
│   │   │       ├── [205K]  spi_master.c.obj
│   │   │       ├── [114K]  spi_slave.c.obj
│   │   │       ├── [139K]  timer.c.obj
│   │   │       └── [293K]  uart.c.obj
│   │   ├── [ 995]  cmake_install.cmake
│   │   └── [3.4M]  libdriver.a
│   ├── [ 160]  efuse
│   │   ├── [  96]  CMakeFiles
│   │   │   └── [ 128]  __idf_efuse.dir
│   │   │       ├── [  96]  esp32
│   │   │       │   └── [ 26K]  esp_efuse_table.c.obj
│   │   │       └── [ 192]  src
│   │   │           ├── [ 160]  esp32
│   │   │           │   ├── [ 18K]  esp_efuse_api.c.obj
│   │   │           │   ├── [ 21K]  esp_efuse_fields.c.obj
│   │   │           │   └── [ 35K]  esp_efuse_utility.c.obj
│   │   │           ├── [ 39K]  esp_efuse_api.c.obj
│   │   │           ├── [ 15K]  esp_efuse_fields.c.obj
│   │   │           └── [ 58K]  esp_efuse_utility.c.obj
│   │   ├── [ 994]  cmake_install.cmake
│   │   └── [215K]  libefuse.a
│   ├── [ 160]  esp-tls
│   │   ├── [  96]  CMakeFiles
│   │   │   └── [ 128]  __idf_esp-tls.dir
│   │   │       ├── [100K]  esp_tls.c.obj
│   │   │       └── [111K]  esp_tls_mbedtls.c.obj
│   │   ├── [ 996]  cmake_install.cmake
│   │   └── [213K]  libesp-tls.a
│   ├── [ 224]  esp32
│   │   ├── [  96]  CMakeFiles
│   │   │   └── [ 800]  __idf_esp32.dir
│   │   │       ├── [ 45K]  brownout.c.obj
│   │   │       ├── [ 20K]  cache_err_int.c.obj
│   │   │       ├── [ 24K]  cache_sram_mmu.c.obj
│   │   │       ├── [110K]  clk.c.obj
│   │   │       ├── [109K]  cpu_start.c.obj
│   │   │       ├── [ 65K]  crosscore_int.c.obj
│   │   │       ├── [ 71K]  dport_access.c.obj
│   │   │       ├── [6.4K]  dport_panic_highint_hdl.S.obj
│   │   │       ├── [ 93K]  esp_adapter.c.obj
│   │   │       ├── [ 44K]  esp_himem.c.obj
│   │   │       ├── [ 74K]  esp_timer_esp32.c.obj
│   │   │       ├── [ 20K]  hw_random.c.obj
│   │   │       ├── [ 32K]  int_wdt.c.obj
│   │   │       ├── [ 89K]  intr_alloc.c.obj
│   │   │       ├── [133K]  panic.c.obj
│   │   │       ├── [ 81K]  pm_esp32.c.obj
│   │   │       ├── [ 24K]  pm_trace.c.obj
│   │   │       ├── [ 44K]  reset_reason.c.obj
│   │   │       ├── [161K]  sleep_modes.c.obj
│   │   │       ├── [ 38K]  spiram.c.obj
│   │   │       ├── [ 42K]  spiram_psram.c.obj
│   │   │       ├── [ 85K]  system_api_esp32.c.obj
│   │   │       └── [ 65K]  task_wdt.c.obj
│   │   ├── [ 994]  cmake_install.cmake
│   │   ├── [3.3K]  esp32_out.ld
│   │   ├── [  96]  ld
│   │   │   └── [ 26K]  esp32.project.ld
│   │   └── [1.4M]  libesp32.a
│   ├── [ 160]  esp_adc_cal
│   │   ├── [  96]  CMakeFiles
│   │   │   └── [  96]  __idf_esp_adc_cal.dir
│   │   │       └── [ 60K]  esp_adc_cal.c.obj
│   │   ├── [1000]  cmake_install.cmake
│   │   └── [ 61K]  libesp_adc_cal.a
│   ├── [ 160]  esp_common
│   │   ├── [  96]  CMakeFiles
│   │   │   └── [  96]  __idf_esp_common.dir
│   │   │       └── [ 384]  src
│   │   │           ├── [ 22K]  dbg_stubs.c.obj
│   │   │           ├── [ 41K]  esp_err_to_name.c.obj
│   │   │           ├── [ 57K]  esp_timer.c.obj
│   │   │           ├── [ 29K]  ets_timer_legacy.c.obj
│   │   │           ├── [ 59K]  freertos_hooks.c.obj
│   │   │           ├── [ 30K]  ipc.c.obj
│   │   │           ├── [ 31K]  mac_addr.c.obj
│   │   │           ├── [ 44K]  pm_locks.c.obj
│   │   │           ├── [7.2K]  stack_check.c.obj
│   │   │           └── [ 23K]  system_api.c.obj
│   │   ├── [ 999]  cmake_install.cmake
│   │   └── [346K]  libesp_common.a
│   ├── [ 160]  esp_eth
│   │   ├── [  96]  CMakeFiles
│   │   │   └── [  96]  __idf_esp_eth.dir
│   │   │       └── [ 320]  src
│   │   │           ├── [118K]  esp_eth.c.obj
│   │   │           ├── [210K]  esp_eth_mac_dm9051.c.obj
│   │   │           ├── [138K]  esp_eth_mac_esp32.c.obj
│   │   │           ├── [ 94K]  esp_eth_phy_dm9051.c.obj
│   │   │           ├── [ 90K]  esp_eth_phy_dp83848.c.obj
│   │   │           ├── [ 92K]  esp_eth_phy_ip101.c.obj
│   │   │           ├── [ 90K]  esp_eth_phy_lan8720.c.obj
│   │   │           └── [ 92K]  esp_eth_phy_rtl8201.c.obj
│   │   ├── [ 996]  cmake_install.cmake
│   │   └── [927K]  libesp_eth.a
│   ├── [ 160]  esp_event
│   │   ├── [  96]  CMakeFiles
│   │   │   └── [ 224]  __idf_esp_event.dir
│   │   │       ├── [ 72K]  default_event_loop.c.obj
│   │   │       ├── [100K]  esp_event.c.obj
│   │   │       ├── [ 24K]  esp_event_private.c.obj
│   │   │       ├── [ 34K]  event_loop_legacy.c.obj
│   │   │       └── [ 37K]  event_send.c.obj
│   │   ├── [ 998]  cmake_install.cmake
│   │   └── [269K]  libesp_event.a
│   ├── [ 160]  esp_gdbstub
│   │   ├── [  96]  CMakeFiles
│   │   │   └── [ 160]  __idf_esp_gdbstub.dir
│   │   │       ├── [  96]  esp32
│   │   │       │   └── [ 33K]  gdbstub_esp32.c.obj
│   │   │       ├── [ 128]  src
│   │   │       │   ├── [ 32K]  gdbstub.c.obj
│   │   │       │   └── [ 26K]  packet.c.obj
│   │   │       └── [  96]  xtensa
│   │   │           └── [ 24K]  gdbstub_xtensa.c.obj
│   │   ├── [1000]  cmake_install.cmake
│   │   └── [116K]  libesp_gdbstub.a
│   ├── [ 160]  esp_http_client
│   │   ├── [  96]  CMakeFiles
│   │   │   └── [ 128]  __idf_esp_http_client.dir
│   │   │       ├── [181K]  esp_http_client.c.obj
│   │   │       └── [ 160]  lib
│   │   │           ├── [ 39K]  http_auth.c.obj
│   │   │           ├── [ 41K]  http_header.c.obj
│   │   │           └── [ 23K]  http_utils.c.obj
│   │   ├── [1004]  cmake_install.cmake
│   │   └── [286K]  libesp_http_client.a
│   ├── [ 160]  esp_http_server
│   │   ├── [  96]  CMakeFiles
│   │   │   └── [  96]  __idf_esp_http_server.dir
│   │   │       └── [ 256]  src
│   │   │           ├── [ 84K]  httpd_main.c.obj
│   │   │           ├── [110K]  httpd_parse.c.obj
│   │   │           ├── [ 68K]  httpd_sess.c.obj
│   │   │           ├── [ 87K]  httpd_txrx.c.obj
│   │   │           ├── [ 60K]  httpd_uri.c.obj
│   │   │           └── [  96]  util
│   │   │               └── [ 29K]  ctrl_sock.c.obj
│   │   ├── [1004]  cmake_install.cmake
│   │   └── [440K]  libesp_http_server.a
│   ├── [ 160]  esp_https_ota
│   │   ├── [  96]  CMakeFiles
│   │   │   └── [  96]  __idf_esp_https_ota.dir
│   │   │       └── [  96]  src
│   │   │           └── [ 68K]  esp_https_ota.c.obj
│   │   ├── [1002]  cmake_install.cmake
│   │   └── [ 68K]  libesp_https_ota.a
│   ├── [ 128]  esp_https_server
│   │   ├── [  64]  CMakeFiles
│   │   └── [1005]  cmake_install.cmake
│   ├── [ 160]  esp_local_ctrl
│   │   ├── [  96]  CMakeFiles
│   │   │   └── [ 128]  __idf_esp_local_ctrl.dir
│   │   │       ├── [  96]  proto-c
│   │   │       │   └── [110K]  esp_local_ctrl.pb-c.c.obj
│   │   │       └── [ 128]  src
│   │   │           ├── [ 63K]  esp_local_ctrl.c.obj
│   │   │           └── [ 50K]  esp_local_ctrl_handler.c.obj
│   │   ├── [1003]  cmake_install.cmake
│   │   └── [227K]  libesp_local_ctrl.a
│   ├── [ 160]  esp_netif
│   │   ├── [  96]  CMakeFiles
│   │   │   └── [ 224]  __idf_esp_netif.dir
│   │   │       ├── [ 46K]  esp_netif_defaults.c.obj
│   │   │       ├── [ 31K]  esp_netif_handlers.c.obj
│   │   │       ├── [ 40K]  esp_netif_objects.c.obj
│   │   │       ├── [  96]  loopback
│   │   │       │   └── [ 20K]  esp_netif_loopback.c.obj
│   │   │       └── [ 160]  lwip
│   │   │           ├── [204K]  esp_netif_lwip.c.obj
│   │   │           ├── [ 31K]  esp_netif_lwip_defaults.c.obj
│   │   │           └── [ 22K]  esp_netif_sta_list.c.obj
│   │   ├── [ 998]  cmake_install.cmake
│   │   └── [395K]  libesp_netif.a
│   ├── [ 160]  esp_ringbuf
│   │   ├── [  96]  CMakeFiles
│   │   │   └── [  96]  __idf_esp_ringbuf.dir
│   │   │       └── [158K]  ringbuf.c.obj
│   │   ├── [1000]  cmake_install.cmake
│   │   └── [159K]  libesp_ringbuf.a
│   ├── [ 160]  esp_rom
│   │   ├── [  96]  CMakeFiles
│   │   │   └── [  96]  __idf_esp_rom.dir
│   │   │       └── [1.0K]  esp_rom.c.obj
│   │   ├── [ 996]  cmake_install.cmake
│   │   └── [1.1K]  libesp_rom.a
│   ├── [ 160]  esp_websocket_client
│   │   ├── [  96]  CMakeFiles
│   │   │   └── [  96]  __idf_esp_websocket_client.dir
│   │   │       └── [119K]  esp_websocket_client.c.obj
│   │   ├── [1009]  cmake_install.cmake
│   │   └── [119K]  libesp_websocket_client.a
│   ├── [ 160]  esp_wifi
│   │   ├── [  96]  CMakeFiles
│   │   │   └── [  96]  __idf_esp_wifi.dir
│   │   │       └── [ 352]  src
│   │   │           ├── [ 12K]  coexist.c.obj
│   │   │           ├── [ 24K]  lib_printf.c.obj
│   │   │           ├── [ 20K]  mesh_event.c.obj
│   │   │           ├── [120K]  phy_init.c.obj
│   │   │           ├── [ 34K]  smartconfig.c.obj
│   │   │           ├── [ 50K]  smartconfig_ack.c.obj
│   │   │           ├── [ 72K]  wifi_default.c.obj
│   │   │           ├── [ 60K]  wifi_init.c.obj
│   │   │           └── [ 43K]  wifi_netif.c.obj
│   │   ├── [ 997]  cmake_install.cmake
│   │   └── [439K]  libesp_wifi.a
│   ├── [ 160]  espcoredump
│   │   ├── [  96]  CMakeFiles
│   │   │   └── [  96]  __idf_espcoredump.dir
│   │   │       └── [ 192]  src
│   │   │           ├── [ 29K]  core_dump_common.c.obj
│   │   │           ├── [ 18K]  core_dump_flash.c.obj
│   │   │           ├── [ 15K]  core_dump_port.c.obj
│   │   │           └── [ 28K]  core_dump_uart.c.obj
│   │   ├── [1000]  cmake_install.cmake
│   │   └── [ 89K]  libespcoredump.a
│   ├── [ 256]  esptool_py
│   │   ├── [  64]  CMakeFiles
│   │   ├── [ 999]  cmake_install.cmake
│   │   ├── [ 117]  flash_project_args.in
│   │   ├── [ 193]  flash_project_args.in2
│   │   ├── [ 587]  flasher_args.json.in
│   │   └── [ 885]  flasher_args.json.in2
│   ├── [ 160]  expat
│   │   ├── [  96]  CMakeFiles
│   │   │   └── [  96]  __idf_expat.dir
│   │   │       └── [  96]  expat
│   │   │           └── [  96]  expat
│   │   │               └── [ 256]  lib
│   │   │                   ├── [1.5K]  loadlibrary.c.obj
│   │   │                   ├── [565K]  xmlparse.c.obj
│   │   │                   ├── [136K]  xmlrole.c.obj
│   │   │                   ├── [736K]  xmltok.c.obj
│   │   │                   ├── [1.0K]  xmltok_impl.c.obj
│   │   │                   └── [1.0K]  xmltok_ns.c.obj
│   │   ├── [ 994]  cmake_install.cmake
│   │   └── [1.4M]  libexpat.a
│   ├── [ 160]  fatfs
│   │   ├── [  96]  CMakeFiles
│   │   │   └── [ 192]  __idf_fatfs.dir
│   │   │       ├── [ 192]  diskio
│   │   │       │   ├── [ 29K]  diskio.c.obj
│   │   │       │   ├── [ 33K]  diskio_rawflash.c.obj
│   │   │       │   ├── [ 31K]  diskio_sdmmc.c.obj
│   │   │       │   └── [ 36K]  diskio_wl.c.obj
│   │   │       ├── [  96]  port
│   │   │       │   └── [  96]  freertos
│   │   │       │       └── [ 21K]  ffsystem.c.obj
│   │   │       ├── [ 128]  src
│   │   │       │   ├── [253K]  ff.c.obj
│   │   │       │   └── [ 14K]  ffunicode.c.obj
│   │   │       └── [ 160]  vfs
│   │   │           ├── [133K]  vfs_fat.c.obj
│   │   │           ├── [ 70K]  vfs_fat_sdmmc.c.obj
│   │   │           └── [ 75K]  vfs_fat_spiflash.c.obj
│   │   ├── [ 994]  cmake_install.cmake
│   │   └── [696K]  libfatfs.a
│   ├── [ 160]  freemodbus
│   │   ├── [  96]  CMakeFiles
│   │   │   └── [ 224]  __idf_freemodbus.dir
│   │   │       ├── [ 128]  common
│   │   │       │   ├── [ 73K]  esp_modbus_master.c.obj
│   │   │       │   └── [ 63K]  esp_modbus_slave.c.obj
│   │   │       ├── [ 256]  modbus
│   │   │       │   ├── [  96]  ascii
│   │   │       │   │   └── [ 46K]  mbascii.c.obj
│   │   │       │   ├── [ 416]  functions
│   │   │       │   │   ├── [ 28K]  mbfunccoils.c.obj
│   │   │       │   │   ├── [ 39K]  mbfunccoils_m.c.obj
│   │   │       │   │   ├── [1.0K]  mbfuncdiag.c.obj
│   │   │       │   │   ├── [ 20K]  mbfuncdisc.c.obj
│   │   │       │   │   ├── [ 25K]  mbfuncdisc_m.c.obj
│   │   │       │   │   ├── [ 32K]  mbfuncholding.c.obj
│   │   │       │   │   ├── [ 46K]  mbfuncholding_m.c.obj
│   │   │       │   │   ├── [ 20K]  mbfuncinput.c.obj
│   │   │       │   │   ├── [ 25K]  mbfuncinput_m.c.obj
│   │   │       │   │   ├── [ 14K]  mbfuncother.c.obj
│   │   │       │   │   └── [ 23K]  mbutils.c.obj
│   │   │       │   ├── [ 40K]  mb.c.obj
│   │   │       │   ├── [ 45K]  mb_m.c.obj
│   │   │       │   ├── [ 160]  rtu
│   │   │       │   │   ├── [ 18K]  mbcrc.c.obj
│   │   │       │   │   ├── [ 38K]  mbrtu.c.obj
│   │   │       │   │   └── [ 47K]  mbrtu_m.c.obj
│   │   │       │   └── [  96]  tcp
│   │   │       │       └── [ 23K]  mbtcp.c.obj
│   │   │       ├── [ 352]  port
│   │   │       │   ├── [ 16K]  port.c.obj
│   │   │       │   ├── [ 40K]  portevent.c.obj
│   │   │       │   ├── [ 60K]  portevent_m.c.obj
│   │   │       │   ├── [ 34K]  portother.c.obj
│   │   │       │   ├── [ 19K]  portother_m.c.obj
│   │   │       │   ├── [ 64K]  portserial.c.obj
│   │   │       │   ├── [ 61K]  portserial_m.c.obj
│   │   │       │   ├── [ 50K]  porttimer.c.obj
│   │   │       │   └── [ 58K]  porttimer_m.c.obj
│   │   │       ├── [  96]  serial_master
│   │   │       │   └── [  96]  modbus_controller
│   │   │       │       └── [144K]  mbc_serial_master.c.obj
│   │   │       └── [  96]  serial_slave
│   │   │           └── [  96]  modbus_controller
│   │   │               └── [120K]  mbc_serial_slave.c.obj
│   │   ├── [ 999]  cmake_install.cmake
│   │   └── [1.3M]  libfreemodbus.a
│   ├── [ 160]  freertos
│   │   ├── [  96]  CMakeFiles
│   │   │   └── [ 576]  __idf_freertos.dir
│   │   │       ├── [ 14K]  FreeRTOS-openocd.c.obj
│   │   │       ├── [ 32K]  croutine.c.obj
│   │   │       ├── [ 49K]  event_groups.c.obj
│   │   │       ├── [ 21K]  list.c.obj
│   │   │       ├── [ 55K]  port.c.obj
│   │   │       ├── [ 12K]  portasm.S.obj
│   │   │       ├── [111K]  queue.c.obj
│   │   │       ├── [269K]  tasks.c.obj
│   │   │       ├── [ 65K]  timers.c.obj
│   │   │       ├── [7.0K]  xtensa_context.S.obj
│   │   │       ├── [ 17K]  xtensa_init.c.obj
│   │   │       ├── [ 23K]  xtensa_intr.c.obj
│   │   │       ├── [7.4K]  xtensa_intr_asm.S.obj
│   │   │       ├── [ 18K]  xtensa_overlay_os_hook.c.obj
│   │   │       ├── [4.3K]  xtensa_vector_defaults.S.obj
│   │   │       └── [ 21K]  xtensa_vectors.S.obj
│   │   ├── [ 997]  cmake_install.cmake
│   │   └── [731K]  libfreertos.a
│   ├── [ 160]  heap
│   │   ├── [  96]  CMakeFiles
│   │   │   └── [ 160]  __idf_heap.dir
│   │   │       ├── [ 72K]  heap_caps.c.obj
│   │   │       ├── [ 41K]  heap_caps_init.c.obj
│   │   │       └── [128K]  multi_heap.c.obj
│   │   ├── [ 993]  cmake_install.cmake
│   │   └── [243K]  libheap.a
│   ├── [ 128]  idf_test
│   │   ├── [  64]  CMakeFiles
│   │   └── [ 997]  cmake_install.cmake
│   ├── [ 160]  jsmn
│   │   ├── [  96]  CMakeFiles
│   │   │   └── [  96]  __idf_jsmn.dir
│   │   │       └── [  96]  src
│   │   │           └── [ 26K]  jsmn.c.obj
│   │   ├── [ 993]  cmake_install.cmake
│   │   └── [ 26K]  libjsmn.a
│   ├── [ 160]  json
│   │   ├── [  96]  CMakeFiles
│   │   │   └── [  96]  __idf_json.dir
│   │   │       └── [ 160]  cJSON
│   │   │           ├── [241K]  cJSON.c.obj
│   │   │           ├── [121K]  cJSON_Utils.c.obj
│   │   │           └── [ 30K]  test.c.obj
│   │   ├── [ 993]  cmake_install.cmake
│   │   └── [395K]  libjson.a
│   ├── [ 160]  libsodium
│   │   ├── [  96]  CMakeFiles
│   │   │   └── [ 128]  __idf_libsodium.dir
│   │   │       ├── [  96]  libsodium
│   │   │       │   └── [  96]  src
│   │   │       │       └── [ 640]  libsodium
│   │   │       │           ├── [ 128]  crypto_aead
│   │   │       │           │   ├── [  96]  chacha20poly1305
│   │   │       │           │   │   └── [  96]  sodium
│   │   │       │           │   │       └── [ 45K]  aead_chacha20poly1305.c.obj
│   │   │       │           │   └── [  96]  xchacha20poly1305
│   │   │       │           │       └── [  96]  sodium
│   │   │       │           │           └── [ 22K]  aead_xchacha20poly1305.c.obj
│   │   │       │           ├── [ 192]  crypto_auth
│   │   │       │           │   ├── [ 13K]  crypto_auth.c.obj
│   │   │       │           │   ├── [  96]  hmacsha256
│   │   │       │           │   │   └── [ 21K]  auth_hmacsha256.c.obj
│   │   │       │           │   ├── [  96]  hmacsha512
│   │   │       │           │   │   └── [ 21K]  auth_hmacsha512.c.obj
│   │   │       │           │   └── [  96]  hmacsha512256
│   │   │       │           │       └── [ 19K]  auth_hmacsha512256.c.obj
│   │   │       │           ├── [ 224]  crypto_box
│   │   │       │           │   ├── [ 16K]  crypto_box.c.obj
│   │   │       │           │   ├── [ 20K]  crypto_box_easy.c.obj
│   │   │       │           │   ├── [ 15K]  crypto_box_seal.c.obj
│   │   │       │           │   ├── [  96]  curve25519xchacha20poly1305
│   │   │       │           │   │   └── [ 30K]  box_curve25519xchacha20poly1305.c.obj
│   │   │       │           │   └── [  96]  curve25519xsalsa20poly1305
│   │   │       │           │       └── [ 24K]  box_curve25519xsalsa20poly1305.c.obj
│   │   │       │           ├── [ 192]  crypto_core
│   │   │       │           │   ├── [  96]  curve25519
│   │   │       │           │   │   └── [  96]  ref10
│   │   │       │           │   │       └── [482K]  curve25519_ref10.c.obj
│   │   │       │           │   ├── [  96]  hchacha20
│   │   │       │           │   │   └── [ 38K]  core_hchacha20.c.obj
│   │   │       │           │   ├── [ 128]  hsalsa20
│   │   │       │           │   │   ├── [4.5K]  core_hsalsa20.c.obj
│   │   │       │           │   │   └── [  96]  ref2
│   │   │       │           │   │       └── [ 35K]  core_hsalsa20_ref2.c.obj
│   │   │       │           │   └── [  96]  salsa
│   │   │       │           │       └── [  96]  ref
│   │   │       │           │           └── [ 52K]  core_salsa_ref.c.obj
│   │   │       │           ├── [ 128]  crypto_generichash
│   │   │       │           │   ├── [ 128]  blake2b
│   │   │       │           │   │   ├── [ 14K]  generichash_blake2.c.obj
│   │   │       │           │   │   └── [ 256]  ref
│   │   │       │           │   │       ├── [7.2K]  blake2b-compress-avx2.c.obj
│   │   │       │           │   │       ├── [189K]  blake2b-compress-ref.c.obj
│   │   │       │           │   │       ├── [7.2K]  blake2b-compress-sse41.c.obj
│   │   │       │           │   │       ├── [7.2K]  blake2b-compress-ssse3.c.obj
│   │   │       │           │   │       ├── [ 47K]  blake2b-ref.c.obj
│   │   │       │           │   │       └── [ 26K]  generichash_blake2b.c.obj
│   │   │       │           │   └── [ 19K]  crypto_generichash.c.obj
│   │   │       │           ├── [ 160]  crypto_hash
│   │   │       │           │   ├── [ 11K]  crypto_hash.c.obj
│   │   │       │           │   ├── [ 128]  sha256
│   │   │       │           │   │   ├── [  96]  cp
│   │   │       │           │   │   │   └── [ 84K]  hash_sha256_cp.c.obj
│   │   │       │           │   │   └── [8.8K]  hash_sha256.c.obj
│   │   │       │           │   └── [ 128]  sha512
│   │   │       │           │       ├── [  96]  cp
│   │   │       │           │       │   └── [ 98K]  hash_sha512_cp.c.obj
│   │   │       │           │       └── [8.8K]  hash_sha512.c.obj
│   │   │       │           ├── [ 128]  crypto_kdf
│   │   │       │           │   ├── [  96]  blake2b
│   │   │       │           │   │   └── [ 14K]  kdf_blake2b.c.obj
│   │   │       │           │   └── [8.5K]  crypto_kdf.c.obj
│   │   │       │           ├── [  96]  crypto_kx
│   │   │       │           │   └── [ 22K]  crypto_kx.c.obj
│   │   │       │           ├── [ 128]  crypto_onetimeauth
│   │   │       │           │   ├── [ 18K]  crypto_onetimeauth.c.obj
│   │   │       │           │   └── [ 160]  poly1305
│   │   │       │           │       ├── [  96]  donna
│   │   │       │           │       │   └── [ 47K]  poly1305_donna.c.obj
│   │   │       │           │       ├── [ 18K]  onetimeauth_poly1305.c.obj
│   │   │       │           │       └── [  96]  sse2
│   │   │       │           │           └── [8.2K]  poly1305_sse2.c.obj
│   │   │       │           ├── [ 160]  crypto_pwhash
│   │   │       │           │   ├── [ 288]  argon2
│   │   │       │           │   │   ├── [ 55K]  argon2-core.c.obj
│   │   │       │           │   │   ├── [ 50K]  argon2-encoding.c.obj
│   │   │       │           │   │   ├── [220K]  argon2-fill-block-ref.c.obj
│   │   │       │           │   │   ├── [7.2K]  argon2-fill-block-ssse3.c.obj
│   │   │       │           │   │   ├── [ 30K]  argon2.c.obj
│   │   │       │           │   │   ├── [ 15K]  blake2b-long.c.obj
│   │   │       │           │   │   └── [ 31K]  pwhash_argon2i.c.obj
│   │   │       │           │   ├── [ 24K]  crypto_pwhash.c.obj
│   │   │       │           │   └── [ 256]  scryptsalsa208sha256
│   │   │       │           │       ├── [ 33K]  crypto_scrypt-common.c.obj
│   │   │       │           │       ├── [  96]  nosse
│   │   │       │           │       │   └── [ 39K]  pwhash_scryptsalsa208sha256_nosse.c.obj
│   │   │       │           │       ├── [ 15K]  pbkdf2-sha256.c.obj
│   │   │       │           │       ├── [ 34K]  pwhash_scryptsalsa208sha256.c.obj
│   │   │       │           │       ├── [ 15K]  scrypt_platform.c.obj
│   │   │       │           │       └── [  96]  sse
│   │   │       │           │           └── [7.3K]  pwhash_scryptsalsa208sha256_sse.c.obj
│   │   │       │           ├── [ 128]  crypto_scalarmult
│   │   │       │           │   ├── [7.1K]  crypto_scalarmult.c.obj
│   │   │       │           │   └── [ 192]  curve25519
│   │   │       │           │       ├── [  96]  donna_c64
│   │   │       │           │       │   └── [7.0K]  curve25519_donna_c64.c.obj
│   │   │       │           │       ├── [  96]  ref10
│   │   │       │           │       │   └── [ 33K]  x25519_ref10.c.obj
│   │   │       │           │       ├── [ 384]  sandy2x
│   │   │       │           │       │   ├── [ 568]  consts.S.obj
│   │   │       │           │       │   ├── [1.7K]  curve25519_sandy2x.c.obj
│   │   │       │           │       │   ├── [7.2K]  fe51_invert.c.obj
│   │   │       │           │       │   ├── [ 568]  fe51_mul.S.obj
│   │   │       │           │       │   ├── [ 568]  fe51_nsquare.S.obj
│   │   │       │           │       │   ├── [ 568]  fe51_pack.S.obj
│   │   │       │           │       │   ├── [7.2K]  fe_frombytes_sandy2x.c.obj
│   │   │       │           │       │   ├── [ 568]  ladder.S.obj
│   │   │       │           │       │   ├── [ 568]  ladder_base.S.obj
│   │   │       │           │       │   └── [ 568]  sandy2x.S.obj
│   │   │       │           │       └── [8.6K]  scalarmult_curve25519.c.obj
│   │   │       │           ├── [ 192]  crypto_secretbox
│   │   │       │           │   ├── [9.9K]  crypto_secretbox.c.obj
│   │   │       │           │   ├── [ 23K]  crypto_secretbox_easy.c.obj
│   │   │       │           │   ├── [  96]  xchacha20poly1305
│   │   │       │           │   │   └── [ 25K]  secretbox_xchacha20poly1305.c.obj
│   │   │       │           │   └── [  96]  xsalsa20poly1305
│   │   │       │           │       └── [ 17K]  secretbox_xsalsa20poly1305.c.obj
│   │   │       │           ├── [ 128]  crypto_shorthash
│   │   │       │           │   ├── [7.1K]  crypto_shorthash.c.obj
│   │   │       │           │   └── [ 160]  siphash24
│   │   │       │           │       ├── [ 128]  ref
│   │   │       │           │       │   ├── [ 44K]  shorthash_siphash24_ref.c.obj
│   │   │       │           │       │   └── [ 59K]  shorthash_siphashx24_ref.c.obj
│   │   │       │           │       ├── [3.5K]  shorthash_siphash24.c.obj
│   │   │       │           │       └── [3.5K]  shorthash_siphashx24.c.obj
│   │   │       │           ├── [ 128]  crypto_sign
│   │   │       │           │   ├── [ 24K]  crypto_sign.c.obj
│   │   │       │           │   └── [ 128]  ed25519
│   │   │       │           │       ├── [ 192]  ref10
│   │   │       │           │       │   ├── [ 17K]  keypair.c.obj
│   │   │       │           │       │   ├── [ 22K]  obsolete.c.obj
│   │   │       │           │       │   ├── [ 24K]  open.c.obj
│   │   │       │           │       │   └── [ 19K]  sign.c.obj
│   │   │       │           │       └── [ 19K]  sign_ed25519.c.obj
│   │   │       │           ├── [ 320]  crypto_stream
│   │   │       │           │   ├── [ 128]  aes128ctr
│   │   │       │           │   │   ├── [ 256]  nacl
│   │   │       │           │   │   │   ├── [283K]  afternm_aes128ctr.c.obj
│   │   │       │           │   │   │   ├── [298K]  beforenm_aes128ctr.c.obj
│   │   │       │           │   │   │   ├── [ 11K]  consts_aes128ctr.c.obj
│   │   │       │           │   │   │   ├── [ 32K]  int128_aes128ctr.c.obj
│   │   │       │           │   │   │   ├── [5.6K]  stream_aes128ctr_nacl.c.obj
│   │   │       │           │   │   │   └── [285K]  xor_afternm_aes128ctr.c.obj
│   │   │       │           │   │   └── [4.0K]  stream_aes128ctr.c.obj
│   │   │       │           │   ├── [ 160]  chacha20
│   │   │       │           │   │   ├── [ 128]  dolbeau
│   │   │       │           │   │   │   ├── [7.2K]  chacha20_dolbeau-avx2.c.obj
│   │   │       │           │   │   │   └── [7.2K]  chacha20_dolbeau-ssse3.c.obj
│   │   │       │           │   │   ├── [  96]  ref
│   │   │       │           │   │   │   └── [ 66K]  chacha20_ref.c.obj
│   │   │       │           │   │   └── [ 21K]  stream_chacha20.c.obj
│   │   │       │           │   ├── [8.2K]  crypto_stream.c.obj
│   │   │       │           │   ├── [ 192]  salsa20
│   │   │       │           │   │   ├── [  96]  ref
│   │   │       │           │   │   │   └── [ 14K]  salsa20_ref.c.obj
│   │   │       │           │   │   ├── [ 16K]  stream_salsa20.c.obj
│   │   │       │           │   │   ├── [ 128]  xmm6
│   │   │       │           │   │   │   ├── [ 568]  salsa20_xmm6-asm.S.obj
│   │   │       │           │   │   │   └── [2.8K]  salsa20_xmm6.c.obj
│   │   │       │           │   │   └── [ 128]  xmm6int
│   │   │       │           │   │       ├── [7.2K]  salsa20_xmm6int-avx2.c.obj
│   │   │       │           │   │       └── [7.2K]  salsa20_xmm6int-sse2.c.obj
│   │   │       │           │   ├── [ 128]  salsa2012
│   │   │       │           │   │   ├── [  96]  ref
│   │   │       │           │   │   │   └── [ 12K]  stream_salsa2012_ref.c.obj
│   │   │       │           │   │   └── [5.0K]  stream_salsa2012.c.obj
│   │   │       │           │   ├── [ 128]  salsa208
│   │   │       │           │   │   ├── [  96]  ref
│   │   │       │           │   │   │   └── [ 12K]  stream_salsa208_ref.c.obj
│   │   │       │           │   │   └── [5.0K]  stream_salsa208.c.obj
│   │   │       │           │   ├── [  96]  xchacha20
│   │   │       │           │   │   └── [ 15K]  stream_xchacha20.c.obj
│   │   │       │           │   └── [  96]  xsalsa20
│   │   │       │           │       └── [ 10K]  stream_xsalsa20.c.obj
│   │   │       │           ├── [  96]  crypto_verify
│   │   │       │           │   └── [  96]  sodium
│   │   │       │           │       └── [8.6K]  verify.c.obj
│   │   │       │           ├── [ 192]  randombytes
│   │   │       │           │   ├── [  96]  nativeclient
│   │   │       │           │   │   └── [7.2K]  randombytes_nativeclient.c.obj
│   │   │       │           │   ├── [ 22K]  randombytes.c.obj
│   │   │       │           │   ├── [  96]  salsa20
│   │   │       │           │   │   └── [ 37K]  randombytes_salsa20_random.c.obj
│   │   │       │           │   └── [  96]  sysrandom
│   │   │       │           │       └── [ 26K]  randombytes_sysrandom.c.obj
│   │   │       │           └── [ 192]  sodium
│   │   │       │               ├── [ 13K]  core.c.obj
│   │   │       │               ├── [ 20K]  runtime.c.obj
│   │   │       │               ├── [ 45K]  utils.c.obj
│   │   │       │               └── [4.6K]  version.c.obj
│   │   │       └── [  96]  port
│   │   │           └── [9.9K]  randombytes_esp32.c.obj
│   │   ├── [ 998]  cmake_install.cmake
│   │   └── [3.8M]  liblibsodium.a
│   ├── [ 160]  log
│   │   ├── [  96]  CMakeFiles
│   │   │   └── [  96]  __idf_log.dir
│   │   │       └── [ 63K]  log.c.obj
│   │   ├── [ 992]  cmake_install.cmake
│   │   └── [ 64K]  liblog.a
│   ├── [ 160]  lwip
│   │   ├── [  96]  CMakeFiles
│   │   │   └── [ 160]  __idf_lwip.dir
│   │   │       ├── [ 160]  apps
│   │   │       │   ├── [  96]  dhcpserver
│   │   │       │   │   └── [105K]  dhcpserver.c.obj
│   │   │       │   ├── [ 160]  ping
│   │   │       │   │   ├── [ 31K]  esp_ping.c.obj
│   │   │       │   │   ├── [ 31K]  ping.c.obj
│   │   │       │   │   └── [ 71K]  ping_sock.c.obj
│   │   │       │   └── [  96]  sntp
│   │   │       │       └── [ 20K]  sntp.c.obj
│   │   │       ├── [  96]  lwip
│   │   │       │   └── [ 192]  src
│   │   │       │       ├── [ 352]  api
│   │   │       │       │   ├── [118K]  api_lib.c.obj
│   │   │       │       │   ├── [171K]  api_msg.c.obj
│   │   │       │       │   ├── [ 19K]  err.c.obj
│   │   │       │       │   ├── [ 21K]  if_api.c.obj
│   │   │       │       │   ├── [ 35K]  netbuf.c.obj
│   │   │       │       │   ├── [ 46K]  netdb.c.obj
│   │   │       │       │   ├── [ 14K]  netifapi.c.obj
│   │   │       │       │   ├── [349K]  sockets.c.obj
│   │   │       │       │   └── [ 57K]  tcpip.c.obj
│   │   │       │       ├── [ 128]  apps
│   │   │       │       │   ├── [  96]  netbiosns
│   │   │       │       │   │   └── [ 38K]  netbiosns.c.obj
│   │   │       │       │   └── [  96]  sntp
│   │   │       │       │       └── [ 58K]  sntp.c.obj
│   │   │       │       ├── [ 672]  core
│   │   │       │       │   ├── [ 29K]  def.c.obj
│   │   │       │       │   ├── [111K]  dns.c.obj
│   │   │       │       │   ├── [ 43K]  inet_chksum.c.obj
│   │   │       │       │   ├── [ 28K]  init.c.obj
│   │   │       │       │   ├── [ 30K]  ip.c.obj
│   │   │       │       │   ├── [ 320]  ipv4
│   │   │       │       │   │   ├── [ 14K]  autoip.c.obj
│   │   │       │       │   │   ├── [156K]  dhcp.c.obj
│   │   │       │       │   │   ├── [ 89K]  etharp.c.obj
│   │   │       │       │   │   ├── [ 36K]  icmp.c.obj
│   │   │       │       │   │   ├── [ 69K]  igmp.c.obj
│   │   │       │       │   │   ├── [ 68K]  ip4.c.obj
│   │   │       │       │   │   ├── [ 41K]  ip4_addr.c.obj
│   │   │       │       │   │   └── [ 19K]  ip4_frag.c.obj
│   │   │       │       │   ├── [ 352]  ipv6
│   │   │       │       │   │   ├── [ 14K]  dhcp6.c.obj
│   │   │       │       │   │   ├── [ 23K]  ethip6.c.obj
│   │   │       │       │   │   ├── [ 42K]  icmp6.c.obj
│   │   │       │       │   │   ├── [ 16K]  inet6.c.obj
│   │   │       │       │   │   ├── [ 90K]  ip6.c.obj
│   │   │       │       │   │   ├── [ 38K]  ip6_addr.c.obj
│   │   │       │       │   │   ├── [ 62K]  ip6_frag.c.obj
│   │   │       │       │   │   ├── [ 61K]  mld6.c.obj
│   │   │       │       │   │   └── [175K]  nd6.c.obj
│   │   │       │       │   ├── [ 22K]  mem.c.obj
│   │   │       │       │   ├── [ 46K]  memp.c.obj
│   │   │       │       │   ├── [116K]  netif.c.obj
│   │   │       │       │   ├── [119K]  pbuf.c.obj
│   │   │       │       │   ├── [ 73K]  raw.c.obj
│   │   │       │       │   ├── [ 14K]  stats.c.obj
│   │   │       │       │   ├── [ 14K]  sys.c.obj
│   │   │       │       │   ├── [197K]  tcp.c.obj
│   │   │       │       │   ├── [135K]  tcp_in.c.obj
│   │   │       │       │   ├── [136K]  tcp_out.c.obj
│   │   │       │       │   ├── [ 48K]  timeouts.c.obj
│   │   │       │       │   └── [106K]  udp.c.obj
│   │   │       │       └── [ 192]  netif
│   │   │       │           ├── [ 31K]  ethernet.c.obj
│   │   │       │           ├── [ 88K]  lowpan6.c.obj
│   │   │       │           ├── [ 864]  ppp
│   │   │       │           │   ├── [ 14K]  auth.c.obj
│   │   │       │           │   ├── [ 14K]  ccp.c.obj
│   │   │       │           │   ├── [ 14K]  chap-md5.c.obj
│   │   │       │           │   ├── [ 14K]  chap-new.c.obj
│   │   │       │           │   ├── [ 14K]  chap_ms.c.obj
│   │   │       │           │   ├── [ 14K]  demand.c.obj
│   │   │       │           │   ├── [ 14K]  eap.c.obj
│   │   │       │           │   ├── [ 14K]  ecp.c.obj
│   │   │       │           │   ├── [ 14K]  eui64.c.obj
│   │   │       │           │   ├── [ 14K]  fsm.c.obj
│   │   │       │           │   ├── [ 14K]  ipcp.c.obj
│   │   │       │           │   ├── [ 14K]  ipv6cp.c.obj
│   │   │       │           │   ├── [ 14K]  lcp.c.obj
│   │   │       │           │   ├── [ 14K]  magic.c.obj
│   │   │       │           │   ├── [ 14K]  mppe.c.obj
│   │   │       │           │   ├── [ 14K]  multilink.c.obj
│   │   │       │           │   ├── [ 14K]  ppp.c.obj
│   │   │       │           │   ├── [ 14K]  pppapi.c.obj
│   │   │       │           │   ├── [ 14K]  pppcrypt.c.obj
│   │   │       │           │   ├── [ 14K]  pppoe.c.obj
│   │   │       │           │   ├── [ 14K]  pppol2tp.c.obj
│   │   │       │           │   ├── [ 14K]  pppos.c.obj
│   │   │       │           │   ├── [ 14K]  upap.c.obj
│   │   │       │           │   ├── [ 14K]  utils.c.obj
│   │   │       │           │   └── [ 14K]  vj.c.obj
│   │   │       │           └── [ 41K]  slipif.c.obj
│   │   │       └── [  96]  port
│   │   │           └── [ 192]  esp32
│   │   │               ├── [  96]  debug
│   │   │               │   └── [ 52K]  lwip_debug.c.obj
│   │   │               ├── [  96]  freertos
│   │   │               │   └── [ 66K]  sys_arch.c.obj
│   │   │               ├── [ 160]  netif
│   │   │               │   ├── [ 32K]  dhcp_state.c.obj
│   │   │               │   ├── [ 61K]  ethernetif.c.obj
│   │   │               │   └── [ 42K]  wlanif.c.obj
│   │   │               └── [ 35K]  vfs_lwip.c.obj
│   │   ├── [ 993]  cmake_install.cmake
│   │   └── [4.2M]  liblwip.a
│   ├── [ 160]  main
│   │   ├── [  96]  CMakeFiles
│   │   │   └── [  96]  __idf_main.dir
│   │   │       └── [8.6K]  theMain.c.obj
│   │   ├── [ 986]  cmake_install.cmake
│   │   └── [8.7K]  libmain.a
│   ├── [ 160]  mbedtls
│   │   ├── [  64]  CMakeFiles
│   │   ├── [1.2K]  cmake_install.cmake
│   │   └── [ 192]  mbedtls
│   │       ├── [  64]  CMakeFiles
│   │       ├── [1.3K]  cmake_install.cmake
│   │       ├── [ 128]  include
│   │       │   ├── [  64]  CMakeFiles
│   │       │   └── [7.9K]  cmake_install.cmake
│   │       └── [ 224]  library
│   │           ├── [ 160]  CMakeFiles
│   │           │   ├── [2.0K]  mbedcrypto.dir
│   │           │   │   ├── [  96]  __
│   │           │   │   │   └── [  96]  __
│   │           │   │   │       └── [ 320]  port
│   │           │   │   │           ├── [ 160]  esp32
│   │           │   │   │           │   ├── [ 75K]  aes.c.obj
│   │           │   │   │           │   ├── [ 93K]  esp_bignum.c.obj
│   │           │   │   │           │   └── [ 47K]  sha.c.obj
│   │           │   │   │           ├── [9.3K]  esp_hardware.c.obj
│   │           │   │   │           ├── [ 10K]  esp_mem.c.obj
│   │           │   │   │           ├── [ 21K]  esp_sha.c.obj
│   │           │   │   │           ├── [ 55K]  esp_sha1.c.obj
│   │           │   │   │           ├── [ 47K]  esp_sha256.c.obj
│   │           │   │   │           ├── [ 54K]  esp_sha512.c.obj
│   │           │   │   │           └── [ 15K]  esp_timing.c.obj
│   │           │   │   ├── [ 43K]  aes.c.obj
│   │           │   │   ├── [7.1K]  aesni.c.obj
│   │           │   │   ├── [7.1K]  arc4.c.obj
│   │           │   │   ├── [7.1K]  aria.c.obj
│   │           │   │   ├── [ 37K]  asn1parse.c.obj
│   │           │   │   ├── [ 50K]  asn1write.c.obj
│   │           │   │   ├── [ 27K]  base64.c.obj
│   │           │   │   ├── [191K]  bignum.c.obj
│   │           │   │   ├── [7.1K]  blowfish.c.obj
│   │           │   │   ├── [7.1K]  camellia.c.obj
│   │           │   │   ├── [ 50K]  ccm.c.obj
│   │           │   │   ├── [7.1K]  chacha20.c.obj
│   │           │   │   ├── [7.2K]  chachapoly.c.obj
│   │           │   │   ├── [ 89K]  cipher.c.obj
│   │           │   │   ├── [ 49K]  cipher_wrap.c.obj
│   │           │   │   ├── [7.1K]  cmac.c.obj
│   │           │   │   ├── [ 58K]  ctr_drbg.c.obj
│   │           │   │   ├── [7.1K]  des.c.obj
│   │           │   │   ├── [ 61K]  dhm.c.obj
│   │           │   │   ├── [ 48K]  ecdh.c.obj
│   │           │   │   ├── [ 60K]  ecdsa.c.obj
│   │           │   │   ├── [7.1K]  ecjpake.c.obj
│   │           │   │   ├── [221K]  ecp.c.obj
│   │           │   │   ├── [225K]  ecp_curves.c.obj
│   │           │   │   ├── [ 47K]  entropy.c.obj
│   │           │   │   ├── [7.2K]  entropy_poll.c.obj
│   │           │   │   ├── [ 74K]  error.c.obj
│   │           │   │   ├── [ 69K]  gcm.c.obj
│   │           │   │   ├── [7.1K]  havege.c.obj
│   │           │   │   ├── [7.1K]  hkdf.c.obj
│   │           │   │   ├── [ 51K]  hmac_drbg.c.obj
│   │           │   │   ├── [ 52K]  md.c.obj
│   │           │   │   ├── [7.1K]  md2.c.obj
│   │           │   │   ├── [7.1K]  md4.c.obj
│   │           │   │   ├── [ 48K]  md5.c.obj
│   │           │   │   ├── [ 50K]  md_wrap.c.obj
│   │           │   │   ├── [7.2K]  memory_buffer_alloc.c.obj
│   │           │   │   ├── [7.1K]  nist_kw.c.obj
│   │           │   │   ├── [ 70K]  oid.c.obj
│   │           │   │   ├── [7.1K]  padlock.c.obj
│   │           │   │   ├── [ 46K]  pem.c.obj
│   │           │   │   ├── [ 46K]  pk.c.obj
│   │           │   │   ├── [ 55K]  pk_wrap.c.obj
│   │           │   │   ├── [ 41K]  pkcs12.c.obj
│   │           │   │   ├── [ 41K]  pkcs5.c.obj
│   │           │   │   ├── [106K]  pkparse.c.obj
│   │           │   │   ├── [ 42K]  pkwrite.c.obj
│   │           │   │   ├── [ 13K]  platform.c.obj
│   │           │   │   ├── [9.2K]  platform_util.c.obj
│   │           │   │   ├── [7.1K]  poly1305.c.obj
│   │           │   │   ├── [7.2K]  ripemd160.c.obj
│   │           │   │   ├── [194K]  rsa.c.obj
│   │           │   │   ├── [ 40K]  rsa_internal.c.obj
│   │           │   │   ├── [ 19K]  sha1.c.obj
│   │           │   │   ├── [ 21K]  sha256.c.obj
│   │           │   │   ├── [ 21K]  sha512.c.obj
│   │           │   │   ├── [7.2K]  threading.c.obj
│   │           │   │   ├── [7.3K]  timing.c.obj
│   │           │   │   ├── [ 11K]  version.c.obj
│   │           │   │   ├── [ 15K]  version_features.c.obj
│   │           │   │   └── [7.1K]  xtea.c.obj
│   │           │   ├── [ 352]  mbedtls.dir
│   │           │   │   ├── [  96]  __
│   │           │   │   │   └── [  96]  __
│   │           │   │   │       └── [ 128]  port
│   │           │   │   │           ├── [8.1K]  mbedtls_debug.c.obj
│   │           │   │   │           └── [ 62K]  net_sockets.c.obj
│   │           │   │   ├── [7.1K]  debug.c.obj
│   │           │   │   ├── [ 28K]  ssl_cache.c.obj
│   │           │   │   ├── [ 38K]  ssl_ciphersuites.c.obj
│   │           │   │   ├── [200K]  ssl_cli.c.obj
│   │           │   │   ├── [ 26K]  ssl_cookie.c.obj
│   │           │   │   ├── [224K]  ssl_srv.c.obj
│   │           │   │   ├── [ 52K]  ssl_ticket.c.obj
│   │           │   │   └── [523K]  ssl_tls.c.obj
│   │           │   └── [ 352]  mbedx509.dir
│   │           │       ├── [ 96K]  certs.c.obj
│   │           │       ├── [7.1K]  pkcs11.c.obj
│   │           │       ├── [ 92K]  x509.c.obj
│   │           │       ├── [ 36K]  x509_create.c.obj
│   │           │       ├── [ 60K]  x509_crl.c.obj
│   │           │       ├── [194K]  x509_crt.c.obj
│   │           │       ├── [ 38K]  x509_csr.c.obj
│   │           │       ├── [ 60K]  x509write_crt.c.obj
│   │           │       └── [ 35K]  x509write_csr.c.obj
│   │           ├── [2.1K]  cmake_install.cmake
│   │           ├── [2.9M]  libmbedcrypto.a
│   │           ├── [1.1M]  libmbedtls.a
│   │           └── [626K]  libmbedx509.a
│   ├── [ 160]  mdns
│   │   ├── [  96]  CMakeFiles
│   │   │   └── [ 160]  __idf_mdns.dir
│   │   │       ├── [676K]  mdns.c.obj
│   │   │       ├── [167K]  mdns_console.c.obj
│   │   │       └── [ 99K]  mdns_networking.c.obj
│   │   ├── [ 993]  cmake_install.cmake
│   │   └── [942K]  libmdns.a
│   ├── [ 160]  mqtt
│   │   ├── [  96]  CMakeFiles
│   │   │   └── [  96]  __idf_mqtt.dir
│   │   │       └── [ 128]  esp-mqtt
│   │   │           ├── [ 160]  lib
│   │   │           │   ├── [ 80K]  mqtt_msg.c.obj
│   │   │           │   ├── [ 51K]  mqtt_outbox.c.obj
│   │   │           │   └── [ 27K]  platform_esp32_idf.c.obj
│   │   │           └── [200K]  mqtt_client.c.obj
│   │   ├── [ 993]  cmake_install.cmake
│   │   └── [360K]  libmqtt.a
│   ├── [ 160]  newlib
│   │   ├── [  96]  CMakeFiles
│   │   │   └── [ 512]  __idf_newlib.dir
│   │   │       ├── [ 22K]  heap.c.obj
│   │   │       ├── [ 36K]  locks.c.obj
│   │   │       ├── [ 16K]  poll.c.obj
│   │   │       ├── [ 16K]  pread.c.obj
│   │   │       ├── [ 12K]  pthread.c.obj
│   │   │       ├── [ 16K]  pwrite.c.obj
│   │   │       ├── [ 10K]  random.c.obj
│   │   │       ├── [ 15K]  reent_init.c.obj
│   │   │       ├── [ 16K]  select.c.obj
│   │   │       ├── [ 23K]  syscall_table.c.obj
│   │   │       ├── [ 13K]  syscalls.c.obj
│   │   │       ├── [ 13K]  termios.c.obj
│   │   │       ├── [ 82K]  time.c.obj
│   │   │       └── [ 16K]  utime.c.obj
│   │   ├── [ 995]  cmake_install.cmake
│   │   └── [311K]  libnewlib.a
│   ├── [ 160]  nghttp
│   │   ├── [  96]  CMakeFiles
│   │   │   └── [ 128]  __idf_nghttp.dir
│   │   │       ├── [  96]  nghttp2
│   │   │       │   └── [ 768]  lib
│   │   │       │       ├── [ 60K]  nghttp2_buf.c.obj
│   │   │       │       ├── [ 34K]  nghttp2_callbacks.c.obj
│   │   │       │       ├── [8.7K]  nghttp2_debug.c.obj
│   │   │       │       ├── [121K]  nghttp2_frame.c.obj
│   │   │       │       ├── [227K]  nghttp2_hd.c.obj
│   │   │       │       ├── [ 30K]  nghttp2_hd_huffman.c.obj
│   │   │       │       ├── [ 22K]  nghttp2_hd_huffman_data.c.obj
│   │   │       │       ├── [ 49K]  nghttp2_helper.c.obj
│   │   │       │       ├── [ 87K]  nghttp2_http.c.obj
│   │   │       │       ├── [ 30K]  nghttp2_map.c.obj
│   │   │       │       ├── [ 17K]  nghttp2_mem.c.obj
│   │   │       │       ├── [ 12K]  nghttp2_npn.c.obj
│   │   │       │       ├── [ 24K]  nghttp2_option.c.obj
│   │   │       │       ├── [ 24K]  nghttp2_outbound_item.c.obj
│   │   │       │       ├── [ 30K]  nghttp2_pq.c.obj
│   │   │       │       ├── [ 12K]  nghttp2_priority_spec.c.obj
│   │   │       │       ├── [ 20K]  nghttp2_queue.c.obj
│   │   │       │       ├── [ 19K]  nghttp2_rcbuf.c.obj
│   │   │       │       ├── [614K]  nghttp2_session.c.obj
│   │   │       │       ├── [109K]  nghttp2_stream.c.obj
│   │   │       │       ├── [ 94K]  nghttp2_submit.c.obj
│   │   │       │       └── [9.7K]  nghttp2_version.c.obj
│   │   │       └── [  96]  port
│   │   │           └── [207K]  http_parser.c.obj
│   │   ├── [ 995]  cmake_install.cmake
│   │   └── [1.8M]  libnghttp.a
│   ├── [ 160]  nvs_flash
│   │   ├── [  96]  CMakeFiles
│   │   │   └── [  96]  __idf_nvs_flash.dir
│   │   │       └── [ 320]  src
│   │   │           ├── [253K]  nvs_api.cpp.obj
│   │   │           ├── [ 66K]  nvs_encr.cpp.obj
│   │   │           ├── [ 58K]  nvs_item_hash_list.cpp.obj
│   │   │           ├── [ 15K]  nvs_ops.cpp.obj
│   │   │           ├── [195K]  nvs_page.cpp.obj
│   │   │           ├── [119K]  nvs_pagemanager.cpp.obj
│   │   │           ├── [223K]  nvs_storage.cpp.obj
│   │   │           └── [ 25K]  nvs_types.cpp.obj
│   │   ├── [ 998]  cmake_install.cmake
│   │   └── [958K]  libnvs_flash.a
│   ├── [ 160]  openssl
│   │   ├── [  96]  CMakeFiles
│   │   │   └── [ 128]  __idf_openssl.dir
│   │   │       ├── [ 256]  library
│   │   │       │   ├── [ 14K]  ssl_cert.c.obj
│   │   │       │   ├── [150K]  ssl_lib.c.obj
│   │   │       │   ├── [ 32K]  ssl_methods.c.obj
│   │   │       │   ├── [ 32K]  ssl_pkey.c.obj
│   │   │       │   ├── [ 13K]  ssl_stack.c.obj
│   │   │       │   └── [ 48K]  ssl_x509.c.obj
│   │   │       └── [ 128]  platform
│   │   │           ├── [ 91K]  ssl_pm.c.obj
│   │   │           └── [9.6K]  ssl_port.c.obj
│   │   ├── [ 996]  cmake_install.cmake
│   │   └── [394K]  libopenssl.a
│   ├── [ 128]  partition_table
│   │   ├── [  64]  CMakeFiles
│   │   └── [1004]  cmake_install.cmake
│   ├── [ 160]  perfmon
│   │   ├── [  96]  CMakeFiles
│   │   │   └── [ 160]  __idf_perfmon.dir
│   │   │       ├── [ 27K]  xtensa_perfmon_access.c.obj
│   │   │       ├── [ 21K]  xtensa_perfmon_apis.c.obj
│   │   │       └── [ 11K]  xtensa_perfmon_masks.c.obj
│   │   ├── [ 996]  cmake_install.cmake
│   │   └── [ 59K]  libperfmon.a
│   ├── [ 160]  protobuf-c
│   │   ├── [  96]  CMakeFiles
│   │   │   └── [  96]  __idf_protobuf-c.dir
│   │   │       └── [  96]  protobuf-c
│   │   │           └── [  96]  protobuf-c
│   │   │               └── [432K]  protobuf-c.c.obj
│   │   ├── [ 999]  cmake_install.cmake
│   │   └── [432K]  libprotobuf-c.a
│   ├── [ 160]  protocomm
│   │   ├── [  96]  CMakeFiles
│   │   │   └── [ 128]  __idf_protocomm.dir
│   │   │       ├── [ 192]  proto-c
│   │   │       │   ├── [ 11K]  constants.pb-c.c.obj
│   │   │       │   ├── [ 45K]  sec0.pb-c.c.obj
│   │   │       │   ├── [ 67K]  sec1.pb-c.c.obj
│   │   │       │   └── [ 30K]  session.pb-c.c.obj
│   │   │       └── [ 160]  src
│   │   │           ├── [  96]  common
│   │   │           │   └── [ 58K]  protocomm.c.obj
│   │   │           ├── [ 128]  security
│   │   │           │   ├── [ 29K]  security0.c.obj
│   │   │           │   └── [ 88K]  security1.c.obj
│   │   │           └── [ 128]  transports
│   │   │               ├── [ 52K]  protocomm_console.c.obj
│   │   │               └── [ 50K]  protocomm_httpd.c.obj
│   │   ├── [ 998]  cmake_install.cmake
│   │   └── [433K]  libprotocomm.a
│   ├── [ 160]  pthread
│   │   ├── [  96]  CMakeFiles
│   │   │   └── [ 160]  __idf_pthread.dir
│   │   │       ├── [103K]  pthread.c.obj
│   │   │       ├── [ 34K]  pthread_cond_var.c.obj
│   │   │       └── [ 36K]  pthread_local_storage.c.obj
│   │   ├── [ 996]  cmake_install.cmake
│   │   └── [174K]  libpthread.a
│   ├── [ 160]  sdmmc
│   │   ├── [  96]  CMakeFiles
│   │   │   └── [ 256]  __idf_sdmmc.dir
│   │   │       ├── [ 72K]  sdmmc_cmd.c.obj
│   │   │       ├── [ 58K]  sdmmc_common.c.obj
│   │   │       ├── [ 32K]  sdmmc_init.c.obj
│   │   │       ├── [ 90K]  sdmmc_io.c.obj
│   │   │       ├── [ 68K]  sdmmc_mmc.c.obj
│   │   │       └── [ 80K]  sdmmc_sd.c.obj
│   │   ├── [ 994]  cmake_install.cmake
│   │   └── [402K]  libsdmmc.a
│   ├── [ 160]  soc
│   │   ├── [  96]  CMakeFiles
│   │   │   └── [ 128]  __idf_soc.dir
│   │   │       ├── [ 640]  esp32
│   │   │       │   ├── [ 47K]  cpu_util.c.obj
│   │   │       │   ├── [107K]  emac_hal.c.obj
│   │   │       │   ├── [ 12K]  gpio_periph.c.obj
│   │   │       │   ├── [ 23K]  i2s_periph.c.obj
│   │   │       │   ├── [9.5K]  interrupts.c.obj
│   │   │       │   ├── [ 15K]  ledc_periph.c.obj
│   │   │       │   ├── [133K]  rtc_clk.c.obj
│   │   │       │   ├── [ 79K]  rtc_clk_init.c.obj
│   │   │       │   ├── [ 66K]  rtc_init.c.obj
│   │   │       │   ├── [ 34K]  rtc_periph.c.obj
│   │   │       │   ├── [ 37K]  rtc_pm.c.obj
│   │   │       │   ├── [ 90K]  rtc_sleep.c.obj
│   │   │       │   ├── [ 58K]  rtc_time.c.obj
│   │   │       │   ├── [ 55K]  rtc_wdt.c.obj
│   │   │       │   ├── [ 63K]  sdio_slave_periph.c.obj
│   │   │       │   ├── [ 17K]  sdmmc_periph.c.obj
│   │   │       │   ├── [ 11K]  soc_memory_layout.c.obj
│   │   │       │   └── [ 31K]  spi_periph.c.obj
│   │   │       └── [ 192]  src
│   │   │           ├── [ 256]  hal
│   │   │           │   ├── [ 40K]  spi_flash_hal.c.obj
│   │   │           │   ├── [ 74K]  spi_flash_hal_iram.c.obj
│   │   │           │   ├── [ 61K]  spi_hal.c.obj
│   │   │           │   ├── [ 69K]  spi_hal_iram.c.obj
│   │   │           │   ├── [ 43K]  spi_slave_hal.c.obj
│   │   │           │   └── [ 49K]  spi_slave_hal_iram.c.obj
│   │   │           ├── [6.8K]  lldesc.c.obj
│   │   │           ├── [ 24K]  memory_layout_utils.c.obj
│   │   │           └── [1.0K]  soc_include_legacy_warn.c.obj
│   │   ├── [ 992]  cmake_install.cmake
│   │   └── [1.2M]  libsoc.a
│   ├── [ 160]  spi_flash
│   │   ├── [  96]  CMakeFiles
│   │   │   └── [ 512]  __idf_spi_flash.dir
│   │   │       ├── [ 45K]  cache_utils.c.obj
│   │   │       ├── [  96]  esp32
│   │   │       │   └── [106K]  spi_flash_rom_patch.c.obj
│   │   │       ├── [112K]  esp_flash_api.c.obj
│   │   │       ├── [ 71K]  esp_flash_spi_init.c.obj
│   │   │       ├── [ 68K]  flash_mmap.c.obj
│   │   │       ├── [ 41K]  flash_ops.c.obj
│   │   │       ├── [ 49K]  memspi_host_driver.c.obj
│   │   │       ├── [ 67K]  partition.c.obj
│   │   │       ├── [ 13K]  spi_flash_chip_drivers.c.obj
│   │   │       ├── [ 20K]  spi_flash_chip_gd.c.obj
│   │   │       ├── [ 60K]  spi_flash_chip_generic.c.obj
│   │   │       ├── [ 19K]  spi_flash_chip_issi.c.obj
│   │   │       ├── [ 23K]  spi_flash_os_func_app.c.obj
│   │   │       └── [ 26K]  spi_flash_os_func_noos.c.obj
│   │   ├── [ 998]  cmake_install.cmake
│   │   └── [724K]  libspi_flash.a
│   ├── [ 160]  spiffs
│   │   ├── [  96]  CMakeFiles
│   │   │   └── [ 160]  __idf_spiffs.dir
│   │   │       ├── [133K]  esp_spiffs.c.obj
│   │   │       ├── [  96]  spiffs
│   │   │       │   └── [ 224]  src
│   │   │       │       ├── [ 41K]  spiffs_cache.c.obj
│   │   │       │       ├── [ 97K]  spiffs_check.c.obj
│   │   │       │       ├── [ 62K]  spiffs_gc.c.obj
│   │   │       │       ├── [159K]  spiffs_hydrogen.c.obj
│   │   │       │       └── [213K]  spiffs_nucleus.c.obj
│   │   │       └── [ 35K]  spiffs_api.c.obj
│   │   ├── [ 995]  cmake_install.cmake
│   │   └── [743K]  libspiffs.a
│   ├── [ 160]  tcp_transport
│   │   ├── [  96]  CMakeFiles
│   │   │   └── [ 224]  __idf_tcp_transport.dir
│   │   │       ├── [ 65K]  transport.c.obj
│   │   │       ├── [ 89K]  transport_ssl.c.obj
│   │   │       ├── [ 53K]  transport_tcp.c.obj
│   │   │       ├── [9.4K]  transport_utils.c.obj
│   │   │       └── [ 64K]  transport_ws.c.obj
│   │   ├── [1002]  cmake_install.cmake
│   │   └── [281K]  libtcp_transport.a
│   ├── [ 160]  tcpip_adapter
│   │   ├── [  96]  CMakeFiles
│   │   │   └── [  96]  __idf_tcpip_adapter.dir
│   │   │       └── [165K]  tcpip_adapter_compat.c.obj
│   │   ├── [1002]  cmake_install.cmake
│   │   └── [167K]  libtcpip_adapter.a
│   ├── [ 160]  ulp
│   │   ├── [  96]  CMakeFiles
│   │   │   └── [ 128]  __idf_ulp.dir
│   │   │       ├── [ 44K]  ulp.c.obj
│   │   │       └── [ 35K]  ulp_macro.c.obj
│   │   ├── [ 992]  cmake_install.cmake
│   │   └── [ 79K]  libulp.a
│   ├── [ 160]  unity
│   │   ├── [  96]  CMakeFiles
│   │   │   └── [ 160]  __idf_unity.dir
│   │   │       ├── [  96]  unity
│   │   │       │   └── [  96]  src
│   │   │       │       └── [148K]  unity.c.obj
│   │   │       ├── [ 36K]  unity_port_esp32.c.obj
│   │   │       └── [ 47K]  unity_runner.c.obj
│   │   ├── [ 994]  cmake_install.cmake
│   │   └── [232K]  libunity.a
│   ├── [ 160]  vfs
│   │   ├── [  96]  CMakeFiles
│   │   │   └── [ 160]  __idf_vfs.dir
│   │   │       ├── [210K]  vfs.c.obj
│   │   │       ├── [ 51K]  vfs_semihost.c.obj
│   │   │       └── [128K]  vfs_uart.c.obj
│   │   ├── [ 992]  cmake_install.cmake
│   │   └── [391K]  libvfs.a
│   ├── [ 160]  wear_levelling
│   │   ├── [  96]  CMakeFiles
│   │   │   └── [ 288]  __idf_wear_levelling.dir
│   │   │       ├── [ 32K]  Partition.cpp.obj
│   │   │       ├── [ 30K]  SPI_Flash.cpp.obj
│   │   │       ├── [ 39K]  WL_Ext_Perf.cpp.obj
│   │   │       ├── [ 42K]  WL_Ext_Safe.cpp.obj
│   │   │       ├── [122K]  WL_Flash.cpp.obj
│   │   │       ├── [3.9K]  crc32.cpp.obj
│   │   │       └── [ 50K]  wear_levelling.cpp.obj
│   │   ├── [1003]  cmake_install.cmake
│   │   └── [322K]  libwear_levelling.a
│   ├── [ 160]  wifi_provisioning
│   │   ├── [  96]  CMakeFiles
│   │   │   └── [ 128]  __idf_wifi_provisioning.dir
│   │   │       ├── [ 160]  proto-c
│   │   │       │   ├── [ 89K]  wifi_config.pb-c.c.obj
│   │   │       │   ├── [ 31K]  wifi_constants.pb-c.c.obj
│   │   │       │   └── [ 98K]  wifi_scan.pb-c.c.obj
│   │   │       └── [ 256]  src
│   │   │           ├── [ 51K]  handlers.c.obj
│   │   │           ├── [212K]  manager.c.obj
│   │   │           ├── [ 38K]  scheme_console.c.obj
│   │   │           ├── [ 52K]  scheme_softap.c.obj
│   │   │           ├── [ 57K]  wifi_config.c.obj
│   │   │           └── [ 68K]  wifi_scan.c.obj
│   │   ├── [1006]  cmake_install.cmake
│   │   └── [701K]  libwifi_provisioning.a
│   ├── [ 160]  wpa_supplicant
│   │   ├── [  96]  CMakeFiles
│   │   │   └── [ 128]  __idf_wpa_supplicant.dir
│   │   │       ├── [  96]  port
│   │   │       │   └── [ 12K]  os_xtensa.c.obj
│   │   │       └── [ 352]  src
│   │   │           ├── [ 192]  ap
│   │   │           │   ├── [ 50K]  ap_config.c.obj
│   │   │           │   ├── [ 18K]  ieee802_1x.c.obj
│   │   │           │   ├── [204K]  wpa_auth.c.obj
│   │   │           │   └── [ 55K]  wpa_auth_ie.c.obj
│   │   │           ├── [  96]  common
│   │   │           │   └── [ 65K]  wpa_common.c.obj
│   │   │           ├── [ 896]  crypto
│   │   │           │   ├── [ 13K]  aes-cbc.c.obj
│   │   │           │   ├── [ 31K]  aes-internal-dec.c.obj
│   │   │           │   ├── [ 27K]  aes-internal-enc.c.obj
│   │   │           │   ├── [ 20K]  aes-internal.c.obj
│   │   │           │   ├── [ 14K]  aes-unwrap.c.obj
│   │   │           │   ├── [ 14K]  aes-wrap.c.obj
│   │   │           │   ├── [154K]  bignum.c.obj
│   │   │           │   ├── [ 23K]  crypto_internal-cipher.c.obj
│   │   │           │   ├── [ 13K]  crypto_internal-modexp.c.obj
│   │   │           │   ├── [ 20K]  crypto_internal-rsa.c.obj
│   │   │           │   ├── [ 26K]  crypto_internal.c.obj
│   │   │           │   ├── [ 72K]  crypto_mbedtls.c.obj
│   │   │           │   ├── [ 12K]  crypto_ops.c.obj
│   │   │           │   ├── [ 34K]  des-internal.c.obj
│   │   │           │   ├── [ 12K]  dh_group5.c.obj
│   │   │           │   ├── [ 26K]  dh_groups.c.obj
│   │   │           │   ├── [ 25K]  md4-internal.c.obj
│   │   │           │   ├── [ 28K]  md5-internal.c.obj
│   │   │           │   ├── [ 15K]  md5.c.obj
│   │   │           │   ├── [ 46K]  ms_funcs.c.obj
│   │   │           │   ├── [ 13K]  rc4.c.obj
│   │   │           │   ├── [ 31K]  sha1-internal.c.obj
│   │   │           │   ├── [ 13K]  sha1-pbkdf2.c.obj
│   │   │           │   ├── [ 19K]  sha1.c.obj
│   │   │           │   ├── [ 12K]  sha256-internal.c.obj
│   │   │           │   └── [ 19K]  sha256.c.obj
│   │   │           ├── [ 384]  eap_peer
│   │   │           │   ├── [1.0K]  chap.c.obj
│   │   │           │   ├── [ 93K]  eap.c.obj
│   │   │           │   ├── [ 34K]  eap_common.c.obj
│   │   │           │   ├── [ 79K]  eap_mschapv2.c.obj
│   │   │           │   ├── [148K]  eap_peap.c.obj
│   │   │           │   ├── [ 13K]  eap_peap_common.c.obj
│   │   │           │   ├── [ 36K]  eap_tls.c.obj
│   │   │           │   ├── [107K]  eap_tls_common.c.obj
│   │   │           │   ├── [113K]  eap_ttls.c.obj
│   │   │           │   └── [ 17K]  mschapv2.c.obj
│   │   │           ├── [ 224]  esp_supplicant
│   │   │           │   ├── [ 41K]  esp_hostap.c.obj
│   │   │           │   ├── [153K]  esp_wpa2.c.obj
│   │   │           │   ├── [ 65K]  esp_wpa_main.c.obj
│   │   │           │   ├── [ 21K]  esp_wpas_glue.c.obj
│   │   │           │   └── [248K]  esp_wps.c.obj
│   │   │           ├── [ 160]  rsn_supp
│   │   │           │   ├── [ 54K]  pmksa_cache.c.obj
│   │   │           │   ├── [192K]  wpa.c.obj
│   │   │           │   └── [ 49K]  wpa_ie.c.obj
│   │   │           ├── [ 608]  tls
│   │   │           │   ├── [ 26K]  asn1.c.obj
│   │   │           │   ├── [154K]  bignum.c.obj
│   │   │           │   ├── [ 26K]  pkcs1.c.obj
│   │   │           │   ├── [ 34K]  pkcs5.c.obj
│   │   │           │   ├── [ 23K]  pkcs8.c.obj
│   │   │           │   ├── [ 34K]  rsa.c.obj
│   │   │           │   ├── [ 64K]  tls_internal.c.obj
│   │   │           │   ├── [ 74K]  tlsv1_client.c.obj
│   │   │           │   ├── [ 96K]  tlsv1_client_read.c.obj
│   │   │           │   ├── [ 83K]  tlsv1_client_write.c.obj
│   │   │           │   ├── [ 35K]  tlsv1_common.c.obj
│   │   │           │   ├── [ 60K]  tlsv1_cred.c.obj
│   │   │           │   ├── [ 48K]  tlsv1_record.c.obj
│   │   │           │   ├── [ 58K]  tlsv1_server.c.obj
│   │   │           │   ├── [100K]  tlsv1_server_read.c.obj
│   │   │           │   ├── [ 76K]  tlsv1_server_write.c.obj
│   │   │           │   └── [155K]  x509v3.c.obj
│   │   │           ├── [ 256]  utils
│   │   │           │   ├── [ 21K]  base64.c.obj
│   │   │           │   ├── [ 42K]  common.c.obj
│   │   │           │   ├── [9.8K]  ext_password.c.obj
│   │   │           │   ├── [ 17K]  uuid.c.obj
│   │   │           │   ├── [ 35K]  wpa_debug.c.obj
│   │   │           │   └── [ 37K]  wpabuf.c.obj
│   │   │           └── [ 352]  wps
│   │   │               ├── [ 78K]  wps.c.obj
│   │   │               ├── [114K]  wps_attr_build.c.obj
│   │   │               ├── [ 61K]  wps_attr_parse.c.obj
│   │   │               ├── [ 50K]  wps_attr_process.c.obj
│   │   │               ├── [ 72K]  wps_common.c.obj
│   │   │               ├── [ 87K]  wps_dev_attr.c.obj
│   │   │               ├── [186K]  wps_enrollee.c.obj
│   │   │               ├── [335K]  wps_registrar.c.obj
│   │   │               └── [298K]  wps_validate.c.obj
│   │   ├── [1003]  cmake_install.cmake
│   │   └── [5.1M]  libwpa_supplicant.a
│   └── [ 160]  xtensa
│       ├── [  96]  CMakeFiles
│       │   └── [ 192]  __idf_xtensa.dir
│       │       ├── [ 27K]  debug_helpers.c.obj
│       │       ├── [2.1K]  debug_helpers_asm.S.obj
│       │       ├── [4.1K]  eri.c.obj
│       │       └── [ 20K]  trax.c.obj
│       ├── [ 995]  cmake_install.cmake
│       └── [ 54K]  libxtensa.a
├── [  22]  flash_app_args
├── [  87]  flash_bootloader_args
├── [  42]  flash_partition_table_args
├── [ 150]  flash_project_args
├── [ 799]  flasher_args.json
├── [144K]  helloworld.bin
├── [2.3M]  helloworld.elf
├── [1.6M]  helloworld.map
├── [2.5K]  kconfigs.in
├── [ 312]  kconfigs_projbuild.in
├── [4.1K]  ldgen_libraries
├── [1.8K]  ldgen_libraries.in
├── [  96]  partition_table
│   └── [3.0K]  partition-table.bin
├── [7.4K]  project_description.json
├── [   0]  project_elf_src.c
└── [ 68K]  rules.ninja

483 directories, 1094 files
renzbagaporo commented 4 years ago

@mauriciofarina Oh. You have to set COMPONENTS before the project() call.

mauriciofarina commented 4 years ago

Great @renzbagaporo! Now things started to look more as they should!

I'm just having some trouble to figure out what are the minimal components needed for a project.

I got it to compile by using set(COMPONENTS esptool_py main). However, I found that some people were recommending to use set(COMPONENTS cxx app bootloader esptool_py main). What should I use?

renzbagaporo commented 4 years ago

@mauriciofarina Great question.

I would say bootloader and esptool_py would be essential for a normal app. So in the top-level CMakeLists.txt, main, bootloader, esptool_py would have to be listed.

And in your main component's CMakeLists.txt, list its requirements explicitly using REQUIRES/PRIV_REQUIRES. The build system should figure out the rest of needed components based on this.

renzbagaporo commented 4 years ago

Hi @mauriciofarina, have you had success with this issue?

mauriciofarina commented 4 years ago

Hello @renzbagaporo! Yes, my issue was solved!