User’s Guide Real-Time C Debugger for 68340 Notice Hewlett-Packard makes no warranty of any kind with regard to this material, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose. Hewlett-Packard shall not be liable for errors contained herein or for incidental or consequential damages in connection with the furnishing, performance, or use of this material. Hewlett-Packard assumes no responsibility for the use or reliability of its software on equipment that is not furnished by Hewlett-Packard. © Copyright 1987, 1994, 1996, Hewlett-Packard Company. This document contains proprietary information, which is protected by copyright. All rights are reserved. No part of this document may be photocopied, reproduced or translated to another language without the prior written consent of Hewlett-Packard Company. The information contained in this document is subject to change without notice. MS-DOS(R) is a U.S. registered trademark of Microsoft Corporation. HP-UX 9.* and 10.0 for HP 9000 Series 700 and 800 computers are X/Open Company UNIX 93 branded products. TrueType(TM) is a U.S. trademark of Apple Computer, Inc. UNIX(R) is a registered trademark in the United States and other countries, licensed exclusively through X/Open Company Limited. Windows or MS Windows is a U.S. trademark of Microsoft Corporation. Hewlett-Packard P.O. Box 2197 1900 Garden of the Gods Road Colorado Springs, CO 80901-2197, U.S.A. RESTRICTED RIGHTS LEGEND Use, duplication, or disclosure by the U.S. Government is subject to restrictions as set forth in subparagraph (c) (1)(ii) of the Rights in Technical Data and Computer Software Clause at DFARS 252.227-7013. Hewlett-Packard Company, 3000 Hanover Street, Palo Alto, CA 94304 U.S.A. Rights for non-DOD U.S. Government Departments and Agencies are as set forth in FAR 52.227-19(c)(1,2). 2 Printing History New editions are complete revisions of the manual. The date on the title page changes only when a new edition is published. A software code may be printed before the date; this indicates the version level of the software product at the time the manual was issued. Many product updates and fixes do not require manual changes, and manual corrections may be done without accompanying product changes. Therefore, do not expect a one-to-one correspondence between product updates and manual revisions. Edition 1 B3628-97000, December 1994 Edition 2 B3628-97001, January 1996 Safety, Certification and Warranty Safety and certification and warranty information can be found at the end of this manual on the pages before the back cover. 3 Real-Time C Debugger — Overview The Real-Time C Debugger is an MS Windows application that lets you debug C language programs for embedded microprocessor systems. The debugger controls HP 64700 emulators and analyzers either on the local area network (LAN) or connected to a personal computer with an RS-232C interface or the HP 64037 RS-422 interface. It also controls HP E3490A Software Probes on the LAN. It takes full advantage of the emulator’s real-time capabilities to allow effective debug of C programs while running in real time. The debugger is an MS Windows application • You can display different types of debugger information in different windows, just as you display other windows in MS Windows applications. • You can complete a wide variety of debug-related tasks without exiting the debugger. You can, for example, edit files or compile your programs without exiting the debugger. • You can cut text from the debugger windows to the clipboard, and clipboard contents may be pasted into other windows or dialog boxes. The debugger communicates at high speeds • You can use the HP 64700 LAN connection or the RS-422 connection for high-speed data transfer (including program download). These connections give you an efficient debugging environment. You can debug programs in C context • You can display C language source files (optionally with intermixed assembly language code). • You can display program symbols. • You can display the stack backtrace. • You can display and edit the contents of program variables. • You can step through programs, either by source lines or assembly language instructions. • You can step over functions. • You can run programs until the current function returns. 4 • You can run programs up to a particular source line or assembly language instruction. • You can set breakpoints in the program and define macros (which are collections of debugger commands) that execute when the breakpoint is hit. Break macros provide for effective debugging without repeated command entry. You can display and modify processor resources • You can display and edit the contents of memory locations in hexadecimal or as C variables. • You can display and edit the contents of microprocessor registers including on-chip peripheral registers. • You can display and modify individual bits and fields of bit-oriented registers. You can trace program execution (emulator only) • You can trace control flow at the C function level. • You can trace the callers of a function. • You can trace control flow within a function at the C statement level. • You can trace all C statements that access a variable. • You can trace before, and break program execution on, a C variable being set to a specified value. • You can make custom trace specifications. You can debug your program while it runs continuously at full speed • You can configure the debugger to prevent it from automatically initiating any action that may interrupt user program execution. This ensures that the user program executes in real time, so you can debug your design while it runs in a real-world operating mode. • You can inspect and modify C variables and data structures without interrupting execution. • You can set and clear breakpoints without interrupting execution. • You can perform all logic analysis functions, observing C program and variable activity, without interrupting program execution. 5 In This Book This book documents the Real-Time C Debugger for 68340. It is organized into five parts: Part 1. Quick Start Guide Part 2. User’s Guide Part 3. Reference Part 4. Concept Guide Part 5. Installation Guide 6 Contents Part 1 Quick Start Guide 1 Getting Started with an Emulator Step 1. Start the debugger 27 Step 2. Adjust the fonts and window size 28 Step 3. Map memory for the demo program 29 Step 4. Load the demo program 31 Step 5. Set up the initial SSP and PC exception vectors 32 Step 6. Display the source file 34 Step 7. Set a breakpoint 35 Step 8. Run the demo program 36 Step 9. Delete the breakpoint 37 Step 10. Single-step one line 38 Step 11. Single-step 10 lines 39 Step 12. Display a variable 40 Step 13. Edit a variable 41 Step 14. Monitor a variable in the WatchPoint window 42 Step 15. Run until return from current function 43 Step 16. Step over a function 44 Step 17. Run the program to a specified line 45 Step 18. Display register contents 46 Step 19. Trace function flow 48 Step 20. Trace a function’s callers 49 Step 21. Trace access to a variable 51 Step 22. Exit the debugger 52 7 Contents 2 Getting Started with an HP E3490A Software Probe Step 1. Start the debugger 56 Step 2. Load the demo program and configure initial register values 57 Step 3. Display the source file 59 Step 4. Set a breakpoint 61 Step 5. Run the demo program 62 Step 6. Delete the breakpoint 63 Step 7. Display a variable 64 Step 8. Edit a variable 65 Step 9. Monitor a variable in the WatchPoint window 66 Step 10. Single-step one line 67 Step 11. Run until return from current function 68 Step 12. Step over a function 69 Step 13. Run the program to a specified line 70 Step 14. Display register contents 71 Step 15. Exit the debugger 72 8 Contents Part 2 User’s Guide 3 Using the Debugger Interface How the Debugger Uses the Clipboard 77 Debugger Function Key Definitions 78 Starting and Exiting the Debugger 79 To start the debugger 79 To exit the debugger 80 To create an icon for a different emulator 80 Working with Debugger Windows 82 To open debugger windows 82 To copy window contents to the list file 83 To change the list file destination 83 To change the debugger window fonts 84 To set tab stops in the Source window 84 To set colors in the Source window 85 Using Command Files 86 To create a command file 86 To execute a command file 87 To create buttons that execute command files 88 4 Plugging the Emulator into Target Systems Step 1. Turn OFF power 91 Step 2. Unplug the probe from the demo target system 92 Step 3. Select the emulator clock source 93 Step 4. Plug the probe into the target system 96 Step 5. Turn ON power 97 9 Contents 5 Configuring the Emulator Setting the Hardware Options for an Emulator 101 To select the emulator’s clock source 101 To enable or disable auto tri-stating of target processor 102 To enable or disable break on writes to ROM 103 Setting the Hardware Options for an HP E3490A Software Probe 104 To specify the processor type 105 To specify the target processor clock speed 105 Mapping Memory (Emulator Only) 107 To map memory 107 To emulate global chip select operation 112 Selecting the Type of Monitor (Emulator Only) 116 To select the background monitor 117 To select the foreground monitor 118 To use a custom foreground monitor 120 Using the EMSIM Registers 122 EMSIM Registers in the Emulator 123 EMSIM Registers in the HP E3490A Software Probe 125 To view the SIM register differences 127 To synchronize to the 68340 SIM registers 127 To synchronize to the EMSIM registers 128 Setting Up the BNC Port (Emulator Only) 129 To output the trigger signal on the BNC port 129 To receive an arm condition input on the BNC port 129 Saving and Loading Configurations 130 To save the current emulator configuration 130 To load an emulator configuration 131 Setting the Real-Time Options 132 To allow or deny monitor intrusion 133 To turn polling ON or OFF 133 10