Skip to content

A Preemptive dynamic priority based hard real time kernel for embedded devices.

License

Notifications You must be signed in to change notification settings

yahiayasser/PrettyOS

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

44 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

A Preemptive dynamic priority based hard real time kernel for embedded devices.

☑ List of supported Features

Features Status
Preemptive Multitasking Yes
Maximum number of tasks Configurable
Number of tasks at each priority level 1
Priority Change at run time Yes
Support Round robin scheduling No
Scheduling lock/Unlock Yes
Task suspend/resume Yes
Catch a task that returns Yes
Semaphores Yes
Mutual exclusion semaphores No
Software timers No
User definable hook functions No
Message mailboxes No

📜 List of PrettyOS Public APIs

Core Task managment Semaphore Time Hook Functions
OS_Init OS_TaskCreate OS_SemCreate OS_DelayTicks OS_Hook_onIdle
OS_Run OS_TaskDelete OS_SemPend OS_TimerTick
OS_IntEnter OS_TaskChangePriority OS_SemPost OS_DelayTime
OS_IntExit OS_TaskSuspend OS_SemPendNonBlocking
OS_SchedLock OS_TaskResume OS_SemPendAbort
OS_SchedUnlock OS_TaskStatus

💻 Porting availability

System BSP CPU port
TI stellaris LM4F120 Done Done

📝 License

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

About

A Preemptive dynamic priority based hard real time kernel for embedded devices.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 98.0%
  • Assembly 2.0%