最近,不知道怎得把一个freertos申请的128*32位的任务栈给爆了
问题现象
调试打断点只能进去一次,然后就一直跑死了。
问题分析
这边采用了两种方式对栈的内存进行了分析。
首先我们将原来已经爆了的任务栈,变为25632位,这里注意以下freertos申请内存默认按照32位的字为单位来申请,因此我们在调用任务时申请输入的256,其实是2564 = 1024个字节。
将INCLUDE_uxTaskGetStackHighWaterMark置一,以便能够调用freertos剩余栈的分析函数。
#ifndef INCLUDE_uxTaskGetStackHighWaterMark
//#define INCLUDE_uxTaskGetStackHighWaterMark 0
#define INCLUDE_uxTaskGetStackHighWaterMark 1