RealView ® Debugger TraceUser Guide

Version 3.0

Table of Contents

About this book
Intended audience
Using this book
Typographical conventions
Timing diagram conventions
Further reading
Feedback on RealView Debugger
Feedback on this book
1. Introduction to Tracing
1.1. About Tracing in RealView Debugger
1.2. Requirements for tracing
1.2.1. Trace hardware
1.2.2. Simulators
1.3. Features for setting up the conditionsfor trace capture
1.4. Profiling trace information
1.4.1. Profiling with ETM-enabled hardware
1.4.2. Profiling with RVISS
1.5. Tracing with RealView Debugger commands
1.6. Available resources
1.6.1. Trace hardware with an ETM-enabledARM processor
1.6.2. Tracing on DSP processors
1.6.3. RealView ARMulator ISS
1.7. Using the examples
2. Getting Started with Tracing
2.1. Preparations for tracing
2.2. About the trace hardwaresetup
2.2.1. ASIC that supports trace
2.2.2. Trace Port Analyzer
2.2.3. JTAG interface unit
2.3. About the Analysis window
2.3.1. Displaying the Analysis window
2.3.2. Equivalent CLI commands for various Analysis windowfeatures
2.4. RealView Debugger tracingprocedure
2.5. Automatically connecting to an analyzeron target connection
2.6. Setting up new trace conditions ona running core
2.7. Capturing trace output
3. Configuring the Conditions for Trace Capture
3.1. Setting up the global conditions fortrace capture
3.2. Setting up the conditions for profiling capturedtrace
3.3. Capturing trace without using tracepoints
3.4. Capturing trace with tracepoints
3.5. Setting tracepoints
3.6. Setting tracepoints on exception vectors
3.7. Configuring other trace options
3.7.1. Copying selected text from the traceoutput
3.7.2. Connecting to an analyzer
3.7.3. Disconnecting from the Analyzer
3.7.4. Enabling and disabling tracing
3.7.5. Configuring analyzer settings forETM-enabled targets
3.7.6. Configuring analyzer settings fora CEVA, Inc. DSP
3.7.7. Setting the size of the trace buffer
3.7.8. Storing only control-flow changes
3.7.9. Configuring the behavior when thetrace buffer is full
3.7.10. Configuring how trace informationis collected at a trigger
3.7.11. Specifying the type of informationto collect for data transfer instructions
3.7.12. Configuring automatic tracing
3.7.13. Setting and Editing EventTriggers
3.7.14. Clearing All Event Triggers
3.7.15. Configuring the address and signalcontrols of your target processor
4. Configuring the ETM
4.1. About configuring the ETM
4.2. Displaying the Configure ETM dialogbox
4.2.1. Configure ETM dialog box for architectures beforeETMv3
4.2.2. Configure ETM dialog box for ETMv3
4.3. Configure ETM dialogbox interface components
4.3.1. Trace data width
4.3.2. Trace port mode
4.3.3. Trace buffer packing
4.3.4. FIFO overflow protection
4.3.5. Trace coproc registertransfer
4.3.6. Extended external input selection
4.3.7. Memory map decode
4.3.8. Synchronization frequency
4.3.9. Enable Timestamping
4.3.10. Cycle accurate tracing
4.3.11. Data only trace (Do not trace instructions)
4.3.12. Suppress data on FIFO full
4.3.13. ETM Pairing
4.4. Equivalent CLI command qualifiers
5. Tracepoints in RealView Debugger
5.1. About tracepoints
5.2. Tracepoint types
5.2.1. Trigger
5.2.2. Trace start point and trace end point
5.2.3. Trace range
5.2.4. ExternalOut Points
5.3. Setting trace ranges in conjunctionwith trace start and end points
6. Setting Unconditional Tracepoints
6.1. Methods for setting unconditionaltracepoints
6.2. Capturing instructions and data
6.3. Using the Set/Toggle Tracepoint ListSelection dialog box
6.3.1. Setting a trigger
6.3.2. Setting a trace start and end point
6.3.3. Setting a trace range
6.3.4. Setting an ExternalOut Point
6.3.5. Equivalent CLI commands used for unconditionaltracepoints
6.4. Setting a trace range for selectedsource lines or disassembly
6.4.1. CLI command used for setting an instruction-only tracerange
6.5. Setting unconditional tracepointswith the Set/Edit Tracepoint dialog box
6.5.1. RealView Simulator Broker connections
6.5.2. ETM-based targets
7. Setting Conditional Tracepoints
7.1. About conditional tracepoints
7.2. Methods for setting conditional tracepoints
7.3. Common parameters for setting conditionaltracepoints
7.3.1. Tracepoint types
7.3.2. Tracepoint comparison types
7.3.3. Entering addresses, address ranges,and data address comparisons
7.3.4. Entering data value comparisons
7.3.5. External Conditions
7.4. Using the Set/Edit Tracepoint dialogbox
7.4.1. Setting a single conditional tracepoint
7.4.2. Pass times
7.4.3. Size of Data Access
7.4.4. Check Condition Code
7.4.5. Ignore Security Level
7.5. Using the Trace on X after Y [and/orZ] dialog box
7.5.1. Setting a Trace on X after Y [and/or Z] tracepointchain
7.6. Using the Trace on X after Y executedN times dialog box
7.6.1. Setting a Trace on X after Y executed N times tracepointchain
7.7. Using the Trace on X after A==B dialogbox
7.7.1. Setting a Trace on X after A==B tracepoint chain
7.8. Using the Trace if A==B in X dialogbox
7.8.1. Setting a Trace if A==B in X tracepoint chain
7.9. Chaining tracepoints
7.9.1. Chaining tracepoints with commandqualifiers
8. Managing Tracepoints
8.1. About managing tracepoints
8.2. Editing tracepoints
8.3. Copying tracepoints
8.4. Disabling tracepoints
8.5. Clearing tracepoints
8.6. Using tracepoint favorites
8.6.1. Setting a tracepoint from the Favorites List
8.6.2. Adding a tracepoint to the Favorites List
8.7. Finding source code correspondingto a tracepoint
9. Analyzing trace Information
9.1. Displaying the Analysis window
9.2. Components of the Analysis window
9.2.1. Tabs
9.2.2. Columns
9.2.3. Main menus
9.2.4. Context menu
9.2.5. Toolbar
9.2.6. Status bar
9.3. Viewing trace information
9.3.1. Columns in the Trace tab
9.3.2. Rows in the Trace tab
9.3.3. Status lines in the Trace tab
9.4. Viewing source
9.5. Viewing profiling information
9.5.1. Columns in the Profile tab
9.5.2. Call-graph data in the Profile tab
9.5.3. Interpretation of profiling data
9.5.4. Collection of profiling data
9.5.5. Sorting profiling information
9.6. Configuring view options
9.6.1. Updating the captured trace information
9.6.2. Clearing the trace buffer
9.6.3. Tracking trace buffer lines in theCode window
9.6.4. Showing the current position relativeto trigger point
9.6.5. Changing the format of time information
9.6.6. Specifying the clock speed of thetarget processor
9.6.7. Automatically updating the trace informationin the Analysis window
9.7. Finding information
9.7.1. Finding the location of the trigger point
9.7.2. Finding a specificelement number in the trace output
9.7.3. Finding a specifictimestamp value
9.7.4. Finding a specific address
9.7.5. Finding a specific data value
9.7.6. Finding a specificsymbol name
9.7.7. Finding the next instance of the previouslysearched item
9.7.8. Finding the previous instance of thepreviously searched item
9.8. Filtering captured information
9.8.1. Filtering for specific element numbers
9.8.2. Filtering for specific timestamp values
9.8.3. Filtering for specific addresses
9.8.4. Filtering for specific data values
9.8.5. Filtering for specific symbol names
9.8.6. Filtering for specific access types
9.8.7. Filtering for specific percentages ofexecution time
9.8.8. Setting the AND condition for selectedfilters
9.8.9. Setting the OR condition for selectedfilters
9.8.10. Inverting the sense of the selectedfilters
9.8.11. Clearing filters
9.9. Saving and loading trace information
9.9.1. Trace file formats
9.9.2. Loading the trace buffer from a file
9.9.3. Saving the trace bufferto a file
9.9.4. Saving a filtered trace buffer to afile
9.9.5. Closing a loaded file
9.9.6. Changing the current connection
9.9.7. Attaching a Code window to the currentconnection
9.9.8. Exiting the Analysis window
9.10. Mapping Analysis window options toCLI commands and qualifiers
9.10.1. File menu options
9.10.2. Edit menu options
9.10.3. View menu options
9.10.4. Find menu options
9.10.5. Filter menu options
10. Examples of Using Trace in RealView Debugger
10.1. About the examples
10.2. Capturing profilinginformation
10.2.1. Procedure for capturing profilingdata
10.2.2. Procedure for summing profiling dataover multiple runs
10.2.3. Displaying inferred registers
10.3. Setting up a conditional tracepoint
10.3.1. Procedure for setting conditional tracepoints
A. Setting up the Trace Hardware
A.1. ARM MultiTrace and ARM Multi-ICE
A.1.1. Setting up the hardware and enabling tracing
A.2. ARM RealView Trace and RealView ICE
A.3. Agilent 16600 or 16700 logic analyzerand Emulation Probe
A.3.1. Setting up the hardware and enabling tracing
A.4. Agilent 16600 or 16700 logic analyzerand Multi-ICE
A.4.1. Setting up the hardware and enabling tracing
A.5. Agilent Emulation Probe and TracePort Analyzer (E5904B)
A.5.1. Setting up the hardware and enabling tracing
A.6. Tektronix TLA 600 or TLA 700 logicanalyzer and Multi-ICE
A.6.1. Setting up the hardware and enablingtracing
B. Setting up the Trace Software
B.1. ARM MultiTrace andARM Multi-ICE
B.1.1. Installing and configuring Multi-ICE and MultiTrace
B.2. Embedded Trace Bufferand ARM Multi-ICE
B.2.1. Installing and configuring Embedded Trace Buffer andMulti-ICE
B.3. ARM RealView Trace and RealView ICE
B.3.1. Installing and configuring RealViewTrace and RealView ICE
B.3.2. Adding a RealView ICE Target Access
B.4. ARM Multi-ICE for XScale
B.4.1. Installing and configuring Multi-ICE for XScale
B.5. Agilent 16600 or 16700Logic Analyzer and Emulation Probe
B.5.1. Configuring the Agilent 16600 or 16700 analyzer
B.6. Agilent 16600 or 16700Logic Analyzer and ARM Multi-ICE
B.6.1. Installing and configuring the Agilent 16600 or 16700Analyzer with Multi-ICE
B.7. Agilent Trace PortAnalyzer and Agilent Emulation Probe
B.7.1. Configuring the Agilent Analyzer and probe
B.8. Tektronix TLA 600 orTLA700 and ARM Multi-ICE
B.8.1. Installing and setting up the Tektronix TLA600 orTLA700 and Multi-ICE
B.9. Simulators using the RealView SimulatorBroker connection
B.9.1. Connecting to a simulator
B.9.2. Enabling tracing on simulators

List of Figures

1. Key to event timing diagram conventions
2.1. Trace hardware setup with TPA
2.2. Trace hardware setup with ETB
2.3. Analysis window
2.4. Connection Properties window
2.5. Prompt displayed on a running target(tracepoints)
2.6. Prompt displayed on a running target(global trace conditions)
3.1. CEVA, Inc. DSP configuration dialogbox
3.2. Setting the size of the trace buffer
4.1. The Configure ETM dialog box for architectures beforeETMv3
4.2. The Configure ETM dialog box forETMv3
5.1. Trace start and end points withina trace range
5.2. Trace end point within a trace range
6.1. List Selection dialog box for settingunconditional tracepoints
7.1. Set/Edit Tracepoint dialog box
7.2. Trace on X after Y [and/or Z] dialogbox
7.3. Trace on X after Y executed N timesdialog box
7.4. Trace on X after A==B dialog box
7.5. Trace if A==B in X dialog box
8.1. The Break/Tracepoints pane
9.1. Example of the Analysis window
9.2. Time measurement dialog box
9.3. Connection menu
9.4. Example of inferred registers
9.5. Profile tab
9.6. Example histogram
9.7. Example of call-graph information
9.8. Example call-graph data (Parent/Child%ages Relative to Whole Time)
9.9. Example call-graph data (Parent/Child%ages Relative to Function B=>E)
9.10. Example call-graph data (Parent/Child%ages Relative to Parent/Child B=>E)
9.11. Defining processor speed
9.12. Finding a position match
9.13. Finding a time match
9.14. Finding an address expression match
9.15. Finding a data value match
9.16. Finding a symbol name match
9.17. Filtering on a position match
9.18. Filtering on a time match
9.19. Filtering on an address expressionmatch
9.20. Filtering on a data value match
9.21. Filtering on a symbol name match
9.22. Filtering on an access type match
9.23. Filtering on a percent time match
10.1. Setting a trace start point
10.2. Results displayed in the Profiletab
10.3. Call-graph data displayed in theProfile tab
10.4. Call-graph data for Func_2
10.5. Summing profiling data over multipleruns
10.6. Inferred registers in the Trace tab
10.7. Trace on X after Y executed N timesdialog box
10.8. Completed conditional tracepointdialog box
10.9. Break/Tracepoints pane with conditionaltracepoints set
A.1. Connections for Multi-ICE and Multi-Traceusing a separate Multi-ICE server
A.2. Connections for RealView ICE andRealView Trace
A.3. Agilent 16600 or 16700 and the EmulationProbe
A.4. Agilent Trace Port Analyzer andMulti-ICE Version 2.2
A.5. Agilent Trace Port Analyzer and EmulationProbe
A.6. Tektronix TLA 700 analyzer and Multi-ICE
B.1. RDI Target List
B.2. ARM Multi-ICE configuration dialogbox
B.3. Multi-ICE configuration dialog boxshowing the Trace tab
B.4. MultiTrace configuration
B.5. RDI Target List
B.6. Multi-ICE configuration dialog box
B.7. Multi-ICE configuration dialog boxshowing the Trace tab
B.8. Embedded Trace Buffer configuration
B.9. Error when the configuration fileis not found
B.10. Selecting where to store the newconfiguration file
B.11. The RVConfig dialog box
B.12. Connection Properties window showLogic_Analyzer settings
B.13. Making a new group
B.14. Setting how to connect
B.15. Gateway Configuration dialog box,Connection Details tab
B.16. Gateway Configuration dialog box,Advanced tab
B.17. Gateway Configuration dialog box,Trace tab
B.18. Configuring Gateway2
B.19. Logic Analyzer Configuration dialogbox
B.20. Configuring Gateway2
B.21. Multi-ICE configuration dialog boxshowing the Trace tab
B.22. Dragonfly TLA Configuration dialogbox

Proprietary Notice

Words and logos marked with ® or ™ are registered trademarks or trademarksowned by ARM Limited. Other brands and names mentioned herein maybe the trademarks of their respective owners.

Neither the whole nor any part of the information containedin, or the product described in, this document may be adapted orreproduced in any material form except with the prior written permissionof the copyright holder.

The product described in this document is subject to continuousdevelopments and improvements. All particulars of the product andits use contained in this document are given by ARM in good faith.However, all warranties implied or expressed, including but notlimited to implied warranties of merchantability, or fitness forpurpose, are excluded.

This document is intended only to assist the reader in theuse of the product. ARM Limited shall not be liable for any lossor damage arising from the use of any information in this document,or any error or omission in such information, or any incorrect useof the product.


This document is Non-Confidential. The right to use, copyand disclose this document may be subject to license restrictionsin accordance with the terms of the agreement entered into by ARMand the party that ARM delivered this document to.

Product Status

The information in this document is final, that is for a developedproduct.

Revision History
Revision A March2006 RealView Debugger v3.0 release for RVDS v3.0
Copyright © 2006 ARM Limited. All rights reserved. ARM DUI 0322A