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

时间:2023-11-01 16:13:31

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

原因:

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

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

解决方案:

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

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

support.huaweicloud.com/faq-LiteOS/zh-cn_topic_0314872192.html