print

Source-Annotated Hardware Trace for the MIPS Processor with GDB/Insight Debugger Interface

MIPS Technologies provides advanced Program
and Data Trace in the 4KE, 24K and 34K family cores. FS2, a division of MIPS Technologies, Inc. recently announced an EJTAG debug solution with support for the trace control block (TCB) that utilizes the GDB/Insight Debugger interface provided in the MIPS SDE Toolkit. The trace has the ability to capture execution flow and selectively,
data cycle accesses. When the TCB is instantiated, the designer can choose either an on-chip trace buffer or to stream the trace data off-chip to the FS2 probe. On-chip trace removes the need for streaming trace data pins but has a shallower trace buffer than the off-chip version.

On-chip, the executed trace information is compressed into branch trace messages that indicate the non-sequential PC (program
counter) flow of code execution. The post-captured trace software for displaying instruction-level disassembly takes these code branch sequences and fills in the actual instructions that were executed, by reading the target memory with the EJTAG debug hardware.

One problem with trace disassembly is the difficulty in determining the sequence of source lines that were actually traced. The executed addresses are displayed along with the assembly instructions, but the user has to refer back to a text-based symbol table generated by the compiler/linker that lists addresses and the matching symbol names. It takes time to do the address lookup, find the source reference, open the source file then go to that line number to observe each line of code executed. Hardware traces can contain hundreds to thousands of frames of branch trace information, a formidable task when done manually.

FS2 has automated this process by executing a symbol generation program-which uses the objdump utility and is added to a makefile script. A symbol file is created with address-to-function names and address-to-source file path and line numbers. The trace window maintains a link to this file and reloads the latest symbols when required. While disassembling the trace frames, whenever an address match occurs with a function or source file line number, the function name or source line is inserted ahead of the
disassembled instructions.

In addition to tracing code flow, the MIPS trace unit has a number of options for capturing load/store data cycles including their address and/or data bus values. When enabled, the HW Trace window can annotate these data cycles with the global variable name, helping identify the program data flow and in some cases, explain why the code flow went in a particular direction for if, while, do, for, or switch-case C conditions.

Contact FS2 for more information about the new features in the System Analyzer with integrated GDB/Insight source level debug.

Contact Information

First Silicon Solutions
First Silicon Solutions

4000 SW Kruse Way Place
Building 3, Suite 210
Lake Oswego, OR, 97035
USA

tele: 503.489.0311
www.fs2.com

Share and Enjoy:
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google

Comments

Leave a Reply

Comment

Security Code: