오늘은 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 디바이스를 대상으로 하려 합니다.
 글이 길어지네요.
 다음 시간에 조금더 보도록 하겠습니다.