On this page
Overview
FreeRTOS-Kernel contains the FreeRTOS kernel source, headers, and processor/compiler ports without the full demo distribution. Version 11.3.1 adds Armv8-M SMP support, periodic-task APIs, and multiple MPU and security-related fixes.
Features and best fit
Based on official documentation; not hands-on tested · Content checked:
Key features
Embed the scheduler, queues, timers, and core RTOS primitives
Core files such as tasks.c, queue.c, and list.c plus the public headers form the kernel, while the portable directory supplies processor/compiler-specific ports used with FreeRTOSConfig.h.
Sources: [1]
Consume the kernel through CMake FetchContent or a Git submodule
The README documents both FetchContent and submodule integration. CMake consumers provide a freertos_config target, choose FREERTOS_PORT, and select FREERTOS_HEAP when dynamic allocation is used.
Use Armv8-M SMP and new periodic-task APIs in V11.3.1
V11.3.1 adds SMP support to Armv8-M ports for GCC, ArmClang, and IAR and introduces xTaskPeriodicDelay plus additional task-inspection APIs.
Sources: [2]
Best fit
Fits firmware projects that want only the FreeRTOS kernel dependency
It is appropriate when a project wants to vendor, submodule, or FetchContent the kernel and selected port without the demos and supplementary networking libraries from the classic distribution.
Sources: [1]
Before adoption
A target-specific FreeRTOSConfig.h and processor/compiler port are mandatory
The kernel repository alone is not a complete board project. The README recommends starting from a preconfigured demo for the easiest setup; direct integration requires matching configuration and port choices to the hardware and toolchain.
V11.3.1 carries security, race, and MPU-related fixes
The release fixes secure-context validation, queue-set type confusion, timer-command validation, a task-count race, and other issues, so projects pinned to 11.x should review patch-level changes rather than only the major/minor version.
Sources: [2]
Official sources
- [1]FreeRTOS-Kernel V11.3.1 README(2026-10-04)
- [2]FreeRTOS-Kernel V11.3.1 history(2026-10-04)
- [3]FreeRTOS-Kernel V11.3.1 CMake configuration(2026-10-04)
- [4]FreeRTOS-Kernel MIT license(2026-10-04)
Supplemental curator note
This is distinct from the FreeRTOS/FreeRTOS classic distribution registered separately: this repository contains the kernel and ports only. Always match FreeRTOSConfig.h and the selected port to the actual target.
Try it in 3 steps
- 1
Fetch FreeRTOS-Kernel V11.3.1
Pin the checkout to the latest stable release tag and fetch only the kernel source and ports.
git clone --depth 1 --branch V11.3.1 https://github.com/FreeRTOS/FreeRTOS-Kernel.git freertos-kernel-11.3.1 - 2
Configure a host build with the template configuration
Use the documented CMake options with the GCC POSIX port and template FreeRTOSConfig.h. Replace both with the real MCU port and configuration for firmware work.
cmake -S freertos-kernel-11.3.1 -B freertos-kernel-11.3.1/build-host -DFREERTOS_CONFIG_FILE_DIRECTORY="$PWD/freertos-kernel-11.3.1/examples/template_configuration" -DFREERTOS_PORT=GCC_POSIX -DFREERTOS_HEAP=4 - 3
Build the kernel library
Compile the kernel with the selected host port without flashing or touching hardware.
cmake --build freertos-kernel-11.3.1/build-host -j2
Growth
Growth trends · Last 30 days
4,539 Stars
Trend data is still being collected.
Development activity
Last 90 days · weekly
- Commits (last 30 days)
- 0
- Open PRs
- 54
Development activity is still being collected.
Built with
Categories and tags
Categories
GitHub data
GitHub dataView detailed GitHub data
Related information
Write a related articleShare a guide or use case for this OSS in Markdown. Articles are published after administrator approval.
Explore next
- Git63,582 Stars
1 shared tag(s) · 1 shared category(s) · Same language
keep complete history locally and synchronize repositories as distributed peers
C - jq35,741 Stars
1 shared tag(s) · 1 shared category(s) · Same language
slice, filter, transform, and aggregate JSON inside shell pipelines
C - Raspberry Pi Linux Kernel13,215 Stars
1 shared tag(s) · 1 shared category(s) · Same language
a downstream kernel tree carrying Raspberry Pi-specific hardware support
C - ClamAV7,315 Stars
1 shared tag(s) · 1 shared category(s) · Same language
scan files, archives, and mail with signature databases to detect viruses, trojans, malware, and other malicious content
C - Apache HTTP Server4,035 Stars
1 shared tag(s) · 1 shared category(s) · Same language
run web serving, TLS, virtual hosts, and reverse proxying through a modular server configuration
C - Folly30,551 Stars
1 shared tag(s) · 1 shared category(s)
use a practical, performance-focused collection of C++20 core components developed for large-scale Meta systems
C++
Report incorrect information
Tell us if any listing information is incorrect or outdated.