Page 1 of 1

Kernel time, timers, and using low power sleep modes

Posted: Thu Aug 15, 2013 11:34 pm
by colin
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.

Re: Kernel time, timers, and using low power sleep modes

Posted: Fri Aug 16, 2013 8:28 am
by Giovanni
The tickless could be backported to 2.6, the timers handling is similar, but I don't have plans to do so because I need to keep the branch stable.

Giovanni

Re: Kernel time, timers, and using low power sleep modes

Posted: Mon Apr 07, 2014 11:20 pm
by estutzenberger
Is anyone aware of the above being done by someone? I am interested in having a tickless idle mode for a low power application using Chibi, however, my project schedule does not align with the 3.0 release. For reference, we are planning to use the STM32L15x parts.

Best,

Eric

Re: Kernel time, timers, and using low power sleep modes

Posted: Tue Apr 08, 2014 4:36 pm
by Giovanni
Hi,

As far I know no. The feature is still scheduled for 3.0.

Giovanni