맥/우분투 설치 방법은 아래 포스트 참고

맥/리눅스에서 ESP-IDF 사용하기
윈도우보다 리눅스에서 ESP-IDF 설치가 더 쉬운거 같습니다. 우분투 기준으로 설치하는 방법을 설명했으며 타 OS는 아래 공식 문서를 참고하여 설치하시면 됩니다. Standard Toolchain Setup for Linux and macOS - ESP32 - — ESP-IDF Programming Guide latest documentation— ESP-IDF Programming Guide latest documentation 의존 프로그램 설치 우분투 sudo apt-get install git wget flex

ESP32 시리즈 SoC를 사용하기 위해서는 ESP-IDF 프레임워크를  사용하거나 아두이노 BSP를 올려 아두이노 코드를 실행시키는 방법이 있습니다.

ESP를 아두이노로 사용하면 ESP의 모든 기능을 사용하기 어려우며, ESP의 모든 성능을 끌어내기 어렵습니다.

ESP-IDF를 사용하기 위해서 PlatformIO 를 사용하거나, Eclipse, VS Code 에서 Esp 확장 플러그인을 설치하거나, 사용하시는 IDE에서 CMake 환경을 설정하는 방법이 있습니다.

CLion은 C 개열 IDE중 당연 최고라 할 수 있는만큼,  CLion을 활용한 ESP-IDF 환경을 구성하는 방법을 소개합니다.

사용한 ESP

ESP32-S3-DevKitC-1 v1.1 - ESP32-S3 - — ESP-IDF Programming Guide latest documentation

제가 사용한 ESP 보드 입니다. Espressif 공식 레퍼런스 보드이며, ESP32-S3-WROOM-1 모듈을 사용하며, USB to UART 칩셋으로 Silicon Labs CP2102 칩을 사용하는 보드 입니다.

ESP-IDF 설치

Get Started - ESP32 - — ESP-IDF Programming Guide latest documentation

위 링크에 접속해서 ESP-IDF 윈도우 인스툴러를 다운로드 받습니다.

Windows Installer 를 클릭하고, 아래 이미지를 찾아 클릭하면 됩니다.

Universal Online Installer 를 다운받아 실행하면 됩니다.

설치를 시작하기전, 인스툴러는 ESP-IDF를 구동하기 위한 환경인지를 검사 합니다. Check complete 를 기다리고 Next 를 클릭하면 됩니다.

새로운 ESP-IDF 를 설치하기 위해, Download ESP-IDF 를 체크하면 됩니다.

설치하고자 하는 버전을 지정하면 됩니다. 현재 최신 Stable 버전은 v5.0.1 입니다.

설치하고자 하는 항목을 설정하면 됩니다.

☑ Framework # 기본적인 프레임워크
☐ Development integrations
├ ☐ Espressif-IDE # CLion을 사용할 것임으로 체크 해제 했습니다.
├ ☐ Rust language support # Rust 언어 지원을 설치하는 옵션입니다.
├ ☐ Toit language support # Toit 언어 지원을 설치하는 옵션입니다.
├ ☑ PowerShell # 파워쉘 ESP-IDF 스크립트의 바로가기를 추가해주는 옵션입니다.
│ ├ ☑ Windows Terminal ...
│ ├ ☑ Desktop shortcut
│ └ ☑ Start menu shortcut
└ ☑ Command Prompt # CMD ESP-IDF 스크립트의 바로가기를 추가해주는 옵션입니다.
  ├ ☑ Desktop shortcut
  └ ☑ Start menu shortcut

☐ Drivers # ESP의 USB 드라이버 입니다. 레퍼런스 보드의 스펙을 참고해서
│            설치하면 됩니다.
├ ☑ Espressif
├ ☐ FTDI
├ ☑ Silicon Labs
└ ☐ WCH

☐ Chip Targets # 사용하시는 보드를 체크하시면 됩니다.
├ ☐ ESP32
├ ☐ ESP32-C Series
│ ├ ☐ ESP32-C2
│ ├ ☐ ESP32-C3
│ └ ☐ ESP32-C6
└ ☐ ESP32-S Series
  ├ ☐ ESP32-S2
  └ ☑ ESP32-S3
☑ Optimization # 기본값으로 사용하면 됩니다.

설치가 완료되면 위 화면이 나타나며, Run ESP-IDF Powershell ...Register the ESP-IDF ... 를 체크하고 Finish를 클릭하면 설치가 종료되고, ESP-IDF 환경이 구성된 파워쉘 창이 나타납니다.

ESP-IDF는 위 파워쉘에서 개발을 합니다. 이 쉘에서는 ESP-IDF 개발을 위한 일회성 환경 변수들이 설정되며, ESP 를 개발할 때 반드시 이 쉘에서 개발을 해야 합니다.

환경이 설정된 파워쉘 혹은 CMD 를 열고 싶으면 설치된 바로가기를 실행하거나

ESP-IDF 가 설치된 폴더에서 실행하면 됩니다.

CMD 는 idf_cmd_init.bat 을, PowerShell은 Initalize-idf.ps1 을 실행하면 됩니다.

프로젝트 생성

ESP-IDF 파워쉘에서 작업을 이어서 하면 됩니다.

Setting IDF_PATH: ... 에 출력 된 폴더에 들어가면 examples 폴더가 있습니다.

{IDF_PATH}/examples/get_started/blink 폴더를 복사하여 사용하면 됩니다.

blink 프로젝트는 DevKit 보드에 내장된 네오픽셀 LED를 제어하는 예제 프로젝트 입니다.

예제 코드가 없는 빈 프로젝트를 만들고자 하면 sample_project 폴더를 복사해서 사용하면 됩니다.

idf.py 명령으로 프로젝트를 생성할 수 있습니다.

idf.py create-project [프로젝트 이름]
idf.py create-project hello
cd hello

clion . // 현재 디렉토리로 CLion 실행

idf.py app // 프로젝트 빌드

CLion 에서 ESP-IDF 구성하기

수정

기존 포스트에서 작성된 방법은 환경 변수들을 수동으로 추가하는 방법을 다룹니다.

자동으로 환경 변수를 설정하는 방법을 아래 포스트에 추가 했으니 이 방법을 사용해 주세요.

기존 글은 포스트 최 하단으로 위치를 변경 했습니다.

포스트의 방법을 사용하고, 기존 방법은 최후의 방법으로 사용해 주세요

ESP-IDF CLion 윈도우, 리눅스 더 쉽게 쓰는법
윈도우에서 ESP-IDF 사용하기ESP32 시리즈 SoC를 사용하기 위해서는 ESP-IDF 프레임워크를 사용하거나 아두이노 BSP를 올려 아두이노 코드를 실행시키는 방법이 있습니다. ESP를 아두이노로 사용하면 ESP의 모든 기능을 사용하기 어려우며, ESP의 모든 성능을 끌어내기 어렵습니다. ESP-IDF를 사용하기 위해서 PlatformIO 를 사용하거나, Eclipse, VS Code 에서 Esp 확장 플러그인을 설치하거나, 사용하시는 IDE에서 CMake 환경을 설정하는

==

sdkconfig

파워쉘에서 프로젝트 폴더로 디렉토리 변경 후 idf.py menuconfig 명령으로 프로젝트 설정을 구성합니다.

Example Configutation 에서 blink 프로젝트의 설정을 진행하면 됩니다.

Blink GPIO number 로 네오픽셀 LED 의 GPIO 핀을, Blink period in ms 로 깜빡이는 간격을 설정하면 됩니다.

idf.py 프로젝트 빌드, 업로드

파워쉘에서 프로젝트 최상단 폴더로 디렉토리 변경 후

idf.py app               // 프로젝트 빌드, 바이너리 생성
idf.py flash             // 바이너리 플래시
idf.py flash -p COM11    // COM11 포트로 플래시
idf.py monitor           // 기기 시리얼 모니터 열기

idf.py app flash         // 빌드, 플래시
idf.py app flash monitor // 빌드, 플래시, 모니터

CLion 에서 프로젝트 빌드, 업로드

상단에 Run Configurations 에서 app 을 선택한 후 Ctrl+F9 혹은 망치 모양의 Build 아이콘을 클릭하면 프로젝트가 빌드 됩니다.

User environment variables 에서 ESPPORT 변수를 ESP 보드가 연결된 COM 번호로 지정하면 보드에 코드 업로드가 가능합니다.

만약 ESPPORT 를 설정하지 않으면 PC에 연결된 모든 COM 포트에서 ESP 를 감지하여 코드 업로드를 시도 합니다.

Flash 로 변경 후 빌드하면 코드가 업로드 됩니다.

추가

환경변수 관련 설정을 자동화 할 수 있습니다. 아래 포스트를 참고해 주세요

ESP-IDF CLion 윈도우, 리눅스 더 쉽게 쓰는법
윈도우에서 ESP-IDF 사용하기ESP32 시리즈 SoC를 사용하기 위해서는 ESP-IDF 프레임워크를 사용하거나 아두이노 BSP를 올려 아두이노 코드를 실행시키는 방법이 있습니다. ESP를 아두이노로 사용하면 ESP의 모든 기능을 사용하기 어려우며, ESP의 모든 성능을 끌어내기 어렵습니다. ESP-IDF를 사용하기 위해서 PlatformIO 를 사용하거나, Eclipse, VS Code 에서 Esp 확장 플러그인을 설치하거나, 사용하시는 IDE에서 CMake 환경을 설정하는

CLion 에서 ESP-IDF 구성하기

ESP-IDF 파워쉘에서 작업을 이어서 하면 됩니다.

Setting IDF_PATH: ... 에 출력 된 폴더에 들어가면 examples 폴더가 있습니다.

{IDF_PATH}/examples/get_started/blink 폴더를 복사하여 사용하면 됩니다.

blink 프로젝트는 DevKit 보드에 내장된 네오픽셀 LED를 제어하는 예제 프로젝트 입니다.

예제 코드가 없는 빈 프로젝트를 만들고자 하면 sample_project 폴더를 복사해서 사용하면 됩니다.

CLion으로 복사한 blink 프로젝트를 열면 아래와 같이 빌드 환경을 설정하는 창이 나타납니다.

OK 를 클릭합니다.

프로젝트가 열리면 CMake 관련 오류가 출력 됩니다. 이는 CLionESP-IDF 에서 사용하는 컴파일러가 아니라 호스트 PC의 컴파일러를 인식하기 때문입니다.

또한 ESP 프로젝트를 빌드하기 위한 프로그램돠 라이브러리, 파이썬 환경이 인식되지 않기 때문에 관련 변수를 설정 해주어야 합니다.

Ctrl + Alt + S 를 클릭하여 설정창을 띄운 후, Build, Excution, Deployment > CMake 를 클릭합니다.

Environment 입력 창 우측의 버튼을 클릭하여 아래처럼 환경 변수를 설정합니다.

  • User environment variables:
    • IDF_PATH: ESP-IDF 의 위치를 지정합니다.
    • IDF_TARGET: 보드 타겟을 지정합니다. esp32, esp32c2, esp32s3 ...
  • System environment variables:
    • PATH: ESP-IDF 툴의 위치를 작성합니다.

IDF_PATH는 파워쉘 환경에서 Setting IDF_PATH: ... 에 나타난 경로를 입력하면 됩니다.

위 파워쉘에서 $Env:path 명령을 입력해서 IDF_PATH 의 하위 폴더들을 모두 복사합니다.

기본 설치 경로를 사용하였다면, C:\Espressif 하위 경로의 폴더를 복사하면 되며, 마지막 세미콜론까지 복사해야 합니다.

위 이미지처럼 복사하면 됩니다.

복사한 텍스트를 PATH 값 최좌측에 붙여넣으면 됩니다.

OK > OK 를 클릭한 후 아래처럼 Reset cache and Reload project 를 클릭하면 성공적으로 CMake 프로젝트가 로드 됩니다.