CMX RTOS – Small & simple low cost for most Microcontorollers

For more information:

Ohad Beit-On


CMX Real-Time Multi-Tasking Operating System products support MOST 8, 16, 32 and 64 bit embedded Microcontrollers, Microprocessors and DSPs. We also support more than 30 compiler vendors. Please contact us for further information on any of our RTOS products such as CMX- RTX(tm), CMX-TINY+(tm), CMX-TCP/IP(tm), CMXBug(tm), and CMXTracker(tm).

CMX-RTX supports the follwoing Micros:

8051, ARM (almost any ARM based Micro.), Cortex-M3, Atmel AVR, PowerPC, ColdFire, HCS12 any many more.

See a complete list of supported Micors

With CMX-RTX you can have a complet embedded system by adding the following options:

  • 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 optimization
  • 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
  • Specialized 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.


Create 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.

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


Initialize 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)
Initialize UART buffer(s)



CMXKAware(tm) kernel awareness.



CMXBug(tm) interactive debugger.



CMXTracker(tm) analyzer.




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.

The RTOS implements the following features:
  • 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
Compilers for C/C++Real Time Operating SystemsDebuggers & JTAG EmulatorsEmbedded Software Testing solutionsMiddleware & SW componentsHW Testing solutions – Boundary-Scan (JTAG) & FunctionalOrganizing, Analyzing & Verification tools for HDL designs, FPGAs, Board schematic, PCB layout and Systems designersProtocol and Bus Analyzers & StimulatorsHome of CANopen, EtherCAT, PowerLink, ProfiNet– SW Protocols, Data loggers, Interfaces, devices & SolutionsIn-Circuit/Parallel Engineering & Production Device Programmers (Flash/EPROMs/CPLDs…)Video & Audio SW CODECs components

For more information: Ohad Beit-On 054-2584032