카테고리 없음

STM32F105 FreeRTOS example 포팅

eblee 2017. 6. 20. 21:43

안녕하세요.


오늘은 FreeRTOS example의 IAR 프로젝트를 활용해서 칩에 포팅하는 법에 대해 말씀드리겠습니다.


다 만들어져 있는 프로젝트를 가지고 하는 거라 아주 간단합니다.


먼저 FreeRTOS 최신 버전을 


www.freertos.org 에서 다운받습니다.


받은 파일을 압축해제 하면 다음과 같이 폴더가 나옵니다.


클릭되어있는 FreeRTOS 폴더를 들어가면 




이렇게 목록이 있고 Demo 폴더에 들어가면 각 제품 별, 컴파일러 별 프로젝트들이 저장되어있습니다.


정말 친절하네요


제가 사용하는 칩은 STM32F105인데, 예제 소스는 IAR을 사용한 STM32F103밖에 없습니다.


따라서 STM32F103 프로젝트에서 필요할 때마다 소스를 수정한다거나 하는 방법으로 진행할 예정입니다.








결국 FreeRTOSv9.0.0\FreeRTOS\Demo\CORTEX_STM32F103_IAR폴더 안에 제가 원하는 예제소스들이 있는 프로젝트가 있는거죠


폴더 안에 있는 RTOSDemo.eww 가 IAR Workspace 파일이므로 열어줍니다.





Workspace 창에서 가장 먼저 해줘야 할 일은 Option변경입니다.

가장 상단에 있는 RTOSDemo - Debug를 오른쪽 클릭해주면 가장 상단에 Options..라고 나옵니다. 클릭해줍니다.






가장 먼저 General Options의 Target 창이 보입니다. 그리고 제가 표시해 둔 Device를 선택해서 자신에게 맞는 모델을 선택하시면 됩니다.


나머지 부분들은 프로젝트에서 다 설정이 적절히 되어있어서 건드릴 부분은 없는데, 중요하다고 생각되는 부분이 include 할 directories의 위치를 설정해주는 부분입니다.



C/C__ Comliler 카테고리에서 Preprocessor 탭을 보시면 Additional include directories 라는 곳이 있는데

include 할 directories의 위치를 설정해주는 부분입니다.


지금은 사용하고 있는 소스들의 위치별로 모두 잘 설정이 되어있으므로 건드릴 일은 없지만 나중에 따로 프로젝트를 만든다거나 할 때 위를 참고하시면 됩니다.


참고로 $PROJ_DIR$은 현재 프로젝트 파일이 있는 곳의 디렉토리 위치이고 \..\ 는 상위 디렉토리를 의미합니다. 잘 모르시겠으면 저 위치를 따라가 보시면서 비교해보면 될 것 같습니다.


다음으로 Defined symbols도 저렇게 다 셋팅이 되어있습니다.



여기서 F7을 눌러서 make를 해보시고 아래와 같이 이상이 없으면 됩니다.









별거 아닌데도 생각보다 시간을 많이 잡아먹었네요.


다음엔 IAR에서의 STM32 GPIO 제어에 대해서 포스팅하겠습니다.


부족한 점에 대해선 많이 지적해주세요! 감사합니다~