Зададим подключение стандартных заголовочных файлов:
/* Standard includes. */#include <stdlib.h>#include <string.h>Подключение заголовочных файлов ОСРВ:
/* includes */#include "FreeRTOS.h"#include "task.h"#include "croutine.h"Рабочая функция - в ней мы производим вызов старта планировщика задач:
/* work */void work(void) { /* starting task cheduler */ vTaskStartScheduler();}Хук-функция переполнения стека:
/* stack overflow hook function */void vApplicationStackOverflowHook( xTaskHandle pxTask, signed char *pcTaskName ){ /* This function will get called if a task overflows its stack. If the parameters are corrupt then inspect pxCurrentTCB to find which was the offending task. */ ( void ) pxTask; ( void ) pcTaskName; for( ;; );}А также пару функций-заглушек под нужды компилятора и сборщика:
/* compiler needed functions */void assert_failed( unsigned char *pucFile, unsigned long ulLine ){ ( void ) pucFile; ( void ) ulLine; for( ;; );}unsigned int_sbrk_r( struct _reent *r, int incr ) { (void)r; (void)incr; return(0);}