Skip to content

Releases: YadukrishnanKM/Rohini_RTOS-RP2040

Beta Version 0.2.3

16 Aug 10:22

Choose a tag to compare

Beta Version 0.2.3 Pre-release
Pre-release

📢 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)

14 Aug 18:48

Choose a tag to compare

Pre-release

📢 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

    • Process base class for object-oriented tasks.
    • spawn() method for registering tasks with the scheduler.
  • Terminal Core Integration

    • Hooks into terminal_core.h for CLI interaction (if required).

🛠 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 .bin firmware 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