yusukaid's IT note

STM32CubeMX, STM32CubeIDE 설치 및 실행 - 프로젝트 시작하기 본문

STM32

STM32CubeMX, STM32CubeIDE 설치 및 실행 - 프로젝트 시작하기

yusukaid__ 2025. 6. 10. 18:47

STM 기반 디바이스를 쓰는 사람이라면 필수적으로 사용하는 프로그램, CubeIDE. 일반적으로 장비의 펌웨어를 빌드하는 순서는 아래와 같다.
1. cubemx로 mcu 선택 후 원하는 기능 선택

2. code generate ➡️ 자동으로 코드 생성

3. cubeIDE에서 프로젝트를 열고 코드 작성

그럼 프로젝트 구성을 위해, 각 프로그램을 설치하고 실행해보자.


CubeMX & CubeIDE 설치하기

https://www.st.com/en/development-tools/stm32cubemx.html 

 

STM32CubeMX - STMicroelectronics

STM32CubeMX - STM32Cube initialization code generator, STM32CubeMX-Win, STM32CubeMX, STM32CubeMX-Lin, Patch-CubeMX, STM32CubeMX-Mac, STMicroelectronics

www.st.com

https://www.st.com/en/development-tools/stm32cubeide.html

 

STM32CubeIDE - STMicroelectronics

STM32CubeIDE - Integrated Development Environment for STM32, STM32CubeIDE-RPM, STM32CubeIDE-Lnx, STM32CubeIDE-Win, STM32CubeIDE-DEB, STM32CubeIDE-Mac, STMicroelectronics

www.st.com

위 링크를 타고 들어가서 "Get Software"를 클릭해 본인 운영체제에 맞는 버전을 찾아 설치하자. 기본적으로 stm32 프로그램들은 죄다 계정이 필요하기 때문에 계정을 새로 만드는 게 마음은 편하다.

또한 stm32 프로그램들은 다운로드 시 위 사진처럼 버전 선택이 가능하다. 물론 최신 버전을 쓰는 게 당연히 맞겠지만, mcu별로 지원이 안되는 기능들이 존재하기에 본인에게 필요한 기능과 그 기능에 맞는 버전을 잘 확인해보고 설치하자.


프로젝트 시작하기

설치 후 첫 실행 화면이다. 필자가 작업 중인 프로젝트가 존재하기에 저렇게 나오는데, 처음 실행을 했다면 당연히 "Exisiting Projects"에는 아무것도 나오지 않을 것이다. File➡️New Project를 클릭해 프로젝트를 하나 새로 만들어주자.

프로젝트를 새로 생성하면 펌웨어를 빌드할 mcu cpu를 선택하는 화면이 나온다. 본인이 필요한 것을 찾아 클릭해주면 되는데, 필자는 STM32F407VETx를 선택했다.

cpu를 선택하고 프로젝트를 생성하면 선택한 cpu의 이미지가 설정 화면에 나온다. 기본적으로 cpu에는 pin이 존재하기에, pin별로 원하는 기능을 추가할 수 있다. cpu는 마우스 스크롤로 확대/축소가 가능하기에 접근성은 좋은 편이다.

Generate Code를 클릭하면 추가한 기능에 따라 자동으로 코드가 생성된다. Open Project를 클릭하면 자동으로 cubeIDE가 연결되며 프로젝트를 확인해볼 수 있다.

cubeIDE로 프로젝트를 열었을 시 화면

기본적인 stm32 프로젝트 구성은 다음과 같다.

  • .settings: 프로젝트의 기본 설정이 들어가 있는 폴더다. 
  • Core: 프로젝트의 전반적인 동작을 책임지는 폴더다. 일반적으로 해당 폴더에 코드를 추가해서 펌웨어를 빌드한다.
  • Debug: 디버깅 작업을 할 때 생성되는 폴더로, 안에 프로젝트를 빌드했을 때 캐시 파일과 펌웨어 파일, 캐시 파일 등이 생긴다.
  • Drivers: 프로젝트를 생성할 때 선택한 기능별로 추가된 드라이버를 모아놓은 폴더다.
  • Middlewares: 마찬가지로 프로젝트를 생성할 때 추가된 middlewares를 모아놓은 폴더다.
  • .project: cubeIDE는 기본적으로 eclipse 기반이기 때문에, eclipse project 파일이라고 생각하면 편하다.
  • .cproject: 프로젝트 펌웨어의 소스 코드는 C 언어 기반으로 작성된다. 해당 파일은 CDT (C, C++ plugin)이다.
  • project 이름: 확장자명은 .ioc이며, cubeIDE에서도 cubeMX를 열 수 있기 때문에 그를 위한 cubeMX 파일이다.
  • cpu이름_FLASH/RAM .ld: 링커 스크립트 파일이다. 일반적으로 임베디드 펌웨어를 빌드하면 오브젝트 파일이 생성되는데, 이 오브젝트 파일을 하나의 바이너리로 만들도록 도와주는 역할을 한다.

stm32 기반 프로젝트는 기본적으로 이렇게 시작하면 된다. stm32의 경우 한국에 정보가 굉장히 부족하기 때문에 시작에 어려움을 겪는 사람들에게 도움이 되고자 본 문서를 작성해본다.

'STM32' 카테고리의 다른 글

[STM32]프로젝트 빌드 시 각종 에러 처리 방법  (0) 2025.06.10