Kernel time, timers, and using low power sleep modes
Posted: Thu Aug 15, 2013 11:34 pm
While waiting for a real tickless kernel like in ChibiOS/RT 3.0, what is a good way to achieve very low power consumption? I can put a "sleep" call in the idle thread, right? But since SYSTICK clock is stopped, all ChibiOS/RT virtual timers (VTs) used for timing, semaphore waits, thread timed sleep calls, and other stuff will not be aware that time has passed after waking up from low power mode. (By low power mode, I mean one in which only a few low power peripherals are active, including a very low power timer like an RTC, Freescale Kinetis LPTMR, AVR Timer2 in asynchronous mode, etc.)
Has anyone achieved such a feat with ChibiOS/RT in a project yet?
I was thinking of hacking on the chVTDoTickI() macro in ChibiOS/RT 2.x trunk to deal with decrementing the VT timers ticks by a value greater than one. And this looks like just what ChibiOS/RT 3.0 development branch is doing now.
Has anyone achieved such a feat with ChibiOS/RT in a project yet?
I was thinking of hacking on the chVTDoTickI() macro in ChibiOS/RT 2.x trunk to deal with decrementing the VT timers ticks by a value greater than one. And this looks like just what ChibiOS/RT 3.0 development branch is doing now.