잡다하게 알면 좋은 ESP-IDF
관련 팁을 모은 글입니다.
- 쉽게 새로운
ESP-IDF
프로젝트 만들기 - 윈도우/리눅스/맥
CLion
에서ESP-IDF
사용법 - 맥/리눅스 에서 명령어 하나로
ESP-IDF
환경 실행하는법 - ...
새로운 프로젝트 생성법
ESP-IDF
설치하면 환경변수를 설정해주는 스크립트를 제공해줍니다. 이를 사용하면 새로운 프로젝트를 만들때마다 복잡한 환경변수 설정 없이 쉽게 프로젝트를 설정해 줄 수 있습니다.
~ idf.py create-project ~/hello
Executing action: create-project
The project was created in /home/user/hello
~ cd hello
~/hello ls
CMakeLists.txt main
~ clion .
idf.py create-project [프로젝트 이름]
커맨드로 쉽게 빈 프로젝트를 만들 수 있습니다.
생성한 프로젝트를 CLion으로 열면 됩니다.
윈도우 환경변수 설정
Settings | Build, Execution, Deployment | Toolchain
에서 +
버튼을 클릭하여 새로운 툴체인을 만들고, Add environment
를 눌러 ESP-IDF
폴더 안에 export.bat
를 지정해주면 됩니다.
오류 발생 시
파이썬 가상 환경 관련 오류가 발생할 수 있습니다.
ERROR: C:\Espressif\python_env\idf5.1_py3.12_env\Scripts\python.exe doesn't exist! Please run the install script or "idf_tools.py install-python-env" in order to create it
Espressif\python_env\idfx.x_pyx.xx_env\Scripts
디렉토리 안에 activate.bat
등의 virtualenv
관련 파일이 없을거나, 가상환경 경로에 접근이 불가하거나, 버전에 문제가 있을경우 나타나는 오류입니다.
먼저 virtualenv
파이썬 패키지를 설치해야 합니다.
pip install virtualenv
방법1. idf_tools.py
사용
esp-idf
프레임워크 폴더 속 tools
폴더에 존재합니다.
다음 커맨드로 파이썬 환경을 재설치하면 됩니다.
PS C:\Espressif\frameworks\esp-idf-v5.1.1\tools> python .\idf_tools.py install-python-env
방법2. 툴 재설치
설치된 프레임워크 폴더 속 install.bat
스크립트를 사용하여 툴을 설치하면, 파이썬 가상환경이 설정 됩니다.
다음 명령어를 입력합니다.
PS C:\Espressif\frameworks\esp-idf-v5.1.1> install.bat {esp32|esp32s3| ... }
// install.bat - 모든 툴체인 설치
// install.bat esp32 - esp32 툴체인 설치
// install.bat esp32 esp32s3 - esp32, esp32s3 툴체인 설치
맥/리눅스 환경변수 설정
Settings | Build, Execution, Deployment | Toolchain
에서 +
버튼을 클릭하여 새로운 툴체인을 만들고, Add environment
를 눌러 ESP-IDF
폴더 안에 export.sh
를 지정해주면 됩니다.
빌드 디렉토리
idf.py
는 프로젝트를 빌드한 오브젝트 파일, bin
파일, elf
파일 등을 build
폴더에 저장 합니다.
CLion
에서는 기본 설정시 cmake-**
디렉토리에 저장 합니다.
비효율적으로 빌드를 여러번 하며 시간과 용량을 낭비하기 때문에 빌드 디렉토리를 통일 시키는 것이 좋습니다.
Cache variables
> Build direcroey
의 값을 build
로 설정하면 됩니다.
맥/리눅스 Alias 연결
사용하는 쉘 설정파일 가장 하단에 아래처럼 명령어를 지정하면 편하게 ESP-IDF
환경을 실행할 수 있습니다.
alias idf='. $HOME/esp-idf/path/export.sh'
idf
명령을 입력하면 ESP-IDF
환경이 실행됩니다.
~ idf
Detecting the Python interpreter
Checking "python3" ...
Python 3.10.6
"python3" has been detected
Checking Python compatibility
Checking other ESP-IDF version.
...