FreeRTOS kernel fundamentals
The FreeRTOS kernel is a real-time operating system that supports numerous architectures. The fundamentals of it are ideal for building embedded microcontroller applications. It provides:
-
A multitasking scheduler.
-
Multiple memory allocation options (including the ability to create completely statically-allocated systems).
-
Intertask coordination primitives, including task notifications, message queues, multiple types of semaphore, and stream and message buffers.
-
Support for symmetric multiprocessing (SMP) on multi-core microcontrollers.
The FreeRTOS kernel never performs non-deterministic operations, such as walking a linked list, inside a critical section or interrupt. The FreeRTOS kernel includes an efficient software timer implementation that does not use any CPU time unless a timer needs servicing. Blocked tasks do not require time-consuming periodic servicing. Direct-to-task notifications allow fast task signaling, with practically no RAM overhead. They can be used in most inter task and interrupt-to-task signaling scenarios.
The FreeRTOS kernel is designed to be small, simple, and easy to use. A typical RTOS kernel binary image is in the range of 4000 to 9000 bytes.
For the most up-to-date documentation about the FreeRTOS kernel, see FreeRTOS.org