LPC1768에서 Task개념을 사용하기 위해 FreeRTOS을 사용할 수 있습니다. IDE는 MCUXpressoIDE를 기준으로 작성되었습니다.

 

1. FreeRTOS 공식 웹사이트에서 다운로드 링크를 제공합니다. "Download Source Code and Projects"를 누르면 다운로드 페이지로 연결됩니다.

https://www.freertos.org/a00104.html

2. 다운로드 받은 폴더 경로에서 FreeRTOS/Demo/CORTEX_LPC1768_GCC_RedSuite로 이동해준 후 Windows 환경에서 CreateProjectDirectoryStructure.bat을 실행시켜주세요.

3. src/FreeRTOSConfig.h에서 아래 부분에 해당하는 줄 (37번째 줄)을 제거해주세요.

#error Ensure CreateProjectDirectoryStructure.bat has been executed before building.  See comment immediately above.

 

4. IDE(MCUXpressoIDE)에서 File-Import-Existing Projects into Workspace 를 선택한 후 Next를 눌러줍니다.

 

5. Select Root Directory를 방금 프로젝트 설정한 FreeRTOS/Demo/CORTEX_LPC1768_GCC_RedSuite로 지정하면 FreeRTOS를 사용할 수 있는 프로젝트가 생성됩니다.

 

Task 사용하기

Task로 사용할 함수를 만든 후 xTaskCreate를 호출하면 됩니다. tskIDLE_PRIOPITY가 우선순위 부분입니다. 우선순위가 낮으면 기아상태가 발생할 수 있으므로 적절히 조절하면 됩니다.

int joyStickTask(void *args){

while(1)
{

}

}

xTaskCreate(joyStickTask, NULL, mainBASIC_WEB_STACK_SIZE, NULL, tskIDLE_PRIORITY , NULL);