yahiafarghaly / PrettyOS

A Preemptive Hard Real Time kernel for embedded devices.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

A Preemptive Hard Real time kernel for embedded devices.

β˜‘ List of Supported Features

  • Static and Dynamic Priority Schedulers

    • Preemptive Scheduling using a static priority scheduling class.
    • EDF (Earliest Deadline First)
      • Limited Support for kernel services.
  • Configurable Number of Tasks.

  • Lock/Unlock Scheduler.

  • Support Memory Management .

    • Using a basic memory manager for fixed-sized allocatable objects in a memory partition (i.e region).
  • For Static Priority Scheduling

    • Runtime Priority Change.
    • Suspend/Resume Tasks.
    • Mutex Support.
    • Support Semaphores, Message Mailboxes and EventFlags .
  • Hooks APIs at Application and CPU port level.

  • Software based Tasks' stack overflow detection.

πŸ’» Porting availability

System BSP / CPU Port Notes
TI Stellaris LM4F120 βœ”οΈ
Linux machine βœ”οΈ Requires POSIX.1b standards as minimal

To add another port, Please read this porting guide first.

πŸ—ƒοΈ Include the RTOS

You include only a single header file pretty_os.h which contains the list of the public APIs with a proper description for each one.

πŸ“ License

Copyright Β© 2020 - present, Yahia Farghaly Ashour.
This project is MIT Licensed.

About

A Preemptive Hard Real Time kernel for embedded devices.

License:MIT License


Languages

Language:C 98.6%Language:Assembly 1.4%