Зададим подключение стандартных заголовочных файлов:
/* 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);
}