Releases: YadukrishnanKM/Rohini_RTOS-RP2040
Beta Version 0.2.3
📢 Rohini RTOS – Release Notes
Version: 0.2.3-pre
Date: 2025-08-16
License: GPL-3.0
Overview
This is the pre-release version of the Rohini RTOS Kernel for the Raspberry Pi RP2040 microcontroller.
It provides a preemptive multitasking environment with C and C++ APIs, process management, and dual-core scheduling support.
✨ New Features
ADDED New branch dev for development purposes
📜 License
This project is licensed under the GNU General Public License v3.0 (GPL-3.0).
See the LICENSE file for full details.
Full Changelog: https://github.com/YadukrishnanKM/Rohini_RTOS-RP2040/commits/Version_0.1.8
Beta Preview (V 0.1.8)
📢 Rohini RTOS – Release Notes
Version: 1.0.0-pre
Date: 2025-08-14
License: GPL-3.0
Overview
This is the pre-release version of the Rohini RTOS Kernel for the Raspberry Pi RP2040 microcontroller.
It provides a preemptive multitasking environment with C and C++ APIs, process management, and dual-core scheduling support.
✨ New Features
-
Kernel Initialization
- Hardware clock setup, USB STDIO initialization, and scheduler startup.
-
Process Management
- Create, fork, exec, exit, and wait operations.
- Support for initial process creation before scheduling.
-
Preemptive Scheduler
- SysTick-driven scheduling for deterministic task switching.
- Runs on Core 1, freeing Core 0 for initialization and I/O tasks.
-
Context Switching
- Efficient switch between ready processes without manual intervention.
-
Dual-Core Support
- Core 0: Initialization and process registration.
- Core 1: Scheduler loop and task execution.
-
C++ Process Abstraction
Processbase class for object-oriented tasks.spawn()method for registering tasks with the scheduler.
-
Terminal Core Integration
- Hooks into
terminal_core.hfor CLI interaction (if required).
- Hooks into
🛠 Build System
-
CMake 3.13+ project with:
- Pico SDK and Pico Extras integration.
- Automatic path validation for dependencies.
- USB output enabled by default, UART disabled.
- Support for generating
.uf2,.hex, and.binfirmware files.
📂 File Structure
kernel.h– C++ wrapper for the kernel API.scheduler.h– Low-level C scheduler API.terminal_core.h– Terminal integration layer.os/– Core OS services.lib/– Supporting libraries.src/main.cpp– Example application entry.CMakeLists.txt– Build configuration.
🐞 Known Issues
- No priority-based scheduling yet — all processes share equal priority.
- No inter-process communication (IPC) in this release.
- Limited debugging tools.
🔮 Planned Features for Next Release
- Priority-based scheduler.
- Inter-process communication (message queues, semaphores).
- Timer services for periodic tasks.
- Power management features.
📜 License
This project is licensed under the GNU General Public License v3.0 (GPL-3.0).
See the LICENSE file for full details.
Full Changelog: https://github.com/YadukrishnanKM/Rohini_RTOS-RP2040/commits/Version_0.1.8