FreeRTOS is a market-leading real-time operating system (RTOS) for microcontrollers and small microprocessors. Distributed freely under the MIT open source license, FreeRTOS includes a kernel and a growing set of libraries suitable for use across all industry sectors. FreeRTOS is built with an emphasis on reliability and ease of use.
MCU+ SDK supports FreeRTOS on below CPUS
SysConfig can be used to configure below modules with FreeRTOS
FreeRTOS source is distributed along with MCU+ SDK and given below are some important files and folders related to FreeRTOS.
| Folder/Files | Description |
|---|---|
| ${SDK_INSTALL_PATH}/source/kernel/ | |
| dpl/ | APIs to access FreeRTOS features in a OS agnostic way |
| ${SDK_INSTALL_PATH}/source/kernel/freertos | |
| lib/ | FreeRTOS library to link against. Linking to the library in this path enables the application to operate in FreeRTOS mode |
| config/ | FreeRTOS and FreeRTOS POSIX configuration header files for different CPUs within a SOC. |
| FreeRTOS-Kernel/ | FreeRTOS Kernel source code. MCU+ SDK simply clones the code from FreeRTOS github and does not modify anything in this folder |
| FreeRTOS-POSIX/ | FreeRTOS POSIX wrapper source code. MCU+ SDK simply clones the code from FreeRTOS POSIX github and does not modify anything in this folder |
| portable/ | MCU+ SDK FreeRTOS porting related files for different CPUs |
| ${SDK_INSTALL_PATH}/source/kernel/freertos/dpl | |
| common/ | FreeRTOS DPL APIs that are common across all CPUs |
| m4/ | FreeRTOS DPL APIs that are specific to M4F CPUs |
| r5/ | FreeRTOS APIs that are specific to R5F CPUs |
In addition to above files, to enable features like HW interrupts, cache, MPU, the FreeRTOS library in MCU+ SDK also shares some code with NORTOS, see to makefile in the folder source\kernel\freertos to see the exact list of files that are included to build a freertos library.
See FreeRTOS usage guidelines for FreeRTOS usage guidelines and comparison to SysBIOS.
Given below are some references to learn more about FreeRTOS.
| Document Description | Web link |
|---|---|
| Easy to read FreeRTOS book | https://www.freertos.org/Documentation/RTOS_book.html |
| FreeRTOS user docs | https://www.freertos.org/features.html |
| User API reference | https://www.freertos.org/a00106.html |
| FreeRTOS core kernel source code | |
| FreeRTOS core kernel example source code | https://github.com/FreeRTOS/FreeRTOS/tree/master/FreeRTOS |
| Additional FreeRTOS.org maintained libraries (POSIX, TCP, Filesystem, …) | https://www.freertos.org/FreeRTOS-Labs/index.html https://www.freertos.org/FreeRTOS-Plus/index.html https://github.com/FreeRTOS |