ESC - New TraceX/MC simplifies multicore application development - Embedded.com

ESC – New TraceX/MC simplifies multicore application development

San Jose, Calif. – TraceX/MC from Express Logic, Inc., (ESC booth 1128) is a multicore-enabled and expanded version of the TraceX graphical real-time event analysis tool for use with the ThreadX RTOS. TraceX/MC enables embedded developers to visualize and better understand the behavior of their real-time systems by showing thread and core activity graphically across a common timescale.

With TraceX/MC, system events like interrupts and context switches that occur out of view of standard debugging tools can be seen clearly on each core. TraceX/MC introduces the ability to identify and study these events, and to pinpoint the timing and core on which they occurred. By offering such visibility into the overall system operation, TraceX/MC enables developers to resolve programming problems more easily, reducing the time typically spent debugging a multicore application.

TraceX/MC creates a database of system and application events on the target system during run-time. Events such as thread context switches, preemptions, suspensions, terminations, and system interrupts that typically escape detection in a standard debugging environment are logged in a target-resident circular buffer by ThreadX, with time-stamping and active core-thread identification so they can be displayed later in the proper time sequence for the appropriate core. Event logging may be stopped and restarted by the application program dynamically when, for example, an area of interest is encountered. This approach avoids cluttering the buffer and using up target memory when the system is performing correctly.

Trace information may be uploaded to the host for analysis at any time, whether at post mortem or on encountering a breakpoint. A circular buffer enables the most recent “n ” events to be stored at all times, and to be available for inspection upon the occurrence of a system malfunction, breakpoint, or any other time the system is halted. Once the event log has been uploaded from target memory to the host, TraceX/MC graphically displays the events on a time-based horizontal axis, with the various system cores and associated application threads and system routines represented on the vertical axis.

Acting as a “software logic analyzer” on the host, TraceX/MC makes system events plainly visible, clearly depicting what is going on in each core. Events are represented by color-coded icons, located at the point of occurrence along the horizontal timeline to the right of the relevant thread or system routine. When an event icon is selected, the corresponding information for that event is displayed. This provides quick, single-click access to the most immediate information about the event. The axes may be expanded to show more detail or collapsed to show more events. TraceX/MC provides an “overview mode” display that shows all system events on a single horizontal line to simplify analysis of systems with many threads.

Complex real-time interactions and race conditions can be examined far easier with TraceX/MC than by using standard debugging techniques. Race conditions occur when system events are not deterministically sequenced, even though their order is critical to proper operation. Such application errors are difficult to identify, even on single-processor systems. On multicore systems, such conditions are significantly more challenging to detect, and can create confusing system performance requiring extensive time to examine and understand using conventional methods.

TraceX/MC makes such conditions clearly visible, freeing the developer from wasting time figuring out which core is doing what at a certain point in time. By providing this visibility into race conditions, as well as interrupts, preemptions and other events across multiple cores, TraceX/MC speeds application development and further enables ThreadX to get products to market faster than the competition.

TraceX/MC also provides the statistics and performance profiles that portray how the system is performing and to assist in fine-tuning the load across multiple cores. An Execution Profile shows the percentage of execution time spent in each application thread, interrupt routine, and system idle time; Popular Services portrays which ThreadX services are most often used by the application. Thread Stack Usage details the amount of stack memory used by each thread in the system, enabling better optimization of memory stack allocation and prevention stack overflow, and Performance Statistics counts the number of context switches, interrupts, priority inversions, and other critical events that occur during system operation.

TraceX/MC is available for use on Windows PCs at a license price of $1,000 per developer seat, with no license keys required.

For more information visit www.rtos.com, call 1-888-THREADX, or email inquiries to .

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.