STM32‎ > ‎stm32f102 и FreeRTOS‎ > ‎Начало‎ > ‎

work.c

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

Comments