RTOS

FreeRTOS 프로젝트 4단계

gigax 2026. 3. 29. 16:34

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