Search code examples
taskloadstm32

How to enable "Min Free Stack" and "Run Time (%)" in STM32CubeIDE?


I am trying to add more information in my debugging. And I found information about "Min Free Stack" and "Run Time (%)" is missing in "FreeRTOS Task List":

enter image description here

I googled this, and found something like this for example. but I couldn't find any explanation to do this by using "ioc" GUI.

My board is nucleo-f767zi.

If I have to define these two lines:

#define portCONFIGURE_TIMER_FOR_RUN_TIME_STATS()    vConfigureTimerForRunTimeStats()
#define portGET_RUN_TIME_COUNTER_VALUE()            vGetTimerForRunTimeStats()

how can I define vConfigureTimerForRunTimeStats() and vGetTimerForRunTimeStats() by combination of using ioc file and source file? Or is there any other way?


Solution

  • Finally I found the answer. All the details are in the UM2609 - User manual - STM32CubeIDE user guide (Rev 5 - November 2021) in my case. "6. RTOS-aware debugging" describes how to enable the stack usage.

    I missed configRECORD_STACK_HIGH_ADDRESS.

    #define configRECORD_STACK_HIGH_ADDRESS             1