ESP-IDF는 Windows, Linux 및 macOS에서 지원되는 Espressif SoC용 개발 프레임워크입니다.
다음 표에서는 Espressif SoC의 ESP-IDF 지원을 보여줍니다. 여기서 및 는 각각 미리 보기 상태와 지원을 나타냅니다. 미리보기 지원은 일반적으로 시간이 제한되어 있으며 칩의 베타 버전용으로 제공됩니다. 원하는 SoC가 이미 지원되는 ESP-IDF 릴리스를 사용하세요.
칩 | v5.0 | v5.1 | v5.2 | v5.3 | v5.4 | |
---|---|---|---|---|---|---|
ESP32 | ||||||
ESP32-S2 | ||||||
ESP32-C3 | ||||||
ESP32-S3 | 발표 | |||||
ESP32-C2 | 발표 | |||||
ESP32-C6 | 발표 | |||||
ESP32-H2 | 발표 | |||||
ESP32-P4 | 발표 | |||||
ESP32-C5 | 발표 | |||||
ESP32-C61 | 발표 |
일련의 칩에 대한 개정 버전이 있습니다. ESP-IDF와 칩 개정 간 호환성에 대한 자세한 내용은 ESP-IDF 릴리스와 Espressif SoC 개정 간 호환성을 참조하세요.
대신 2016년 이전에 출시된 Espressif SoC(ESP8266 및 ESP8285)는 RTOS SDK에서 지원됩니다.
사용하는 칩에 따라 ESP-IDF를 설정하는 방법에 대한 자세한 지침 링크는 https://idf.espressif.com/을 참조하세요.
참고: 각 SoC 시리즈와 각 ESP-IDF 릴리스에는 자체 문서가 있습니다. 문서를 찾는 방법과 ESP-IDF의 특정 릴리스를 확인하는 방법은 섹션 버전을 참조하세요.
ESP-IDF는 상대 위치를 하위 모듈 URL(.gitmodules)로 사용합니다. 그래서 그들은 GitHub에 연결합니다. ESP-IDF가 GitHub에 없는 Git 저장소로 분기된 경우 git clone 후에 tools/set-submodules-to-github.sh 스크립트를 실행해야 합니다.
스크립트는 모든 하위 모듈에 대한 절대 URL을 설정하여 git submodule update --init --recursive
완료할 수 있도록 합니다. GitHub에서 ESP-IDF를 복제하는 경우 이 단계가 필요하지 않습니다.
시작하기에서 언급된 esp-idf-template 프로젝트뿐만 아니라 ESP-IDF는 예제 디렉터리에 몇 가지 예제 프로젝트와 함께 제공됩니다.
작업하려는 프로젝트를 찾았으면 해당 디렉터리로 변경하면 해당 프로젝트를 구성하고 빌드할 수 있습니다.
예제를 기반으로 자신의 프로젝트를 시작하려면 ESP-IDF 디렉터리 외부에 예제 프로젝트 디렉터리를 복사하세요.
자세한 설정 가이드는 위의 시작 가이드 링크를 참조하세요. 다음은 ESP-IDF 프로젝트 작업 시 일반적인 명령에 대한 빠른 참조입니다.
(자세한 내용이 포함된 필수 단계의 전체 목록은 위에 나열된 시작하기 가이드를 참조하세요.)
install.bat
또는 install.ps1
과 Unix 셸용 install.sh
또는 install.fish
포함됩니다.export.bat
)를 실행하거나 모든 셸 환경의 Unix에서 소스( source export.sh
)를 실행하세요. idf.py set-target
프로젝트 대상을
으로 설정합니다. 지원되는 대상 목록을 보려면 인수 없이 idf.py set-target
실행하세요.idf.py menuconfig
프로젝트를 구성할 수 있는 텍스트 기반 구성 메뉴를 엽니다. idf.py build
... 앱, 부트로더를 컴파일하고 구성을 기반으로 파티션 테이블을 생성합니다.
빌드가 완료되면 esptool.py를 사용하여 칩을 플래시하는 명령줄이 인쇄됩니다. 그러나 다음을 실행하여 이 작업을 자동으로 수행할 수도 있습니다.
idf.py -p PORT flash
PORT를 직렬 포트 이름(예: Windows의 COM3
, Linux의 /dev/ttyUSB0
, MacOS의 /dev/cu.usbserial-X
으로 바꿉니다. -p
옵션을 생략하면 idf.py flash
다음을 시도합니다. 사용 가능한 첫 번째 직렬 포트를 플래시합니다.
그러면 전체 프로젝트(앱, 부트로더 및 파티션 테이블)가 새 칩에 플래시됩니다. 직렬 포트 플래싱 설정은 idf.py menuconfig
사용하여 구성할 수 있습니다.
idf.py flash
실행하기 전에 idf.py build
실행할 필요가 없습니다. idf.py flash
필요한 모든 항목을 자동으로 다시 빌드합니다.
idf.py monitor
대상은 esp-idf-monitor 도구를 사용하여 Espressif SoC의 직렬 출력을 표시합니다. esp-idf-monitor에는 충돌 출력을 디코딩하고 장치와 상호 작용하는 다양한 기능도 있습니다. 자세한 내용은 설명서 페이지를 확인하세요.
Ctrl-]를 입력하여 모니터를 종료합니다.
한 번에 출력을 빌드, 플래시 및 모니터링하려면 다음을 실행하면 됩니다.
idf.py flash monitor
초기 플래시 후에는 부트로더와 파티션 테이블이 아닌 앱만 빌드하고 플래시하기를 원할 수 있습니다.
idf.py app
- 앱만 빌드합니다.idf.py app-flash
- 앱만 플래시합니다. idf.py app-flash
소스 파일이 변경된 경우 자동으로 앱을 다시 빌드합니다.
(일반적인 개발에서는 부트로더와 파티션 테이블이 변경되지 않은 경우 매번 다시 플래시해도 문제가 없습니다.)
idf.py flash
대상은 전체 플래시 내용을 지우지 않습니다. 그러나 특히 파티션 테이블을 변경하거나 OTA 앱을 업데이트할 때 장치를 완전히 지워진 상태로 다시 설정하는 것이 유용한 경우가 있습니다. 전체 플래시를 지우려면 idf.py erase-flash
실행하세요.
이는 다른 대상과 결합될 수 있습니다. 즉, idf.py -p PORT erase-flash flash
모든 것을 지운 다음 새 앱, 부트로더 및 파티션 테이블을 다시 플래시합니다.
최신 버전에 대한 설명서: https://docs.espressif.com/projects/esp-idf/. 이 문서는 이 저장소의 docs 디렉토리에서 작성되었습니다.
ESP-IDF의 주요 개념 및 리소스에 대한 초보자 가이드
esp32.com 포럼은 질문을 하고 커뮤니티 리소스를 찾을 수 있는 곳입니다.
버그를 발견하거나 기능 요청이 있는 경우 github의 문제 섹션을 확인하세요. 새 이슈를 열기 전에 기존 이슈를 확인하세요.
ESP-IDF에 기여하는 데 관심이 있다면 기여 가이드를 확인하세요.