Trace Debug Tools User Guide

Version 1.2


Table of Contents

Preface
About this book
Intended audience
Using this book
Typographical conventions
Further reading
Feedback
Feedback on Trace Debug Tools
Feedback on this book
1. Introduction
1.1. About the Trace Debug Tools
1.2. The Real-Time Trace requirement
1.3. The ARM trace solution
1.3.1. The Embedded Trace Macrocell (ETM)
1.3.2. The Trace capture hardware
1.3.3. The Trace Debug Tools (TDT)
1.4. Code and trace capture examples
1.5. New features in TDT 1.2
2. Getting Started
2.1. Setting up the trace hardware
2.2. Setting up the trace software
2.3. Configuring AXD for nonstop debugging
2.3.1. AXD startup
2.3.2. AXD configuration
2.3.3. AXD behavior during target program execution
2.4. Tracing multiprocessor systems
2.4.1. Multiprocessor TDT example
2.4.2. Multiprocessor TDT using other hardware
3. Trace Facilities
3.1. The Trace menu
3.1.1. Using help
3.2. Tracing procedure
3.3. Configure ETM
3.4. View ETM State
3.5. Using the Enable Tracing action
3.6. Controlling trace capture
3.6.1. Start tracing
3.6.2. Stop tracing
3.6.3. Restart tracing
3.7. Adjusting the displayed columns
3.7.1. Adding or removing columns
3.7.2. Adjusting the column width
3.7.3. Changing the column order
3.8. Viewing trace output with source code
3.8.1. Displaying only traced instructions and data
3.8.2. Displaying trace information in one window, source lines in another
3.8.3. Displaying trace information mixed with corresponding source lines
3.9. Viewing memory at a location derived from trace output
3.10. Reloading trace
3.11. Saving the trace output to file
4. Configuring the ETM
4.1. The Configure ETM dialog box
5. Configuring Trace Capture
5.1. About TDT capture configuration
5.2. The Configure capture dialog box
5.3. Configure capture actions
5.3.1. Trigger
5.3.2. Enable Tracing
5.3.3. Enable Data Tracing
5.3.4. State changes
5.3.5. External Out (1-4)
5.3.6. Enable Overflow Stalling
5.4. Defining rules
5.5. Defining resources
5.5.1. Resource conflicts
5.5.2. Accessing the rule dialog boxes
5.5.3. Entering Addresses
5.5.4. Address points
5.5.5. Address range
5.5.6. ASIC memory maps
5.5.7. Data points
5.5.8. Data range
5.5.9. Start and stop points
5.5.10. Counter
5.5.11. States and sequencing
5.5.12. External input (1-4)
5.5.13. TRUE
5.5.14. Watchpoint
5.6. Defining address ranges and ASIC memory maps
5.7. Using operators and negating conditions
5.8. File commands
5.8.1. Saving to a file
5.8.2. Loading from a file
5.9. Rule definition example
5.10. Modifying existing rules
5.10.1. Using the tabbed dialog box
5.10.2. Using the wizard
5.11. Enabling, disabling, and deleting rules
6. The Trace Window Display
6.1. Trace window output
6.1.1. Trace window columns
6.1.2. Trace status information
6.2. Trace-specific GUI
6.3. Warnings and other messages
7. Using TDT with XScale
7.1. The ARM trace solution for XScale targets
7.2. Setting up XScale trace
7.2.1. Setting up the trace hardware for XScale
7.2.2. Setting up the trace software for XScale
7.3. The tracing procedure with XScale
7.4. Controlling trace capture
7.4.1. Start tracing
7.4.2. Stop tracing
7.5. The XScale trace display
7.6. The XScale Trace menu
8. Examples
8.1. About the examples
8.2. Debugging a program that dies intermittently
8.2.1. Scenario
8.2.2. Solution
8.3. Finding out what changes a global to an invalid value (simple)
8.3.1. Scenario
8.3.2. Solution
8.4. Finding out what changes a global to an invalid value (complex)
8.4.1. Scenario
8.4.2. About the solutions
8.4.3. Solution using a filtered trigger
8.4.4. Solution by capturing data writes
8.5. Debugging a system that must not be halted
8.5.1. Scenario
8.5.2. About the solutions
8.5.3. Solution using a defined address range
8.5.4. Solution using the state machine
8.5.5. Solution using a start and stop point
8.5.6. Solution using a trace start and stop point and an exclude address range
A. Setting up the Trace Hardware
A.1. ARM MultiTrace and ARM Multi-ICE
A.1.1. Setting up
A.2. ARM Multi-ICE for XScale
A.2.1. Setting up
A.3. Agilent 16600 or 16700 logic analyzer and Emulation module
A.4. Agilent 16600 or 16700 logic analyzer and Multi-ICE
A.5. Tektronix TLA 600 or TLA 700 logic analyzer and Multi-ICE
A.6. ARMulator ETM emulation
A.6.1. Setting up
B. Setting up the Trace Software
B.1. ARM MultiTrace and ARM Multi-ICE
B.2. ARM Multi-ICE for XScale
B.3. Agilent 16600 or 16700 Logic Analyzer and Emulation Probe
B.4. Agilent 16600 or 16700 Logic Analyzer and ARM Multi-ICE
B.5. Agilent Trace Port Analyzer and Agilent Emulation Probe
B.6. Tektronix TLA 600 or TLA700 and ARM Multi-ICE
C. Using RealMonitor with TDT
C.1. Configuring RealMonitor to use TDT
C.2. Using RealMonitor with TDT
C.2.1. Tracing RMTarget code
C.2.2. Modified breakpoint behavior
C.2.3. Performance and resources
D. ETM Versions
D.1. ETM versions
Glossary

List of Figures

1.1. Real-Time Trace solution
2.1. The AXD Configure Interface dialog box
2.2. TDT Multiprocessor example
3.1. Trace menu
3.2. Trace Context menu
3.3. Configure ETM dialog box
3.4. ETM State dialog box
3.5. Configure capture dialog box
3.6. AXD with a Trace window
3.7. Trace window with trace data and instructions
3.8. Synchronizing trace with source
3.9. Interleaving trace with source
3.10. Displaying the Memory Locate window
3.11. Save trace to file dialog box
4.1. Configure ETM dialog box
5.1. Structure of wizard condition selection
5.2. Conditions available to the Trigger action
5.3. Configure capture dialog box
5.4. Configure capture dialog box showing Advanced section
5.5. Resource selection for Trigger
5.6. Resource selection for Enable Tracing
5.7. Resource selection for Enable Data Tracing
5.8. Changes of state
5.9. Resource selection for state changing
5.10. Resource selection for Enable Overflow Stalling
5.11. Include Address Point dialog box
5.12. Address range dialog box
5.13. Defining an ASIC Memory map resource
5.14. Data Point dialog box
5.15. Data range dialog box
5.16. Start Address Point dialog box
5.17. Start Data Point dialog box
5.18. Counter dialog box
5.19. Define address range(s) interface example
5.20. Resource selection dialog box
5.21. Loading from a file
5.22. Example of defined rules
5.23. Example of Trace window output
5.24. Using the tabbed dialog box
6.1. Example of Trace window output
6.2. Right-click options in the Trace window
6.3. Trace view Locate to menu
6.4. Trace view Columns menu
6.5. Trace view Format menu
7.1. Real-time trace solution for XScale
7.2. Configure XScale Trace dialog box
8.1. Configure capture dialog box
8.2. Resource selection for Enable Tracing
8.3. Configure capture dialog box
8.4. Resource selection for Trigger
8.5. Address Point dialog box
8.6. Completed Configure capture dialog box
8.7. Configure capture dialog box
8.8. Resource selection for Enable Tracing
8.9. Configure capture dialog box
8.10. Resource selection for Trigger
8.11. Data Point dialog box
8.12. Completed Configure capture dialog box
8.13. Configure capture dialog box
8.14. Resource selection for Enable Tracing
8.15. Configure capture dialog box
8.16. Resource selection for Trigger
8.17. Address Range dialog box
8.18. Include Data Point dialog box
8.19. Completed Configure capture dialog box
8.20. Configure capture dialog box
8.21. Resource selection for Enable Tracing
8.22. Defined address range(s) dialog box
8.23. Include Data Point dialog box
8.24. Configure capture dialog box
8.25. Resource selection for Enable Data Tracing
8.26. Completed Configure capture dialog box
8.27. Configure capture dialog box
8.28. Resource selection for Enable Tracing
8.29. Defined Address range(s) dialog box
8.30. Include Address Range dialog box
8.31. Configure capture dialog box
8.32. Resource selection for Trigger
8.33. Include Address Point dialog box
8.34. Completed Configure capture dialog box
8.35. Configure capture dialog box
8.36. Resource selection for Go from State 1 to 2
8.37. Include Address Point dialog box
8.38. Configure capture dialog box
8.39. Resource selection for Enable Tracing
8.40. Include Address Point dialog box
8.41. Configure capture dialog box
8.42. Resource selection for Enable Tracing
8.43. Configure capture dialog box
8.44. Resource selection for Trigger
8.45. Include Address Point dialog box
8.46. Completed Capture dialog box
8.47. Configure capture dialog box
8.48. Resource selection for Enable Tracing
8.49. Defined address range(s) dialog box
8.50. Trace Start Address Point dialog box
8.51. Trace Stop Address Point dialog box
8.52. Completed Configure capture dialog box
8.53. Configure capture dialog box
8.54. Resource selection for Enable Tracing
8.55. Defined address range(s) dialog box
8.56. Exclude Address Range dialog box
8.57. Trace Start Address Point dialog box
8.58. Trace Stop Address Point dialog box
8.59. Completed Configure capture dialog box
A.1. Connections for Multi-ICE and Multi-Trace using a separate Multi-ICE server
A.2. Connection for Multi-ICE using a separate Multi-ICE server
A.3. Connection diagram for Agilent 16600 or 16700 and the Target Interface Module
A.4. Agilent Trace Port Analyzer and Multi-ICE Version 2.0
A.5. Tektronix TLA 700 analyzer and Multi-ICE
A.6. Selecting an ETM enabled processor in ARMulator
B.1. The Debugger Configuration dialog box
B.2. Multi-ICE configuration dialog box
B.3. Multi-ICE configuration dialog box showing the Trace tab
B.4. MultiTrace configuration
B.5. Multi-ICE configuration dialog box (XScale)
B.6. Debugger Configuration dialog box
B.7. Gateway Configuration dialog box, Connection Details tab
B.8. Gateway Configuration dialog box, Advanced tab
B.9. Gateway Configuration dialog box, Trace tab
B.10. Configuring Gateway2
B.11. Logic Analyzer Configuration dialog box
B.12. Debugger Configuration dialog box
B.13. Multi-ICE configuration dialog box
B.14. Multi-ICE configuration dialog box showing the Trace tab
B.15. Debugger Configuration dialog box
B.16. Gateway Configuration dialog box
B.17. Gateway Configuration dialog, Advanced tab
B.18. Gateway Configuration dialog, trace tab
B.19. Configuring Gateway2
B.20. Debugger Configuration dialog box
B.21. Multi-ICE configuration dialog box
B.22. Multi-ICE configuration dialog box showing the Trace tab
B.23. Dragonfly TLA Configuration dialog box
C.1. Debugger Configuration dialog box
C.2. The RealMonitor Configuration dialog box
C.3. The Multi-ICE configuration dialog box
C.4. Multi-ICE configuration dialog box showing the Trace tab

Proprietary Notice

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

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

The product described in this document is subject to continuous developments and improvements. All particulars of the product and its use contained in this document are given by ARM in good faith. However, all warranties implied or expressed, including but not limited to implied warranties of merchantability, or fitness for purpose, are excluded.

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

Revision History
Revision AApril 2000First release
Revision BMay 2001Updated for TDT 1.1
Revision CMarch 2002Updated for TDT 1.2
Copyright © 2000-2002 ARM Limited. All rights reserved.ARM DUI 0118C
Non-Confidential