【ESP-IDF/VSCode】빌드가 불가능할 때는 ESP-IDF tools의 경로를 확인하자

7462 단어 ESP-IDFVSCodeESP32

소개



ESP-IDF는 공식적으로 VSCode의 확장 기능을 내고 있습니다. 하지만 이것의 설정이 꽤 어렵다.

「ESP-IDF의 커맨드 프롬프트에서는 빌드가 지나지만, VSCode라면 왠지 이런 느낌으로 에러가 나와 빌드를 할 수 없다」라고 하는 사람용입니다.

환경


  • Windows 10
  • ESP-IDF v4.2.1
  • VSCode v1.56 (April 2021)

  • ESP-IDF 확장 기능 로그



    「오류가 나왔을 때는 로그를 보라」라고 자주 말해지네요. VSCode의 ESP-IDF 확장 프로그램 로그는 다음 위치에 있는 것 같습니다. Linux, Mac은 확인되지 않았습니다.


    OS
    위치


    Windows%USERPROFILE%\.vscode\extensions\espressif.esp-idf-extension-VERSION\esp_idf_vsc_ext.log
    Linux/MacOSX$HOME/.vscode/extensions/espressif.esp-idf-extension-VERSION/esp_idf_vsc_ext.log

    제 경우에는 Error: CMake or Ninja executables not found라는 것으로, CMake나 Ninja를 찾을 수 없다고 말해졌습니다.

    CMake나 Ninja는 어디에 있는지



    커맨드 프롬프트나 Powershell판의 ESP-IDF를 열면, 처음에 뭔가 여러가지 나오는군요. 그 안에 이러한 설명이 있습니다.
    Adding ESP-IDF tools to PATH...
        C:\Users\USERNAME\.espressif\tools\xtensa-esp32-elf\esp-2020r3-8.4.0\xtensa-esp32-elf\bin
        C:\Users\USERNAME\.espressif\tools\xtensa-esp32s2-elf\esp-2020r3-8.4.0\xtensa-esp32s2-elf\bin
        C:\Users\USERNAME\.espressif\tools\esp32ulp-elf\2.28.51-esp-20191205\esp32ulp-elf-binutils\bin
        C:\Users\USERNAME\.espressif\tools\esp32s2ulp-elf\2.28.51-esp-20191205\esp32s2ulp-elf-binutils\bin
        C:\Users\USERNAME\.espressif\tools\cmake\3.16.4\bin
        C:\Users\USERNAME\.espressif\tools\openocd-esp32\v0.10.0-esp32-20200709\openocd-esp32\bin
        C:\Users\USERNAME\.espressif\tools\ninja\1.10.0\
        C:\Users\USERNAME\.espressif\tools\idf-exe\1.0.1\
        C:\Users\USERNAME\.espressif\tools\ccache\3.7\
        C:\Users\USERNAME\.espressif\tools\dfu-util\0.9\dfu-util-0.9-win64
        C:\Users\USERNAME\.espressif\python_env\idf4.2_py3.8_env\Scripts
    

    이들은 명령 프롬프트를 시작할 때마다 일시적으로 추가되는 것처럼 보이며 VSCode에 이 경로가 추가되지 않았기 때문에 오류가 발생한 것 같습니다.
    그렇다면 이러한 경로를 VSCode 확장에 추가해 보겠습니다.

    VSCode 확장 프로그램에 경로 추가


    Ctrl + , 에서 설정 화면을 열고 "esp-idf custom extra paths"로 검색하거나,

    settings.json의 idf.customExtraPaths 에, 앞의 패스들을 세미콜론 단락으로 1행으로 추가해 갑니다.
    "idf.customExtraPaths": "C:\\Users\\USERNAME\\.espressif\\tools\\xtensa-esp32-elf\\esp-2020r3-8.4.0\\xtensa-esp32-elf\\bin;C:\\Users\\USERNAME\\.espressif\\tools\\xtensa-esp32s2-elf\\esp-2020r3-8.4.0\\xtensa-esp32s2-elf\\bin;C:\\Users\\USERNAME\\.espressif\\tools\\esp32ulp-elf\\2.28.51-esp-20191205\\esp32ulp-elf-binutils\\bin;C:\\Users\\USERNAME\\.espressif\\tools\\esp32s2ulp-elf\\2.28.51-esp-20191205\\esp32s2ulp-elf-binutils\\bin;C:\\Users\\USERNAME\\.espressif\\tools\\cmake\\3.16.4\\bin;C:\\Users\\USERNAME\\.espressif\\tools\\openocd-esp32\\v0.10.0-esp32-20200709\\openocd-esp32\\bin;C:\\Users\\USERNAME\\.espressif\\tools\\ninja\\1.10.0;C:\\Users\\USERNAME\\.espressif\\tools\\idf-exe\\1.0.1;C:\\Users\\USERNAME\\.espressif\\tools\\ccache\\3.7;C:\\Users\\USERNAME\\.espressif\\tools\\dfu-util\\0.9\\dfu-util-0.9-win64"
    

    이런 느낌으로 상당히 길다. Qiita의 코드 블록은 행내의 되돌릴 수 없는 것일까…
    우선, 이것을 추가하고, 만약을 위해 VSCode를 다시 열면, 빌드가 통과하게 된다고 생각합니다.

    끝에



    VSCode상에서 개발할 수 있게 되면 여러가지 편리할 것 같습니다만, 환경 구축이 꽤 어렵네요, 이것. esp_idf_vsc_ext.log 에서 로그를 볼 수 있다는 것이 가장 수확이었습니다.

    참고



  • ESP IDF in VS code Failing - Something went wrong while trying to build project. (ESP-IDF 로그 위치)
  • 좋은 웹페이지 즐겨찾기