armink / CmBacktrace

Advanced fault backtrace library for ARM Cortex-M series MCU | ARM Cortex-M 系列 MCU 错误追踪库
MIT License
1.65k stars 649 forks source link

在freertosv9.0.0 tskTCB结构体中添加 uxSizeofStack字段后,获取任务剩余堆栈为0 #42

Open zalelife opened 3 years ago

zalelife commented 3 years ago

ARM_CM4F,xTaskCreatStatic创建任务。当改动tskTCB后,不改动FreeRTOS.h文件中 StaticTask_t结构体,获取任务剩余堆栈一直为0,相应改动 StaticTask_t结构体后获取任务剩余堆栈正常。

wdfk-prog commented 1 year ago

我在FREERTOS V10.2.1中遇到同样的问题

    #if ( ( portSTACK_GROWTH > 0 ) || ( configRECORD_STACK_HIGH_ADDRESS == 1 ) )
        void            *pxDummy8;
    #else
        UBaseType_t     pxDummy8;
    #endif

做出如下修改可用;否则线程都不跑了

Mexico-zyy-lost commented 5 months ago

做了这个修改后,

if ( ( portSTACK_GROWTH > 0 ) || ( configRECORD_STACK_HIGH_ADDRESS == 1 ) )

  StackType_t       *pxEndOfStack;      /*< Points to the highest valid address for the stack. */

else

    UBaseType_t     uxSizeOfStack;

endif

FREERTOS V10.3.1也是报错:configASSERT( xSize == sizeof( TCB_t ) );