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.

Comments

Comment viewing options

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

License

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.

Free Dummies Books
Continuous Engineering

Learn:

  • What continuous engineering is
  • How to continuously improve complex product designs
  • How to anticipate and respond to markets and clients
  • How to get the most out of your engineering resources

Get your free book now

Sponsored by IBM

Free Dummies Books
Service Virtualization

Learn to:

  • Define service virtualization
  • Select the most beneficial services to virtualize
  • Improve your traditional approach to testing
  • Deliver higher-quality software faster

Get your free book now

Sponsored by IBM