Datasheet

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)