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-Kernel-smp/ | FreeRTOS Kernel source code for SMP. 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 |
a53/ | FreeRTOS APIs that are specific to A53 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 source code for SMP | |
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 |