Category (Click)
개발보드 덕질하기

VSCode에서 디버깅 가능한 STM32 개발환경 만들기

 차완기 - @5/25/2023, 11:04:00 PM

불편한 CubeIDE

VSCode를 자주 사용하다 보니 STM32CubeIDE의 이클립스 기반 UI가 너무 불편했습니다. 그러다 보니 가끔 VSCode에서 프로젝트 폴더를 불러와 코드를 수정하고는 했는데요, VSCode를 그저 에디터로만 사용하다 보니 디버깅을 할 때마다 CubeIDE를 켜는 것이 불편했습니다.

STM32 VS Code Extension

그러던 중 최근 ST에서 VSCode Extension을 공개하여 이걸 사용해 보기로 하였습니다.

의존성 및 Extension 설치

이클립스 기반인 TrueSTUDIO와 CubeMX가 합쳐진 STM32CubeIDE를 VSCode로 대체해야 하기 때문에 CubeMX는 물론, 기존 IDE의 기능을 VSCode에서 사용할 수 있도록 도와주는 프로그램이 필요합니다.
사실 작년부터 MS의 Embedded Tools Extension을 설치해 VSCode에서 STM32 MCU를 디버깅할 수 있었는데요, ST에서 공개한 Extension 역시 이것을 의존성으로 사용하고 있습니다. 기존의 방식은 vcpkg를 추가로 설치해 STM32 MCU를 위한 빌드툴을 설치하는 방식이었다면, 현재는 ST에서 빌드툴인 STM32CubeCLT를 공식적으로 제공해 간소화된 느낌입니다.
STM32CubeCLT - 필수
펌웨어 빌드와 디버깅에 반드시 필요합니다.
STM32CubeMX - 권장
VSCode에서 CubeMX를 바로 켜는 기능을 지원합니다.
STMCUFinder - 옵션
Git - 권장
Git은 대부분 설치되어있을 것 같네요.
이렇게 의존성을 설치한 후 VSCode에서 STM32 VS Code Extension을 설치하면 준비가 끝납니다.

기존 프로젝트 불러오기

VSCode를 켠 후 좌측의 STM32 탭을 켭니다. Import a local project를 클릭한 후 기존 프로젝트 폴더에 들어가 .cproject 확장자명인 ST 프로젝트 파일을 열어주면 됩니다.

새 프로젝트 생성하기

Create a new application project 버튼을 클릭하고 CubeMX에서 설정을 완료한 뒤 Project Manager 탭에서 Toolchain / IDE 를 STM32CubeIDE로 설정합니다.

마무리

아직 CMake에 익숙하지 않아 당분간은 빌드 옵션을 변경하는 등의 과정에서 CubeIDE를 여전히 사용하긴 해야 할 것 같습니다. 그래도 코드 작성은 물론 디버깅까지 잘 되니 CubeIDE 때문에 고통받을 일은 없을 것 같네요.