Is there a reference implementation of an indicator of CPU used/free time in % ?
Motivation:I had a test thread without any call to vTaskDelay() by mistake, because of that all lower priority task were never executed. It could prove a valuable debug tool to check is the Idle task is executing as much as is expected.
Alternative: I could maybe set a bit while entering the Idle task and reseting it on exit, how would I do that?
I think there are several things you can do.
1) Add in an idle hook function that keeps a cycle count for how many times the idle task loops around, then have a high priority 'watchdog task' (referred to as a 'check' task in all the official demos) that monitors how the cycle counters of each task to ensure they are cycling as expected.
2) Use the run-time-stats feature, which is generic up to the point of the time source which is necessarily application specific (not just port specific).
3) Use the traceTASKSWITCHEDIN() or traceTASKSWITCHEDOUT trace macros to count how many times the idle task gets switched in/out. You can use xTaskGetIdleTaskHandle() to find the handle of the idle task.
4) Use FreeRTOS+Trace to visualise exactly how your application is running.