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.
FreeRTOS SDK supports FreeRTOS on below CPUS
SysConfig can be used to configure below modules with FreeRTOS
FreeRTOS source is distributed along with FreeRTOS 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. FreeRTOS 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. FreeRTOS SDK simply clones the code from FreeRTOS github and does not modify anything in this folder |
FreeRTOS-POSIX/ | FreeRTOS POSIX wrapper source code. FreeRTOS SDK simply clones the code from FreeRTOS POSIX github and does not modify anything in this folder |
portable/ | 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 |
C75/ | FreeRTOS APIs that are specific to C75 Core |
In addition to above files, to enable features like HW interrupts, cache, MPU, the FreeRTOS library in FreeRTOS 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 |