at91sam7s64 Sleep mode
Hi,
I would like to do some power saving in my software, however I’m not sure what’s the best way to make it work in FreeRTOS.
My software should work in 100ms duration, then sleep for 1second, wake up and repeat the procedure. Do you have suggestions on how I should implement it?
at91sam7s64 Sleep mode
You can place the processor into power save mode in the idle task.
If you are using a version prior to 3 then you have to modify the code in prvIdleTask() within tasks.c. If you are using V3 then you can use the idle hook facility
(http://www.freertos.org/a00015.html#IdleHook).
When you place the processor into sleep mode you have to choose a mode that allows the timer to continue running, otherwise you will never wake! Also the timer must be able to bring the processor out of sleep mode.
The lower the tick rate the lower the power consumption will be.
If the idle task puts the processor to sleep then the processor will wake on the RTOS tick. If this makes a task ready to run the task will run – if not the idle task will immediately put the processor back to sleep.
Hope this helps.