Microchip Technology AC164340 Data Sheet

Page of 152
Development Systems Ordering Guide
DS30177T-page 24
© 2005 Microchip Technology Inc.
CMX-RTX™ for dsPIC30F Devices
In some cases, well-structured linear programming is 
sufficient for a product. In most cases, however, 
programmers appreciate not having to worry about 
structuring their code to perform all necessary tasks in 
a timely manner. This is where CMX-RTX can help. 
CMX-RTX allows tasks (pieces of code that do specific 
duties) to run quasi-concurrently. This means that tasks 
will seem to run all at the same time – doing many 
specific jobs simultaneously.
CMX-RTX takes the worry and headaches out of 
real-time programming. The software lets embedded 
programmers concentrate on the overall application as 
it takes care of the little details. Finish projects faster 
and more efficiently with CMX-RTX.
Some RTOS software offers only cooperative 
scheduling, which means that the running task has to 
call the scheduler to perform a task switch. Others offer 
time slicing, where each task runs for a certain period 
of time, at which point, a task switch takes place no 
matter what. Others claim to be fully preemptive, but do 
not allow any interrupt to cause a preemption. All of 
these models will fail 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. A truly preemptive RTOS allows 
interrupts to cause an immediate task switch. This 
means that the interrupts now have the added ability of 
using the RTOS’s functions.
Features
• The smallest footprint
• The fastest context switch times
• The lowest interrupt latency times
• True preemption
• Scheduler and interrupt handler written in 
Assembly for speed and optimization
• Optional cooperative and time-slicing scheduling
• Nested interrupts
• All functions contained in a library
• Interrupt callable functions
• Scalability
• Free source code provided
• Integrated with CMX-MicroNet™ for optional 
networking connectivity
CMX-RTX Specifications for
dsPIC
®
 DSC Products
Flash
• All CMX Functions: 3696 bytes
• CMX Initialize Module: 936 bytes
• CMX Assembly Module (scheduler): 645 bytes
• RAM, Each Task Control Block: 28 bytes
• Min. Context Switch:
- 92 cycles (starting a task)
- 137 cycles (resuming a task)
• CMX functions are contained in a library, thus 
reducing code size, if not referenced
Ordering Information:
SW300031
CMX-RTX™ for dsPIC30F Devices
DS51435
“CMX-RTX™ for dsPIC30F Product Overview” (Available at: www.microchip.com)