Skip to content

A Preemptive Hard Real Time kernel for embedded devices.

License

Notifications You must be signed in to change notification settings

yahiafarghaly/PrettyOS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

81 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.