espressif / esp-idf

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

idf_as_lib example menuconfig error. (IDFGH-11841) #12931

Closed Jiu-xiao closed 8 months ago

Jiu-xiao commented 8 months ago

Answers checklist.

IDF version.

release/v5.1 bbd8d13f930705051afa883691bc8389eefc48a1

Operating System used.

Linux

How did you build your project?

Command line with idf.py

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

None

What is the expected behavior?

Generate the "project_description. json" file in the build folder

What is the actual behavior?

“project_description. json" is located in the build/bootloader directory

Steps to reproduce.

  1. install esp-idf
  2. copy example/build-system/cmake/idf-as-lib
  3. idf.py menuconfig

Build or installation Logs.

> idf.py menuconfig   
Executing action: menuconfig
Running cmake in directory /home/xiao/idf_as_lib/build
Executing "cmake -G Ninja -DPYTHON_DEPS_CHECKED=1 -DPYTHON=/home/xiao/.espressif/python_env/idf5.1_py3.10_env/bin/python -DESP_PLATFORM=1 -DCCACHE_ENABLE=0 /home/xiao/idf_as_lib"...
-- The C compiler identification is GNU 11.4.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
CMake Warning at CMakeLists.txt:22 (message):
  Unknown target , creating stubs for esp32 instead

-- Configuring done (0.4s)
-- Generating done (0.0s)
CMake Warning:
  Manually-specified variables were not used by the project:

    CCACHE_ENABLE
    ESP_PLATFORM
    PYTHON
    PYTHON_DEPS_CHECKED

-- Build files have been written to: /home/xiao/idf_as_lib/build
Cannot load /home/xiao/idf_as_lib/build/project_description.json: [Errno 2] No such file or directory: '/home/xiao/idf_as_lib/build/project_description.json'

> idf.py reconfigure
Executing action: reconfigure
Running cmake in directory /home/xiao/idf_as_lib/build
Executing "cmake -G Ninja -DPYTHON_DEPS_CHECKED=1 -DPYTHON=/home/xiao/.espressif/python_env/idf5.1_py3.10_env/bin/python -DESP_PLATFORM=1 -DCCACHE_ENABLE=0 /home/xiao/idf_as_lib"...
CMake Warning at CMakeLists.txt:22 (message):
  Unknown target , creating stubs for esp32 instead

-- Configuring done (0.0s)
-- Generating done (0.0s)
-- Build files have been written to: /home/xiao/idf_as_lib/build
Cannot load /home/xiao/idf_as_lib/build/project_description.json: [Errno 2] No such file or directory: '/home/xiao/idf_as_lib/build/project_description.json'

> ./build-esp32c3.sh
-- The C compiler identification is GNU 12.2.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /home/xiao/.espressif/tools/riscv32-esp-elf/esp-12.2.0_20230208/riscv32-esp-elf/bin/riscv32-esp-elf-gcc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Found Git: /usr/bin/git (found version "2.34.1") 
-- Checking Python dependencies...
Python requirements are satisfied.
Constraint file: /home/xiao/.espressif/espidf.constraints.v5.1.txt
Requirement files:
 - /home/xiao/esp/esp-idf/tools/requirements/requirements.core.txt
Python being checked: /home/xiao/.espressif/python_env/idf5.1_py3.10_env/bin/python
-- Project sdkconfig file /home/xiao/idf_as_lib/sdkconfig
-- The CXX compiler identification is GNU 12.2.0
-- The ASM compiler identification is GNU
-- Found assembler: /home/xiao/.espressif/tools/riscv32-esp-elf/esp-12.2.0_20230208/riscv32-esp-elf/bin/riscv32-esp-elf-gcc
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /home/xiao/.espressif/tools/riscv32-esp-elf/esp-12.2.0_20230208/riscv32-esp-elf/bin/riscv32-esp-elf-g++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Looking for sys/types.h
-- Looking for sys/types.h - found
-- Looking for stdint.h
-- Looking for stdint.h - found
-- Looking for stddef.h
-- Looking for stddef.h - found
-- Check size of time_t
-- Check size of time_t - done
-- Found Python3: /home/xiao/.espressif/python_env/idf5.1_py3.10_env/bin/python3.10 (found version "3.10.12") found components: Interpreter 
-- Performing Test C_COMPILER_SUPPORTS_WFORMAT_SIGNEDNESS
-- Performing Test C_COMPILER_SUPPORTS_WFORMAT_SIGNEDNESS - Success
-- App "idf_as_lib" version: 1
-- Adding linker script /home/xiao/idf_as_lib/build/esp-idf/esp_system/ld/memory.ld
-- Adding linker script /home/xiao/esp/esp-idf/components/esp_system/ld/esp32c3/sections.ld.in
-- Adding linker script /home/xiao/esp/esp-idf/components/esp_rom/esp32c3/ld/esp32c3.rom.ld
-- Adding linker script /home/xiao/esp/esp-idf/components/esp_rom/esp32c3/ld/esp32c3.rom.api.ld
-- Adding linker script /home/xiao/esp/esp-idf/components/esp_rom/esp32c3/ld/esp32c3.rom.libgcc.ld
-- Adding linker script /home/xiao/esp/esp-idf/components/esp_rom/esp32c3/ld/esp32c3.rom.newlib.ld
-- Adding linker script /home/xiao/esp/esp-idf/components/esp_rom/esp32c3/ld/esp32c3.rom.version.ld
-- Adding linker script /home/xiao/esp/esp-idf/components/esp_rom/esp32c3/ld/esp32c3.rom.eco3.ld
-- Adding linker script /home/xiao/esp/esp-idf/components/soc/esp32c3/ld/esp32c3.peripherals.ld
-- Configuring done (2.2s)
-- Generating done (0.1s)
-- Build files have been written to: /home/xiao/idf_as_lib/build
[6/465] Generating ../../partition_table/partition-table.bin
Partition table binary generated. Contents:
*******************************************************************************
# ESP-IDF Partition Table
# Name, Type, SubType, Offset, Size, Flags
nvs,data,nvs,0x9000,24K,
phy_init,data,phy,0xf000,4K,
factory,app,factory,0x10000,1M,
*******************************************************************************
[453/465] Performing configure step for 'bootloader'
-- Found Git: /usr/bin/git (found version "2.34.1") 
-- The C compiler identification is GNU 12.2.0
-- The CXX compiler identification is GNU 12.2.0
-- The ASM compiler identification is GNU
-- Found assembler: /home/xiao/.espressif/tools/riscv32-esp-elf/esp-12.2.0_20230208/riscv32-esp-elf/bin/riscv32-esp-elf-gcc
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /home/xiao/.espressif/tools/riscv32-esp-elf/esp-12.2.0_20230208/riscv32-esp-elf/bin/riscv32-esp-elf-gcc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /home/xiao/.espressif/tools/riscv32-esp-elf/esp-12.2.0_20230208/riscv32-esp-elf/bin/riscv32-esp-elf-g++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Building ESP-IDF components for target esp32c3
-- Project sdkconfig file /home/xiao/idf_as_lib/sdkconfig
-- Looking for sys/types.h
-- Looking for sys/types.h - found
-- Looking for stdint.h
-- Looking for stdint.h - found
-- Looking for stddef.h
-- Looking for stddef.h - found
-- Check size of time_t
-- Check size of time_t - done
-- Adding linker script /home/xiao/esp/esp-idf/components/soc/esp32c3/ld/esp32c3.peripherals.ld
-- App "bootloader" version: bbd8d13
-- Adding linker script /home/xiao/esp/esp-idf/components/esp_rom/esp32c3/ld/esp32c3.rom.ld
-- Adding linker script /home/xiao/esp/esp-idf/components/esp_rom/esp32c3/ld/esp32c3.rom.api.ld
-- Adding linker script /home/xiao/esp/esp-idf/components/esp_rom/esp32c3/ld/esp32c3.rom.libgcc.ld
-- Adding linker script /home/xiao/esp/esp-idf/components/esp_rom/esp32c3/ld/esp32c3.rom.newlib.ld
-- Adding linker script /home/xiao/esp/esp-idf/components/bootloader/subproject/main/ld/esp32c3/bootloader.ld
-- Adding linker script /home/xiao/esp/esp-idf/components/bootloader/subproject/main/ld/esp32c3/bootloader.rom.ld
-- Components: bootloader bootloader_support efuse esp_app_format esp_common esp_hw_support esp_rom esp_system esptool_py freertos hal log main micro-ecc newlib partition_table riscv soc spi_flash
-- Component paths: /home/xiao/esp/esp-idf/components/bootloader /home/xiao/esp/esp-idf/components/bootloader_support /home/xiao/esp/esp-idf/components/efuse /home/xiao/esp/esp-idf/components/esp_app_format /home/xiao/esp/esp-idf/components/esp_common /home/xiao/esp/esp-idf/components/esp_hw_support /home/xiao/esp/esp-idf/components/esp_rom /home/xiao/esp/esp-idf/components/esp_system /home/xiao/esp/esp-idf/components/esptool_py /home/xiao/esp/esp-idf/components/freertos /home/xiao/esp/esp-idf/components/hal /home/xiao/esp/esp-idf/components/log /home/xiao/esp/esp-idf/components/bootloader/subproject/main /home/xiao/esp/esp-idf/components/bootloader/subproject/components/micro-ecc /home/xiao/esp/esp-idf/components/newlib /home/xiao/esp/esp-idf/components/partition_table /home/xiao/esp/esp-idf/components/riscv /home/xiao/esp/esp-idf/components/soc /home/xiao/esp/esp-idf/components/spi_flash
-- Configuring done (6.9s)
-- Generating done (0.0s)
-- Build files have been written to: /home/xiao/idf_as_lib/build/bootloader
[458/465] Performing build step for 'bootloader'
[1/96] Generating project_elf_src_esp32c3.c
[2/96] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32c3/adc_periph.c.obj
[3/96] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32c3/dedic_gpio_periph.c.obj
[4/96] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/dport_access_common.c.obj
[5/96] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32c3/interrupts.c.obj
[6/96] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32c3/gdma_periph.c.obj
[7/96] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32c3/gpio_periph.c.obj
[8/96] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32c3/uart_periph.c.obj
[9/96] Building C object CMakeFiles/bootloader.elf.dir/project_elf_src_esp32c3.c.obj
[10/96] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/lldesc.c.obj
[11/96] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32c3/sdm_periph.c.obj
[12/96] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32c3/ledc_periph.c.obj
[13/96] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32c3/spi_periph.c.obj
[14/96] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32c3/rmt_periph.c.obj
[15/96] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32c3/twai_periph.c.obj
[16/96] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32c3/temperature_sensor_periph.c.obj
[17/96] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32c3/i2s_periph.c.obj
[18/96] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32c3/i2c_periph.c.obj
[19/96] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32c3/timer_periph.c.obj
[20/96] Building C object esp-idf/hal/CMakeFiles/__idf_hal.dir/mpu_hal.c.obj
[21/96] Building C object esp-idf/hal/CMakeFiles/__idf_hal.dir/efuse_hal.c.obj
[22/96] Building C object esp-idf/hal/CMakeFiles/__idf_hal.dir/cache_hal.c.obj
[23/96] Building C object esp-idf/hal/CMakeFiles/__idf_hal.dir/esp32c3/efuse_hal.c.obj
[24/96] Building C object esp-idf/esp_app_format/CMakeFiles/__idf_esp_app_format.dir/esp_app_desc.c.obj
[25/96] Building C object esp-idf/spi_flash/CMakeFiles/__idf_spi_flash.dir/spi_flash_wrap.c.obj
[26/96] Building C object esp-idf/hal/CMakeFiles/__idf_hal.dir/wdt_hal_iram.c.obj
[27/96] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_mem.c.obj
[28/96] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_random_esp32c3.c.obj
[29/96] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_random.c.obj
[30/96] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_common.c.obj
[31/96] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_efuse.c.obj
[32/96] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_clock_init.c.obj
[33/96] Building C object esp-idf/hal/CMakeFiles/__idf_hal.dir/mmu_hal.c.obj
[34/96] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/secure_boot.c.obj
[35/96] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_common_loader.c.obj
[36/96] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/flash_encrypt.c.obj
[37/96] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/flash_partitions.c.obj
[38/96] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_clock_loader.c.obj
[39/96] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_console_loader.c.obj
[40/96] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/bootloader_flash/src/flash_qio_mode.c.obj
[41/96] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_console.c.obj
[42/96] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/esp32c3/bootloader_sha.c.obj
[43/96] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/esp32c3/bootloader_soc.c.obj
[44/96] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/bootloader_flash/src/bootloader_flash_config_esp32c3.c.obj
[45/96] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/bootloader_flash/src/bootloader_flash.c.obj
[46/96] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_panic.c.obj
[47/96] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/esp32c3/esp_efuse_table.c.obj
[48/96] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_init.c.obj
[49/96] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/esp32c3/bootloader_esp32c3.c.obj
[50/96] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/esp32c3/esp_efuse_fields.c.obj
[51/96] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_utility.c.obj
[52/96] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/esp_image_format.c.obj
[53/96] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/src/esp_efuse_fields.c.obj
[54/96] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/esp32c3/esp_efuse_rtc_calib.c.obj
[55/96] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/esp32c3/esp_efuse_utility.c.obj
[56/96] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/esp_memory_utils.c.obj
[57/96] Building C object esp-idf/esp_system/CMakeFiles/__idf_esp_system.dir/esp_err.c.obj
[58/96] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/src/esp_efuse_api.c.obj
[59/96] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32c3/cpu_region_protect.c.obj
[60/96] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/cpu.c.obj
[61/96] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32c3/rtc_clk_init.c.obj
[62/96] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/src/efuse_controller/keys/with_key_purposes/esp_efuse_api_key.c.obj
[63/96] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/src/esp_efuse_utility.c.obj
[64/96] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32c3/chip_info.c.obj
[65/96] Building C object esp-idf/esp_rom/CMakeFiles/__idf_esp_rom.dir/patches/esp_rom_crc.c.obj
[66/96] Building C object esp-idf/esp_common/CMakeFiles/__idf_esp_common.dir/src/esp_err_to_name.c.obj
[67/96] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32c3/rtc_time.c.obj
[68/96] Building C object esp-idf/esp_rom/CMakeFiles/__idf_esp_rom.dir/patches/esp_rom_sys.c.obj
[69/96] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32c3/rtc_init.c.obj
[70/96] Building C object esp-idf/esp_rom/CMakeFiles/__idf_esp_rom.dir/patches/esp_rom_spiflash.c.obj
[71/96] Building C object esp-idf/esp_rom/CMakeFiles/__idf_esp_rom.dir/patches/esp_rom_efuse.c.obj
[72/96] Building C object esp-idf/esp_rom/CMakeFiles/__idf_esp_rom.dir/patches/esp_rom_systimer.c.obj
[73/96] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32c3/rtc_sleep.c.obj
[74/96] Building C object esp-idf/esp_rom/CMakeFiles/__idf_esp_rom.dir/patches/esp_rom_uart.c.obj
[75/96] Building C object esp-idf/micro-ecc/CMakeFiles/__idf_micro-ecc.dir/uECC_verify_antifault.c.obj
[76/96] Building C object esp-idf/log/CMakeFiles/__idf_log.dir/log_noos.c.obj
[77/96] Building C object esp-idf/main/CMakeFiles/__idf_main.dir/bootloader_start.c.obj
[78/96] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32c3/rtc_clk.c.obj
[79/96] Building C object esp-idf/log/CMakeFiles/__idf_log.dir/log.c.obj
[80/96] Building C object esp-idf/log/CMakeFiles/__idf_log.dir/log_buffers.c.obj
[81/96] Linking C static library esp-idf/log/liblog.a
[82/96] Linking C static library esp-idf/esp_rom/libesp_rom.a
[83/96] Linking C static library esp-idf/esp_common/libesp_common.a
[84/96] Linking C static library esp-idf/esp_hw_support/libesp_hw_support.a
[85/96] Linking C static library esp-idf/esp_system/libesp_system.a
[86/96] Linking C static library esp-idf/efuse/libefuse.a
[87/96] Linking C static library esp-idf/bootloader_support/libbootloader_support.a
[88/96] Linking C static library esp-idf/esp_app_format/libesp_app_format.a
[89/96] Linking C static library esp-idf/spi_flash/libspi_flash.a
[90/96] Linking C static library esp-idf/hal/libhal.a
[91/96] Linking C static library esp-idf/micro-ecc/libmicro-ecc.a
[92/96] Linking C static library esp-idf/soc/libsoc.a
[93/96] Linking C static library esp-idf/main/libmain.a
[94/96] Linking C executable bootloader.elf
[95/96] Generating binary image from built executable
esptool.py v4.7.0
Creating esp32c3 image...
Merged 1 ELF section
Successfully created esp32c3 image.
Generated /home/xiao/idf_as_lib/build/bootloader/bootloader.bin
[96/96] cd /home/xiao/idf_as_lib/build/bootloader/esp-idf/esptool_py && python /home/xiao/esp/esp-idf/components/partition_table/check_sizes.py --offset 0x8000 bootloader 0x0 /home/xiao/idf_as_lib/build/bootloader/bootloader.bin
Bootloader binary size 0x5060 bytes. 0x2fa0 bytes (37%) free.
[463/465] Linking C executable idf_as_lib.elf
/home/xiao/.espressif/tools/riscv32-esp-elf/esp-12.2.0_20230208/riscv32-esp-elf/bin/../lib/gcc/riscv32-esp-elf/12.2.0/../../../../riscv32-esp-elf/bin/ld: warning: idf_as_lib.elf has a LOAD segment with RWX permissions
[464/465] Generating binary image from built executable
esptool.py v4.7.0
Creating esp32c3 image...
Merged 1 ELF section
Successfully created esp32c3 image.
Generated /home/xiao/idf_as_lib/build/idf_as_lib.bin
[465/465] cd /home/xiao/idf_as_lib/build/esp-idf/esptool_py && python /home/xiao/esp/esp-idf/...f_as_lib/build/partition_table/partition-table.bin /home/xiao/idf_as_lib/build/idf_as_lib.bin
idf_as_lib.bin binary size 0x231f0 bytes. Smallest app partition is 0x100000 bytes. 0xdce10 bytes (86%) free.

More Information.

“project_description. json" is located in the ./build/bootloader directory, not ./build

tree -L 3 . ├── build │   ├── app-flash_args │   ├── bootloader │   │   ├── bootloader.bin │   │   ├── bootloader.elf │   │   ├── bootloader.map │   │   ├── build.ninja │   │   ├── CMakeCache.txt │   │   ├── CMakeFiles │   │   ├── cmake_install.cmake │   │   ├── compile_commands.json │   │   ├── config │   │   ├── config.env │   │   ├── esp-idf │   │   ├── kconfigs.in │   │   ├── kconfigs_projbuild.in │   │   ├── project_description.json │   │   └── project_elf_src_esp32c3.c │   ├── bootloader-flash_args │   ├── bootloader-prefix │   │   ├── src │   │   └── tmp │   ├── build.ninja │   ├── CMakeCache.txt │   ├── CMakeFiles │   │   ├── 3.27.0 │   │   ├── bootloader-complete │   │   ├── bootloader.dir │   │   ├── CheckTypeSize │   │   ├── clean_additional.cmake │   │   ├── cmake.check_cache │   │   ├── CMakeConfigureLog.yaml │   │   ├── CMakeScratch │   │   ├── git-data │   │   ├── idf_as_lib.elf.dir │   │   ├── pkgRedirects │   │   ├── rules.ninja │   │   └── TargetDirectories.txt │   ├── cmake_install.cmake │   ├── compile_commands.json │   ├── config │   │   ├── kconfig_menus.json │   │   ├── sdkconfig.cmake │   │   ├── sdkconfig.h │   │   └── sdkconfig.json │   ├── config.env │   ├── esp-idf │   │   ├── app_update │   │   ├── bootloader │   │   ├── bootloader_support │   │   ├── CMakeFiles │   │   ├── cmake_install.cmake │   │   ├── cxx │   │   ├── driver │   │   ├── efuse │   │   ├── esp_app_format │   │   ├── esp_common │   │   ├── esp_hw_support │   │   ├── esp_mm │   │   ├── esp_partition │   │   ├── esp_pm │   │   ├── esp_ringbuf │   │   ├── esp_rom │   │   ├── esp_system │   │   ├── esp_timer │   │   ├── esptool_py │   │   ├── freertos │   │   ├── hal │   │   ├── heap │   │   ├── log │   │   ├── mbedtls │   │   ├── newlib │   │   ├── partition_table │   │   ├── pthread │   │   ├── riscv │   │   ├── soc │   │   └── spi_flash │   ├── flash_app_args │   ├── flash_args │   ├── flash_args.in │   ├── flash_bootloader_args │   ├── flasher_args.json │   ├── flash_project_args │   ├── idf_as_lib.bin │   ├── idf_as_lib.elf │   ├── kconfigs.in │   ├── kconfigs_projbuild.in │   ├── ldgen_libraries │   ├── ldgen_libraries.in │   ├── partition_table │   │   └── partition-table.bin │   ├── partition-table-flash_args │   └── x509_crt_bundle.S ├── build-esp32c2.sh -> build.sh ├── build-esp32c3.sh -> build.sh ├── build-esp32c6.sh -> build.sh ├── build-esp32h2.sh -> build.sh ├── build-esp32s2.sh -> build.sh ├── build-esp32s3.sh -> build.sh ├── build-esp32.sh -> build.sh ├── build.sh ├── CMakeLists.txt ├── main.c ├── README.md ├── run-esp32c2.sh -> run-esp32.sh ├── run-esp32c3.sh -> run-esp32.sh ├── run-esp32c6.sh -> run-esp32.sh ├── run-esp32h2.sh -> run-esp32.sh ├── run-esp32s2.sh -> run-esp32.sh ├── run-esp32s3.sh -> run-esp32.sh ├── run-esp32.sh ├── run.sh ├── sdkconfig └── stubs ├── esp32 │   ├── CMakeLists.txt │   ├── cpu_start.c │   ├── esp_chip_info.h │   ├── esp_system.h │   ├── flash_ops.c │   └── system_api.c ├── freertos │   ├── CMakeLists.txt │   ├── freertos │   └── task.c └── spi_flash ├── CMakeLists.txt └── esp_spi_flash.h

53 directories, 75 files

igrr commented 8 months ago

idf.py tool works with IDF build system projects. If you are adding IDF to your CMake project as a library, idf.py tool is not going to be usable with such a project.

If your top-level project is a CMake project, you should do something along these lines:

# Configure the project
cmake -B build -DCMAKE_TOOLCHAIN_FILE=$IDF_PATH/tools/cmake/toolchain-esp32.cmake -DTARGET=esp32 -GNinja
# Execute 'menuconfig' target
cmake -B build --target menuconfig
Jiu-xiao commented 8 months ago

Fixed.