Although the FreeRTOS kernel is lightweight—with a Flash footprint that can, in many cases, be reduced to less than 10 kBytes—it provides all of the functionality needed for a robust, multi-tasking application. The kernel’s capabilities include the following:
Priority-based, preemptive task scheduling with support for time-slicing
Multiple dynamic memory allocation schemes to accommodate different system designs and timing needs
Indirect task communication via queues, event groups, and other kernel objects
Highly efficient direct-to-task notifications
Resource protection via mutexes, with support for priority inheritance
Built-in tracking of various per-task run-time statistics
Support for one-shot and periodic software timers
As its name indicates, FreeRTOS can be used without paying any licensing fees. It is currently offered under the MIT open-source license. Explore additional information on FreeRTOS licensing.
The source code of the FreeRTOS kernel is available to developers through Simplicity Studio. Within Studio, you’ll find tools for easily adding the kernel to new projects, along with various FreeRTOS-based software examples. To install Studio, choose the appropriate software package below.
FreeRTOS can be run on both EFR32 and EFM32 devices. Check Simplicity Studio for example projects targeting your preferred device.
Software examples allow you to quickly get FreeRTOS up and running on your board.
1. Plug kit in with USB; Use the port labeled DBG
2. Open Simplicity Studio
3. Select Software Examples featuring FreeRTOS (see screenshot)
Please select at least one column.