Express Logic, Inc., the worldwide leader in royalty-free real-time operating systems (RTOS), announced the release of TraceX® V5, the most advanced version of its graphical event analysis tool for real-time systems. To ensure faster identification of errors, TraceX V5 adds several new features that enable embedded system developers to better visualize and understand the behavior of their real-time systems.
With TraceX, developers can see clearly the occurrence of system events like messages, interrupts and context switches that occur out of view of standard debugging tools. TraceX V5 also graphically reveals both deterministic and undeterministic priority inversions, an industry first. The ability to identify and study these events and to pinpoint the timing of their occurrence in the context of the overall system’s operation enables developers to resolve programming problems by finding unexpected behavior and investigating specific areas of code in detail.
TraceX V5 introduces a more flexible display under Windows XP and Vista. The new display enables significantly faster rendering of system events and allows developers to zoom in/out to focus on the area of greatest interest. TraceX V5.0 also captures performance metrics and displays a profile of thread activity, showing percentages of system time taken by each thread. TraceX V5 also introduces thread reordering, advanced search facilities, and expanded support for FileX® and NetX[tm] events.
Designed to work with Express Logic’s ThreadX® RTOS, FileX embedded file system and NetX TCP/IP stack, TraceX analyzes and displays a database of system and application events created on the target system during run-time. These events include thread context switches, messages, preemptions, suspensions, terminations, and system interrupts, all of which generally escape detection in a standard debugging environment.
Events are logged in the database by ThreadX, FileX, or NetX under program control, with time-stamping and active thread identification so they can be displayed later in the proper sequence. Event logging may be stopped and restarted by the application program dynamically, for example, when an area of interest is encountered. This avoids cluttering the database and using up target memory when the system is performing correctly.
Trace information is stored in a circular buffer on the target system with buffer size determined by the application. That information may be uploaded to the host for analysis at any time-either post mortem or on encountering a breakpoint. A circular buffer enables the most recent “n” events to be stored at all times and is available for inspection on system malfunction or other significant events.
TraceX displays events graphically along a horizontal time-based axis. The developer can click on an event’s icon to display the corresponding information for that event, as well as the information for the two previous and two subsequent events. This provides quick, single-click access to the most immediate information about the event and its immediately surrounding events. The axes may be expanded to show more detail or collapsed to show a larger time interval and more events. TraceX provides an “overview mode” display that shows all system events on a single horizontal line to simplify analysis of systems with many threads that otherwise might require tedious vertical scrolling to view the next event.
With TraceX, complex real-time interactions and race conditions can be examined far easier than by using standard debugging techniques. Race conditions occur when system events are not deterministically sequenced, and their order is critical to proper operation. Such application errors are generally difficult to identify, and TraceX makes them easier to find and correct. By providing this visibility into race conditions, as well as interrupts, preemptions and other events, TraceX simplifies application development and further speeds ThreadX getting products to market faster than the competition.
“With TraceX V5, we’re better able to offer ThreadX, FileX, and NetX developers increased visibility into their system during development,” commented William E. Lamie, president of Express Logic. “TraceX V5.0 paints a graphical picture of the system in a way that standard debuggers cannot, and this helps developers produce better products in less time than ever before.”
Shipping and Availability
TraceX V5 is available from Express Logic immediately, for use on Windows hosts, for all target architectures supported by ThreadX, for a license price of $1,000 per developer seat.
About Express Logic
Headquartered in San Diego, CA, Express Logic offers the most advanced run-time solution for deeply embedded applications, including the popular ThreadX® RTOS, the high-performance NetX[tm] TCP/IP stack, the FileX® embedded MS-DOS compatible file system, and the USBX[tm] Host/Device USB protocol stack. All products from Express Logic include full source-code and have no run-time royalties. For more information about Express Logic solutions, please call 1-888-THREADX, or email inquires to email@example.com.
ThreadX, FileX, TraceX and BenchX are registered trademarks, and NetX, CANX, USBX, StackX, preemption-threshold, picokernel, UDP fast path technology, are trademarks of Express Logic, Inc.