본문 바로가기
Embedded

VSCode에서 ESP-IDF 개발환경 구축하기

by poin 2022. 1. 6.

ESP32 또는 ESP8266을 개발하기 위한 환경은 여러가지가 있다. 보통은 아두이노에서 시작하는 경우가 많다. 하지만 개발을 진행하다 보니, 불편한 점이 좀 있었다. 아두이노의 esp32-core도 Espressif사에서 관리하긴 하지만, 아무래도 아두이노 개발환경에 맞게 포팅한 것이다보니, 업데이트에 한계가 있는 것 같았다. 그리고 무엇보다 아두이노 IDE가 개발하기가 참 불편해서, 대안을 찾게 되었다.

대안이라고 하면 espressif사의 framework인 esp-idf를 직접 설치하는 것이 가장 좋은 것 같았다. 개발사에서 가장 권장하고, 가장 직접적으로 관리하는 개발환경이 보드특성에 가장 알맞기 때문이다.

esp-idf를 설치하고 나서는 eclipse, vscode의 PlatformIO등의 환경에서 개발을 진행할 수가 있다. 다만 esp-idf를 직접 설치하고, 컴파일러 등 툴체인을 설치하기가 번거롭기 때문에, VSCode에서 Espressif사에서 개발한 extension을 활용하고 있다.

 

GitHub - espressif/vscode-esp-idf-extension: Visual Studio Code extension for ESP-IDF projects

Visual Studio Code extension for ESP-IDF projects. Contribute to espressif/vscode-esp-idf-extension development by creating an account on GitHub.

github.com

VSCode의 Espressif IDF Extension

아주 완벽하고 clean하게 수행되는 것은 아니라서 별점이 좀 낮지만... 툴체인 설치하고 이것저것 개별적으로 설정하는것보다는 훨씬 편한것 같다.

 

위의 Extension을 통해 ESP-IDF framework를 설치하고 Hello World 예제를 수행시키는 과정은 아래와 같다.

 

1) ESP-IDF extension 설치

VSCode extension에서 'esp-idf'를 검색해 extension을 설치한다.

설치후에는 VSCode의 'View→Command Palette...'에서 'ESP-IDF: Configure ESP-IDF extension'을 선택한다.

그러면 ESP-IDF Setup 창이 뜨고, ESP-IDF virtual environment를 설치하게 된다. EXPRESS 또는 ADVANCED를 선택해 관련 tool들을 자동으로 설치한다.

 

2) Project 폴더 생성

설치가 완료되면, 테스트용 프로그램을 수행시켜 본다.

VSCode의 'View→Command Palette...'에서 'ESP-IDF: Create project from extension template'을 통해 프로젝트 폴더와 기본 file structure를 구성한다.

몇가지 option이 있는데, 'template-app'을 선택하면 기본 'Hello World' 예제가 포함된 폴더가 구성된다.

생성된 폴더구조

3) code 작성 및 실행

main 프로그램은 main.c에서 작성하게 된다.

Hello World Example

위 코드는 기본으로 들어있는 template code로, board의 information을 출력하고 restart를 진행하는 코드이다.

장치 관리자

Build를 진행하기 위해, 먼저 ESP32를 USB로 PC에 연결하여, 장치관리자에서 포트를 확인한다. 위 경우에는 COM3포트로 되어 있다.

VSCode 아래 창에서 위와 같은 빨간 동그라미가 쳐진 버튼을 눌러 port를 알맞게 설정한다.

VSCode의 아래쪽을 보면, 위와 같은 버튼들이 있다. 4개의 버튼은 왼쪽부터 순서대로 'Build Project', 'Flash Device', 'Monitor Device', 'Build, Flash, Monitor' 버튼이다. 가장 우측 버튼을 누르면 build부터 terminal을 통한 monitoring까지 한번에 수행된다. 처음에는 시간이 다소 소요된다.

4) Result

Terminal

실행이 성공적으로 수행되면, 위처럼 Terminal로 실행 결과를 확인할 수 있다.

Reference

 

 

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

Flash the binaries that you just built (bootloader.bin, partition-table.bin and hello_world.bin) onto your ESP32 board by running: You can also change the flasher baud rate by replacing BAUD with the baud rate you need. The default baud rate is 460800. Enc

docs.espressif.com

 

'Embedded' 카테고리의 다른 글

ESP32-CAM Home Assistant Integration (ESPHome)  (0) 2022.01.24
VSCode ESP-IDF ‘Invalid certificate’ error  (0) 2022.01.06

댓글