Quality RTOS & Embedded Software

 Real time embedded FreeRTOS RSS feed 
Quick Start Supported MCUs PDF Books Trace Tools Ecosystem TCP & FAT




Loading

CPU "sleep" mode and missing timer ticks

Posted by jdabbs003 on July 16, 2009
In our design, the CPU can go to sleep for up to 4 minutes, basically missing 1,000 timer ticks per second while it's under. I see some logic for the OS making up timer ticks. Obviously, when I wake up the CPU I don't want to iterate through 240,000 missing timer ticks. Are there rules or standard design patterns for handling this situation? Our software can be designed to be tolerant of missing ticks, but does the OS need to account for these?

RE: CPU "sleep" mode and missing timer ticks

Posted by Samuel Tardieu on July 16, 2009
If your CPU is in deep sleep for 4 minutes, it is likely that it really missed the timer interrupts. So it will not have to iterate through missing ticks. Don't you have an external RTC circuit that you can use for timing purpose?

Note that the OS couldn't care less about missing ticks unless you use delays or timeouts.

RE: CPU "sleep" mode and missing timer ticks

Posted by jdabbs003 on July 16, 2009
Yes, there is a separate oscillator circuit to track the elapsed time. The idle task wont execute sleep mode if there are timeouts scheduled. I just want to make sure the OS doesnt use these internally.

RE: CPU "sleep" mode and missing timer ticks

Posted by Adam Turowski on July 16, 2009
If there is no timeout scheduled, going to deep sleep and missing ticks will not harm FreeRTOS scheduler.


[ Back to the top ]    [ About FreeRTOS ]    [ Sitemap ]    [ ]




Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.

Latest News

FreeRTOS kernel V10 is available for immediate download. Now MIT licensed.


FreeRTOS Partners

ARM Connected RTOS partner for all ARM microcontroller cores

IAR Partner

Microchip Premier RTOS Partner

RTOS partner of NXP for all NXP ARM microcontrollers

STMicro RTOS partner supporting ARM7, ARM Cortex-M3, ARM Cortex-M4 and ARM Cortex-M0

Texas Instruments MCU Developer Network RTOS partner for ARM and MSP430 microcontrollers

OpenRTOS and SafeRTOS