In the electronic development of embedded systems, CISIUM always is searching for the most appropriated RTOS for our customers. We have integrated the FreeRTOS in our development platform, an OS ranked by 8 over 10 in CISIUM. We have confirmed the memory footprint in FLASH is small 6KBy to 9KBy, and in RAM is medium 2KBy to 3KBy. We like form it the availability for many ports, how clean is the source code, the wide support and it is complete open source, royalty free.
FreeRTOS includes official ports to 26 architectures and receives more than 77,500 downloads a year. It is a popular, portable, open source, royalty free, mini Real Time Kernel - a free to download and free to deploy RTOS that can be used in commercial applications without any requirement to expose your proprietary source code.
One of the great advantages of FreeRTOS is the scalability to higher version adding many middleware’s.
OpenRTOSTM is a commercially licensed and supported version of FreeRTOS that includes fully featured professional grade USB, file system and TCP/IP components.
SafeRTOSTM is a SIL3 RTOS version that has been certified for use in safety critical applications. It is a functionally similar product for which complete IEC 61508 compliant development/safety lifecycle documentation is available (conformance certified by TÜV SÜD, including compiler verification evidence).
- Free RTOS kernel - preemptive, cooperative and hybrid configuration options.
- The SafeRTOS derivative product provides a high level of confidence in the code integrity.
- Official support for 23 architectures (counting ARM7 and ARM Cortex M3 as one architecture each).
- FreeRTOS-MPU supports the Cortex M3 Memory Protection Unit (MPU).
- Designed to be small, simple and easy to use. Typically a kernel binary image will be in the region of 4K to 9K bytes.
- Very portable code structure predominantly written in C.
- Supports both tasks and co-routines.
- Powerful execution trace functionality.
- Stack overflow detection options.
- No software restriction on the number of tasks that can be created.
- No software restriction on the number of priorities that can be used.
- No restrictions imposed on priority assignment - more than one task can be assigned the same priority.
- Queues, binary semaphores, counting semaphores, recursive semaphores and mutexes for communication and synchronisation between tasks, or between tasks and interrupts.
- Mutexes with priority inheritance.
- Free development tools (Cortex-M3, ARM7, MSP430, H8/S, AMD, AVR, x86 and 8051 ports).
- Free embedded software source code.
- Royalty free.
- Cross development from a standard Windows host.
- Pre-configured demo applications for selected single board computers allowing 'out of the box' operation and fast learning curve.