Parametric Search
|
Home » CMX Systems » CMX-RTX, preemptive, multi-tasking RTOS










CMX-RTX, preemptive, multi-tasking RTOS

CMX Systems CMX-RTX is a truly preemptive, multi-tasking real time operating system (RTOS)supporting a broad range  of processor architectures. This ´lean and mean´ RTOS offers the smallest footprint, the fastest context switching times, and the lowest interrupt latency times available on the market today. While CMX-RTX is a fully preemptive RTOS, support is also provided for cooperative scheduling or time-slicing, if desired.The CMX-RTX RTOS offers the following features:
  • Smallest memory footprint of any commercial RTOS
  • Fastest context switch times of any commercial RTOS
  • Lowest interrupt latency times of any commercial RTOS
  • Supports True Preemption
  • Also supports optional co-operative and/or timeslicing scheduling
  • Scheduler and interrupt handler are written in assembly for speed and optimization
  • Nested interrupts are supported
  • All functions are contained in a library for ease of use and scalability
  • Interrupt callable functions are supported
  • Full source code provided
  • Source code examples reduce learning curve and speed development
  • Highly portable
  • Free technical support for 180 days
  • Low, one-time license fee
  • Support for many C compilers
  • Kernel Awareness for many popular debuggers
  • No royalties
CMX-RTX is truly preemptive: Some RTOS vendors offer only cooperative scheduling which means that the running task has to call the scheduler to perform a task switch. Others offer time slicing in which each task runs for a certain period of time at which point a task switch occurs. Other vendors claim to be fully preemptive, yet they do not allow any interrupt to cause a preemption.
All of these models will fail you at one point or another. CMX-RTX allows a task of higher priority that is able to run (whether starting or resuming) to preempt the lower priority running task. This will cause the scheduler to save the context of the running (lower priority) task and restore the context of the higher priority task so that it is now running.