RPV Event driven kernel
Loading...
Searching...
No Matches
Basic information

Introduction

An event driven kernel is a small, modular, embedded kernel designed for educational and lightweight RTOS applications by using profiles designation: Lite & Full. It provides:

  • Event system with publish/subscribe model producing a reactive like firmwares <- Lite & Full profile
  • POSIX-alike signal handling. The concrete behaviour is a bit differ from POSIX one while giving same synchronization context mental model e.g. await/poll for signal flagged paradigm (see Signals processing) <- Lite & Full profile
  • Shell command execution framework <- Lite & Full profile
  • Filesystem abstraction and mount management <- Full profile
  • Kernel logging and journal subsystem <- Full profile

Kernel Architecture

The kernel is organized into modular subsystems:

  • Kernel Core: Events pipeline (events and service dispatch), publish/subscribe events
  • Command/Service Registrar: Flexibe command/service registration
  • Filesystem: Mount, unmount, file operations, and shell commands
  • Shell: Interactive command-line interface
  • Signal Handling: Signal masks, delivery, and pending signals (using kernel pipeline)
  • Journal: Kernel log entries and retrieval

(see Block Diagrams)

Usage

Include public headers from include/ implement required APIs needed by the kernel using profile (see Mandatory APIs called by the Kernel). At project entry call subsystems initialization you need following with shell start functions to enter into events never ending processing loop.

Note
some subsystems might not be available in the chosen kernel profile e.g. lite profile doesnt include file I/O subsystem

License

Event driven kernel is released under the MIT License.