FreeRTOS CPU Utilization for Hardware Interrupts

sindhukrishna wrote on Friday, November 07, 2014:

I use Hercules Launchpad TMS570LS0432 kit and FreeRTOS v8.1.2. I use vTaskGetRunTimeStats() to view CPU usage. I periodically send and receive data from PC through UART. Does vTaskGetRunTimeStats() consider the CPU Usage along with this interrupt servicing? I see same % values in the console as it was before Interruptions. Kindly suggest a solution to calculate or view the Idle Time with changes made to it by any non-maskable interrupts.

rtel wrote on Friday, November 07, 2014:

As currently implemented the run time stats are not adjusted to take into account any time consumed by processing interrupts. To do that you would have to add your own interrupt entry and exit timers into the individual handlers.


sindhukrishna wrote on Friday, November 07, 2014:

Thank You for the response. Will the software timers provided with FreeRTOS v8.1.2 run inside the interrupt handlers? or should I use hardware timer?

Another question is, what is the use of taskENABLE_INTERRUPTS() API? I donot find any definition for this inside any source or header file. How does this API differ from the _enable_IRQ() of TMS570LS0432?

davedoors wrote on Monday, November 10, 2014:

Don’t know that device but in a FreeRTOS application you should only use taskENTER_CRITICAL() and taskEXIT_CRITICAL() to disable and then renable interrupts. That is why you wont find any definition of taskENABLE_INTERRUPTS() API, you are not supposed to use it.