文档首页/ LiteOS/ 常见问题/ 系统任务栈被撑爆,导致系统挂死问题
更新时间:2021-03-18 GMT+08:00
分享

系统任务栈被撑爆,导致系统挂死问题

原因:

1. 如果系统挂死,一般在打印信息中会显示任务水线,如果水线超过了任务栈大小,显示0xffffffff,则说明任务栈太小。

2. 如果没有相关任务信息,则可以查看backtrace中的fp寄存器值,如果fp接近该任务的栈顶,则也可以确认任务栈太小。

解决方案:

1. 创建任务时设置的任务栈太小,最直接的方法就是调大任务栈。

2. 任务中有较大的局部变量,需要调整分配方式,使用堆中分配(malloc)的方式处理,不至于过多占用任务栈资源。

相关文档