강좌 & 팁
글 수 2,412
2014.06.08 23:31:34 (*.134.169.166)
39702
오늘은 M3를 위한 것이라기 보다 FreeRTOS 의 시작이라고나 할까요?
지난번에는 홈페이지를 소개했으니 이번에는 다운로드를 받고 소스를 좀 보겠습니다.
먼저 다운로드는 아래 링크에서 제공합니다.
항상 매뉴얼이 필요하죠?
다운을 받고 압축을 풀면 아래와 같이 볼수 있습니다.
boggle70@boggle70-P55-US3L:FreeRTOSv8.0.1$ ll
합계 28
drwxrwxr-x 4 boggle70 boggle70 4096 5월 27 12:58 ./
drwxr-xr-x 8 boggle70 boggle70 4096 5월 27 12:58 ../
drwxrwxr-x 5 boggle70 boggle70 4096 4월 24 13:32 FreeRTOS/
drwxrwxr-x 4 boggle70 boggle70 4096 4월 24 13:30 FreeRTOS-Plus/
-rw-rw-r-- 1 boggle70 boggle70 144 9월 17 2013 Quick_Start_Guide.url
-rw-rw-r-- 1 boggle70 boggle70 142 12월 31 20:14 Upgrading-to-FreeRTOS-8.url
-rw-rw-r-- 1 boggle70 boggle70 1468 9월 17 2013 readme.txt
Plus 에는 추가된 기능이 있는 디렉토리입니다.
저는 FreeRTOS/ 디렉토리의 내용이 관심이 있습니다.
소스구조를 보면 아래와 같이 보입니다.
boggle70@boggle70-P55-US3L:FreeRTOS$ ll
합계 32
drwxrwxr-x 5 boggle70 boggle70 4096 4월 24 13:32 ./
drwxrwxr-x 4 boggle70 boggle70 4096 5월 27 12:58 ../
drwxrwxr-x 136 boggle70 boggle70 12288 4월 24 14:15 Demo/
drwxrwxr-x 2 boggle70 boggle70 4096 4월 24 13:32 License/
drwxrwxr-x 4 boggle70 boggle70 4096 4월 24 13:32 Source/
-rw-rw-r-- 1 boggle70 boggle70 912 9월 17 2013 readme.txt
필요한 것만 추려서 디렉토리를 볼까요?
boggle70@boggle70-P55-US3L:FreeRTOS$ tree -d -L 2
.
├── Demo
│ ├── CORTEX_M4F_Infineon_XMC4000_GCC_Dave
│ ├── CORTEX_M4F_Infineon_XMC4000_IAR
│ ├── CORTEX_M4F_Infineon_XMC4000_Keil
│ ├── CORTEX_M4F_Infineon_XMC4000_Tasking
│ ├── CORTEX_M4F_Infineon_XMC4500_GCC_Atollic
│ ├── CORTEX_M4F_M0_LPC43xx_Keil
│ ├── CORTEX_M4F_STM32F407ZG-SK
│ ├── CORTEX_M4_ATSAM4E_Atmel_Studio
│ ├── CORTEX_M4_ATSAM4L_Atmel_Studio
│ ├── CORTEX_M4_ATSAM4S_Atmel_Studio
│ ├── CORTEX_MB9A310_IAR_Keil
│ ├── CORTEX_MB9B500_IAR_Keil
│ ├── CORTEX_MPU_LM3Sxxxx_Rowley
│ ├── CORTEX_MPU_LPC1768_GCC_RedSuite
│ ├── CORTEX_R4_RM48_TMS570_CCS5
│ ├── CORTEX_STM32F100_Atollic
│ ├── CORTEX_STM32F103_GCC_Rowley
│ ├── CORTEX_STM32F103_IAR
│ ├── CORTEX_STM32F103_Keil
│ ├── CORTEX_STM32F103_Primer_GCC
│ ├── CORTEX_STM32F107_GCC_Rowley
│ ├── CORTEX_STM32L152_Discovery_IAR
│ ├── CORTEX_STM32L152_IAR
│ ├── Common
│ ├── Cygnal
│ ├── Flshlite
│ ├── lwIP_AVR32_UC3
│ ├── lwIP_Demo_Rowley_ARM7
│ ├── lwIP_MCF5235_GCC
│ ├── uIP_Demo_IAR_ARM7
│ └── uIP_Demo_Rowley_ARM7
├── License
└── Source
├── include
└── portable
중요한 것은 Source -> portable 디렉토리입니다.
여기에서 커널의 고유 기능들을 제공합니다.
내가 사용할 디바이스에 따라 전체 구성에 대한 설정파일이 필요하겠죠?
위치는 바로
Demo/CORTEX_STM32F107_GCC_Rowley/RTOSDemo/FreeRTOSConfig.h
다른 디바이스를 위한 설정도 같은 이름으로 된 파일들이 하나씩 있으니 참고하세요.
보통 포팅을 진행하려면 필수적인 것이 있습니다.
시스템 타이머 함수의 연결
인터럽트 벡터의 설정
링커 스트립트
일단 이정도 생각이 나는군요.
M3 디바이스를 사용해야 하는데 전 STM32F107 디바이스를 대상으로 하려 합니다.
글이 길어지네요.
다음 시간에 조금더 보도록 하겠습니다.