REXIS  1.0

REXIS (Real-time EXecutive for Intelligent Systems) is a message passing executive kernel.
This header file defines the REXIS API. Version 1.0.
REXIS' main features are:
1- Round robin priority based preemptive scheduling, providing fast real-time performance.
2- Includes both synchronous message passing API and asynchronous message passing API (mailboxes).
3- Synchronous message passing primitives provide synchronizing and interprocess communication capabilities, minimizing the problem with asynchronous events and data copying.
4- Includes mutex, binary and counting semaphores for resource access.
5- Both synchronous message passing and mutex use priority inheritance to prevent deadlocks due to priority inversion.
6- Efficient use of Cortex MCU resources. Kernel functions run in handler mode with the system stack, and tasks run in thread/user mode with each task having its own process stack.
7- Fast task unblocking when unblocking event arrives.
8- Includes memory allocator with resource automatically tracked by the executive, and allocated resource can be reclaimed via a single kernel call.
9- Kernel calls done with SVC instructions, context switching using PendSV, both at lowest urgency level, minimizing impact on high priority peripheral interrupts.
10- Includes ISR safe API for task unblocking etc. from within an ISR.