WindRiver Workbench
From TracingWiki
TracingBook : WindRiver Workbench
Contents |
[edit] Wind River
[edit] Company
Wind River Systems, Inc. is a Software company providing mainly solutions for embedded systems including operating systems such as VxWorks and Wind River Linux, as well as development tools.
[edit] Wind River Workbench
Wind River Workbench is an Eclipse-based development suite providing a rich set of tools for software development and debugging. This document describes a few but very important features.
[edit] Target Debugging
The target can be connected with the workbench host for debugging via one of three possible ways:
- A direct connection to the target with an 8250 serial connection using a null-modem cable, or
- via a terminal server with TCP, or
- by Ethernet with UDP.
Once the connection is established, workbench shifts to the Device Debug perspective. Here it is possible to add breakpoints in the kernel code. Once a breakpoint is hit, the Editor inside the perspective will open the corresponding source file. On specific architectures like the IA-32, hardware breakpoints can be set. The normal execution of the program can be interrupted when a specific variable is read or written, or when a specific instruction is read for execution. Breakpoint properties can be saved to a file and imported later on.
[edit] System Viewer
The Wind River Workbench System Viewer is used to capture the dynamic interactions of the operating system, device software application and target hardware. It displays graphically the trace data, allowing device software developers to detect anomalous behaviour relatively quickly. The tool is architecture-independent and can be used with VxWorks simulator (for VxWorks 6.x) before hardware is available and with Linux platforms using the Linux Trace Toolkit (LTTng) instrumentation.
Logged events correspond to one of the following kernel activities:
- Semaphore gives and takes,
- Task spawns and deletions,
- Timer expirations,
- Interrupts,
- Message queue sends and receives,
- Watchdog time activity,
- Exceptions,
- Signal activity,
- System calls,
- I/O activity,
- Networking activity,
- Memory allocation, freeing and partitioning, and
- Protection domain activity (for VxWorks 653 only).
[edit] Event Log Analysis
The System Viewer provides various graphical ways to make data analysis most effective:
- The Event Graph: The Event Graph displays the succession of events relative to each thread. Holding the mouse over any event will make the event name, time stamp and argument values appear. Icons can help identify events in the graph. Event type filters can be used to considerably reduce the amount of data to analyze.
- The Event Table: The Event Table displays events as rows of information ordered by their timestamps. The columns show the event name, the timestamp, the thread state, the event id, the time difference between current and previous event, and other different event-specific arguments.
- The Memory usage graph displays memory allocation and deallocation resulting from memLib function calls. This graph shows the memory usage versus time. It also shows the addresses of memory blocks that were allocated and then freed.
[edit] Sensorpoints
Wind River Workbench diagnostics is a plug-in to Wind River Workbench and provides Sensorpoints technology which can help test software relatively quickly. Sensorpoints are lines of code that can be used to instrument dynamically a running application without having to rebuild the application or reboot the device. Sensorpoints give access to global and local variables within the scope of the function to patch. They can be used to monitor or to interfere with the execution of the application (by injecting specific values in variables). Sensorpoints can also be used to create a trace of global and local variables, function calls, and to timestamp any point in the system to reveal timing problems. They can be disabled when the test is finished.
[edit] References
- Wind River Test Management : Sensorpoint and Patchpoint Technology
- Wind River System Viewer, 3.0 – User's guide
