ucos ii任务栈检测
我在使用ucos ii移植到STM32时发现一个问题,具体如下:
我用内存管理函数创建的任务栈,然后调用OSTaskStkChk对任务栈进行检测,发现任务栈使用率一直是100%,多次实验后发现OSUsed成员变量永远和我当初创建任务时OSTaskCreateExt()填入的参数INT32U stk_size * 4相等,而OSFree恒为0,即无论设置任务栈多大都会被全部使用。然而如果创建任务时任务栈填入的是一个数组,则OSTaskStkChk可以正常使用。
所以就想请教一下各路嵌入式大神,为什么使用内存管理函数创建的任务栈不可以检测???如果ucos内核决定这样的,这岂不是内存管理的一大弊端?