Kernel Awareness (RunTime not working)
Hello everyone,
I am experiencing an issue with the FreeRTOS Kernel Awareness view in STM32CubeIDE, specifically regarding the task runtime statistics. The plugin seems to be failing to parse or display the correct runtime percentages, showing almost all tasks permanently stuck at 1% or <1%.
My Setup & Recent Changes:
-
MCU: STM32G474
-
IDE: STM32CubeIDE v2.2.0
-
Previous RTOS: FreeRTOS V10.3.1 (Generated via STM32CubeMX with the CMSIS-RTOS v2 wrapper)
-
Current RTOS: FreeRTOS V11.3.0 (Added manually via the ARM software pack, bypassing CubeMX generation)
The Problem: I recently migrated my project to native FreeRTOS V11.3.0. I removed the old CubeMX-generated middleware and integrated the new version using the ARM pack. I also configured everything required for runtime statistics to function properly (setting configGENERATE_RUN_TIME_STATS, configuring the hardware timer via portCONFIGURE_TIMER_FOR_RUN_TIME_STATS(), and setting up portGET_RUN_TIME_COUNTER_VALUE()).
While the project compiles and runs perfectly, the STM32CubeIDE Kernel Awareness plugin does not display the correct task runtime statistics. In the FreeRTOS Task List view, the runtime column stays stubbornly at 1% or less for almost every task, regardless of the actual CPU load.
Troubleshooting Performed: To verify that my hardware timer and FreeRTOS configurations were actually working, I temporarily added a call to vTaskGetRunTimeStats() and printed the resulting string buffer through the ITM (Instrumentation Trace Macrocell) console.
The data printed via ITM is perfectly correct and reflects the expected CPU load for each task. This confirms that:
-
The hardware timer is counting correctly.
-
FreeRTOS is calculating the stats accurately internally.
-
The issue is strictly isolated to how the IDE's Kernel Awareness plugin interprets the FreeRTOS data structures in memory.
My Questions:
-
Is there a known incompatibility or bug in the STM32CubeIDE Kernel Awareness plugin when working with FreeRTOS V11.3.0?
-
Did the underlying FreeRTOS task control block (TCB) or runtime stats data structure change in V11 in a way that breaks the Eclipse/STM32CubeIDE parser?
-
Are there any specific debug configurations, symbols, or IDE settings I need to manually adjust now that I am no longer using the CubeMX-generated CMSIS v2 wrapper?
Any guidance or workarounds would be greatly appreciated.
Thank you!


