问题1. debug时编译器提示: Failed to open #include file ‘FreeRTOSConfig.h’
解决方法:这是汇编的头文件,因此需要添加头文件路径。工程名右键->Options…->Assembler->Preprocesser在Additional include directories添加FreeRTOSConfig.h所在目录。
问题2:编译错误提示:no definition for"vApplicationStackOverflowHook"
这是因为在应用中未定义函数vApplicationStackOverflowHook()
解决方法:
在os_Task.c中添加如下代码
void vApplicationStackOverflowHook(TaskHandle_t xTask, char_t *pcTaskName)
{
/* The stack space has been exceeded for a task */
(void)xTask;
(void)pcTaskName;
taskDISABLE_INTERRUPTS()
while(1)
{
}
}
问题3:移植RTOS并配置任务后,运行进入钩子函数void vApplicationStackOverflowHook(TaskHandle_t xTask, char_t *pcTaskName)
是由于任务栈溢出,栈总大小及任务大小分配不足,导致跳入此函数
1)在配置文件中修改栈总大小HEAP_SIZE
2)增大任务stack_size大小,满足任务实际使用需求