Interaction-oriented: an RK0ish application code describes how tasks interact rather than delegating to application code to compose generic services. Recurring coordination patterns for real-time applications are totally defined by the relationship between concurrency entities (Tasks) and optimised to handle worst-case scenarios.
-
RK0 Docbook: compreehensive document with design internals, architecture, caveats and usage examples
-
Service Map: a must-read for developing
-
RK0 Wiki: misc of information, requirement matrix, design patterns, setting up VSCode/QEMU/GDB on Linux/Win/MacOS, packages for Nucleo-boards (M0/M3/M4), profiling metrics.
-
RK0 Blog: blogs about RK0 and systems programming in general
Prerequisites:
- ARM GNU Toolchain (
arm-none-eabi-gcc, arm-none-eabi-gdb / gdb-multiarch (Debian)) - QEMU for ARM (
qemu-system-arm)
Build and run the RK0 demo on QEMU:
git clone https://github.com/antoniogiacomelli/RK0.git
cd RK0
make arch=armv6m|armv7m qemuRK0 source code compiles cleanly with the following GCC flags:
-Wall -Wextra -Wsign-compare -Wsign-conversion -pedantic
Static Analysis (Cppcheck) is clean with no warnings, errors, or style issues.
make cppcheck
make cppcheck-report- RK0 compiles only with ARM GCC.
- The C code standard is C99.
Copyright (C) 2026 Antonio Giacomelli | All Rights Reserved | www.kernel0.org | 📫
