Quality RTOS & Embedded Software

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


Suspend to SRAM w/ FreeRTOS?

Posted by kenkyee on September 20, 2013

I'm wondering if FreeRTOS can do "suspend to SRAM" for a deeper sleep state than Tickless mode? It would save the configuration state of all drivers and any system state to a secondary memory SRAM chip (not DRAM so that it doesn't need any refreshing) and won't wake up until a timer and/or RTC and/or external (pins/serial port, usb port) interrupt. Then after the interrupt causes it to come back, it restores everything and comes out of Idle.

Most Cortex chips support this kind of ultra low power mode, but sadly don't have anything that helps you save/restore system/peripheral state to memory :-(

Suspend to SRAM w/ FreeRTOS?

Posted by richardbarry on September 21, 2013

The tickless mode can currently use any sleep state that retains the RAM and CPU registers. For example, the SAM4L demo (http://www.freertos.org/AtmelSAM4L-EKLowPowerTick-lessRTOSDemo.html) uses an extreme low power state (measured at 3uA) that is the lowest this specialist low power chip can manage without loosing CPU register values. Once the CPU registers are gone then you are into the sort of scheme discussed in this thread: http://www.freertos.org/FreeRTOSSupportForumArchive/September2013/freertosresumingFreeRTOSstatefromexternalSRAM_8679833.html

and I'm not sure if keeping the external SRAM powered to take another micro amp off the power consumed by the CPU is going to same much.


Suspend to SRAM w/ FreeRTOS?

Posted by richard_damon on September 21, 2013

The low power modes that loose memory contents are NOT designed to be used by a Real Time application that "saves" all of the state then goes into this mode. The problem being that this can take a lot of time, and what ever is going to remember that state will be taking power (or be very slow).

These states are used for applications that know they aren't going to be needed for a while, to save a little bit of essential state, and turn the machine off except for a few critical I/O devices that can wake the system up, which the quickly "re-boots" the application, using the saved state information, and handles the request.

A generic operating system (like FreeRTOS) isn't going to know how to distill the current state down enough, that is really an application specific operation.

[ 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.

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.


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


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