For powerful MCUs such as the Cortex-M, REXIS is ideal:
1. Using an RTOS simplifies complex system design, and allows the use of a networking stack such as TCP/IP.
2. REXIS is small. It only utilizes about 10K bytes of flash and less than 1K bytes of SRAM for itself.
3. REXIS is designed for modern 32-bit MCUs; it has not been compromised to work on memory-constrained 8-bit MCUs.
4. REXIS has a simple and easy-to-use tasking model. Tasks are just C functions, and the preemptive scheduling handles multitasking with no need for user intervention. Additionally, priority levels give finer control to task partitioning.
5. REXIS is elegant. The synchronous message-passing API handles both inter-process communication (IPC) and synchronization. The kernel handles all scheduling and message queuing.
6. REXIS supports multiple IPC models. Asynchronous mailbox IPC supports third party stacks such as lwIP.
7. REXIS is robust: priority inheritance is built into message passing and MUTEX, minimizing the potential for priority inversion. Additionally, built-in stack checking detects memory errors by the system. REXIS also uses the watchdog timer to reset the system when unexpected conditions occur.
8. REXIS takes advantages of the Cortex-M multitasking support. Kernel mode runs in privileged handler mode, while user code runs in unprivileged thread mode. The kernel and the tasks use separate kernel and user stacks. Multitasking uses the lowest priority interrupt level so as to avoid interfering with high priority I/O peripheral interrupts.
9. REXIS supports low power. When nothing is happening, it enters low power “sleep mode” where it uses no energy, and awakens only when an interrupt (SysTick or user generated) occurs.
10. (FUTURE) REXIS versions will include a post-processing utility to compute optimal task stack sizes.
11. REXIS is inexpensive, supported, and available with full source code. While not “free” as in “free beer”, its cost is minimal. We do not hide our pricing with “call us for a quote”. All prices are listed on https://imagecraft.com/XYZ