Tracealyzer for µC/OS-III
Visualizing Runtime Behavior with
Tracealyzer for Arm Keil
Tracealyzer for µC/OS-III visualizes run-time behavior of your Micrium µC/OS-III system through 25+ graphical views that complement the debugger’s low-level perspective with the big picture. The views are interconnected in clever ways and very intuitive to use. Tracealyzer gives you a new level of insight into your system at runtime, which gives several benefits in your product development.
The visualization is based on traces from a lightweight software recorder that hooks into the operating system, so you don’t need any special trace debugger to use Tracealyzer. This makes Tracealyzer more than just a lab tool, as the recording can deployed in field use. Some of our customers have the recording active by default in the release build, and thereby get very valuable trace diagnostics on real-world issues, that otherwise would have been hard to analyze.
Tracealyzer for µC/OS-III relies on a trace recorder library developed by Percepio and integrated with µC/OS-III in partnership with Micrium. The recorder library is delivered in C source code and included in the Tracealyzer application directory. A link to the recorder folder is available in the Help menu. It is easy to integrate using the guide in the User Manual.
Tracealyzer offers two types of recording, snapshot recording where the trace data is kept in a target-side RAM buffer until explicitly uploaded, and since Tracealyzer v3.0 also streaming recording where the data is transferred continuously to the host PC, allowing for practically unlimited trace durations. Streaming is currently supported via SEGGER J-Link probes, via network connections (TCP/IP) and using custom setups, e.g., streaming to an SD-card. Snapshot recording works with essentially any debugger, since Tracealyzer can extract the trace from a basic RAM dumps in .bin or .hex format.
The 25+ views include:
Trace of Tasks, ISRs, RTOS calls and User Events
Task Timing Variations
Multiple Views Synchronized
Kernel Object History
Create your own User Events
User-defined events, or User Events, allows you to log any event or data in your embedded application. This gives the flexibility of classic debug “printf” calls, but are much faster as all string formatting is done offline, in the viewer. Since you get the events on the same time-line as the kernel trace, it is easy to correlate the application event with the other views.
Visualize data from your code
The plotting is highly useful for analysis of control algorithms, as it allows you to correlate the plotted data with the other time-line views to find the cause of any anomalies in the plot.