OSTaskStkChk函数可以用来统计指定任务的堆栈,原理就是从定义的堆栈空间的低地址往高地址数,直到遇到非0数据,进而统计出堆栈空余的空间。有几个问题请教下大家:
1.task函数中,调用其他函数时,函数调用的堆栈是任务堆栈还是编译器指定的堆栈?实际测试中,task调用其他函数之前和调用函数之中统计堆栈使用情况,大小不会变化。
2.任务堆栈用来存放寄存器的值和局部变量,局部变量是哪个地方定义的局部变量呢?实际测试中,在task函数最开始的地方添加局部变量,有的情况不会增加堆栈。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
2.增加变量不一定会增大堆栈的最大使用量。
一周热门 更多>