Quality RTOS & Embedded Software

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


Loading

low power mode transition with freeRTOS

Posted by pavel on October 28, 2011
Hello
I work with STM32 CortexM3 and I want to go to low power mode (sleep mode) My idea is as follows:
1) Stop all peripherals except those that I want to be woke up from.
2) call vTaskSuspendAll()
3) call WFI that stops the core
4) after wakeup, check the wakeup reason
5) and call vTaskResumeAll()
6) Now the OS is running as normal and I proceed with peripheral initialization
I wonder if the described steps are sufficient and if I didn't miss something important on the OS site.

Thank you very much for any reply

RE: low power mode transition with freeRTOS

Posted by Richard on October 29, 2011
It really depends on what you want the kernel to be doing while you are in sleep mode.

To keep track of time, and therefore to unblock tasks at the right time, you need to keep the tick interrupt running (see the exception below, about a tickless version of FreeRTOS). That means the tick interrupt will periodically bring the Cortex-M3 out of sleep mode, which can limit the power saving. There are ticks you can do, like reducing the tick frequency by a factor (say 10 for example) then calling the increment tick function 10 times each time the tick brings the CPU out of sleep.

For real power saving, there is a tickless version of FreeRTOS that removes the need for FreeRTOS to periodically wake the CPU up. It requires an external low power crystal (like a watch crystal) to allow even the timers to be turned off. I have provided a link below, which also contains a thesis on the subject.

http://interactive.freertos.org/entries/20291196-energy-optimized-port-of-freertos-6-for-efm32

Regards.

RE: low power mode transition with freeRTOS

Posted by pavel on October 31, 2011
Richard,
thank you for detailed answer

regars


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


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

Latest News

NXP tweet showing LPC5500 (ARMv8-M Cortex-M33) running FreeRTOS.

Meet Richard Barry and learn about running FreeRTOS on RISC-V at FOSDEM 2019

Version 10.1.1 of the FreeRTOS kernel is available for immediate download. MIT licensed.

View a recording of the "OTA Update Security and Reliability" webinar, presented by TI and AWS.


Careers

FreeRTOS and other embedded software careers at AWS.



FreeRTOS Partners

ARM Connected RTOS partner for all ARM microcontroller cores

Espressif ESP32

IAR Partner

Microchip Premier RTOS Partner

RTOS partner of NXP for all NXP ARM microcontrollers

Renesas

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

Xilinx Microblaze and Zynq partner