Real-Time Multi-Tasking Operating System
for Microprocessors, Microcomputers 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
- 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
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
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.
Pend for semaphore, with time-out provision.
Post to semaphore.
Enter power down mode
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)
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 products.