• Australia: 1300 553 313
  • New Zealand: 0800 450 168


Home / CMX Systems Products / RTOS: CMX-RTX


CMX Real-Time Multi-Tasking Operating System products support MOST 8, 16, 32 and 64 bit embedded Microcontrollers, Microprocessors and DSPs.

  • Supports nested interrupts
  • No royalties on embedded code
  • All source code supplied
  • Extremely fast context switch times
  • Very low interrupt latency times
  • Several C vendors supported
  • Scheduler and interrupt handler written in assembly for speed and optimisation
  • All CMX functions contained in library
  • User configurable
  • Task management
  • Event management
  • Timer management
  • Message management
  • Circular queue management
  • Resource management
  • Semaphore management
  • Fixed block memory management
  • Specialised UART management
  • Automatic power down management
  • Full pre-emption and ability to also have cooperative and time slice scheduling


Create a task.
Remove a task.
Start a task.
Suspend a task, with time-out provision.
Wake a suspended task.
Forcefully wake a task.
Change a task’s priority.
Terminate a task early.
Do a cooperative rescheduling.
Disable task scheduling.
Enable task scheduling.


Wait on event(s), with time-out provision.
Set an event.
Clear an event.


Get a message.
Wait for a message, with time-out provision.
Send a message.
Send a message, wait for reply.
Wake task that sent message, if waiting on reply.
Wait on Mailbox(s), with time-out provision.


Create a circular queue.
Reset queue to empty.
Add to top of queue.
Add to bottom of queue.
Remove from top of queue.
Remove from bottom of queue.

TIMER MANAGEMENTCreate a cyclic timer. Change a cyclic timer event parameters. Start a cyclic timer. Restart a cyclic timer. Restart a cyclic timer, with new initial time period and/or new cyclic time period. Stop a cyclic timer.


Create a fixed block pool.
Request free block from pool.
Release block back to pool.


Get a resource.
Reserve a resource, with time-out provision.
Release a resource.
NOTE: the resources have Automatic Priority Inheritance and highest task waiting on resource will become the owner, when resource is released.


Get semaphore.
Pend for semaphore, with time-out provision.
Post to semaphore.
Flush semaphore.


Initialise CMX.
Enter CMX.
Enter interrupt.
Exit interrupt.
Enter power down mode


Initialise UART.
Put UART char, with time-out provision.
Put UART string, with time-out provision.
Get UART char, with time-out provision.
Get UART string, with time-out provision.
Update UART buffer(s)
Initialise UART buffer(s)


CMXKAware(tm) kernel awareness.

Call MicroWay on 1300 553 313 or email for more information


TINY PLUS Real-Time Multi-Tasking Operating System for Microprocessors and Microcomputers

The CMX-TINY+ Real-Time Multi-Tasking Operating System is now available for for processors families such as Freescale 68HC08, Renesas (formerly Hitachi) H8/300 & H8/300H & H8S, Atmel AVR family, Infineon (Siemens) 80C16x, Toshiba TLCS-900, Renesas 78K0/K0S, TI MSP430, STMicroelectronics ST7 & STM8S, and others. CMX-TINY+ provides slightly less functionality than the CMX-RTX RTOS. It was made to fit within the small amount of onboard RAM within the silicon, being in the range of 512 bytes and up.

  • Control tasks
  • Control events
  • Control messages
  • Control resources
  • Control cyclic timers
  • Control Semaphores (version 2.00 and up only)
  • Interrupts allowed to signal tasks
  • True preemption
  • Cooperative scheduling allowed
  • EXTREMELY Small RAM/ROM size
  • Fast context switch times
  • Low interrupt latency

Call MicroWay on 1300 553 313 or email for more information

RTOS: CMXKAware Kernel Awareness

Embedded systems engineers have long desired the ability to view their programming applications running under an RTOS via their debuggers. To meet this important need, CMX has developed CMXKAware, which integrates seamlessly with a number of the embedded software industry’s leading development tool environments. The result is a dramatically enhanced debugging capability that helps to minimise application development time, thereby reducing time to market for companies that manufacture products that include embedded systems.

CMXKAware is a DLL or ORTI (OSEK Run Time Interface) that presents all of the RTOS-specific information on the screen. CMXKAware allows you to display CMX-RTX’s internal data structures in a convenient series of lists in the RTOS window of the debugger. This provides you with information about each of the active tasks in the target application, about each semaphore, resources, mailbox, queue and event flag group along with a list of all the tasks waiting on these kernel objects, and more. Data can be displayed graphically in real-time.

The OSEK Run Time Interface (ORTI) for CMXKAware is a universal interface for development tools to the CMX-RTX RTOS. This powerful and flexible interface allows for the evaluation and display of information about CMX-RTX, its state, its performance, the different task states, the different operating system objects etc. The object information is provided via an ASCII text file and since these implementations are configured statically, this data will be available at compilation. Additionally, the ORTI file contains dynamic information as a set of attributes that are represented by formulas to access corresponding dynamic values. Formulas for dynamic data access are comprised of constants, operations, and symbolic names within the target file. By performing a continuous scan of the internal data structures described in the ORTI file, debugging tools can extract and display critical kernel-relative information, such as task states and event traces for the last four RTOS calls in the application under test. Further, the CMXKAware ORTI Builder automates the creation of ORTI files adapted to the CMX-RTX RTOS for debugging purposes, thereby allowing embedded engineers to focus their efforts exclusively on debugging their application.

Since the DLL or ORTI utilises the kernel aware API no target resources are used. Most debuggers are supported.

Call MicroWay on 1300 553 313 or email for more information