RealView ® Debugger ExtensionsUser Guide

Version 1.8

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 RealView Debugger Extensions
1.1. About RealView Debugger extensions
1.1.1. Chapter 2 Tracing with RealView Debugger
1.1.2. Chapter 3 DSP Support
1.1.3. Chapter 4 RTOS Support
1.1.4. Chapter 5 Working with Multiple TargetConnections
1.2. Licensing
1.3. Supported platforms
1.4. Supported hardware
1.4.1. Hardware for tracing
1.4.2. Hardware for RTOS support
1.4.3. Hardware for DSP support
2. Tracing with RealView Debugger
2.1. About tracing with RealView Debugger
2.1.1. Requirements for tracing
2.1.2. Features for setting up the conditionsfor trace capture
2.1.3. About Profiling
2.1.4. Tracing with RealView Debugger commands
2.1.5. Available resources
2.2. Getting started
2.2.1. Using the examples
2.2.2. About the trace hardwaresetup
2.2.3. About the Analysis window
2.2.4. RealView Debugger tracingprocedure
2.2.5. Automatically connecting to an analyzeron target connection
2.2.6. Setting up new trace conditions ona running core
2.3. Configuring the ETM
2.3.1. Displaying the Configure ETM dialogbox
2.3.2. Configure ETM dialogbox interface components
2.3.3. Equivalent CLI command qualifiers
2.4. Tracepoints in RealView Debugger
2.4.1. Unconditional and conditional tracepoints
2.4.2. Tracepoint types
2.4.3. Setting trace ranges in conjunctionwith trace start and end points
2.5. Configuring trace capture
2.5.1. Setting up the global conditions fortrace capture
2.5.2. Automatic tracing without tracepoints
2.5.3. About tracing with tracepoints
2.5.4. Setting tracepoints
2.5.5. Setting tracepoints on exception vectors
2.6. Setting unconditional tracepoints
2.6.1. Capturing instructions and data
2.6.2. Using the Set/Toggle Tracepoint ListSelection dialog box
2.6.3. Setting a trace range for selectedsource lines or disassembly
2.6.4. Setting unconditional tracepointswith the Set/Edit Tracepoint dialog box
2.7. Setting conditional tracepoints
2.7.1. Methods for setting conditional tracepoints
2.7.2. Capturing instructions and data
2.7.3. Common parameters for setting conditionaltracepoints
2.7.4. Using the Set/Edit Tracepoint dialogbox
2.7.5. Using the Trace on X after Y [and/orZ] dialog box
2.7.6. Using the Trace on X after Y executedN times dialog box
2.7.7. Using the Trace on X after A==B dialogbox
2.7.8. Using the Trace if A==B in X dialogbox
2.7.9. Chaining tracepoints
2.8. Managing tracepoints
2.8.1. Editing tracepoints
2.8.2. Copying tracepoints
2.8.3. Disabling tracepoints
2.8.4. Clearing tracepoints
2.8.5. Using tracepoint favorites
2.8.6. Finding source code correspondingto a tracepoint
2.9. Capturing trace output
2.9.1. Configuring trace capture requirements
2.9.2. Starting trace capture
2.10. Using the Analysis window
2.10.1. Displaying the Analysis window
2.10.2. Components of the Analysis window
2.10.3. Viewing trace information
2.10.4. Viewing source
2.10.5. Viewing profiling information
2.10.6. Configuring trace options
2.10.7. Configuring view options
2.10.8. Finding information
2.10.9. Filtering captured information
2.10.10. Saving and loading trace information
2.11. Mapping Analysis window options toCLI commands and qualifiers
2.11.1. File menu options
2.11.2. Edit menu options
2.11.3. View menu options
2.11.4. Find menu options
2.11.5. Filter menu options
2.12. Examples of using trace in RealView Debugger
2.12.1. About the examples
2.12.2. Finding the cause of a data abort
2.12.3. Capturing profilinginformation
2.12.4. Setting up a conditional tracepoint
3. DSP Support
3.1. About DSPs and RealView Debugger DSP support
3.1.1. Considerations for DSP support
3.1.2. Licensing and operating restrictions
3.2. Using the DSP
3.2.1. Connecting to target hardware
3.2.2. DSP debugging resources
4. RTOS Support
4.1. About Real Time Operating Systems
4.1.1. Debugging an RTOS application with RealView Debugger
4.2. Using RealView Debugger RTOS extensions
4.2.1. Enabling RTOS support
4.2.2. Creating a new RTOS-enabled connection
4.2.3. Configuring an RTOS-enabled connectionto reference a vendor-supplied .bcd file
4.2.4. Configuring an RTOS-enabled connectionwithout a vendor-supplied .bcd file
4.2.5. Managing configuration settings
4.3. Connecting to the target and loadingan image
4.3.1. Before connecting
4.3.2. Connecting from the Code window
4.3.3. Connecting to a running target
4.3.4. RTOS Exit Options
4.3.5. Interrupts when loading an image
4.3.6. Resetting OS state
4.3.7. Loading from the command line
4.4. Associating threads with views
4.4.1. Attaching and unattaching windows
4.4.2. The current thread
4.4.3. Using the Cycle Threads button
4.4.4. Working with the threadlist
4.5. Working with OS-aware images in theProcess Control pane
4.5.1. OS marker in the Process tab
4.5.2. Using the Thread tab
4.6. Using the Resource Viewer window
4.6.1. Displaying the Resource Viewer window
4.6.2. Working with RTOS resources
4.6.3. Resource Viewer window interface components
4.6.4. Using Action context menus
4.6.5. Interaction of RTOS resources and RealView Debugger
4.7. Debugging your RTOS application
4.7.1. About breakpoints
4.7.2. Setting breakpoints
4.7.3. Using the Set Address/Data Breakpointdialog box
4.7.4. Using the Break/Tracepoints pane
4.7.5. Stepping threads
4.7.6. Manipulating registers and variables
4.7.7. Updating your debug view
4.8. Using CLI commands
5. Working with Multiple Target Connections
5.1. About multiple target connectionsin RealView Debugger
5.2. The RealView Debugger multiprocessor architecture
5.2.1. Connecting to a single target
5.2.2. Connecting to two targets
5.2.3. Connecting to multiple targets
5.2.4. Using target debug interfaces
5.3. Managing multiple targets
5.3.1. The Connection Control window
5.3.2. Viewing connection details
5.3.3. Using the Connection menu
5.3.4. Disconnecting from targets
5.3.5. Working with projects
5.3.6. Using RealView ICE and Multi-ICE withmultiple targets
5.4. Display coherency
5.4.1. Resource sharing and debugger consistency
5.4.2. Saving and restoring your .brd file
5.4.3. Defining shared memory regions
5.5. Processor execution synchronizationand cross-triggering
5.5.1. About execution synchronization
5.5.2. Synchronization facilities
5.5.3. Configuring embedded cross-triggeringfor a connection
5.5.4. Commands used for synchronizationand cross-triggering
5.5.5. Synchronization and cross-triggeringbehavior
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 vehicleand access-provider node
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 Simulator Brokerconnection
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 trace capturehardware
2.2. Trace hardware setup with ETB
2.3. Analysis window
2.4. Prompt displayed on a running target(tracepoints)
2.5. Prompt displayed on a running target(global trace conditions)
2.6. The Configure ETM dialog box fornon-v3 architectures
2.7. The Configure ETM dialog box forETMv3
2.8. Trace start and end points with atrace range
2.9. List Selection dialog box for settingunconditional tracepoints
2.10. Set/Edit Tracepoint dialog box
2.11. Trace on X after Y [and/or Z] dialogbox
2.12. Trace on X after Y executed N timesdialog box
2.13. Trace on X after A==B dialog box
2.14. Trace if A==B in X dialog box
2.15. The Break/Tracepoints pane
2.16. Example of the Analysis window
2.17. Time measurement dialog box
2.18. Connection menu
2.19. Details view
2.20. Example of inferred registers
2.21. Profile tab
2.22. Example histogram
2.23. Example of call-graph information
2.24. Example call-graph data (Parent/Child%ages Relative to Whole Time)
2.25. Example call-graph data (Parent/Child%ages Relative to Function B=>E)
2.26. Example call-graph data (Parent/Child%ages Relative to Parent/Child B=>E)
2.27. CEVA, Inc. DSP configuration dialogbox
2.28. Setting the size of the trace buffer
2.29. Defining processor speed
2.30. Finding a position match
2.31. Finding a time match
2.32. Finding a raw address match
2.33. Finding an address expression match
2.34. Finding a data value match
2.35. Finding a symbol name match
2.36. Filtering on a position match
2.37. Filtering on a time match
2.38. Filtering on a raw address match
2.39. Filtering on an address expressionmatch
2.40. Filtering on a data value match
2.41. Filtering on a symbol name match
2.42. Filtering on an access type match
2.43. Filtering on a percent time match
2.44. Setting a trigger point
2.45. Setting a trace range
2.46. Results displayed in the Trace tab
2.47. Interleaved source in Trace tab
2.48. Inferred registers in the Trace tab
2.49. Setting a trace start point
2.50. Results displayed in the Profiletab
2.51. Call-graph data displayed in theProfile tab
2.52. Call-graph data for Func_2
2.53. Summing profiling data over multipleruns
2.54. Trace on X after Y executed N timesdialog box
2.55. Completed conditional tracepointdialog box
2.56. Break/Tracepoints pane with conditionaltracepoints set
4.1. RealView Debugger and RTOS components
4.2. Connection Control window
4.3. CONNECTION groups in the ConnectionProperties window
4.4. Specifying a new CONNECTION group
4.5. New connection in the ConnectionControl window
4.6. Referencing the RTOS .bcd file
4.7. RTOS group in the Connection Propertieswindow
4.8. ARM_config group in the ConnectionProperties window
4.9. Default group in the Connection Propertieswindow
4.10. RTOS Exit Options selection box
4.11. Example thread list
4.12. Example thread list in an attachedwindow
4.13. Thread selection box
4.14. OS marker initial state in the ProcessControl pane (HSD)
4.15. OS marker with loaded image in theProcess Control pane (HSD)
4.16. OS marker in the Process Controlpane (RSD)
4.17. Thread tab in the Process Controlpane
4.18. Resource Viewer showing thread details
4.19. Action argument prompt
4.20. RTOS Breakpoint Class selector
4.21. RTOS (RSD) breakpoints in the Break/Tracepointspane
4.22. RTOS (HSD) breakpoints in the Break/Tracepointspane
4.23. Stepping and stopping threads
5.1. The relationship of one Code windowto a processor
5.2. Creating a second connection to thetarget
5.3. Creating multiple connections andviews on the target
5.4. Connection Control window in multiprocessormode
5.5. Connection menu
5.6. Connection details in the Outputpane
5.7. Connection information in the Codewindow title bar
5.8. Multiple connections in the ResourceViewer window
5.9. Connection menu
5.10. Resource Viewer showing multipleconnections
5.11. Working with the Project Controldialog box
5.12. RealView ICE connection in the ConnectionControl window
5.13. Defining shared memory regions
5.14. Example of a shared memory configuration
5.15. Editing the memory block in the APBoard/Chip definition file
5.16. User halt stopping skid
5.17. Breakpoint stopping skid using hardwaresynchronization
5.18. Breakpoint stopping skid using softwaresynchronization
5.19. Connection Control window Synch tabwith unsynchronized processors
5.20. Connection Control window Synch tabshowing synchronized processors
5.21. Connection Control window Synch tabshowing cross-triggering controls
5.22. Connection Control window Synch tabshowing cross-triggering controls
5.23. ECT tab
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


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 April2002 RealView Debugger v1.5 release
Revision B September2002 RealView Debugger v1.6 release
Revision C February2003 RealView Debugger v1.6.1 release
Revision D September2003 RealView Debugger v1.6.1 release for RVDSv2.0
Revision E January2004 RealView Debugger v1.7 release for RVDS v2.1
Revision F December2004 RealView Debugger v1.8 release for RVDS v2.2
Revision G May2005 RealView Debugger v1.8 SP1 release for RVDSv2.2 SP1
Copyright © 2002-2005 ARM Limited. All rights reserved. ARM DUI 0174G