问题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大小,满足任务实际使用需求

文章讲述了在调试过程中遇到的两个问题:一是如何解决编译器找不到FreeRTOSConfig.h头文件的问题,二是如何处理因任务栈溢出导致的vApplicationStackOverflowHook函数调用。提供了修改配置文件和增加任务栈大小的方法来解决这些问题。

628

被折叠的 条评论
为什么被折叠?



