FreeRTOS任务栈溢出导致死机
"FreeRTOS任务栈溢出导致死机"故障现象:[*]系统运行2小时后卡死
[*]调试器显示PC指针乱跳
诊断工具:c
复制
下载
// 添加栈检测钩子函数void vApplicationStackOverflowHook(TaskHandle_t xTask, char *pcTaskName) {printf("!!! %s stack overflow !!!\n", pcTaskName);while(1);}
内存布局优化:
任务原栈大小优化后检测方法
通信任务512768uxTaskGetStackHighWaterMark()
数据处理任务10241536堆栈填充模式(0xA5)
页:
[1]