The CMX CMXTracker
provides the user the ability to log chronologically in real-time, the tasks' execution flow, capturing when a task is executing, the CMX functions called and their parameters, interrupts using CMX functions and the CMX system TICK within the CMX-RTX real-time multitasking operating system environment, while the user's application code is running. Displaying of the log is performed by CMXTracker. which runs as a task, usually being the highest priority task. In most cases, one of the target processor UART channel(s) is used as the input/output device. A simple terminal or CPU with a keyboard is all that is required to use CMXTracker.
When the user enables the CMXTracker task, it will send a menu to the screen. The user may then select one of many prompts, allowing the user to view the chronologically ordered log, reset the log, resume running of application code and possibly change some aspects of the log, such as "autowake" CMXTracker after a certain number of entries. When the CMXTracker task is running, it prohibits other tasks from running, stopping the task timers and cyclic timers and also disables interrupts from calling the CMX functions, so as the application code will "freeze" within the CMX RTOS environment.
CMXTracker allows the user to view the log at the beginning or end, paging down or up, viewing the exact execution of the tasks. Also what CMX functions were called with their parameters and results returned (such as the message sent or received, event bits set, timed out, etc.) and interrupts, with the CMX system TICK being a "timeline" stamp.
CMXTracker allows the user to "single step" one system TICK, thus allowing normal activity to occur for one system TICK, with CMXTracker resuming after this "single step". The user can also set the desired number of system TICKS that CMXTracker will wait, allowing normal activity, before it again resumes. This is a very powerful and helpful feature.
CMXTracker is now available for use with the CMX CMX-RTX package, for most processors and vendors that CMX supports. All target source code is included.