Skip to main content

STM32CubeIDE에서 프로젝트 생성


STM32CubeIDE 설치

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

프로젝트 생성

  • File -> New -> STM32 Project
  • Target Selection
    • MCU/MPU Selector
      • Part Number: 사용할 MCU 파트 번호 ex) STM32F407VG, STM32F103C8, ...
    • Next >
  • Setup STM32 Project
    • Project
      • Project Name: 프로젝트 명 입력
      • ✓ Use default location
        • 원하는 저장 경로가 있으면 체크를 해제하고 원하는 경로를 선택
    • Options
      • Targeted Language: C++
      • Targeted Binary Type: Executable
      • Targeted Project Type: STM32Cube
    • Next >
    • Target and Firmware Package
      • Firmware Package Name and Version: 원하는 버전이 없다면 최신 버전을 사용
    • Code Generator Options
      • ✓ Copy only the necessary library files
    • Finish

MCU 설정

STM32CubeIDE 왼쪽에 Project Explorer에서 <project\>.ioc 파일을 클릭하여 열면 Perspective가 STM32CubeMX로 변경되면서 설정 창이 열립니다.

Pinout & Configuration 탭에서 RCC(Reset and Clock Control) 설정 후, Clock Configuration 탭에서 클럭 설정을하고 다시 Pinout & Configuration 탭으로 돌아가 관련 설정을 진행하는 것이 좋습니다. 클럭이 다른 설정에 영향을 줄 수 있기 때문입니다.

STM32F103C8T6(blue-pill) 보드를 사용하여 클럭은 최대 속도, 디버깅은 SWV, LED와 UART를 사용한다고 가정하고 설정을 진행해 보겠습니다.

  • Pinout & Configuration
    • System Core
      • RCC
        • HSE: Crystal/Ceramic Resonator
        • LSE: Crystal/Ceramic Resonator
      • SYS
        • Debug: Trace Asynchronous Sw
  • Clock Configuration
    • HCLK: 72 MHz, 72 입력 후 엔터를 치면 STM32CubeMX가 적당한 솔루션을 제공해 줍니다.
  • Pinout & Configuration
    • Connectivity
      • USART1
        • Mode
          • Mode: Asynchronous
        • Configuration
          • Parameter Settings
            • Basic Parameters
              • Baud Rate: 115200 Bits/s
    • Pinout view
      • PC13: GPIO_Output
  • Project Manager
    • Code Generator
      • ✓ Generate peripheral initialization as a pair of '.c/.h' files per peripheral
      • ✓ Keep User Code when re-generating
      • ✓ Delete previously generated files when not re-generated
  • File -> Save

Code

main.c
...
/* USER CODE BEGIN XXX */

/* USER CODE END XXX */
...
danger

코드를 작성할 때, USER CODE BEGIN XXXUSER CODE END XXX 사이에만 작성하세요. 설정을 변경했을 때, 해당 주석 사이에 작성된 코드와 직접 생성한 파일을 제외하고 모두 지워집니다.