REXIS (Real-time EXecutive for Intelligent Systems) is a message passing executive kernel. 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.

If you have a ST-Nucleo STM32F411 board, you can run the examples and see how REXIS works immediately. REXIS is inexpensive, supported, and available with full source code. It's perfect for the IoT devices. 

REXIS user guide (V0.90): HTML

REXIS API in browseable Doxygen format: here.

REXIS Licensing and Pricing

A common model for marketing modern RTOS products is to release them under a GPL license, but for "closed source" non-GPL uses (e.g. commercial applications where you want to protect your IP), one must purchase a commercial use license. The cost is often hidden from the potential purchaser, requiring "call us for a quote". As mentioned in our blog post “Embedded Market Survey on RTOS Uses”, the prime reasons for selecting a particular RTOS seem to be: 1) availability of source code, and 2) no royalties. While REXIS is not “free” as in “free beer”, its cost is minimal, and ImageCraft openly lists the pricing on its website. 

REXIS is licensed in the following ways:

  1. Non-Commercial Binary Only: REXIS binary is part of the JumpStart C++ for Cortex (download link) package, and you may use it for testing and evaluation purposes. Under this type of license, you may not use REXIS for any commercial releases or products.
  2. STD License: Source and binary releases for REXIS. Includes 3 hours of consulting. This is a license for one (1) company to use REXIS to develop one product. Free updates for 12 months. Includes a free ST-Nucleo F411 board for U.S. customers. LIMITED TIME OFFER! Regular price: $999, Limited Time Promotional price: $599!
  3. PRO License: Source and binary releases for REXIS. Includes 5 hours of consulting. This is a license for one (1) company to use REXIS on an unlimited number of products. Free updates for 36 months. Includes a free ST-Nucleo F411 board for U.S. customers. LIMITED TIME OFFER! Regular price: $9999, Limited Time Promotional price: $5999!

You are invited to take advantage of this limited time offer and purchase REXIS NOW.

 

© 2015 Imagecraft Creations. All Rights Reserved.
Designed By JoomShaper, Fantastic Realities Studio - www.fantastic-realities.com - & C.J. Willrich.