// the find
FreeRTOS/FreeRTOS-Kernel
FreeRTOS kernel files only, submoduled into https://github.com/FreeRTOS/FreeRTOS and various other repos.
The FreeRTOS kernel — the actual RTOS that runs on hundreds of millions of embedded devices. This is the kernel-only repo, submoduled into the main FreeRTOS repo and used as a vendored dependency by most embedded projects that need preemptive multitasking on microcontrollers. It's for firmware engineers who need task scheduling, queues, semaphores, and timers on bare-metal hardware.
Port coverage is genuinely impressive — ARM Cortex-M0 through M85, RISC-V, MIPS, AVR, MSP430, 16-bit DOS, and more, across GCC/IAR/Keil/CCS toolchains. The TrustZone-M (ARMv8-M secure/non-secure) implementation is solid and well-structured. CMake integration via FetchContent works cleanly without forking or patching. The MISRA compliance documentation and Coverity scan workflow show this is production-grade safety-critical code, not a hobby project.
FreeRTOSConfig.h is a 100+ macro header you have to configure by hand for every port — one wrong setting (wrong tick rate, wrong stack depth) and you get silent stack overflows or priority inversion bugs that only show up under load. The heap allocators (heap_1 through heap_5) are static or first-fit; if you need a real-time-safe allocator with fragmentation guarantees, you're bringing your own. Co-routines are deprecated but still in the tree, creating confusion about what's actually supported. Documentation lives on freertos.org, not in the repo, so offline-first development or doc diffs are painful.