프로그래밍

VSCode/ESP-IDF 환경에서 ESP32-S3 테스트 프로그램 적용하기

야라바 2022. 11. 22. 19:01
728x90

VSCode에 플러그인으로 ESP-IDF 환경도 준비했고, ESP32-S3를 장착한 보드도 확보했으니 본격적인 개발에 앞서 이제 테스트 프로그램을 작성해서 기기용 이미지로 만들어 업로드하고(Flash) 원하는 대로 기기가 동작하는지 살펴보는 일이 남았다. 2Cm도 안 되는 작은 칩에 웬만한 시스템 기능이 모두 담겨 있으니 세상 많이 바뀐 것 맞다.

 

VSCode에서 [F1] 단축키나 보기 > 명령 팔레트 메뉴로 위와 같이 팔레트 창을 띄운 다음 esp-idf를 입력하면 연관된 다양한 명령들을 확인할 수 있다. 그중에서 "ESP-IDF: Welcome"을 선택하면 위의 그림처럼 프로젝트를 시작하거나 프로젝트를 가져오기 할 수 있다.

 

[Show example]을 클릭하면 사용할 프레임워크를 선택하라는 화면이 나오는데 현재의 ESP-IDF를 선택한다.

 

예제에서 hello_world를 클릭하면 우측에 해당 예제에 대한 설명이 나온다. 이때 상단의 [Create project using example hello_world] 버튼을 누른다. 

어떤 폴더에 프로젝트를 생성할지 묻는데 적절한 폴더를 입력하고 [폴더 선택]을 누르면 우측의 그림처럼 프로젝트를 생성한다.

 

프로젝트를 생성하면 VSCode는 위의 그림처럼 해당 폴더를 열어준다. 예제 프로그램의 내용인 hello_world_main.c 파일을 열어보면 단순 텍스트 출력과 함께 시스템 정보를 출력하고 있음을 확인할 수 있다.

 

그다음으로는 "ESP-IDF: Set Espressif device target" 명령으로 대상 시스템을 프로젝트에 설정해야 한다.

 

어떤 작업 공간에 적용할 것인지 묻는데 방금 전에 생성한 프로젝트를 선택한다.

 

칩의 종류인 esp32s3를 선택한다.

 

OpenOCD(Open On-Chip Debugger) 환경을 선택하는 단계로 단순 예제이므로 ESP-PROG를 선택해도 된다.

 

설정이 완료되면 위의 그림처럼 화면 하단에 프로젝트에 대한 정보가 나오는데 맨 앞에 있는 COM 포트가 정확하게 기기와 연결된 포트를 가리키지 않는 경우라면 클릭하면 위의 그림처럼 해당 포트로 변경할 수 있다.

 

다음으로는 "ESP-IDF: SDK Configuration editor (menuconfig)"를 선택한다. 화면에서 보듯이 사용할 수 있는 단축키가 있는 경우에는 우측에 단축키가 표시된다.

 

이 화면을 통해서 여러 SDK 환경을 설정할 수 있다. 필요한 설정 후에 [Save]로 저장하고 창을 닫는다.

 

필요에 따라 .vscode/c_cpp_properties.json 파일을 수정해야 할 수도 있다.

 

"ESP-IDF: Build your project" 명령을 수행하면 터미널 창이 열리면서 프로그램 빌드를 시작한다.

 

빌드 과정이 모두 끝나면 위의 그림처럼 기기에 업로드할 이미지의 크기가 표시된다. 단순한 프로그램이었지만 1천 개가 넘는 소스를 컴파일하는 과정이 있었다.

 

이제 "ESP-IDF: Flash your project" 명령으로 기기에 프로그램 이미지를 내려보낸다. 앞서 포트 설정을 했으므로 직렬 포트를 이용해서 바로 내려보낸다. 

 

터미널을 보면 시리얼 포트를 통해서 프로그램 이미지가 내려가는 것을 확인할 수 있다.

 

마지막으로 남은 것은 "ESP-IDF: Monitor your device"명령으로 기기의 동작을 살펴 보는 것이 남았는데 위의 그림처럼 빌드, 플래시, 모니터링을 한 번에 하는 명령도 있다.

 

위의 그림은 기기가 동작중인 상태의 모니터링 화면이다. 이제 준비가 모두 되었다. 본격적으로 개발을 시작하면 된다.

 

 

 

728x90