CrossView Pro Debugger

CrossView Pro reduces the time spent during the testing and debugging phases of embedded systems project development. An easy-to-use interface with powerful and extensive debugging features helps you debug your applications faster. CrossView Pro's GUI is complete with multiple, resizable, and independently controlled windows for a variety of host platforms including Windows, Solaris and Linux. The intelligent display and updating of important execution data, as well as a series of fully-interactive windows, bars, buttons, and keyboard shortcuts, give you unparalleled mobility. It combines the flexibility of the C language with the control of code execution found in assembly language. The program performance analysis capabilities help you quickly identify bottlenecks so you can maximize your application performance.

CrossView Pro Features
  • Multiple Data, Memory and Register windows
  • Mixed-mode source/assembly display
  • C source line highlighted in mixed disassembly mode
  • "Bubble spy" variables and/or functions
  • Code, data, complex and on-chip breakpoints
  • Automated step up to failure condition (assertions)
  • Multiple execution environments: Simulator, ROM Monitor, BDM/JTAG/OCDS, in-circuit emulators
  • File System Simulation
  • Direct memory and register access
  • Register Grouping
  • C, assembly and stack level Trace
  • Program Performance Analysis
    • Programmable Signal Data Analysis
    • Code Coverage and Profiling
    • Cycle counting
  • Record and playback debug sessions
  • C/C++ expression evaluation with powerful macro language
  • Open architecture
  • Extensive and easy-to-use RTOS aware debugging
Source Window

The source window controls execution of the program. It lets you view source, set and clear breakpoints, assertions and code coverage markers, monitor and inspect variables, search for strings, functions, lines and addresses, call functions, evaluate expressions, and view profiling data.

The source window allows you to view your code at C level or assembly level. You can also view your C code and corresponding assembly code simultaneously. From the source window you can jump directly into the editor within EDE and you will find yourself positioned at the source line where you had your cursor in the debugger. This gives you immediate access to the source line where you have found a problem that you want to correct. By positioning the mouse over a variable or function in the source window, the value of the variable or function is displayed in a popup box. This "Bubble-Spy" feature enables you to immediately view values by simply moving your mouse.

Multiple Data Windows

Data windows enable you to watch or show data, browse for locals or globals, double-click to modify values or to expand and contract complex data structures. Within these windows you can reformat (change display radix and type) on an element-by-element basis. You can show or watch locals from any stack level, automatically track and display locals, and easily copy any variable to a new window as show or watch.

Register Window

The register window displays and modifies CPU register values. The window is fully configurable and is updated every time the program is stopped. Highlighted registers indicate what has changed since the last stop. You can now group your registers into meaningful sets such as general purpose, floating point, or UART, so you can display the information needed at that moment. You can display multiple register windows so you can view additional information as needed. Determining the significance of a register value that you read or change is now easier than ever with CrossView Pro's symbolic register editing.

Stack Window

The stack window displays the state of the current stack frame. With simple point and click operations you can setup level breakpoints, display source for function calls, and display local variables for selected functions.

Multiple Memory Windows

Memory windows with hex and ASCII display enable you to monitor and modify any memory location, having complete control over the size and format of the data, as well as view coverage of the memory range. Highlighted contents indicate what has changed since last stop.

Program Performance Analysis

CrossView Pro provides several performance analysis capabilities to help you further optimize your application. These include:

  • Code Coverage
  • Cycle Counting
  • Profiling
  • Programmable Signal Data Analysis

Code Coverage

Code Coverage enables you to trace all memory access (memory read, memory write, instruction fetch) so you can determine if there are any areas of unexecuted code. You can also use one of the timers to count instruction cycles.

Profiling allows you to perform timing analysis by providing timing information about a particular function or set of functions. You can see how often a function is called and how much time is spent in each function.

The Graphical Signal Data Analysis feature reduces large sets of data into meaningful visual diagrams to enable quick detection of gross errors in the input signal. The CrossView Pro debugger analyzes the data, according to pre-defined or user-defined specifications, and then displays the data the way you need it. This eliminates the need for reviewing or post-processing large files of raw data. You can also view the same set of data in several ways at the same time.

Four different analysis types are now available: x-t plotting, x-y plotting, FFT power spectrum, and Eye diagram. The C-language script files for these pre-defined graphs can easily be used as the basis for custom data analysis windows.

Recording and Playback

Activate the recording of commands from the keyboard, mouse, or menu to a file by simply pointing and clicking. No script language to learn! While recording your debug session, you can check the recording status, suspend or resume recording at any time. You can reload this file to repeat parts of debugging tasks or replay an entire debugging session. This file can be used to:

  • automate debugging sessions
  • test for quality assurance
  • verify that your application was tested
C-Like Macro Language

With C-like macro language you can read and/or modify application variables and associate macros with breakpoints. Macros have full C expression syntax and can be assigned to user toolbox buttons.

File System Simulation

File system simulation enables the application on the target board to use regular I/O functions such as fopen() and fprintf() which are handled by the host system file I/O services. Files are read directly from the host system and output can be directly written to a file or displayed in a CrossView Pro window. The high throughput enables you to provide test data to your algorithm and store results on your host system.

Simulated I/O

Simulated I/O allows you to observe the input and output of your program before the hardware is in place. Through the use of two special functions, I/O is automatically redirected to CrossView Pro. You can debug most of your application's I/O dependant code even before you have target hardware.

Multiple Execution Environments

CrossView Pro supports multiple execution environments with a standard user interface. The execution environments available are Simulator, Background Debug Mode, In-circuit emulator and ROM Monitor. Please check the target of your interest for the availability of the various execution environments.

ROM Monitor Environment

CrossView Pro ROM debugger can be used with commercial off the shelf evaluation boards or target applications. CrossView Pro, running on a host computer system, communicates with the monitor on the target board via an RS232 interface, using a very efficient protocol. The resources used by the monitor program are kept to a minimum. All files required to build the monitor are shipped as source with CrossView Pro ROM.

Simulator

The instruction set simulator provides a fast, low cost debugging environment prior to the availability of prototype hardware. All CrossView Pro features, including C level trace, Code Coverage, Profiling, and unlimited amount of code/data breakpoints are available to you.

BDM/On-Chip Debugging

Background Debug Mode (BDM) offers a mechanism for fast communication directly with the MPU core via a special set of pins. TASKING has integrated a cable and Windows driver to be used with CrossView Pro. As long as your target provides a compatible connector, you can achieve high-speed downloads. Another advantage of BDM is that it requires no target resources. Since CrossView is communicating directly with the MPU's internal microcode, there is no requirement for a ROM monitor or any memory resources short of what is required by your application.

In-circuit Emulator

CrossView Pro supports various In-circuit Emulators including EST, Nohau, Hitex, Ashling, Lauterbach and others.

Open Architecture

TASKING's versatile debugger can be operated with the same user interface in multiple execution environments using any Real-Time Operating System (RTOS). CrossView Pro supports an open architecture by providing public interfaces and supporting industry standards. Public interfaces such as the Kernel Debug Interface (KDI) and Generic Debug Instrument Interface (GDI) provide third party vendors and customers easy access to the CrossView Pro framework. The GDI defines the connection between CrossView Pro and the execution environment such as simulator, ROM monitor and in-circuit emulator. The KDI defines the connection to the RTOS and can be used to provide RTOS-aware debugging for commercial and "home grown" RTOSes. TASKING and its partners offer off-the-shelf RTOS debug solutions for most popular commercial RTOSes.