FreeRTOS - A Mini Real Time Kernel

If you're having trouble getting Linux to run on that 8-bit processor with 32KB of memory don't despair, there are open-source alternatives. FreeRTOS is an open source real time kernel that has been ported to a number of microprocessors. The website lists ports to over 40 different processor/compiler combinations.

FreeRTOS supports both co-routines and tasks and numerous forms of IPC. All tasks (and co-routines) run in a single memory space so they are more akin to threads in Linux.

The source consists of 3 or 4 (depending on features used) C source code files plus header files. Porting to a new architecture requires modification to only one of the C files and one of the header files. Depending on the compiler and the compiler options, the basic kernel object code can be reduced to less than 4KB.

FreeRTOS is actively developed and both community and paid support are available. There is also a version available that has been certified for use in safety critical applications. Version 5.0 of FreeRTOS was released in April.


Mitch Frazier is an Associate Editor for Linux Journal.


Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.


goblin's picture

The license is the so-called "FreeRTOS Modified GPL license", or a commercial license.

re License

RichardBarry's picture

FreeRTOS is generally statically linked. Without the GPL modification the GPL would stipulate that all code you link with FreeRTOS must also be open sourced. The modification removes this requirement so you can link propriatory code with FreeRTOS. FreeRTOS then remains open source so any modifications you make to the kernel itself are to be open sourced - but your proprietary that uses FreeRTOS through its API code can remains closed source. Without this modification it would be difficult to use FreeRTOS commercially.