RealView ® Debugger UserGuide

Version 1.8

Table of Contents

About this book
Intended audience
Before you start
Using this book
Typographical conventions
Further reading
Feedback on RealView Debugger
Feedback on this book
1. Starting to use RealView Debugger
1.1. Starting RealView Debugger
1.1.1. Starting on Windows
1.1.2. Starting on Sun Solaris and Red HatLinux
1.1.3. Starting from the command line
1.1.4. Setting user-definedenvironment variables
1.2. Using RealView Connection Broker
1.2.1. RealView Connection Broker operatingmodes
1.2.2. Starting RealView Connection Brokeron Windows
1.2.3. Starting RealView ConnectionBroker from the command line
1.2.4. Using RealView Network Broker
1.3. RealView Debugger directories
1.3.1. Defining the installation directory
1.3.2. Defining the home directory on Windows
1.3.3. The home directory on Sun Solarisor Red Hat Linux
1.3.4. Using the examples directories
2. Working with Images
2.1. Loading images
2.1.1. Loading from a user-defined project
2.1.2. Using the Load File to Target dialogbox
2.1.3. Loading from the Process Control pane
2.1.4. Quick loading
2.1.5. Loading from the command line
2.1.6. Loading and runtime visualization
2.2. Managing images
2.2.1. Viewing image details in the Codewindow
2.2.2. Viewing image details in the ProcessControl pane
2.2.3. Working with auto-projects
2.2.4. Working with user-defined projects
2.3. Working with symbols
2.4. Working with multiple images
2.5. Unloading and reloading images
2.5.1. Resetting your target processor
2.5.2. Unloading an image
2.5.3. Replacing the currently loaded image
2.5.4. Reloading an image
3. Controlling Execution
3.1. Submitting commands
3.2. Defining execution context
3.2.1. Code views
3.2.2. Defining scope and context
3.3. Using execution controls
3.3.1. Using the Execution group
3.3.2. Using shortcuts
3.4. Working with the Debug menu
3.4.1. Using the Debug menu
3.5. Automating debugging operations
3.5.1. Creating log and journal files
3.5.2. Using include files
3.6. Searching for source files
3.6.1. Example of locating source files
3.6.2. Autoconfiguring search rules
3.6.3. Manually configuring search rules
3.6.4. Source path mappings
4. Working with Breakpoints
4.1. Breakpoints in RealView Debugger
4.1.1. Breakpoint types
4.1.2. Qualifying breakpoint line numberreferences with module names
4.1.3. Specifying address ranges
4.1.4. Specifying the entry point to a function
4.1.5. Breakpoints and memory map locations
4.1.6. Viewing breakpoints in your code view
4.1.7. Halted System Debug and Running SystemDebug
4.1.8. Using hardware breakpoints
4.1.9. Breakpoints and image restarts
4.1.10. Using breakpoints with RealView ICE
4.2. Setting default breakpoints
4.2.1. Default breakpointsin source-level view
4.2.2. Default breakpoints in disassembly-levelview
4.2.3. Setting breakpointson branch instructions
4.2.4. Setting default breakpoints in otherways
4.3. Generic breakpoint operations
4.4. Setting unconditional breakpointsexplicitly
4.4.1. Using the Simple Break if X dialogbox
4.4.2. Setting unconditional breakpointsin other ways
4.5. Setting hardware breakpoints explicitly
4.5.1. Using the HW Break if in Range dialogbox
4.5.2. Using the HW While in function/range,Break if X dialog box
4.5.3. Using the HW Break if X, then if Ydialog box
4.5.4. Using the HW Break on Data Value match dialogbox
4.5.5. Chaining breakpoints
4.6. Specifying processor exceptions (globalbreakpoints)
4.6.1. Displaying the List Selection dialog box
4.6.2. List Selection dialog box interface components
4.7. Setting conditional breakpoints
4.7.1. Considerations when using conditionalbreakpoints
4.7.2. Using the Simple Break if X, N timesdialog box
4.7.3. Using the Simple Break if X, whenY is True dialog box
4.7.4. Setting conditional hardware breakpoints
4.7.5. Setting conditional breakpoints inother ways
4.8. Using the Set Address/Data Breakpointdialog box
4.8.1. Displaying the Set Address/Data Breakpointdialog box
4.8.2. Editing an existing breakpoint
4.8.3. Set Address/Data Breakpoint dialogbox interface components
4.8.4. Setting software breakpoints
4.8.5. Setting hardware breakpoints
4.8.6. HW Support settings for RVISS
4.8.7. HW Support settings for target hardware
4.8.8. HW Support settings for a DSP-based debugtarget
4.8.9. Using ranges and masks with hardwarebreakpoints
4.8.10. Specifying Qualifiers
4.8.11. Specifying Actions
4.8.12. Managing the qualifier and actionlists
4.9. Attaching macros to breakpoints
4.9.1. Defining a user-created macro as asymbol
4.9.2. Attaching a macro to a breakpoint
4.10. Controlling the behavior of breakpoints
4.10.1. Demonstrating breakpoint behaviorwith the Dhrystone example project
4.10.2. Using a macro as an argument to abreak command
4.11. Using the Break/Tracepoints pane
4.11.1. Displaying the Break/Tracepointspane
4.11.2. Viewing breakpointsin the Break/Tracepoints pane
4.11.3. Using the Break/Tracepoints Entrycontext menu
4.11.4. Using the Break/Tracepoints context menu
4.11.5. Working in the Break/Tracepoints pane
4.11.6. Using the Pane menu
4.12. Disabling and clearing breakpoints
4.12.1. Disabling breakpoints
4.12.2. Clearing breakpoints
4.12.3. Clearing all breakpoints
4.13. Setting breakpoints from saved lists
4.13.1. Setting breakpoints from the Function/Labellist
4.13.2. Setting breakpoints from the breakpointhistory lists
4.13.3. Setting breakpoints from your breakpointFavorites List
5. Memory Mapping
5.1. About memory mapping
5.1.1. Uses for memory mapping
5.1.2. Memory map considerations
5.2. Enabling and disabling memory mapping
5.3. Setting up a memory map
5.4. Viewing the memory map
5.4.1. Working with the Map tab
5.4.2. Memory map configuration
5.4.3. Using the Map tab context menu
5.5. Editing map entries
5.5.1. Updating map entries based on registers
5.6. Setting top_of_memory and stack values
5.7. Generating linker command files fornon-ARM targets
6. Working with Debug Views
6.1. Working with registers
6.1.1. Displaying register contents
6.1.2. Formatting options
6.1.3. Changing register contents
6.1.4. Viewing different registers
6.1.5. Understanding the register view
6.1.6. Viewing debugger internals
6.1.7. Defining new registers
6.1.8. Interactive operations
6.2. Working with memory
6.2.1. Displaying memory contents
6.2.2. Formatting options
6.2.3. Operating on memory contents
6.2.4. Data width on memory accesses
6.2.5. Changing memory contents
6.2.6. Managing multiple targets
6.2.7. Interactive operations
6.3. Working with the stack
6.3.1. Using the Stack pane
6.3.2. Formatting options
6.3.3. Operating on stack contents
6.3.4. Context controls
6.3.5. Setting a breakpoint
6.3.6. Interactive operations
6.4. Using the call stack
6.4.1. Using the Stack pane
6.4.2. Using the Call Stack pane
6.4.3. Using context menus
6.4.4. Stack controls
6.5. Working with watches
6.5.1. Setting watches in source-level view
6.5.2. Working with the Watch pane
6.5.3. Managing watches
6.5.4. Saving watches as favorites
7. Reading and Writing Memory, Registers, and Flash
7.1. About interactive operations
7.2. Using the Memory/Register Operationsmenu
7.3. Accessing interactive operations inother ways
7.3.1. From the Memory pane
7.3.2. From the Stack pane
7.4. Working with Flash
7.4.1. Flash Method files
7.4.2. Flash examples
7.4.3. Flash programming
7.4.4. Using the Flash Memory Control
7.5. Examples of interactive operations
7.5.1. Setting memory
7.5.2. Setting registers
7.5.3. Downloading memory to a file
7.5.4. Comparing memory with file contents
7.5.5. Filling memory with a pattern
7.5.6. Loading Flash memory with the Upload/Downloadfile from/to Memory dialog box
7.5.7. Setting Flash memory
8. Working with Browsers and Favorites
8.1. Using browsers
8.1.1. Scope of symbols in RealView Debugger
8.1.2. Browser panes
8.1.3. List browser dialog boxes
8.2. Using the Data Navigator pane
8.2.1. Displaying the Data Navigator pane
8.2.2. Data Navigator pane interface components
8.2.3. Applying a filter
8.2.4. Refining the list of functions andvariables
8.2.5. Setting a default breakpoint on afunction
8.2.6. Setting a non-default breakpoint ona function
8.2.7. Setting a hardware breakpoint on avariable
8.2.8. Working with the Images tab
8.2.9. Working with the Modules tab
8.2.10. Working with the Functions tab
8.2.11. Working with the Variables tab
8.3. Using the Symbol Browser pane
8.3.1. Viewing details of a class
8.3.2. Viewing details of a function
8.4. Using the Function List dialog box
8.4.1. Displaying the Function List dialogbox
8.4.2. Specifying the list
8.4.3. Refining the list
8.4.4. Selecting a function
8.4.5. Closing the browser
8.5. Using the Variable List dialog box
8.5.1. Displaying the Variable List dialogbox
8.5.2. Specifying the list
8.5.3. Refining the list
8.5.4. Closing the browser
8.6. Using the Module/File List dialogbox
8.6.1. Displaying the Module/File List dialogbox
8.6.2. Specifying the list
8.6.3. Selecting a module
8.6.4. Closing the browser
8.7. Using the Register List Selectiondialog box
8.7.1. Displaying the Register List Selectiondialog box
8.7.2. Selecting a register
8.7.3. Closing the browser
8.8. Specifying browser lists
8.8.1. Specifying a list
8.8.2. Applying a filter
8.9. Using the Favorites Chooser/Editordialog box
8.9.1. Overview of the Favorites Chooser/Editordialog box
8.9.2. Displaying the Favorites Chooser/Editordialog box
8.9.3. Favorites Chooser/Editor dialog boxinterface components
8.9.4. Favorites categories used by RealView Debugger features
9. Working with Macros
9.1. About macros
9.1.1. Properties of macros
9.1.2. Debugger commands in macros
9.1.3. Defining macros
9.1.4. Calling macros
9.1.5. Macro return values
9.1.6. Using macros with breakpoints
9.1.7. Attaching macros
9.1.8. Stopping macros
9.2. Using macros
9.2.1. Creating a macro
9.2.2. Viewing a macro
9.2.3. Testing a macro
9.2.4. Editing a macro
9.2.5. Copying a macro
9.2.6. Deleting a macro
9.2.7. Calling a macro
9.3. Getting more information
10. Configuring Workspace Settings
10.1. Using workspaces
10.1.1. Initializing the workspace
10.1.2. Workspace menu
10.1.3. Opening workspaces
10.1.4. Closing workspaces
10.1.5. Projects in workspaces
10.1.6. Creating an empty workspace
10.2. Viewing workspace settings
10.2.1. Using Settings windows
10.2.2. Options window
10.2.3. Workspace Options window
10.2.4. Groups and settings
10.3. Configuring workspace settings
10.3.1. Restoring settings
10.3.2. Changing settings
10.3.3. Copying entries
10.3.4. Pasting entries
10.3.5. Cutting entries
10.3.6. Resetting entries
A. Workspace Settings Reference
A.1.1. Command
A.1.2. Disassembler
A.1.3. Board_file
A.2.1. Pos_size
A.2.2. Button
A.2.3. Asm_type
A.3. ALL
A.3.1. Text
A.3.2. Search
A.3.3. Edit
B. RealView Debugger on Sun Solaris and Red Hat Linux
B.1. About this Appendix
B.2. Getting more information
B.2.1. Online resources
B.2.2. Feedback on RealView Debugger
B.3. X-Windows configuration change requiredon Sun Solaris
B.4. Changes to target configuration details
B.4.1. Default configuration files
B.4.2. Target configuration entries
B.5. Changes to GUI and general user information
B.5.1. Getting started with RealView Debugger
B.5.2. Column resizing
B.5.3. Saving favorites
B.5.4. Changes to the desktop
B.5.5. RealView Debugger examples

List of Figures

2.1. Load File to Target dialog box
2.2. Connection prompt
2.3. Code window with image loaded
2.4. Image details in the Process Controlpane
2.5. Auto-projects in the Process Controlpane
2.6. Changing auto-project settings
2.7. Multiple images in the Process Controlpane
3.1. Disassembly Mode selection box
3.2. Output files recording
3.3. Close log and journal files selectionbox
3.4. Source search prompt
3.5. Search rules in the Project Propertieswindow
4.1. Working with multiple breakpointunits
4.2. Example hardware break characteristics
4.3. Setting an unconditional breakpointon a line
4.4. Setting an unconditional breakpointon an instruction
4.5. Simple Break if X dialog box
4.6. HW Break if in Range dialog box
4.7. HW While in func/range, Break ifX dialog box
4.8. HW break if X, then if Y dialog box
4.9. HW Break on Data Value match dialogbox
4.10. Processor Exceptions List Selection dialog box
4.11. Simple Break if X, N times dialogbox
4.12. Simple Break if X, when Y is Truedialog box
4.13. Set Address/Data Breakpoint dialogbox
4.14. HW Support group using RVISS
4.15. Changing the hardware pass count
4.16. Configuring hardware tests
4.17. HW Support group using a DSP
4.18. Changing the hardware pass countin a DSP
4.19. Assigning qualifiers to breakpoints
4.20. Assigning actions to breakpoints
4.21. Breakpoint macro entry prompt
4.22. Set breakpoint with macro attached
4.23. Break/Tracepoints pane
4.24. Breakpoints in the Break/Tracepointspane
4.25. Hardware breakpoints in the Break/Tracepointspane
5.1. Add/Copy/Edit Memory Map dialog box
5.2. Memory mapped
5.3. Colors in the memory map
6.1. Register pane
6.2. Setting enumeration values
6.3. Registers for an ARM940T debug target
6.4. Registers for a CEVA-Oak debug target
6.5. Viewing registers
6.6. Viewing CycleCount tab (RVISS)
6.7. Viewing internal variables (RealViewICE)
6.8. Viewing Semihost tab (RVISS)
6.9. Specifying semihosting (Multi-ICE)
6.10. Memory pane
6.11. Memory start address selection box
6.12. Example memory display
6.13. Viewing the stack
6.14. Multistatement details in the CallStack pane
6.15. Watch pane with watches
6.16. Watches in the Watch pane
6.17. New/Edit Favorite dialog box
6.18. Existing watches in the FavoritesChooser/Editor
6.19. Adding a new favorite
7.1. Flash Memory Control dialog box
7.2. Interactive Memory Setting dialogbox
7.3. Upload/Download file from/to Memorydialog box
7.4. Fill Memory with Pattern dialog box
7.5. Upload/Download file from/to Memory dialog box
7.6. Flash memory details
8.1. Data Navigator pane
8.2. C++ symbols in the Symbol Browserpane
8.3. Function List dialog box
8.4. The Variable List
8.5. Module/File List dialog box
8.6. Register List Selection dialog box
8.7. Favorites Chooser/Editor dialog box
9.1. Creating a macro
9.2. Editing a macro body
9.3. Loading macros on connection
9.4. Loading macros from a project
10.1. Close Open Objects selection box
10.2. Workspace Options window
10.3. Example Workspace Options
B.1. Remote entries in the ConnectionProperties window
B.2. RealView Debugger Control Panel
B.3. Column resizing in the Watch pane
B.4. Column resizing prompt box


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 0153G