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 >
- MCU/MPU Selector
- 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
- Project
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
- RCC
- System Core
- Clock Configuration
- HCLK: 72 MHz, 72 입력 후 엔터를 치면 STM32CubeMX가 적당한 솔루션을 제공해 줍니다.
- Pinout & Configuration
- Connectivity
- USART1
- Mode
- Mode: Asynchronous
- Configuration
- Parameter Settings
- Basic Parameters
- Baud Rate: 115200 Bits/s
- Basic Parameters
- Parameter Settings
- Mode
- USART1
- Pinout view
- PC13: GPIO_Output
- Connectivity
- 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
- Code Generator
- File -> Save
Code
main.c
...
/* USER CODE BEGIN XXX */
/* USER CODE END XXX */
...
danger
코드를 작성할 때, USER CODE BEGIN XXX
와 USER CODE END XXX
사이에만 작성하세요. 설정을 변경했을 때, 해당 주석 사이에 작성된 코드와 직접 생성한 파일을 제외하고 모두 지워집니다.