< Back to index


FreeRTOS is a real-time operating system for embedded devices, being ported to several microcontrollers. It is distributed under a modified version of the GPL. The modification permits the users proprietary code to remain closed source, while maintaining the kernel itself as open source - facilitating the use of FreeRTOS in commercial applications.

FreeRTOS can be downloaded for free, without having to fill out a form or provide any information.

Supported architectures:
* ARM architecture ARM7
* ARM Cortex-M3
* AVR
* HCS12
* MicroBlaze
* MSP430
* PIC microcontroller PIC18, PIC24, dsPIC
* Renesas H8/S
* x86
* 8052

The download contains pre-prepared configurations and demonstrations for every port, allowing rapid application design.

The FreeRTOS scheduler is designed to be small and simple. It can be configured for both preemptive or cooperative operation.

To make the code readable, easy to port, and maintainable, it is written mostly in C, but there are a few assembler functions included where needed.

From Version 4, FreeRTOS allows an application to use coroutines, as well as tasks. In FreeRTOS, a Coroutine is a lightweight task that uses very little memory.

FreeRTOS is small and simple. The kernel itself is comprised of only three or four C files, depending on whether coroutines are used or not.

The FreeRTOS.org site also contains RTOS tutorials, details of the RTOS design and performance comparison results for various microcontrollers.

FreeRTOS was the first real time kernel to be available for real (production) CORTEX-M3 based microcontrollers.

FreeRTOS has recently spawned a spin off project called SafeRTOS. SafeRTOS is based on the FreeRTOS code base but has been updated, documented, tested and audited to enable its use in IEC 61508 safety related applications.
This entry uses material from from Wikipedia, the leading user-contributed encyclopedia. It is licensed under the GNU Free Documentation License. Disclaimer.