#cmake #arduino #esp32 #platformio #esp-idf
Вопрос:
Я настраиваю проект на плате ESP32doitdev. Я использую собственную платформу esp32, а также arduino. Я работаю с ядром platformio для компиляции. Я получаю ошибку, которая разрешается в модуль межпроцессорного вызова в рамках esp32-idf. Пытаясь решить проблему самостоятельно, я вошел idf.py menuconfig
и попытался настроить все, что логически связано с модулем межпроцессорных вызовов. Однако мне это не удалось. Мне было интересно, может ли кто-нибудь дать мне некоторое представление о том, почему может произойти эта ошибка? Я относительно новичок в cmake и немного растерян.
CMakeLists.txt
cmake_minimum_required(VERSION 3.16.0) include($ENV{IDF_PATH}/tools/cmake/project.cmake) project(Peripherals)
Конфигурация межпроцессорного вызова ESP-IDF
![введите описание изображения здесь][1]
Сообщение Об Ошибке Сборки pio run
francis@eniac:~/Documents/Peripheral$ /home/francis/.platformio/penv/bin/pio run Processing esp32doit-devkit-v1 (platform: espressif32; board: esp32doit-devkit-v1; framework: espidf, arduino) ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ Verbose mode can be enabled via `-v, --verbose` option CONFIGURATION: https://docs.platformio.org/page/boards/espressif32/esp32doit-devkit-v1.html PLATFORM: Espressif 32 (3.3.2) gt; DOIT ESP32 DEVKIT V1 HARDWARE: ESP32 240MHz, 320KB RAM, 4MB Flash DEBUG: Current (esp-prog) External (esp-prog, iot-bus-jtag, jlink, minimodule, olimex-arm-usb-ocd, olimex-arm-usb-ocd-h, olimex-arm-usb-tiny-h, olimex-jtag-tiny, tumpa) PACKAGES: - framework-arduinoespressif32 0.0.0 sha.a418058 - framework-espidf 3.40001.200521 (4.0.1) - tool-cmake 3.16.4 - tool-esptoolpy 1.30100.210531 (3.1.0) - tool-ninja 1.7.1 - toolchain-esp32ulp 1.22851.191205 (2.28.51) - toolchain-xtensa32 2.80400.210211 (8.4.0) Installing ESP-IDF's Python dependencies Collecting cryptographygt;=2.1.4 Using cached cryptography-35.0.0-cp36-abi3-manylinux_2_24_x86_64.whl (3.5 MB) Collecting futuregt;=0.15.2 Using cached future-0.18.2-py3-none-any.whl Collecting pyparsinglt;2.4.0,gt;=2.0.3 Using cached pyparsing-2.3.1-py2.py3-none-any.whl (61 kB) Collecting kconfiglib==13.7.1 Using cached kconfiglib-13.7.1-py2.py3-none-any.whl (145 kB) Collecting cffigt;=1.12 Using cached cffi-1.15.0-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (446 kB) Collecting pycparser Using cached pycparser-2.20-py2.py3-none-any.whl (112 kB) Installing collected packages: pycparser, cffi, pyparsing, kconfiglib, future, cryptography Successfully installed cffi-1.15.0 cryptography-35.0.0 future-0.18.2 kconfiglib-13.7.1 pycparser-2.20 pyparsing-2.3.1 Warning! Arduino framework as an ESP-IDF component doesn't handle the `variant` field! The default `esp32` variant will be used. Reading CMake configuration... -- Found Git: /usr/bin/git (found version "2.25.1") -- The C compiler identification is GNU 8.4.0 -- The CXX compiler identification is GNU 8.4.0 -- The ASM compiler identification is GNU -- Found assembler: /home/francis/.platformio/packages/toolchain-xtensa32/bin/xtensa-esp32-elf-gcc -- Check for working C compiler: /home/francis/.platformio/packages/toolchain-xtensa32/bin/xtensa-esp32-elf-gcc -- Check for working C compiler: /home/francis/.platformio/packages/toolchain-xtensa32/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: /home/francis/.platformio/packages/toolchain-xtensa32/bin/xtensa-esp32-elf-g -- Check for working CXX compiler: /home/francis/.platformio/packages/toolchain-xtensa32/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: 7bca477-dirty -- Building ESP-IDF components for target esp32 -- Configuring incomplete, errors occurred! See also "/home/francis/Documents/Peripheral/.pio/build/esp32doit-devkit-v1/CMakeFiles/CMakeOutput.log". fatal: not a git repository (or any parent up to mount point /) Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set). CMake Error at /home/francis/.platformio/packages/framework-espidf/tools/cmake/build.cmake:185 (message): Failed to resolve component 'esp_ipc'. Call Stack (most recent call first): /home/francis/.platformio/packages/framework-espidf/tools/cmake/build.cmake:216 (__build_resolve_and_add_req) /home/francis/.platformio/packages/framework-espidf/tools/cmake/build.cmake:425 (__build_expand_requirements) /home/francis/.platformio/packages/framework-espidf/tools/cmake/project.cmake:348 (idf_build_process) CMakeLists.txt:3 (project)
platform.ini
[env:esp32doit-devkit-v1] platform = espressif32 board = esp32doit-devkit-v1 framework = espidf, arduino platform_packages = framework-arduinoespressif32 @ https://github.com/espressif/arduino-esp32.git monitor_speed = 115200 build_flags = -D ARDUINO=100 -D ESP32=100 -I src/lib/*/src/*
Комментарии:
1. Первое сообщение об ошибке , которое вы получили, это
fatal: not a git repository (or any parent up to mount point /)
. Поэтому вам нужно попытаться отладить именно эту ошибку. Любая другая ошибка, которую вы получили, вторична: возможно, другая ошибка является результатом первой.2. Можете ли вы уточнить, какой каталог должен быть репозиторием git, поскольку основной проект является репозиторием git и имеет доступ к
.git
папке?3. Кстати, сообщение
-- Configuring incomplete, errors occurred!
отправляется CMake и означает, что ранее произошла какая-то ошибка. Таким образом, соответствующее сообщение об ошибке находится над строками, которые вы показываете в своем посте с вопросом.4. Я приношу извинения за предоставление неполной информации. Я обновил свой исходный пост, чтобы отразить все сообщение компилятора, с которым я работаю.