在调试freeRTOS程序时,在一个任务中新加入了一段函数,随后就出现其他部分任务一直被阻塞的情况发生,一但屏蔽后就恢复正常了。在排查新加入函数无误后判断可能由于堆栈大小设置过小导致的。
加入uxTaskGetStackHighWaterMark函数读取该任务剩余内存大小
可以看到该任务剩余内存大小为0了,不明白的是剩余为0为什么不阻塞当前任务而是影响的了别的任务
增大内存大小到1k后,程序运行正常
在调试freeRTOS程序时,在一个任务中新加入了一段函数,随后就出现其他部分任务一直被阻塞的情况发生,一但屏蔽后就恢复正常了。在排查新加入函数无误后判断可能由于堆栈大小设置过小导致的。
加入uxTaskGetStackHighWaterMark函数读取该任务剩余内存大小
可以看到该任务剩余内存大小为0了,不明白的是剩余为0为什么不阻塞当前任务而是影响的了别的任务
增大内存大小到1k后,程序运行正常