1. 프로젝트 설정
stm32cubeide를 실행합니다.

① Create / Import STM32 project를 실행합니다.
② 해당 적용 하려고 하는 MCU 이름을 Mcu Name Filter에 입력 합니다.

③ Project Name 에 본인이 원하는 프로젝트 이름을 설정 합니다.

④ 저 같은 경우는 프로젝트 이름을 RTOS-407 이라고 입력했습니다.
⑤ 위 그림을 보면 프로젝트에 메모리 레이아웃을 정의 하는 파일이 있습니다.
STM32F407IGTX_FLASH.ld , STM32F407IGTX_RAM.ld
⑥ 시스템 및 파일 입출력 기능에 필요한 호출 함수가 있는 syscalls.c 파일과 heap 메모리를 관리하는 sysmem.c 파일이 있습니다.

⑦ 위 그림처럼 소스 폴더(CMSIS, Config, Core)를 3개 만듭니다.
메뉴에서 File ➜ New ➜ Source Folder

⑧ Core 폴더 내부에 일반 폴더 Inc, Src 를 2개 만듭니다.
⑨ Src 폴더에 main.c , syscalls.c, sysmem.c 파일 3개를 이동 합니다. 기존에 존재한 Inc 폴더와 Src 폴더는 삭제 합니다.
⑩ https://www.st.com/en/embedded-software/stm32cubef4.html
STM32CubeF4 | Product - STMicroelectronics
STM32Cube is an STMicroelectronics original initiative to significantly improve developer productivity by reducing development effort, time and cost.
www.st.com

해당 링크에 접속해서 STM32CubeF4에 주변 장치를 라이브러리를 가져 옵니다.
⑪ 파일 압축을 풀고 해당 MCU 라이브러리를 추가해야 합니다.
stm32cubef4-v1-28-0\STM32Cube_FW_F4_V1.28.0\Drivers\CMSIS\Device\ST\STM32F4xx\Include

stm32f4xx.h
stm32f407xx.h
system_stm32f4xx.h
이 3가지 파일을 위 그림처럼 이동 합니다.
⑫ cortex-M4에 관련된 cmsis 파일도 추가 해야 합니다.

stm32cubef4-v1-28-0\STM32Cube_FW_F4_V1.28.0\Drivers\CMSIS\Core\Include
⑬ 추가된 파일들을 컴파일러에 적용하기 위해 프로젝트 속성을 설정해야 합니다.

⑭ 라이브러리 적용을 위해서는 symbol 등록을 해야 합니다.

첨부된 그림을 보면 STM32F407xx 라는 심볼을 등록 했습니다. 이렇게 되면 stm32f407xx.h 파일을 적용 할수 있도록 활성화 된것을 확인할수 있습니다.

⑮ 마지막으로 main body 에 작업을 위한 최종 설정 작업이 필요 합니다.
전에 만든 Config 폴더가 있는데 이 폴더는 프로젝트 장치의 설정과 관련된 모든 헤더 파일들이 여기에 속하게 됩니다.
mcu.h 파일을 생성 하고 다음의 내용을 초반에 입력 합니다.
/*
* mcu.h
*
* STM32F4 주변 장치 접근을 위한 통합 헤더 파일
*/
#ifndef MCU_H_
#define MCU_H_
#include "stm32f4xx.h"
#endif /* MCU_H_ */
/*
* Application 진입 지점
*/
#include "mcu.h"
int main(void)
{
while(1)
{
}
}
최근 여러 일정상의 이유로 개인 프로젝트 진행이 다소 정체되었습니다. 하지만 이번에는 완성도 있게 마무리하는 것을 최우선 목표로 삼고 부지런히 준비 중입니다. 조만간 결과물로 인사드릴 수 있도록 속도를 내보겠습니다. ^^
'RTOS' 카테고리의 다른 글
| FreeRTOS 프로젝트 6단계 (0) | 2026.04.04 |
|---|---|
| FreeRTOS 프로젝트 5단계 (0) | 2026.03.30 |
| FreeRTOS 프로젝트 3 단계 (0) | 2026.03.25 |
| FreeRTOS 프로젝트 과정(2) (0) | 2026.03.14 |
| FreeRTOS 프로젝트 과정 (1) (0) | 2026.03.14 |