Quality RTOS & Embedded Software

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


Footprint: concrete figures

Posted by Romain on June 11, 2010
Hi FreeRTOS fans

I'm a swiss embedded sw engineer and I'm working on a research project for developing new kinds of medical devices for drug monitoring and delivering (http://www.nano-tera.ch/projects/405.php). For this project we will work with a new 32-bits ultra low-power processor/SoC developed at http://www.csem.ch. The chip does not implement any known architecture but resembles the Coldfire/68K architecture in many aspects. I will have to port a RTOS to this chip and googling around I came across FreeRTOS which seems to be an ideal candidate for the targeted application.

Before attempting any porting effort I would like to have some points regarding footprint/memory usage cleared to be sure the whole thing would fit in with my reduced resources. The chip we will use has 48KB RAM + 48 KB ROM.

On http://www.freertos.org/FAQMem.html I read that a typical FreeRTOS configuration requires ~4KB ROM and some key figures on RAM usage. I also found different reference figures on the web for different architectures/compilers combinations but most of the time the measurements are made with the demo application/s which is a good reference but still not a complete system. Would some forum's members have figures for concrete/production applications ? It would be nice to have some key figures with basic project/system information e.g. "Medical device application (infusion pump): ...KB ROM + max ... RAM", "Automation (motor controller): ... KB ROM + ... RAM".

My intent is really to clarify if FreeRTOS could be used for our project or if our resources are too limited...
I originally come from another embedded systems' world where I had GHz PowerPCs and hundreds MB of RAM and dealing with my new CPU running at 3.2 MHz and with strong memory constraints is a big challenge. :-)

RE: Footprint: concrete figures

Posted by Richard on June 11, 2010
Sounds like an interesting project. I have actually visited some companies who are part of the CSEM in Switzerland to talk about operating systems.

I can give you some footprint figures for the ARM Cortex-M3, which is also a 32 bit core, and also a newish design. Using GCC I would expect the kernel itself to take between 5 and 10 KBytes, depending on optimisation and options selected. With regards to RAM I know, for example, that the SafeRTOS in the ROM of the Stellaris (Cortex-M3) consumes exactly 0x20C bytes itself. However, if you are running with full pre-emption then the actual amount of RAM required depends on the size of stack allocated to each task. Using the Cortex as an example once more then I know you can get that down to 70 words quite comfortably (note words not bytes in this last figure) *if* you take care with your task design. A lot also depends on the C libraries you are using, some are vastly better than others when it comes to footprint.


I would like to mention that if your product is going to require certification (FDA, EN62304, etc.) then SafeRTOS might be a good option for you as it comes with all the lifecycle evidence required (its not free though ;o). Not only that but its suppliers (WITTENSTEIN high integrity systems) have experience with infusion pumps, and the documentation they provide already covers the FDA requirements that have just been published specifically for that domain. I like to keep this forum non-commercial, so if you would like to discuss this option further then feel free to contact me using r [dot] barry (at) freertos.org and I can put you in touch with the right people. [FreeRTOS and WITTENSTEIN are actually completely separate legal entities]


RE: Footprint: concrete figures

Posted by Romain on June 11, 2010
Hi Richard

Thanks for the prompt and useful answer. It sounds like FreeRTOS would then fulfill our requirements. For now certification is not a direct concern since we are mainly researching new techniques, developing prototypes and testing new sensors,... The SafeRTOS option is nevertheless really interesting for the long term when our researches/techniques would be implemented in real production-grade medical devices. As far as I could read the migration from FreeRTOS to SafeRTOS is rather straightforward and well documented therefore FreeRTOS would be best suited for the development/research phase whereas SafeRTOS could be licensed and used in commercial medical devices. This is also an aspect which I find really interesting with FreeRTOS/OpenRTOS/SafeRTOS. The licensing model is really flexible and can accommodate with different development cycles, requirements and level of support. Really a great idea !

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

Copyright (C) 2004-2010 Richard Barry. Copyright (C) 2010-2016 Real Time Engineers Ltd.
Any and all data, files, source code, html content and documentation included in the FreeRTOSTM distribution or available on this site are the exclusive property of Real Time Engineers Ltd.. See the files license.txt (included in the distribution) and this copyright notice for more information. FreeRTOSTM and FreeRTOS.orgTM are trade marks of Real Time Engineers Ltd.

Latest News:

FreeRTOS V9.0.0 is now available for download.

Free TCP/IP and file system demos for the RTOS

Sponsored Links

⇓ Now With No Code Size Limit! ⇓
⇑ Free Download Without Registering ⇑

FreeRTOS Partners

ARM Connected RTOS partner for all ARM microcontroller cores

Renesas Electronics Gold Alliance RTOS Partner.jpg

Microchip Premier RTOS Partner

RTOS partner of NXP for all NXP ARM microcontrollers

Atmel RTOS partner supporting ARM Cortex-M3 and AVR32 microcontrollers

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

Xilinx Microblaze and Zynq partner

Silicon Labs low power RTOS partner

Altera RTOS partner for Nios II and Cortex-A9 SoC

Freescale Alliance RTOS Member supporting ARM and ColdFire microcontrollers

Infineon ARM Cortex-M microcontrollers

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

Cypress RTOS partner supporting ARM Cortex-M3

Fujitsu RTOS partner supporting ARM Cortex-M3 and FM3

Microsemi (previously Actel) RTOS partner supporting ARM Cortex-M3

Atollic Partner

IAR Partner

Keil ARM Partner

Embedded Artists