【ESP-IDF/VSCode】빌드가 불가능할 때는 ESP-IDF tools의 경로를 확인하자
소개
ESP-IDF는 공식적으로 VSCode의 확장 기능을 내고 있습니다. 하지만 이것의 설정이 꽤 어렵다.
「ESP-IDF의 커맨드 프롬프트에서는 빌드가 지나지만, VSCode라면 왠지 이런 느낌으로 에러가 나와 빌드를 할 수 없다」라고 하는 사람용입니다.
환경
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
에서 로그를 볼 수 있다는 것이 가장 수확이었습니다.
참고
커맨드 프롬프트나 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
에서 로그를 볼 수 있다는 것이 가장 수확이었습니다.
참고
"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"
VSCode상에서 개발할 수 있게 되면 여러가지 편리할 것 같습니다만, 환경 구축이 꽤 어렵네요, 이것.
esp_idf_vsc_ext.log
에서 로그를 볼 수 있다는 것이 가장 수확이었습니다.참고
ESP IDF in VS code Failing - Something went wrong while trying to build project. (ESP-IDF 로그 위치)
Reference
이 문제에 관하여(【ESP-IDF/VSCode】빌드가 불가능할 때는 ESP-IDF tools의 경로를 확인하자), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/gixim/items/3d9a219c257e254a5200텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)