An open-source real-time kernel with very footprint for microcontrollers
Supported MCUs
PIC16F628 Port mature, others coming (Arduino Uno, Beagle-Board, Raspberry PI)
Steps:
// Example, blink LED in 4ms Real Time and 1s scheduler
inline void k_rt_task_4ms_user(void) {
blink_1(); // Runs in RT Context
}
void k_st_task_1s_user(void) {
blink_2(); // Runs Scheduled Context
}
K‑RT is a minimal real-time microkernel ideal for ultra-low-power embedded systems. It prioritizes determinism and simplicity, ideal for education, industrial applications, and hobbyist projects with constrained resources.
The embedded kernel also supports higher-end microcontrollers and thanks to its minimal footprint and intrinsic design, it provides Developper with a set of tools to monitor and control their application code, survery the resource utilization and optimize their code while keeping the core functions always running, thanks to the RT / ST contexts.
Systat command provides statistics about MCU ressource usage (CPU and stack load)
Status command provides a feed-back from the various K-RT states and fault/warning words
The Kernel design allows developper to focus on application code, lifting up from the microcontroller driver architecture. It provides a template to start writing code quicker and safer, as well as mechanisms to do simple debugging and Kernel and user space Start/Stop commands.
The communication protocol is open and has provision for User specific commands and future evolution. It support Base commands for the Kernel, for User space, and User specific functions. It supports simple byte communication, frames, CRC, GPIO configuration and manipulation and more ...