
File - New - STM32 Project 에 들어간다.

NUCLEO-F103RB에는 STM32F1 시리즈의 MCU가 들어가므로 이를 바탕으로 Boards List에서 보드를 찾아준다.
Type 에 나와있는 Nucleo-64 는 64핀 MCU를 장착한 ST Nucleo 보드 시리즈를 의미한다.

개발할 때 쓸 프로그래밍 언어를 선택하는 옵션
C를 선택하면.c 소스,.h 헤더 파일위주로 프로젝트가 생성됨C++선택하면 .cpp, .hpp 구조로 프로젝트가 만들어지고, 빌드 설정도 C++에 맞게 잡힘
컴파일 후 어떤 실행 형태로 만들지 정하는 옵션
Executable→ MCU에 직접 올려서 실행할.elf/.bin생성함 (기본값)Static Library→ 재사용할 함수 묶음을.a(정적 라이브러리)로 만들고, 다른 프로젝트에서 링크해서 씀
프로젝트의 기본 템플릿을 고르는 옵션
- STM32Cube → CubeMX 연동된 프로젝트, GUI로 핀 설정·클럭 설정 가능, 자동으로 HAL 드라이버 코드 생성됨(초보 추천)
- Empty → 완전 빈 프로젝트, 내가 스타트업 코드부터 다 작성해야 함(숙련자용)

GPIO, UART, I2C, SPI, ADC 등 모든 주변장치를 칩 데이터시트의 디폴트 상태로 자동 설정해줄지를 묻는 창이다.
여기서 기본모드는 칩이 리셋되었을 때의 초기 상태 또는 미리 정의된 안전한 초기 상태를 의미한다.
이런 오류가 떴다. STMCubeIDE와 STMicroelectronics의 본인의 계정을 연결해줘야한다.

Help-STM32Cube Updates-Connetion to myST 에 들어가서 계정을 연결하면된다.

Create peripheral initialization as a pair of '.c/.h' files per peripheral 옵션을 체크해준다.
기본적으로 STM32CubeIDE (또는 CubeMX)에서 주변장치 초기화 코드는 main.c 등에 모두 몰아서 생성된다.
이 옵션을 켜면 각 주변장치별로 초기화 코드가 별도의 독립된 소스 파일(.c)과 헤더 파일(.h)로 분리 생성된다.
예를 들어, UART 초기화 코드는 uart.c와 uart.h 파일로 따로 만들어지고, SPI 초기화 코드는 spi.c와 spi.h 처럼 각각 분리됩니다.

SWD(serial wire debug) 인터페이스를 사용하기위해 ST-LINK에게 SWD 인터페이스를
사용한다고 알려줘야한다.
Pinout & Configuration - Categories - System core - SYS 들어가서 Debug를 Serial Wire (SWD)로 설정한다.