FreeRTOS
FreeRTOS | |
---|---|
developer | Richard Barry, Amazon |
License (s) | 10: MIT , previously modified GPLv2 |
Current version |
10.1.1 of September 7, 2018 (one year and 358 days ago) |
Kernel | Microkernel |
www.freertos.org |
FreeRTOS is a real-time operating system for embedded systems . It is based on a microkernel architecture and has been ported to various microcontrollers.
features
To ensure good maintainability , FreeRTOS is largely developed in C , only a few functions are implemented in assembler . The scheduler is configurable so that preemptive and cooperative operation is possible. From version 4, the operating system supports two different task classes. "Real" tasks and coroutines with little memory available. " Event flags " are offered under the designation " Binary Semaphore ". Mutexes are available in newer versions.
The package for download includes ready-made configurations for various architectures and various compiler environments. Various demos (e.g. an IP stack) are also included. On FreeRTOS.org there is extensive documentation on FreeRTOS, instructions (" tutorials ") as well as documentation on the structure of an RTOS and a comparison of the implementations on different microcontrollers.
Supported Architectures
Supported processor architectures :
- Microcontroller with ARM7 architecture
- Microcontroller from the " ARM Cortex-M " family
- Altera Nios II softcore processor
- Atmel AVR and Atmel AVR32
- Freescale Semiconductor HCS12 family and Coldfire V2
- Xilinx MicroBlaze and PowerPC PPC405
- Texas Instruments MSP430 , ARM Cortex-M4F MSP432, TMS570 and RM48
- Microchip Technology PIC18, PIC24, dsPIC, PIC32
- Renesas H8 / S SuperH
- Fujitsu MB91460 32 bit and MB96340 16 bit
- NEC V850ES 32 bit and 78K0R 16 bit
- OpenRISC
- Espressif ESP8266ex and ESP32
Other ports contributed
- Microprocessors with x86 architecture
- Intel 8052 / 8051
- Microcontroller with Infineon TriCore architecture
- Jennic JN5139 microcontroller
- Cyan eCog microcontroller
- Analog Devices Blackfin BF533
- Zilog eZ80
- Lattice Mico32
- RISC-V
License
FreeRTOS was under a modified GPL . The modification restricts the use of FreeRTOS (e.g. benchmark results may not be published), so FreeRTOS is not free / libre open source software . Due to the modification of the GPL, application software running under FreeRTOS does not need to be placed under the GPL as well, which makes the operating system suitable for non-free projects. Conditions are that the end user is informed of the FreeRTOS usage if source code is distributed, and that the source code of the RTOS kernel that may have been edited must be released.
Since version 10, which was published in 2017, the software has been under the MIT license .
Related projects
SafeRTOS was developed as a complementary product to FreeRTOS : With otherwise the same functionality, it contains safety-critical additions. The FreeRTOS functional model was subjected to a PAAG process and identified weaknesses in both the functional model and the API were eliminated. The resulting requirements were subjected to the IEC 61508 SIL3 development cycle - the most demanding cycle for a software component. SafeRTOS is certified by TÜV Süd up to safety requirement level SIL 3.
The FreeRTOS code with an alternative license is offered as OpenRTOS . The OpenRTOS license removes all references to the GPL and its implications. The RTOS kernel may be modified without the modified code having to be disclosed. Commercial technical support is also offered to OpenRTOS users.
Individual evidence
- ↑ www.freertos.org . (accessed on January 22, 2019).
- ↑ http://www.freertos.org/Embedded-RTOS-Binary-Semaphores.html
- ↑ http://www.freertos.org/Inter-Task-Communication.html#Mutexes FreeRTOS Inter-Task-Communication with Mutexes
- ↑ License details
- ↑ Announcing FreeRTOS Kernel Version 10. November 29, 2017, accessed on July 5, 2019 .