Implementation Quality Management
|High quality C source code under strict configuration management|
|Safety critical version ensures dependability|
|Cross platform support secures time investment|
|Tutorial books and training to educate engineers|
|Pre-configured example projects for all supported ports|
|Free support, quoted as better than some commercial alternatives|
|Large and growing user base and community|
|Peace of mind – low cost commercial options can be taken at any time|
|= A low total cost of ownership, risk free, & compelling solution|
|RTOS Technology Highlights|
|Pre-emptive scheduling option||Easy to use message passing|
|Co-operative scheduling option||Round robin with time slicing|
|Fast task notifications||Mutexes with priority inheritance|
|6K to 12K ROM footprint||Recursive mutexes|
|Configurable / scalable||Binary and counting semaphores|
|Chip and compiler agnostic||Very efficient software timers|
|Some ports never completely disable interrupts||Easy to use API|
FreeRTOS is very strictly quality managed, not just in software coding standards and look and feel, but also in implementation. For example:
- FreeRTOS never performs a non-deterministic operation, such as walking a linked list, from inside a critical section or interrupt.
- We are particularly proud of the efficient software timer implementation that does not use any CPU time unless a timer actually needs servicing. Software timers do not contain variables that need to be counted down to zero.
- Likewise, lists of Blocked (pended) tasks do not require time consuming periodic servicing.
- Direct to task notifications allow fast task signalling, with practically no RAM overhead, and can be used in the majority of inter-task and interrupt to task signalling scenarios.
- The FreeRTOS queue usage model manages to combine simplicity with flexibility (in a tiny code size) – attributes that are normally mutually exclusive.
- FreeRTOS queues are base primitives on top of which other communication and synchronisation primitives are built. The code re-use obtained dramatically reduced overall code size, which in turn assists testing and helps ensure robustness.
In addition, the TÜV SÜD certified SIL 3 SafeRTOS real time kernel was originally derived from FreeRTOS, and has undergone the most stringent analysis and test process – the results of which were fed back into the FreeRTOS code base (when commonality still existed).