understanding vApplicationIdleHook

roujesky wrote on Monday, October 24, 2011:

I implemented vApplicationIdleHook just like in the ebook.  Every second, I have a task which prints out the value of ulIdleCycleCount.  the value hovers around 2,724,536.   Sounds like a nice beg number which, I think, means we have lots of idle time, but I am not really sure.  What does that number really mean when I am running a PIC32 at 80MHZ? 

thanks!

edwards3 wrote on Monday, October 24, 2011:

Is ulIdleCycleCount a variable that just gets incremented each time vApplicationIdleHook() is executed? If so, then all it is is a count of how many times the function has been called.

roujesky wrote on Monday, October 24, 2011:

Is there a way to correlate that to % of CPU used? 
thanks!

edwards3 wrote on Monday, October 24, 2011:

No.

If you want to know the % of CPU used then you can do one of three things.

1) Use run time stats http://www.freertos.org/rtos-run-time-stats.html

2) Use the traceTASK_SWITCHED_IN trace macro to see when the idle task is switched in, and when it is switched out, and use a timer to keep track of when it is the task in the running state.

3) Use the idle hook to toggle a digital output pin and view it on a scope. Crude but effective.

Probably other things too.