Idle task hook for low power application

gridsense wrote on Thursday, October 20, 2011:

I have a power consumption critical application, as long as in the idle task the MCU will enter into low power mode which the oscillator will stop to save current, the real time clock will wakeup at a certain period of time to continue other task.

My question is: the MCU freeze in idle task, will this cause problem for RTOS running?


cynthiya wrote on Thursday, October 20, 2011:

I think the powerdown operation sequence that you might be doing could create problems during wakeup if the powerup sequence is not performed correctly. A task switch immediately after wake moves the execution to another priority task, and this is can
interrupt the idle hook that does the powerup sequence…just my 2 cents :slight_smile:

davedoors wrote on Thursday, October 20, 2011:

It is very common, maybe even normal, to put the micro into low power in the idle hook. The issue is that the RTOS needs to keep track of time, so needs to wake up on tick interrupts. You can do all sorts of fancy things to slow the tick frequency before sleeping, to reduce the frequency low power mode is exited. A more complex low power operation is to go tickless, there is a thesis on tickless FreeRTOS in the FreeRTOS interactive site

Take care about how long your oscillator takes to start up and settle.

gridsense wrote on Friday, October 21, 2011:

That is great idea!