HP 64767 User Manual

Emulation/analysis
Table of Contents

Advertisement

Quick Links

User's Guide for the Graphical User Interface
HP 64767
80186/8/XL/EA/EB
Emulation/Analysis

Advertisement

Table of Contents
loading

Summary of Contents for HP 64767

  • Page 1 User’s Guide for the Graphical User Interface HP 64767 80186/8/XL/EA/EB Emulation/Analysis...
  • Page 2 Hewlett-Packard Company. The information contained in this document is subject to change without notice. HP is a trademark of Hewlett-Packard Company. Microtec is a registered trademark of Microtec Research Inc. OSF/Motif and Motif are trademarks of the Open Software Foundation in the U.S.
  • Page 3 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.
  • Page 4 The emulator requires an emulation analyzer that captures 48 channels of emulation processor bus cycle information synchronously with the processor’s clock signal. The HP 64706 (48 channel), the HP 64703 (64 channel), the HP 64704 (80 channel), or the HP 64794 (80 channel, dee memory) Emulation Bus Analyzer meets this requirement.
  • Page 5 Start and stop up to 16 emulators at the same time (up to 32 if modifications are made). • Use the analyzer in one HP 64700 to arm (that is, activate) the analyzers in other HP 64700 card cages or to cause emulator execution in other HP 64700 card cages to break.
  • Page 6 Part 2. User’s Guide Chapter 2 shows how to plug the emulator into a target system. Chapter 3 shows you how to start and exit the HP 64700 interfaces. Chapter 4 shows you how to enter commands. Chapter 5 shows how to configure the emulator.
  • Page 7: Table Of Contents

    Contents Part 1 Quick Start Guide 1 Getting Started The Emulator/Analyzer Interface — At a Glance The Softkey Interface Softkey Interface Conventions The Graphical User Interface Graphical User Interface Conventions The Getting Started Tutorial Step 1. Start the demo Step 2: Display the program in memory Step 3: Run from the transfer address Step 4: Step high-level source lines Step 5: Display the previous mnemonic display...
  • Page 8 Step 4. Plug the 8018x PGA emulator probe into the target system Step 5. Connect the BGND flying lead Step 6. Turn ON power 3 Starting and Exiting HP 64700 Interfaces Starting the Emulator/Analyzer Interface To start the emulator/analyzer interface...
  • Page 9 Contents 4 Entering Commands Using Menus, the Entry Buffer, and Action Keys To choose a pulldown menu item using the mouse (method 1) To choose a pulldown menu item using the mouse (method 2) To choose a pulldown menu item using the keyboard To choose popup menu items To place values into the entry buffer using the keyboard To copy-and-paste to the entry buffer...
  • Page 10 Contents Forwarding Commands to Other HP 64700 Interfaces To forward commands to the high-level debugger To forward commands to the software performance analyzer 5 Configuring the Emulator Using the Configuration Interface To start the configuration interface To modify a configuration section...
  • Page 11 Contents 6 Using the Emulator Loading and Storing Absolute Files To load absolute files To load absolute files without symbols To store memory contents into absolute files Using Symbols To load symbols To display global symbols To display local symbols To display a symbol’s parent symbol To copy-and-paste a full symbol name to the entry buffer Using Context Commands...
  • Page 12 Contents Displaying and Modifying Registers To display register contents To modify register contents Displaying and Modifying Memory To display memory To display memory in mnemonic format To return to the previous mnemonic display To display memory in hexadecimal format To display memory in real number format To display memory at an address To display memory repetitively To modify memory...
  • Page 13 Contents 7 Using the Emulation Analyzer The Basics of Starting, Stopping, and Displaying Traces To start a trace measurement To display the trace status To stop a trace measurement To display the trace To position the trace display on screen To change the trace depth To modify the last trace command entered...
  • Page 14 Contents Saving and Restoring Traces To save trace commands To restore trace commands To save traces To restore traces 8 Making Software Performance Measurements Activity Performance Measurements To set up the trace command for activity measurements To initialize activity performance measurements To interpret activity measurement reports Duration Performance Measurements To set up the trace command for duration measurements...
  • Page 15 Contents 10 Making Coordinated Measurements Setting Up for Coordinated Measurements To connect the Coordinated Measurement Bus (CMB) To connect to the rear panel BNC Starting/Stopping Multiple Emulators To enable synchronous measurements To start synchronous measurements To disable synchronous measurements Using Trigger Signals To drive the emulation analyzer trigger signal to the CMB To drive the emulation analyzer trigger signal to the BNC connector To drive the external analyzer trigger signal to the CMB...
  • Page 16 Contents Part 3 Reference 12 Emulator/Analyzer Interface Commands How Pulldown Menus Map to the Command Line How Popup Menus Map to the Command Line Syntax Conventions Commands break bbaunld cmb_execute copy copy io_port copy local_symbols_in copy memory copy registers copy trace display display data display global_symbols...
  • Page 17 Contents performance_measurement_end performance_measurement_initialize performance_measurement_run pod_command QUALIFIER RANGE reset SEQUENCING specify STATE step stop_trace store --SYMB-- trace TRIGGER wait WINDOW 13 Error Messages Graphical/Softkey Interface Messages - Unnumbered Graphical/Softkey Interface Messages - Numbered Terminal Interface Messages Emulator Messages 80186/8/XL/EA/EB Emulator Messages General Emulator and System Messages Analyzer Messages 14 Specifications and Characteristics...
  • Page 18 16 Installation Installing Hardware Step 1. Connect the Emulator Probe Cables Step 2. Install Boards into the HP 64700 Card Cage Step 3. Plug the emulator probe into the demo target system Step 4. Apply power to the HP 64700...
  • Page 19 Contents Installing Sun SPARCsystem Software Step 1. Install the software from the media Step 2. Start the X server and OpenWindows Step 3. Set the necessary environment variables Step 4. Verify the software installation Step 5. Map your function keys Verifying the Installation Step 1.
  • Page 21: Part 1 Quick Start Guide

    Part 1 Quick Start Guide A one-glance overview of the product and a few task instructions to help you get comfortable.
  • Page 22 Part 1...
  • Page 23: Getting Started

    Getting Started...
  • Page 24: The Emulator/Analyzer Interface - At A Glance

    Chapter 1: Getting Started The Emulator/Analyzer Interface — At a Glance When an X Window System that supports OSF/Motif interfaces is running on the host computer, the emulator/analyzer interface is the Graphical User Interface which provides pull-down and pop-up menus, point and click setting of breakpoints, cut and paste, on-line help, customizable action keys and pop-up recall buffers, etc.
  • Page 25: Softkey Interface Conventions

    Chapter 1: Getting Started Status line. Displays the emulator and analyzer status. Also, when error and status messages occur, they are displayed on the status line in addition to being saved in the error log. Command line. Commands are entered on the command line by pressing softkeys (or by typing them in) and executed by pressing the Return key.
  • Page 26: The Graphical User Interface

    Chapter 1: Getting Started The Graphical User Interface Menu bar Action keys Entry buffer Entry buffer recall button. Display area. Scroll bar. Status line. Command line. Command line entry area. Softkey pushbuttons Command buttons. Includes command Cursor buttons for command line area recall button.
  • Page 27 Chapter 1: Getting Started Entry Buffer. Wherever you see "()" in a pulldown menu, the contents of the entry buffer are used in that command. You can type values into the entry buffer, or you can cut and paste values into the entry buffer from the display area or from the command line entry area.
  • Page 28: Graphical User Interface Conventions

    Chapter 1: Getting Started The command Recall button allows you to recall previous or predefined commands. When you click on the command Recall button, a dialog box appears that allows you to select a command. • Cursor buttons for command line area control. Allow you to move the cursor in the command line entry area forward or backward, clear to the end of the command line, or clear the whole command line entry area.
  • Page 29 Mouse Button Bindings and Description Bindings: Generic Button Name Description HP 9000 SPARCsystem paste left left Paste from the display area to the entry buffer. command paste middle...
  • Page 30 Chapter 1: Getting Started The following tables show the default keyboard bindings. Keyboard Key Bindings Generic Key Name HP 9000 Sun SPARCsystem menu select extend char extend char insert insert char insert char delete delete char delete char left-arrow left arrow...
  • Page 31: The Getting Started Tutorial

    • The HP 64767 emulator and HP 64703 analyzer are installed into the HP 64700 Card Cage, the HP 64700 is connected to the host computer, and the emulator/analyzer interface software has been installed as outlined in the "Installation" chapter.
  • Page 32: Step 1. Start The Demo

    "platformScheme" resource setting in the "Xdefaults.emul" file. For example, if the Graphical User Interface will be run on a HP 9000 computer and displayed on a Sun SPARCsystem computer, change the platform scheme to "SunOS".
  • Page 33: Step 2: Display The Program In Memory

    Chapter 1: Getting Started Step 2: Display the program in memory Step 2: Display the program in memory 1 If the symbol "main" is not already in the entry buffer, move the mouse pointer to the entry buffer (notice the flashing I-beam cursor) and type in "main". 2 Choose Display→Memory→Mnemonic ().
  • Page 34: Step 3: Run From The Transfer Address

    Chapter 1: Getting Started Step 3: Run from the transfer address Step 3: Run from the transfer address The transfer address is the entry address defined by the software development tools and included with the program’s symbol information. • Click on the Run Xfer til () action key. Or, using the command line, enter: run from transfer_address until main <RETURN>...
  • Page 35: Step 4: Step High-Level Source Lines

    Chapter 1: Getting Started Step 4: Step high-level source lines Step 4: Step high-level source lines You can step through the program by high-level source lines. The emulator executes as many instructions as are associated with the high-level program source lines.
  • Page 36: Step 5: Display The Previous Mnemonic Display

    Chapter 1: Getting Started Step 5: Display the previous mnemonic display Step 5: Display the previous mnemonic display • Click on the Disp Src Prev action key. Or, using the command line, enter: display memory mnemonic previous_display <RETURN> This command is useful, for example, when you have stepped into a funtion that you do not wish to look at—you can display the previous mnemonic display and run until the source line that follows the function call.
  • Page 37: Step 6: Run Until An Address

    Chapter 1: Getting Started Step 6: Run until an address Step 6: Run until an address When displaying memory in mnemonic format, a selection in the popup menu lets you run from the current program counter address until a specific source line. •...
  • Page 38: Step 7: Display Data Values

    Chapter 1: Getting Started Step 7: Display data values Step 7: Display data values 1 Position the mouse pointer over "num_checks" in the source line that reads "num_checks++;" and click the paste mouse button (notice "num_checks" is cut and pasted into the entry buffer). 2 Choose Display→Data Values→New ()→int32.
  • Page 39: Step 8: Display Registers

    Chapter 1: Getting Started Step 8: Display registers Step 8: Display registers You can display the contents of the processor registers. • Choose Display→Registers→basic. Or, using the command line, enter: display registers <RETURN>...
  • Page 40: Step 9: Step Assembly-Level Instructions

    Chapter 1: Getting Started Step 9: Step assembly-level instructions Step 9: Step assembly-level instructions You can step through the program one instruction at a time. • To step one instruction from the current program counter, click on the Step Asm action key.
  • Page 41: Step 10: Trace The Program

    Chapter 1: Getting Started Step 10: Trace the program Step 10: Trace the program When the analyzer traces program execution, it looks at the data on the emulation processor’s bus and control signals at each clock cycle. The information seen at a particular clock cycle is called a state.
  • Page 42 Chapter 1: Getting Started Step 10: Trace the program Notice that now the message on the status line is "Emulation trace complete". This shows the trigger state has been found and the analyzer trace memory has been filled. 5 To view the captured states, choose Display→Trace. Or, using the command line, enter: display trace <RETURN>...
  • Page 43: Step 11: Exit The Emulator/Analyzer Interface

    Chapter 1: Getting Started Step 11: Exit the emulator/analyzer interface Step 11: Exit the emulator/analyzer interface • To exit the emulator/analyzer interface and release the emulator, choose File→Exit→Released. Or, using the command line, enter: end release_system <RETURN>...
  • Page 45: Part 2 User's Guide

    Part 2 User’s Guide A complete set of task instructions and problem-solving guidelines, with a few basic concepts.
  • Page 46 Part 2...
  • Page 47: Plugging Into A Target System

    Plugging into a Target System...
  • Page 48 If the emulator is currently connected to the demo target system or a different target system, unplug the emulator probe. Plug the emulator probe into the target system. Turn ON power (first the HP 64700, then the target system). CAUTION Possible Damage to the Emulator Probe. The emulation probe contains devices that are susceptible to damage by static discharge.
  • Page 49: Step 1. Turn Off Power

    HP 64700 power is OFF before removing or installing the emulator probe into the target system. Do not turn HP 64700 power OFF while the emulator is plugged into a target system whose power is ON. 1 If the emulator is currently plugged into a different target system, turn that target system’s power OFF.
  • Page 50: Step 3. Set Up The Probe For The Clock Source

    Chapter 2: Plugging into a Target System Step 3. Set up the probe for the clock source Step 3. Set up the probe for the clock source A 14-pin DIP socket located at the target connector end of the probe is used to prepare the emulator probe for the type of clock source in the target system.
  • Page 51 Chapter 2: Plugging into a Target System Step 3. Set up the probe for the clock source Parasitic circuit parameters in the emulator/target interconnect may cause problems when the target system uses a high frequency crystal. The frequency limit is very much dependent on the target system.
  • Page 52 Chapter 2: Plugging into a Target System Step 3. Set up the probe for the clock source 2 Replace the jumper with either a standard 14-pin oscillator of the desired frequency or a prototyping socket on which a crystal and any capacitors or tank circuitry are assembled. 3 Replace the plastic cover, and insert new plastic rivets (supplied with the emulator) to secure the cover.
  • Page 53: Step 4. Plug The 8018X Pga Emulator Probe Into The Target System

    Chapter 2: Plugging into a Target System Step 4. Plug the 8018x PGA emulator probe into the target system Step 4. Plug the 8018x PGA emulator probe into the target system 1 Install the emulator probe into the target system socket. Make sure that pin 1 of the connector aligns with pin 1 of the socket.
  • Page 54: Step 5. Connect The Bgnd Flying Lead

    Chapter 2: Plugging into a Target System Step 5. Connect the BGND flying lead Step 5. Connect the BGND flying lead Damage to the Emulator Probe Will Result if the BGND Output Line is CAUTION Incorrectly Installed. When installing the BGND output line into the emulator probe, make sure that the ground pin on the output line (labeled with a white dot) is matched with the ground receptacle in the emulator probe.
  • Page 55: Step 6. Turn On Power

    Chapter 2: Plugging into a Target System Step 6. Turn ON power Step 6. Turn ON power 1 Turn emulator power ON. 2 Turn target system power ON.
  • Page 57: Starting And Exiting Hp 64700 Interfaces

    Starting and Exiting HP 64700 Interfaces...
  • Page 58 Up to 10 interface windows may be started for the same emulator. Only one C debugger interface window and one SPA window are allowed, but you can start multiple emulator/analyzer interface windows. The tasks associated with starting and exiting HP 64700 interfaces are grouped into the following sections: •...
  • Page 59: Starting The Emulator/Analyzer Interface

    Chapter 3: Starting and Exiting HP 64700 Interfaces Starting the Emulator/Analyzer Interface Starting the Emulator/Analyzer Interface Before starting the emulator/analyzer interface, the emulator and interface software must have already been installed as described in the "Installation" chapter. This section describes how to: •...
  • Page 60: To Start The Interface Using The Default Configuration

    Chapter 3: Starting and Exiting HP 64700 Interfaces Starting the Emulator/Analyzer Interface Examples To start the emulator/analyzer interface for the 80186/8/XL/EA/EB emulator: $ emul700 em8018x <RETURN> The "em8018x" in the command above is the logical emulator name given in the HP 64700 emulator device table file (/usr/hp64000/etc/64700tab.net).
  • Page 61: To Run A Command File On Interface Startup

    Chapter 3: Starting and Exiting HP 64700 Interfaces Starting the Emulator/Analyzer Interface To run a command file on interface startup • Use the emul700 -c <cmd_file> <emul_name> command. You can cause command files to be run upon starting the interface by using the -c <cmd_file>...
  • Page 62: To Unlock An Interface That Was Left Locked By Another User

    Chapter 3: Starting and Exiting HP 64700 Interfaces Starting the Emulator/Analyzer Interface Or, the information may be similar to: em8018x - i186xl running; user = guest@myhost description: I80c18xxx emulation w/64740EA, 1024Kb emul mem user interfaces: xdebug, xemul, xperf, skemul, sktiming internet address: 21.17.9.143...
  • Page 63: Opening Other Hp 64700 Interface Windows

    Opening Other HP 64700 Interface Windows The File→Emul700 menu lets you open additional emulator/analyzer interface windows or other HP 64700 interface windows if those products have been installed (for example, the software performance analyzer (SPA) interface and the high-level debugger interface).
  • Page 64: To Open The High-Level Debugger Interface Window

    Chapter 3: Starting and Exiting HP 64700 Interfaces Opening Other HP 64700 Interface Windows To open the high-level debugger interface window • Choose File→Emul700→High-Level Debugger ... under "Graphic Windows", or enter the emul700 -u xdebug <emul_name> command in another terminal emulation window.
  • Page 65: Exiting Hp 64700 Interfaces

    Exiting HP 64700 Interfaces Exiting HP 64700 Interfaces There are several options available when exiting the HP 764700 interfaces. You can simply close one of the open interface windows, or you can exit the debug session by closing all the open windows. When exiting the debug session, you can lock the emulator so that you can continue later, or you can release the emulation system so that others may use it.
  • Page 66: To Exit A Debug/Emulation Session

    Chapter 3: Starting and Exiting HP 64700 Interfaces Exiting HP 64700 Interfaces To exit a debug/emulation session • To exit the interface, save your configuration to a temporary file, and lock the emulator so that it cannot be accessed by other users, choose File→Exit→Locked.
  • Page 67: Entering Commands

    Entering Commands...
  • Page 68 Using menus, the entry buffer, and action keys. • Using the command line with the mouse. • Using the command line with the keyboard. • Using command files. • Using pod commands. • Forwarding commands to other HP 64700 interfaces.
  • Page 69: Using Menus, The Entry Buffer, And Action Keys

    Chapter 4: Entering Commands Using Menus, the Entry Buffer, and Action Keys Using Menus, the Entry Buffer, and Action Keys This section describes the tasks you perform when using the Graphical User Interface to enter commands. This section describes how to: •...
  • Page 70: To Choose A Pulldown Menu Item Using The Mouse (Method 1)

    Chapter 4: Entering Commands Using Menus, the Entry Buffer, and Action Keys To choose a pulldown menu item using the mouse (method 1) 1 Position the mouse pointer over the name of the menu on the menu bar. 2 Press and hold the command select mouse button to display the menu. 3 While continuing to hold down the mouse button, move the mouse pointer to the desired menu item.
  • Page 71: To Choose A Pulldown Menu Item Using The Mouse (Method 2)

    • To initially display a pulldown menu, press and hold the menu select key (for example, the "Extend char" key on a HP 9000 keyboard) and then type the underlined character in the menu label on the menu bar. (For example, "f" for "File".
  • Page 72 Chapter 4: Entering Commands Using Menus, the Entry Buffer, and Action Keys • To move left to another pulldown menu after having initially displayed a menu, press the left-arrow key. • To move down one menu item within a menu, press the down-arrow key. •...
  • Page 73: To Choose Popup Menu Items

    Chapter 4: Entering Commands Using Menus, the Entry Buffer, and Action Keys To choose popup menu items 1 Move the mouse pointer to the area whose popup menu you wish to access. (If a popup menu is available, the mouse pointer changes from an arrow to a hand.) 2 Press and hold the select mouse button.
  • Page 74: To Place Values Into The Entry Buffer Using The Keyboard

    Chapter 4: Entering Commands Using Menus, the Entry Buffer, and Action Keys To place values into the entry buffer using the keyboard 1 Position the mouse pointer within the text entry area. (An "I-beam" cursor will appear.) 2 Enter the text using the keyboard. To clear the entry buffer text area from beginning until end, press the <Ctrl>u key combination.
  • Page 75 Chapter 4: Entering Commands Using Menus, the Entry Buffer, and Action Keys contains only numbers 0 through 9 and characters "a" through "f") automatically has an "h" appended. Note If you have multiple Graphical User Interface windows open, a copy-and-paste action in any window causes the text to appear in all entry buffers in all windows.
  • Page 76 Chapter 4: Entering Commands Using Menus, the Entry Buffer, and Action Keys Example To paste the symbol "num_checks" into the entry buffer from the interface display area, position the mouse pointer over the symbol and then click the paste mouse button.
  • Page 77: To Recall Entry Buffer Values

    Chapter 4: Entering Commands Using Menus, the Entry Buffer, and Action Keys To recall entry buffer values • Position the mouse pointer over the Recall button just to the right of the entry buffer text area, click the mouse button to bring up the Entry Buffer Recall dialog box, and then choose a string from that dialog box.
  • Page 78: To Copy-And-Paste From The Entry Buffer To The Command Line Entry Area

    Chapter 4: Entering Commands Using Menus, the Entry Buffer, and Action Keys To copy-and-paste from the entry buffer to the command line entry area 1 Place text to be pasted into the command line in the entry buffer text area. You may do that by: •...
  • Page 79: To Use The Action Keys

    Chapter 4: Entering Commands Using Menus, the Entry Buffer, and Action Keys To use the action keys 1 If the action key uses the contents of the entry buffer, place the desired information in the entry buffer. 2 Position the mouse pointer over the action key and click the action key. Action keys are user-definable pushbuttons that perform interface or system functions.
  • Page 80 Chapter 4: Entering Commands Using Menus, the Entry Buffer, and Action Keys File Selection From the working directory, you can select an existing file name or specify a new file name. Entry Buffer Recall You can recall a previously used entry buffer text string, a predefined entry buffer text string, or a newly entered entry buffer string, to the entry buffer text area.
  • Page 81 Chapter 4: Entering Commands Using Menus, the Entry Buffer, and Action Keys Examples To use the File Selection dialog box: The file filter selects specific files. A list of filter-matching files from the current directory. A list of files previously accessed during the emulation session.
  • Page 82 Chapter 4: Entering Commands Using Menus, the Entry Buffer, and Action Keys To use the Directory Selection dialog box: Label informs you of the type of list displayed. A list of predefined or previously accessed directories. A single click on a directory name from the list highlights the name and copies...
  • Page 83: To Access Help Information

    Chapter 4: Entering Commands Using Menus, the Entry Buffer, and Action Keys To access help information 1 Display the Help Index by choosing Help→General Topic... or Help→Command Line..2 Choose a topic of interest from the Help Index. The Help Index lists topics covering operation of the interface as well other information about the interface.
  • Page 84: Using The Command Line With The Mouse

    Chapter 4: Entering Commands Using the Command Line with the Mouse Using the Command Line with the Mouse When using the Graphical User Interface, the command line portion of the interface gives you the option of entering commands in the same manner as they are entered in the Softkey Interface.
  • Page 85: To Enter A Command

    Chapter 4: Entering Commands Using the Command Line with the Mouse Off means the command line is not displayed and you use only the pulldown menus and the action keys to control the interface. The command line area begins just below the status line and continues to the bottom of the emulator/analyzer window.
  • Page 86: To Edit The Command Line Using The Command Line Pushbuttons

    Chapter 4: Entering Commands Using the Command Line with the Mouse To edit the command line using the command line pushbuttons • To clear the command line, click the Clear pushbutton. • To clear the command line from the cursor position to the end of the line, click the Clear to end pushbutton.
  • Page 87: To Edit The Command Line Using The Command Line Popup Menu

    Chapter 4: Entering Commands Using the Command Line with the Mouse To edit the command line using the command line popup menu • To clear the command line: position the mouse pointer within the Command Line entry area; press and hold the select mouse button until the Command Line popup menu appears;...
  • Page 88: To Recall Commands

    Chapter 4: Entering Commands Using the Command Line with the Mouse To recall commands 1 Click the pushbutton labeled Recall in the Command Line to display the dialog box. 2 Choose a command from the buffer list. (You can also enter a command directly into the text entry area of the dialog box.) Because all command entry methods in the interface —...
  • Page 89: Using The Command Line With The Keyboard

    Chapter 4: Entering Commands Using the Command Line with the Keyboard Using the Command Line with the Keyboard When using the command line with the keyboard, you enter commands by pressing softkeys whose labels appear at the bottom of the screen. Softkeys provide for quick command entry, and minimize the possibility of errors.
  • Page 90: To Recall Commands

    Chapter 4: Entering Commands Using the Command Line with the Keyboard To recall commands • Press <CTRL>r or <CTRL>b. The most recent 20 commands you enter are stored in a buffer and may be recalled by pressing <CTRL>r. Pressing <CTRL>b cycles forward through the recall buffer. Examples For example, to recall and execute the command prior to the last command: <CTRL>r <CTRL>r <RETURN>...
  • Page 91: To Access On-Line Help Information

    Chapter 4: Entering Commands Using the Command Line with the Keyboard To access on-line help information • Use the help or ? commands. To access the command line’s on-line help information, type either help or ? on the command line. You will notice a new set of softkeys. By pressing one of these softkeys and <RETURN>, you can display information on that topic.
  • Page 92: Using Command Files

    Chapter 4: Entering Commands Using Command Files Using Command Files You can execute a series of commands that have been stored in a command file. You can create command files by logging commands while using the interface or by using an editor on your host computer. Once you create a command file, you can execute the file in the emulation environment by typing the name of the file on the command line and pressing <RETURN>.
  • Page 93 The only way to pass a parameter containing a space is to enclose the parameter in double quotes (") or single quotes (’). Thus, to pass the parameter HP 9000 to a command file, you can use either "HP 9000" or ’HP 9000’.
  • Page 94 Chapter 4: Entering Commands Using Command Files When you execute CMDFILE, you will be prompted with: Define command file parameter [&ADDR] To pass the parameter, enter the address of the first memory location to be modified. You will then be prompted for &VALUE1. If you enter, for example, "0,-1,20, 0ffffh, 4+5*4", the first parameter "0,-1,20,"...
  • Page 95: To Start Logging Commands To A Command File

    Chapter 4: Entering Commands Using Command Files characters for shell commands which are double quotes ("), single quotes (’), and the backslash symbol (\). For example, the following three lines are treated as a single shell command. The two hidden line feeds are ignored because they are inside the two single quotes (’): !awk ’/$/ { blanks++ } END { print blanks }...
  • Page 96: To Playback (Execute) A Command File

    Chapter 4: Entering Commands Using Command Files To playback (execute) a command file • Choose File→Log→Playback and use the dialog box to select the name of the command file you wish to execute. • Using the command line, enter the name of the command file and press <RETURN>.
  • Page 97: Using Pod Commands

    Chapter 4: Entering Commands Using Pod Commands Using Pod Commands Pod commands are Terminal Interface commands. The Terminal Interface is the low-level interface that resides in the firmware of the emulator. A pod command used in the Graphical User Interface bypasses the interface and goes directly to the emulator.
  • Page 98: To Display The Pod Commands Screen

    Chapter 4: Entering Commands Using Pod Commands To display the pod commands screen • Choose Display→Pod Commands. The pod commands screen displays the results of pod (Terminal Interface) commands. To set the interface to use pod commands, choose Settings→Pod Command Keyboard. To use pod commands •...
  • Page 99: Forwarding Commands To Other Hp 64700 Interfaces

    Forwarding Commands to Other HP 64700 Interfaces To allow the emulator/analyzer interface to run concurrently with other HP 64700 interfaces like the high-level debugger and software performance analyzer, a background "daemon" process is necessary to coordinate actions in the interfaces.
  • Page 100: To Forward Commands To The Software Performance Analyzer

    Chapter 4: Entering Commands Forwarding Commands to Other HP 64700 Interfaces To forward commands to the software performance analyzer • Enter the forward perf "<command string>" command using the command line. Examples To send the "profile" command to the software performance analyzer:...
  • Page 101: Configuring The Emulator

    Configuring the Emulator...
  • Page 102 Configuring the Emulator This chapter describes how to configure the emulator. You must map memory whenever you use the emulator. When you plug the emulator into a target system, you must configure the emulator so that it operates correctly in the target system. The configuration tasks are grouped into the following sections: •...
  • Page 103: Using The Configuration Interface

    Chapter 5: Configuring the Emulator Using the Configuration Interface Using the Configuration Interface This section shows you how to modify, store, and load configurations using the emulator configuration interface. This section shows you how to: • Start the configuration interface. •...
  • Page 104: To Start The Configuration Interface

    Chapter 5: Configuring the Emulator Using the Configuration Interface To start the configuration interface • Choose Modify→Emulator Config... from the emulator/analyzer interface pulldown menu. • Using the command line, enter the modify configuration command. The configuration interface main menu (see example below) is displayed. The configuration sections that are presented depend on the hardware and features of your particular emulator.
  • Page 105 Chapter 5: Configuring the Emulator Using the Configuration Interface Examples The 80186/8/XL/EA/EB emulator configuration interface main menu is shown below. Clicking on one of these lines selects a particular configuration section. Clicking this button presents the questions for the selected configuration section.
  • Page 106: To Modify A Configuration Section

    Chapter 5: Configuring the Emulator Using the Configuration Interface To modify a configuration section 1 Start the emulator configuration interface. 2 Click on a section name in the configuration interface main menu, and click the "Modify Section" pushbutton. 3 Use the command line to answer the configuration questions. If you’re using the Softkey Interface: The configuration questions in the "General Items"...
  • Page 107 Chapter 5: Configuring the Emulator Using the Configuration Interface Each configuration section presents a window similar to the following. The menu bar. Configuration help text display area. Emulator status and error message line. Command line text entry area. Pushbutton softkeys. Command control and cursor control pushbuttons.
  • Page 108: To Store A Configuration

    Chapter 5: Configuring the Emulator Using the Configuration Interface At the last question of a configuration section, you are asked if you wish to return to the main menu. You can click the "next_sec" softkey pushbutton to access the questions in the next configuration section. To recall a configuration question, click the "RECALL"...
  • Page 109: To Change The Configuration Directory Context

    Chapter 5: Configuring the Emulator Using the Configuration Interface For more information on how to use dialog boxes, refer to the "To use dialog boxes" description in the "Using Menus, the Entry Buffer, and Action Keys" section of the "Entering Commands" chapter. To change the configuration directory context •...
  • Page 110: To Display The Configuration Context

    Chapter 5: Configuring the Emulator Using the Configuration Interface To display the configuration context • When answering the configuration questions, choose Display→Context... from the pulldown menu. The current directory context and the current configuration files are displayed in a window. Click the "Done" pushbutton when you wish to close the window. To access help information •...
  • Page 111: To Exit The Configuration Interface

    Chapter 5: Configuring the Emulator Using the Configuration Interface To exit the configuration interface • When answering the configuration questions, choose File→Exit... from the pulldown menu (or type <CTRL>x), and click "Yes" in the confirmation dialog box. • From the configuration interface main menu, click the "Exit Window" button, and click "Yes"...
  • Page 112: Modifying The General Configuration Items

    Enable/disable entry into the monitor after configuration. To select the type of processor to emulate • Answer the "Processor type for 64767A/B emulator?" question. When using the HP 64767A emulator: Answer "80C186EA" to emulate the 80C186EA microprocessor. Answer "80C188EA" to emulate the 80C188EA microprocessor.
  • Page 113: To Specify The Target Memory Access Size

    Chapter 5: Configuring the Emulator Modifying the General Configuration Items To specify the target memory access size • Answer the "Target memory access size?" question. When accessing target system memory locations, the access mode specifies the type of microprocessor cycles that are used to read or write the value(s). For example, when the access mode is byte and a target system location is modified to contain the value 12345678H, byte instructions are used to write the byte values 12H, 34H, 56H, and 78H to target system memory.
  • Page 114: To Restrict The Emulator To Real-Time Runs

    Chapter 5: Configuring the Emulator Modifying the General Configuration Items To restrict the emulator to real-time runs • Answer "yes" to the "Restrict to real-time runs?" question. CAUTION If your target system circuitry is dependent on constant execution of program code, you should restrict the emulator to real-time runs.
  • Page 115: To Turn Off The Restriction To Real-Time Runs

    Chapter 5: Configuring the Emulator Modifying the General Configuration Items To turn OFF the restriction to real-time runs • Answer "no" to the "Restrict to real-time runs?" question. All commands, regardless of whether or not they require a break to the emulation monitor, are accepted by the emulator.
  • Page 116: Selecting The Emulation Monitor Program

    (refer to the previous "Using the Configuration Interface" section). The emulation monitor program is an 80186 program that the emulation microprocessor executes as directed by the HP 64700 system controller. The emulation monitor program gives the system controller access to the target system.
  • Page 117: To Select The Background Monitor Program

    Chapter 5: Configuring the Emulator Selecting the Emulation Monitor Program Comparison of Background and Foreground Monitor Programs Monitor Program Characteristic Background Foreground Takes up processor memory space Allows the emulator to respond to target system interrupts during monitor execution Can be customized To select the background monitor program 1 Answer "background"...
  • Page 118: To Select The Foreground Monitor Program

    Chapter 5: Configuring the Emulator Selecting the Emulation Monitor Program To select the foreground monitor program 1 Answer "foreground" to the "Monitor type?" question. 2 Answer "yes" to the "Reset map (change of monitor type requires map reset)?" question. 3 Enter the segment portion of the monitor program’s base address in response to the "Monitor segment?"...
  • Page 119 Chapter 5: Configuring the Emulator Selecting the Emulation Monitor Program Locking Foreground Cycles to Target RDY If you wish to synchronize monitor cycles to the target system (that is, interlock the emulation and target system RDY on accesses to the monitor memory block), answer "yes"...
  • Page 120: To Use A Custom Foreground Monitor Program

    Chapter 5: Configuring the Emulator Selecting the Emulation Monitor Program To use a custom foreground monitor program 1 Answer "user_foreground" to the "Monitor type?" question. 2 Answer "yes" to the "Reset map (change of monitor type requires map reset)?" question. 3 Enter the segment portion of the monitor program’s base address in response to the "Monitor segment?"...
  • Page 121 Chapter 5: Configuring the Emulator Selecting the Emulation Monitor Program It is possible for foreground monitors to cause breaks. If these breaks occur Note consistently within approximately 10 ms of monitor entry, the emulator will become unresponsive. An example of this is a foreground monitor that accesses guarded memory.
  • Page 122: Mapping Memory

    Chapter 5: Configuring the Emulator Mapping Memory Mapping Memory Because the emulator can use target system memory or emulation memory (or both), it is necessary to map ranges of memory so that the emulator knows where to direct its accesses. Up to 16 ranges of memory can be mapped, and the resolution of mapped ranges is 1 Kbytes (that is, the memory ranges must begin on 1 Kbyte boundaries and must be at least 1 Kbytes in length).
  • Page 123 Chapter 5: Configuring the Emulator Mapping Memory Writes to emulation ROM will be inhibited. Writes by user code to target system memory locations mapped as ROM or guarded memory will result in a break to the monitor but are not inhibited (that is, the write still occurs). Emulation memory ranges can have the attributes: lock or nolock.
  • Page 124 Chapter 5: Configuring the Emulator Mapping Memory Public interrupt 00000 00003 00004 Abs. segment Private libcconst 85FCC 863A3 003D8 Word Public libdata 10110 10113 00004 Word Public ??DATA1 ??INIT 863A4 863A6 00003 Byte Common Notice the CODE and ROM sections occupy locations 0 through 10H and 80000H through 863EFH.
  • Page 125: To Characterize Unmapped Ranges

    Chapter 5: Configuring the Emulator Mapping Memory To exit out of the memory mapper, enter: end <RETURN> To characterize unmapped ranges • Use the default softkey to characterize unmapped ranges. The default softkey in the memory mapper allows you to characterize unmapped memory ranges.
  • Page 126: To Delete Memory Map Ranges

    Chapter 5: Configuring the Emulator Mapping Memory To delete memory map ranges • Use the delete softkey to delete mapped ranges. Note that programs should be reloaded after deleting mapper terms. The memory mapper may re-assign blocks of emulation memory after the insertion or deletion of mapper terms.
  • Page 127: Setting The Debug/Trace Options

    Some analysis modules must have time tagging turned OFF if the processor clock rate will be greater than 16 MHz. If the analysis module in the HP 64700 cannot count time above 16 MHz, time counting will be disabled.
  • Page 128: To Enable/Disable Breaks On Writes To Rom

    Chapter 5: Configuring the Emulator Setting the Debug/Trace Options To enable/disable breaks on writes to ROM • Answer "yes" to the "Break processor on write to ROM?" question to enable breaks; answer "no" to disable breaks. When breaks on writes to ROM are enabled: The emulator will break into the emulation monitor whenever the user program attempts to write to a memory region mapped as ROM.
  • Page 129: Using The Emulator

    Using the Emulator...
  • Page 130 Using the Emulator This chapter describes general tasks you may wish to perform while using the emulator. These tasks are grouped into the following sections: • Loading absolute files. • Using symbols. • Executing user programs (starting, stopping, stepping, and resetting the emulator).
  • Page 131: Loading And Storing Absolute Files

    • Using the command line, enter the load <absolute_file> command. You can load absolute files into emulation or target system memory. You can load OMF-86 format absolute files. You can also load HP format absolute files. The store memory command creates HP format absolute files.
  • Page 132: To Load Absolute Files Without Symbols

    To store memory contents into absolute files • Using the command line, enter the store memory command. You can store emulation or target system memory contents into HP format absolute files on the host computer. Absolute files are stored in the current directory. If no extension is given for the absolute file name, it is given a ".X"...
  • Page 133: Using Symbols

    Chapter 6: Using the Emulator Using Symbols Using Symbols If symbol information is present in the absolute file, it is loaded along with the absolute file (unless you use the nosymbols option). Both global symbols and symbols that are local to a program module can be displayed. Long symbol names can be truncated in the symbols display;...
  • Page 134: To Display Global Symbols

    Chapter 6: Using the Emulator Using Symbols Examples To load symbols from the demo program: load symbols ecs.x <RETURN> To display global symbols • Choose Display→Global Symbols. • Using the command line, enter the display global_symbols command. Listed are: address ranges associated with a symbol, the segment the symbol is associated with, and the offset of that symbol within the segment.
  • Page 135: To Display Local Symbols

    Chapter 6: Using the Emulator Using Symbols To display local symbols • When displaying symbols, position the mouse pointer over a symbol on the symbol display screen and click the select mouse button. • When displaying symbols, position the mouse pointer over the symbol, press and hold the select mouse button, and choose Display Local Symbols from the popup menu.
  • Page 136 Chapter 6: Using the Emulator Using Symbols Examples To use the Symbols Display popup menu: View the local symbols associated with the highlighted symbol by choosing this menu item.
  • Page 137 Chapter 6: Using the Emulator Using Symbols Using the command line: To display local symbols in a module: display local_symbols_in update_sys <RETURN> To display local symbols in a procedure: display local_symbols_in update_sys.save_points <RETURN>...
  • Page 138 Chapter 6: Using the Emulator Using Symbols To display address ranges associated with the high-level source line numbers: display local_symbols_in update_sys."update_sys.c": <RETURN>...
  • Page 139: To Display A Symbol's Parent Symbol

    Chapter 6: Using the Emulator Using Symbols To display a symbol’s parent symbol • When displaying symbols, position the mouse pointer over the symbol, press and hold the select mouse button, and choose Display Parent Symbols from the popup menu. Examples View the parent symbol associated...
  • Page 140: To Copy-And-Paste A Full Symbol Name To The Entry Buffer

    Chapter 6: Using the Emulator Using Symbols To copy-and-paste a full symbol name to the entry buffer • When displaying symbols, position the mouse pointer over the symbol, press and hold the select mouse button, and choose Cut Full Symbol Name from the popup menu.
  • Page 141: Using Context Commands

    Chapter 6: Using the Emulator Using Context Commands Using Context Commands The commands in this section display and control the directory and symbol contexts for the interface. Directory context. The current directory context is the directory accessed by all system references for files—primarily load, store, and copy commands—if no explicit directory is mentioned.
  • Page 142: To Display The Current Directory And Symbol Context

    Chapter 6: Using the Emulator Using Context Commands To display the current directory and symbol context • Choose Display→Context. • Using the command line, enter the pwd and pws commands. The current directory and working symbol contexts are displayed, and also the name of the last executable file from which symbols were loaded.
  • Page 143: To Change The Current Working Symbol Context

    Chapter 6: Using the Emulator Using Context Commands You can predefine directories and set the maximum number of entries for the Directory Selection dialog box by setting X resources (see the "Setting X Resources" chapter). To change the current working symbol context •...
  • Page 144: Executing User Programs

    Chapter 6: Using the Emulator Executing User Programs Executing User Programs You can use the emulator to run programs, break program execution into the monitor, step through the program by high-level source lines or by assembly language instructions, and reset the emulation processor. When displaying memory in mnemonic format, a highlighted bar shows the current program counter address.
  • Page 145: To Run Programs From An Address

    Chapter 6: Using the Emulator Executing User Programs To run programs from an address • Position the mouse pointer in the entry buffer and enter the address you want to run from; then, choose Execution→Run→from (). • Using the command line, enter the run from <address> command. Examples To run from address 920H: run from 920h <RETURN>...
  • Page 146: To Run Programs Until An Address

    Chapter 6: Using the Emulator Executing User Programs A run from reset command can also be entered while the emulator is plugged into a powered-down target system. In this case, the emulator will run from the normal reset address (0FFFF0H) when the target system powers up and releases the RESET input.
  • Page 147: To Stop (Break From) User Program Execution

    Chapter 6: Using the Emulator Executing User Programs To stop (break from) user program execution • Choose Execution→Break. • Using the command line, enter the break command. This command generates a break to the background monitor. Software breakpoints and the run until command allow you to stop execution at particular points in the user program.
  • Page 148: To Step Assembly-Level Instructions

    Chapter 6: Using the Emulator Executing User Programs Examples To step through instructions associated with the high-level source lines at the current program counter: step source <RETURN> To step through instructions associated with high-level source lines at address "main": step source from main <RETURN> To step assembly-level instructions •...
  • Page 149: To Reset The Emulation Processor

    Chapter 6: Using the Emulator Executing User Programs To reset the emulation processor • Choose Execution→Reset. • Using the command line, enter the reset command. The reset command causes the processor to be held in a reset state until a break, run, or step command is entered.
  • Page 150: Using Software Breakpoints

    Note Version A.04.00 or greater of the HP 64700 system firmware provides support for permanent as well as temporary breakpoints. If your version of HP 64700 system firmware is less than A.04.00, only temporary breakpoints are supported.
  • Page 151: To Display The Breakpoints List

    Chapter 6: Using the Emulator Using Software Breakpoints ROM. (You can, however, copy target ROM to emulation memory by storing the contents of target ROM to an absolute file, re-mapping the range as emulation RAM, and loading the absolute file.) This section shows you how to: •...
  • Page 152 Chapter 6: Using the Emulator Using Software Breakpoints The status of a breakpoint can be: temporary Which means the temporary breakpoint has been set but not encountered during program execution. These breakpoints are removed when the breakpoint is encountered. pending Which means the temporary breakpoint has been set but not encountered during program execution.
  • Page 153: To Enable/Disable Breakpoints

    Chapter 6: Using the Emulator Using Software Breakpoints To enable/disable breakpoints • Choose the Breakpoints→Enable toggle. • When displaying the breakpoint list, press and hold the select mouse button and then choose Enable/Disable Software Breakpoints from the popup menu. • Using the command line, enter the modify software_breakpoints enable or modify software_breakpoints disable command.
  • Page 154 Chapter 6: Using the Emulator Using Software Breakpoints Examples To enable software breakpoints using the breakpoints display popup menu: Bring up menu and choose this item to change states.
  • Page 155: To Set A Permanent Breakpoint

    • Using the command line, enter the modify software_breakpoints set <address> permanent command. Permanent breakpoints are available if your version of HP 64700 system firmware is A.04.00 or greater. The breakpoints feature must be enabled before individual breakpoints can be set.
  • Page 156: To Set A Temporary Breakpoint

    • Place an absolute or symbolic address in the entry buffer; then, choose Breakpoints→Temporary () (or Breakpoints→Set () if your version of HP 64700 system firmware is less than A.04.00). • Using the command line, enter the modify software_breakpoints set <address>...
  • Page 157: To Set All Breakpoints

    Chapter 6: Using the Emulator Using Software Breakpoints Note that you must only set software breakpoints at memory locations which contain instruction opcodes (not operands or data). When displaying memory in mnemonic format, asterisks (*) appear next to breakpoint addresses. An asterisk shows the breakpoint is active. Also, if assembly level code is being displayed, the disassembled instruction mnemonic at the breakpoint address will show the breakpoint instruction.
  • Page 158: To Re-Activate A Breakpoint

    Chapter 6: Using the Emulator Using Software Breakpoints To re-activate a breakpoint • When displaying breakpoints, position the mouse pointer over the line displaying the inactivated breakpoint and click the select mouse button. Or, press and hold the select mouse button and choose Set/Inactivate Breakpoint from the popup menu. The "inactivated"...
  • Page 159 Chapter 6: Using the Emulator Using Software Breakpoints Examples To re-activate breakpoints using the breakpoints display popup menu: Change status with a mouse click on this line (menu and highlight do not appear). Choose this menu item to change the state of the highlighted breakpoint.
  • Page 160: To Clear A Breakpoint

    Chapter 6: Using the Emulator Using Software Breakpoints To clear a breakpoint • When displaying memory in mnemonic format, position the mouse pointer over the program line at which you wish to clear a currently set breakpoint (notice the asterisk at the left of the line) and click the select mouse button. Or, press and hold the select mouse button and choose Set/Clear Software Breakpoint from the popup menu.
  • Page 161 Chapter 6: Using the Emulator Using Software Breakpoints Examples To clear a software breakpoint using the breakpoints display popup menu: Bring up the menu and choose this item to clear the highlighted breakpoint.
  • Page 162: To Clear All Breakpoints

    Chapter 6: Using the Emulator Using Software Breakpoints To clear all breakpoints • When displaying breakpoints, position the mouse pointer within the Breakpoints Display screen, press and hold the select mouse button, and choose Clear (delete) All Breakpoints from the popup menu. •...
  • Page 163: Displaying And Modifying Registers

    Chapter 6: Using the Emulator Displaying and Modifying Registers Displaying and Modifying Registers This section describes tasks related to displaying and modifying emulation processor registers. You can display the contents of an individual register or of all the registers. The register classes and names are listed in the following table.
  • Page 164 Chapter 6: Using the Emulator Displaying and Modifying Registers Register Class Register Description pollsts Poll Status (Programmable imask Interrupt Mask interrupt primsk Priority Mask inserv In-Service controller Interrupt Request registers) reqst intsts Interrupt Status tcucon Timer Control dma0con DMA 0 Control (80186/8/XL/EA Only) dma1con DMA 1 Control (80186/8/XL/EA Only) scucon...
  • Page 165 Chapter 6: Using the Emulator Displaying and Modifying Registers Register Class Register Description d1srcl Source Pointer Low (DMA Channel d1srch Source Pointer High 1 registers - d1dstl Destination Pointer Low 80186/8/XL/EA d1dsth Destination Pointer High Only) d1tc Transfer Count d1con Control Word b0cmp Channel 0 Baud Rate Select...
  • Page 166: To Display Register Contents

    Chapter 6: Using the Emulator Displaying and Modifying Registers To display register contents • Choose Display→Registers. • Using the command line, enter the display registers command. When displaying registers, you can display classes of registers and individual registers.
  • Page 167: To Modify Register Contents

    Chapter 6: Using the Emulator Displaying and Modifying Registers To modify register contents • Choose Modify→Registers... and use the dialog box to name the register and specify its value. Clicking the "Recall" pushbutton lets you select register names and values from predefined or previously specified entries.
  • Page 168: Displaying And Modifying Memory

    Chapter 6: Using the Emulator Displaying and Modifying Memory Displaying and Modifying Memory You can display and modify the contents of memory in hexadecimal formats and in real number formats. You can also display the contents of memory in assembly language mnemonic format.
  • Page 169: To Display Memory In Mnemonic Format

    Chapter 6: Using the Emulator Displaying and Modifying Memory To display memory in mnemonic format • To display memory at a particular address, place an absolute or symbolic address in the entry buffer; then, choose Display→Memory→Mnemonic (), or, using the command line, enter the display memory <address>...
  • Page 170: To Display Memory In Hexadecimal Format

    Chapter 6: Using the Emulator Displaying and Modifying Memory To display memory in hexadecimal format • Place an absolute or symbolic address in the entry buffer; then, choose Display→Memory→Hex () and select the size from the cascade menu. • Using the command line, enter the display memory <address> blocked <size> command.
  • Page 171: To Display Memory In Real Number Format

    Chapter 6: Using the Emulator Displaying and Modifying Memory To display memory in blocked byte format: display memory ascii_old_data blocked bytes <RETURN> To display memory in real number format • Place an absolute or symbolic address in the entry buffer; then, choose Display→Memory→Real () and select the size from the cascade menu.
  • Page 172: To Display Memory At An Address

    Chapter 6: Using the Emulator Displaying and Modifying Memory Examples To display memory in 64-bit real number format: display memory real long <RETURN> To display memory at an address • Place an absolute or symbolic address in the entry buffer; then, choose Display→Memory→At ().
  • Page 173: To Display Memory Repetitively

    Chapter 6: Using the Emulator Displaying and Modifying Memory To display memory repetitively • Choose Display→Memory→Repetitively. • Using the command line, enter the display memory repetitively command. The memory display is constantly updated. The format is specified by the last memory display command.
  • Page 174: Displaying Data Values

    Chapter 6: Using the Emulator Displaying Data Values Displaying Data Values The data values display lets you view the contents of memory as data types. You can display data values in the following formats: bytes 8-bit integers unsigned 8-bit integers chars words 16-bit integers...
  • Page 175: To Clear The Data Values Display And Add A New Item

    Chapter 6: Using the Emulator Displaying Data Values To clear the data values display and add a new item • Place an absolute or symbolic address in the entry buffer; then, choose Display→Data Values→New () and select the data type from the cascade menu. •...
  • Page 176: Changing The Interface Settings

    Chapter 6: Using the Emulator Changing the Interface Settings Changing the Interface Settings This section shows you how to: • Set the source/symbol modes. • Set the display modes. To set the source/symbol modes • To display assembly language mnemonics with absolute addresses, choose Settings→Source/Symbol Modes→Absolute, or, using the command line, enter the set source off symbols off command.
  • Page 177: To Set The Display Modes

    Chapter 6: Using the Emulator Changing the Interface Settings To set the display modes • Choose Settings→Display Modes... to open the display modes dialog box. Press and hold the select mouse button and drag the mouse to select "Source Only", "Source Mixed", or "Off".
  • Page 178 Chapter 6: Using the Emulator Changing the Interface Settings Source/Symbols View Source in Memory specifies whether source lines are included, mixed with assembly code, or excluded from mnemonic memory displays. Source in Trace specifies whether source lines are included, mixed with stored states, or excluded from trace displays.
  • Page 179: Using System Commands

    Chapter 6: Using the Emulator Using System Commands Using System Commands With the Softkey Interface system commands, you can: • Set UNIX environment variables while in the Softkey Interface. • Display the name of the emulation module. • Display the event log. •...
  • Page 180: To Display The Name Of The Emulation Module

    Chapter 6: Using the Emulator Using System Commands To display the name of the emulation module • Using the command line, enter the name_of_module command. While operating your emulator, you can verify the name of the emulation module. This is also the logical name of the emulator in the emulator device file. Examples To display the name of your emulation module: name_of_module <RETURN>...
  • Page 181: To Display The Error Log

    Chapter 6: Using the Emulator Using System Commands To display the error log • Choose Display→Error Log. • Position the mouse pointer on the status line, press and hold the select mouse button, and then choose Display Error Log from the popup menu. •...
  • Page 182: To Edit Files

    Chapter 6: Using the Emulator Using System Commands To edit files • Choose File→Edit→File and use the dialog box to specify the file name. • To edit a file based on an address in the entry buffer, place an address reference (either absolute or symbolic) in the entry buffer;...
  • Page 183 Chapter 6: Using the Emulator Using System Commands Examples To edit a file that defines a symbol: Choosing this menu item brings up a terminal window with an edit session open on the file where the highlighted symbol is defined.
  • Page 184 Chapter 6: Using the Emulator Using System Commands To edit a file at a source line: Choosing this menu item brings up a terminal window with an edit session open on the file where the highlighted source line exists.
  • Page 185: To Copy Information To A File Or Printer

    Chapter 6: Using the Emulator Using System Commands To copy information to a file or printer • Choose File→Copy, select the type of information from the cascade menu, and use the dialog box to select the file or printer. • Using the command line, enter the copy command. ASCII characters are copied to the file or printer.
  • Page 186: To Open A Terminal Emulation Window

    Chapter 6: Using the Emulator Using System Commands Registers ... Copies the current values of the BASIC register class to a file. To copy the contents of the other register classes, first display the registers in that class, and then use the File→Copy→Display ... command. Breakpoints ...
  • Page 187: Using Simulated I/O

    Chapter 6: Using the Emulator Using Simulated I/O Using Simulated I/O Simulated I/O is a feature of the emulator/analyzer interface that lets you use the same keyboard and display that you use with the interface to provide input to programs and display program output. To use simulated I/O, your programs must communicate with the simulated I/O control address and the buffer locations that follow it.
  • Page 188: To Use Simulated I/O Keyboard Input

    Chapter 6: Using the Emulator Using Simulated I/O Examples A message tells you whether the display is open or closed. You can modify the configuration to enable status messages. To use simulated I/O keyboard input • To begin using simulated I/O input, choose Settings→Simulated IO Keyboard. •...
  • Page 189: Using Basis Branch Analysis

    This section shows you how to: • Store BBA data to a file. Refer to the HP Branch Validator (BBA) User’s Guide for complete details on the BBA product and how it works. To store BBA data to a file •...
  • Page 191: Using The Emulation Analyzer

    Using the Emulation Analyzer...
  • Page 192 Using the Emulation Analyzer This chapter describes tasks you may wish to perform while using the emulation analyzer. These tasks are grouped into the following sections: • The basics of starting, stopping, and displaying traces. • Qualifying trigger and store conditions. •...
  • Page 193: The Basics Of Starting, Stopping, And Displaying Traces

    Chapter 7: Using the Emulation Analyzer The Basics of Starting, Stopping, and Displaying Traces The Basics of Starting, Stopping, and Displaying Traces This section describes the basic tasks that relate to starting and stopping trace measurements. When you start a trace measurement, the analyzer begins looking at the data on the emulation processor’s bus and control signals on each analyzer clock signal.
  • Page 194: To Start A Trace Measurement

    Chapter 7: Using the Emulation Analyzer The Basics of Starting, Stopping, and Displaying Traces To start a trace measurement • Choose Trace→Everything. • Using the command line, enter the trace command. The trace command tells the analyzer to begin monitoring the states which appear on the trace signals.
  • Page 195 Chapter 7: Using the Emulation Analyzer The Basics of Starting, Stopping, and Displaying Traces Examples To display the trace status: display status <RETURN> The first line of the emulation trace status display shows the user trace has been "completed"; other possibilities are that the trace is still "running" or that the trace has been "halted".
  • Page 196 Chapter 7: Using the Emulation Analyzer The Basics of Starting, Stopping, and Displaying Traces The "States" line shows the number of states that have been stored (out of the number that is possible to store) and the line numbers that the stored states occupy. (The trigger state is always stored on line 0.) The "Sequence term"...
  • Page 197: To Stop A Trace Measurement

    Chapter 7: Using the Emulation Analyzer The Basics of Starting, Stopping, and Displaying Traces To stop a trace measurement • Choose Trace→Stop. • Using the command line, enter the stop_trace command. You can, and most likely will, specify traces whose trigger or storage states are never found.
  • Page 198: To Display The Trace

    Chapter 7: Using the Emulation Analyzer The Basics of Starting, Stopping, and Displaying Traces To display the trace • Choose Trace→Display or Display→Trace. • Using the command line, enter the display trace command. You can display captured trace data with the display trace command. The available options to the display trace command are described in the "Modifying the Trace Display"...
  • Page 199: To Position The Trace Display On Screen

    The next column shows the count information (time is counted by default). "Relative" indicates that each count is relative to the previous state. If your analyzer card contains external analysis (for example, HP 64703), the next column shows the data captured on the external trace signals.
  • Page 200: To Change The Trace Depth

    Chapter 7: Using the Emulation Analyzer The Basics of Starting, Stopping, and Displaying Traces To change the trace depth • Using the command line, enter the display trace depth command. The display trace depth command allows you to specify the number of states that are displayed.
  • Page 201: Qualifying Trigger And Store Conditions

    Chapter 7: Using the Emulation Analyzer Qualifying Trigger and Store Conditions Qualifying Trigger and Store Conditions This section describes tasks relating to the qualification of trigger and storage states. You can trigger on, or store, specific states or specific values on a set of trace signals (which are identified by trace labels).
  • Page 202 Chapter 7: Using the Emulation Analyzer Qualifying Trigger and Store Conditions Hexadecimal (example: 0a7fh). You must precede any hexadecimal number that begins with an A, B, C, D, E, or F with a zero. Don’t care digits may be included in binary, octal, or hexadecimal numbers and they are represented by the letters X or x.
  • Page 203 Chapter 7: Using the Emulation Analyzer Qualifying Trigger and Store Conditions However, you cannot add two symbols unless one of them is an EQU type symbol. Emulation Analyzer Trace Signals When you qualify states, you specify values that should be found on the analyzer trace signals.
  • Page 204 Chapter 7: Using the Emulation Analyzer Qualifying Trigger and Store Conditions State Qualifiers Whenever a state can be specified in the trace command (trigger state, storage state, prestore state, etc.), you will see the following softkeys that allow you to qualify the state: address The value following this softkey is searched for on the lines that...
  • Page 205 Chapter 7: Using the Emulation Analyzer Qualifying Trigger and Store Conditions Predefined Values for Qualifiers When you specify status qualifiers for analyzer states (by pressing the status softkey), you will be given the following softkeys which are predefined values for the qualifiers. Qualifier Status Bits (31..20) Description...
  • Page 206: To Qualify The Trigger State And Position

    Chapter 7: Using the Emulation Analyzer Qualifying Trigger and Store Conditions To qualify the trigger state and position • Enter a trigger state specification in the entry buffer; then, choose Trace→After (), Trace→About (), or Trace→Before (). • When displaying memory in mnemonic format, position the mouse pointer over the source line where you want to set the trace trigger, press and hold the select mouse button and choose Trace After, Trace Before, or Trace About from the popup menu.
  • Page 207 Chapter 7: Using the Emulation Analyzer Qualifying Trigger and Store Conditions Examples Suppose you want to look at the execution of the demo program after the call of the "update_system()" function (main.c: line 102) occurs. To trigger on this address, enter: trace after address main."main.c": line 102 <RETURN>...
  • Page 208: To Trigger On A Number Of Occurrences Of Some State

    Chapter 7: Using the Emulation Analyzer Qualifying Trigger and Store Conditions To trigger on a number of occurrences of some state • Use the occurs <#TIMES> after specifying the trigger state. When specifying a trigger state, you can include an occurrence count. The occurrence count specifies that the analyzer trigger on the Nth occurrence of some state.
  • Page 209: To Qualify States Stored In The Trace

    Chapter 7: Using the Emulation Analyzer Qualifying Trigger and Store Conditions To qualify states stored in the trace • Enter a storage state specification in the entry buffer; then, choose Trace→Only (). • Using the command line, use the only option in the trace command. By default, all captured states are stored;...
  • Page 210: To Prestore States Before Qualified Store States

    Chapter 7: Using the Emulation Analyzer Qualifying Trigger and Store Conditions To prestore states before qualified store states • Enter a storage state specification in the entry buffer; then, choose Trace→Only () Prestore. • Use the prestore option in the trace command. Prestore allows you to save up to two states which precede a normal store state.
  • Page 211: To Change The Count Qualifier

    Chapter 7: Using the Emulation Analyzer Qualifying Trigger and Store Conditions To change the count qualifier • Use the counting option in the trace command. After initializing the analyzer, the default count qualifier is "off". When counting is turned OFF, up to 1024 states can be stored in the trace. When you count states, the counter is incremented each time the state is captured (not necessarily stored) by the analyzer.
  • Page 212 Chapter 7: Using the Emulation Analyzer Qualifying Trigger and Store Conditions Examples Suppose you want to know how many loops of the program occur between calls of the "do_sort" function. To change the count qualifier to count a state that occurs once for each loop of the program, enter: trace only do_sort status exec counting state main."main.c": line 102 status exec <RETURN>...
  • Page 213: To Trace Until The Analyzer Is Halted

    Chapter 7: Using the Emulation Analyzer Qualifying Trigger and Store Conditions To trace until the analyzer is halted • Choose Trace→Until Stop. • Using the command line, enter the trace on_halt command. The trace on_halt command allows you to prevent triggering. In other words, the trace runs until you enter the stop_trace command.
  • Page 214: To Break Emulator Execution On The Analyzer Trigger

    Chapter 7: Using the Emulation Analyzer Qualifying Trigger and Store Conditions To break emulator execution on the analyzer trigger • Enter a trigger state specification in the entry buffer; then, choose Trace→Until (). • When displaying memory in mnemonic format, position the mouse pointer over the program line which you wish to trace before, press and hold the select mouse button and choose Trace Until from the popup menu.
  • Page 215: Using The Sequencer

    Chapter 7: Using the Emulation Analyzer Using the Sequencer Using the Sequencer When you use the analyzer’s sequencer, you can specify traces that trigger on a series, or sequence, of states. You can specify a state which, when found, causes the analyzer to restart the search for the sequence of states.
  • Page 216 Chapter 7: Using the Emulation Analyzer Using the Sequencer Examples In the demo program, suppose you wish to trigger on the following sequence of events: the "save_points" function, the "interrupt_sim" function, and finally the "do_sort" function. Also, suppose you wish to store only opcode fetches of the assembly language PUSH BP instruction (whose opcode is 55H) to show function entry addresses.
  • Page 217: To Specify A Global Restart State

    Chapter 7: Using the Emulation Analyzer Using the Sequencer To specify a global restart state • Use the restart option to the trace command. When using the analyzer’s sequencer, an additional sequence restart term is also allowed. This restart is a "global restart"; that is, it applies to all the sequence terms. The restart term is a state which, when captured before the analyzer has found the trigger state, causes the search for the sequence of states to start over.
  • Page 218: To Trace "Windows" Of Program Execution

    Chapter 7: Using the Emulation Analyzer Using the Sequencer Notice in the preceding trace (you may have to press <PREV> in order to see the states captured prior to the trigger) that, in addition to states captured in the sequence, "sq adv" is also shown next to states which cause a sequencer restart. To trace "windows"...
  • Page 219 Chapter 7: Using the Emulation Analyzer Using the Sequencer If you wish to combine the windowing and sequencing functions of the analyzer, there are some restrictions: • Up to four sequence terms are available when windowing is in effect. • Global restart is not available when windowing is in effect.
  • Page 220: Modifying The Trace Display

    Chapter 7: Using the Emulation Analyzer Modifying the Trace Display Modifying the Trace Display This section describes the options available when displaying trace lists. This section describes how to: • Display the trace about a line number. • Display the trace in absolute format. •...
  • Page 221: To Display The Trace About A Line Number

    Chapter 7: Using the Emulation Analyzer Modifying the Trace Display To display the trace about a line number • Use the <LINE #> option to the display trace command. The <LINE #> trace display option allows you to specify the line number to be centered in the display.
  • Page 222: To Display The Trace In Absolute Format

    Chapter 7: Using the Emulation Analyzer Modifying the Trace Display To display the trace in absolute format • Use the absolute option to the display trace command. The absolute trace display option allows you to display status information in absolute format (binary, hex, or mnemonic). The absolute status mnemonic display is the same as default mnemonic display, except that opcodes are not disassembled.
  • Page 223: To Display The Trace In Mnemonic Format

    Chapter 7: Using the Emulation Analyzer Modifying the Trace Display To display the trace in mnemonic format • Use the mnemonic option to the display trace command. The mnemonic trace display option allows you to display the trace information in mnemonic format (that is, opcodes and status).
  • Page 224: To Display The Trace With High-Level Source Lines

    Chapter 7: Using the Emulation Analyzer Modifying the Trace Display To display the trace with high-level source lines • Use the set source command. To include high-level source lines in the trace display, you must use the set command. The set command allows you to include symbolic information in trace, memory, register, and software breakpoint displays.
  • Page 225 Chapter 7: Using the Emulation Analyzer Modifying the Trace Display To set the number of source lines to be displayed at 12: set source on number_of_source_lines 12 <RETURN> display trace <RETURN>...
  • Page 226: To Display The Trace With Symbol Information

    Chapter 7: Using the Emulation Analyzer Modifying the Trace Display To display the trace with symbol information The set symbols on/off command allows you to specify that address information be displayed in terms of program symbols. Examples To display the trace with symbol information: set source off symbols on <RETURN>...
  • Page 227: To Change Column Widths In The Trace Display

    Chapter 7: Using the Emulation Analyzer Modifying the Trace Display To change column widths in the trace display • Use the set width command. The set width command allows you to change the width of the address and mnemonic (or absolute) columns in the trace list. Values from one to 80 can be entered.
  • Page 228: To Display Time Counts In Absolute Or Relative Format

    Chapter 7: Using the Emulation Analyzer Modifying the Trace Display To display time counts in absolute or relative format • Use the count option to the display trace command. Count information may be displayed two ways: relative (which is the default), or absolute.
  • Page 229: To Display The Trace With Addresses Offset

    Chapter 7: Using the Emulation Analyzer Modifying the Trace Display To display the trace with addresses offset • Use the offset_by option to the display trace command. The offset_by trace display option allows you to cause the address information in the trace display to be offset by the amount specified.
  • Page 230: To Return To The Default Trace Display

    Chapter 7: Using the Emulation Analyzer Modifying the Trace Display To return to the default trace display • Use the set default command. The set default command allows you to return to the default display. Examples To return to the default trace display: set default <RETURN>...
  • Page 231: To Display External Analyzer Information

    Chapter 7: Using the Emulation Analyzer Modifying the Trace Display To display external analyzer information • Use the external option to the display trace command. The external trace display option allows you to include data from the external analyzer in the trace list. External bits are displayed by default. If you do not wish to have the external bits information in the display, you can turn them off.
  • Page 232: Saving And Restoring Traces

    Chapter 7: Using the Emulation Analyzer Saving and Restoring Traces Saving and Restoring Traces The emulator/analyzer interface allow you to save trace commands and trace lists. You can restore trace commands in order to set up the same trace specification. You can restore traces in order to view trace data captured in the stored trace.
  • Page 233: To Restore Trace Commands

    Chapter 7: Using the Emulation Analyzer Saving and Restoring Traces To restore trace commands • Choose File→Load→Trace Spec. • Using the command line, enter the load trace_spec command. Trace commands that are restored will always work, even if symbols have been changed;...
  • Page 234: To Save Traces

    Chapter 7: Using the Emulation Analyzer Saving and Restoring Traces To save traces • Choose File→Store→Trace Data. • Using the command line, enter the store trace command. You can save a trace to a trace file and reload it at a later time. The trace is saved in a file named "trcfile.TR"...
  • Page 235: To Restore Traces

    Chapter 7: Using the Emulation Analyzer Saving and Restoring Traces To restore traces • Choose File→Load→Trace Data. • Using the command line, enter the load trace command. The restored trace depth is the depth specified when the trace was stored and cannot be increased.
  • Page 237: Making Software Performance Measurements

    Making Software Performance Measurements...
  • Page 238 The SPMT allows you to make some of the measurements that are possible with the HP 64708 Software Performance Analyzer and its Graphical User Interface (HP B1487). The SPMT post-processes information from the analyzer trace list. When you end a performance measurement, the SPMT dumps the post-processed information to a binary file, which is then read using the perf32 report generator utility.
  • Page 239: Activity Performance Measurements

    Chapter 8: Making Software Performance Measurements Activity Performance Measurements Activity Performance Measurements Activity measurements are measurements of the number of accesses (reads or writes) within an address range. The SPMT shows you the percentage of analyzer trace states that are in the specified address range, as well as the percentage of time taken by those states.
  • Page 240 Chapter 8: Making Software Performance Measurements Activity Performance Measurements Program Activity State Percent Rel = 0.18 Abs = 0.18 Mean = 0.90 Sdv = 0.88 Time Percent Rel = 0.16 Abs = 0.16 stack Address Range 40000H thru 43FFFH Memory Activity State Percent Rel = 11.72...
  • Page 241: To Set Up The Trace Command For Activity Measurements

    Chapter 8: Making Software Performance Measurements Activity Performance Measurements Absolute count - state 5120 Absolute count - time - Us 2221.20 This section describes how to: • Set up the trace command for activity measurements. • Initialize activity performance measurements. •...
  • Page 242: To Initialize Activity Performance Measurements

    Chapter 8: Making Software Performance Measurements Activity Performance Measurements Examples To specify a trace depth of 512: display trace depth 512 <RETURN> To trace after any state, store all states, and count time: trace counting time <RETURN> To initialize activity performance measurements •...
  • Page 243 Chapter 8: Making Software Performance Measurements Activity Performance Measurements Initialization with User Defined Ranges You can specifically give the SPMT address ranges to use by placing the information in a file and entering the file name in the performance_measurement_initialize command. Address range files may contain program symbols (procedure name or static), user defined address ranges, and comments.
  • Page 244 Chapter 8: Making Software Performance Measurements Activity Performance Measurements You can also use the local_symbols_in option with procedure symbols; this allows you to measure activity related to the symbols defined in a single function or procedure. Restoring the Current Measurement The performance_measurement_initialize restore command allows you to restore old performance measurement data from the perf.out file in the current directory.
  • Page 245 Chapter 8: Making Software Performance Measurements Activity Performance Measurements Examples Suppose the "addr_ranges" file contains the names of all the functions in the "ecs" demo program loop: combsort do_sort gen_ascii_data get_targets graph_data interrupt_sim proc_specific read_conditions save_points set_outputs strcpy8 update_system write_hdwr Since these labels are program symbols, you do not have to specify the address range associated with each label;...
  • Page 246: To Interpret Activity Measurement Reports

    Chapter 8: Making Software Performance Measurements Activity Performance Measurements To interpret activity measurement reports • View the performance measurement report. Activity measurements are measurements of the number of accesses (reads or writes) within an address range. The reports generated for activity measurements show you the percentage of analyzer trace states that are in the specified address range, as well as the percentage of time taken by those states.
  • Page 247 Chapter 8: Making Software Performance Measurements Activity Performance Measurements Standard Deviation Deviation from the mean of state count. The following equation is used to calculate standard deviation: Where: Number of traces in the measurement. Average number of states in the range per trace. mean Sum of squares of states in the range per trace.
  • Page 248 Chapter 8: Making Software Performance Measurements Activity Performance Measurements Error Tolerance and Confidence Level An approximate error may exist in displayed information. Error tolerance for a level of confidence is calculated using the mean of the standard deviations and the mean of the means. Error tolerance gives an indication of the stability of the information.
  • Page 249 Chapter 8: Making Software Performance Measurements Activity Performance Measurements Label strcpy8 Address Range 800F8H thru 8016CH Memory Activity State Percent Rel = 21.89 Abs = 14.61 Mean = 74.80 Sdv = 154.20 Time Percent Rel = 23.01 Abs = 14.88 Program Activity State Percent Rel =...
  • Page 250 Chapter 8: Making Software Performance Measurements Activity Performance Measurements Address Range 81C88H thru 81CAFH Memory Activity State Percent Rel = 6.82 Abs = 4.55 Mean = 23.30 Sdv = 104.20 Time Percent Rel = 6.04 Abs = 3.90 Program Activity State Percent Rel = 0.00...
  • Page 251 Chapter 8: Making Software Performance Measurements Activity Performance Measurements State Percent Rel = 5.77 Abs = 3.85 Mean = 19.70 Sdv = 88.10 Time Percent Rel = 5.95 Abs = 3.85 Program Activity State Percent Rel = 0.00 Abs = 0.00 Mean = 0.00...
  • Page 252 Chapter 8: Making Software Performance Measurements Activity Performance Measurements Program Activity State Percent Rel = 0.00 Abs = 0.00 Mean = 0.00 Sdv = 0.00 Time Percent Rel = 0.00 Abs = 0.00 proc_spec_init Address Range 81C60H thru 81C87H Memory Activity State Percent Rel = 0.00...
  • Page 253 Chapter 8: Making Software Performance Measurements Activity Performance Measurements Mean Standard Dv 76.34 95% Confidence 146.45% Error tolerance Time count Relative Time - Us 1068.96 No hits within range, Summary not available for Program Activity Absolute Totals Absolute count - state 10240 Absolute count - time - Us 1652.72 The measurements for each label are printed in descending order according to the...
  • Page 254: Duration Performance Measurements

    Chapter 8: Making Software Performance Measurements Duration Performance Measurements Duration Performance Measurements Duration measurements provide a best-case/worst-case characterization of code execution time. These measurements record execution times that fall within a set of specified time ranges. The analyzer trace command is set up to store only the entry and exit states of the module to be measured (for example, a C function or Pascal procedure).
  • Page 255: To Set Up The Trace Command For Duration Measurements

    Chapter 8: Making Software Performance Measurements Duration Performance Measurements If a module is entered at the normal point, and then exited by a point other than the defined exit point, the entry point will be ignored. It will be judged the same as any other unused prefetch, and no time-duration measurement will be made.
  • Page 256 Chapter 8: Making Software Performance Measurements Duration Performance Measurements trace after module_name start or module_name end only module_name start or module_name end counting time <RETURN> Where "symbol_entry" and "symbol_exit" are symbols from the user program. Or, where "module_name" is the name of a C function or Pascal procedure (and is listed as a procedure symbol in the global symbol display).
  • Page 257: To Initialize Duration Performance Measurements

    Chapter 8: Making Software Performance Measurements Duration Performance Measurements To initialize duration performance measurements • Use the performance_measurement_initialize command with the duration option. After you set up the trace command, you must tell the SPMT the time ranges to be used in the duration measurement.
  • Page 258 Chapter 8: Making Software Performance Measurements Duration Performance Measurements When no user defined time range file is specified, the following set of default time ranges are used. 1 us 10 us 10.1 us 100 us 100.1 us 500 us 500.1 us 1 ms 1.001 ms 5 ms 5.001 ms 10 ms 10.1 ms 20 ms...
  • Page 259: To Interpret Duration Measurement Reports

    Chapter 8: Making Software Performance Measurements Duration Performance Measurements To interpret duration measurement reports • View the performance measurement report. Duration measurements provide a best-case/worst-case characterization of code execution time. These measurements record execution times that fall within a set of specified time ranges.
  • Page 260 Chapter 8: Making Software Performance Measurements Duration Performance Measurements Standard Deviation Deviation from the mean of time. The following equation is used to calculate standard deviation: Where: Number of intervals. mean Average time. Sum of squares of time in the intervals. sumq Error Tolerance and Confidence Level An approximate error may exist in displayed information.
  • Page 261 Chapter 8: Making Software Performance Measurements Duration Performance Measurements Mean of the means (i.e., mean of the average times in each time range). Examples Consider the following duration measurement report (generated with the commands shown): display trace depth 512 <RETURN> trace after interrupt_sim start or interrupt_sim end only interrupt_sim start or interrupt_sim end counting time <RETURN>...
  • Page 262 Chapter 8: Making Software Performance Measurements Duration Performance Measurements From Address 800F7 File main(module)."/users/guest/demo/debug_env/hp64767/main.c" Symbolic Reference at interrupt_sim+A6 To Address 80051 File main(module)."/users/guest/demo/debug_env/hp64767/main.c" Symbolic Reference at _interrupt_sim Number of intervals 1270 Maximum Time 132505.760 us Minimum Time 99983.480 us Avg Time 109555.798 us Statistical summary - for 10 traces...
  • Page 263: Running Measurements And Creating Reports

    Chapter 8: Making Software Performance Measurements Running Measurements and Creating Reports Running Measurements and Creating Reports Several performance measurement tasks are the same whether you are making activity or duration measurements. This section describes how to: • Run performance measurements. •...
  • Page 264: To End Performance Measurements

    Chapter 8: Making Software Performance Measurements Running Measurements and Creating Reports Examples To run the performance measurement, enter the following command: performance_measurement_run 20 <RETURN> The command above causes 20 traces to occur. The SPMT processes the trace information after each trace, and the number of the trace being processed is shown on the status line.
  • Page 265: To Create A Performance Measurement Report

    Chapter 8: Making Software Performance Measurements Running Measurements and Creating Reports To create a performance measurement report • Use the perf32 command at the UNIX prompt. The perf32 report generator utility must be used to read the information in the "perf.out"...
  • Page 266 Chapter 8: Making Software Performance Measurements Running Measurements and Creating Reports Examples Now, to generate a report from the "perf.out" file, type the following on the command line to fork a shell and run the perf32 utility: !perf32 | more...
  • Page 267: Using The External State Analyzer

    Using the External State Analyzer...
  • Page 268 Using the External State Analyzer The HP 64703A analyzer provides an external analyzer with 16 external trace channels. These trace channels allow you to capture activity on signals external to the emulator, typically other target system signals. The external analyzer may be configured as an extension to the emulation analyzer, as an independent state analyzer, or as an independent timing analyzer.
  • Page 269: Setting Up The External Analyzer

    Setting Up the External Analyzer Setting Up the External Analyzer This section assumes you have already connected the external analyzer probe to the HP 64700 Card Cage. Before you can use the external analyzer, you must: • Connect the external analyzer probe to the target system.
  • Page 270: To Connect The External Analyzer Probe To The Target System

    Chapter 9: Using the External State Analyzer Setting Up the External Analyzer To connect the external analyzer probe to the target system 1 Assemble the Analyzer Probe. The analyzer probe is a two-piece assembly, consisting of ribbon cable and 18 probe wires (16 data channels and the J and K clock inputs) attached to a connector. Either end of the ribbon cable may be connected to the 18 wire connector, and the connectors are keyed so they may only be attached one way.
  • Page 271 Chapter 9: Using the External State Analyzer Setting Up the External Analyzer 2 Attach grabbers to probe wires. Each of the 18 probe wires has a signal and a ground connection. Each probe wire is labeled for easy identification. Thirty-six grabbers are provided for the signal and ground connections of each of the 18 probe wires.
  • Page 272 Chapter 9: Using the External State Analyzer Setting Up the External Analyzer CAUTION Turn OFF target system power before connecting analyzer probe wires to the target system. The probe grabbers are difficult to handle with precision, and it is extremely easy to short the pins of a chip (or other connectors which are close together) with the probe wire while trying to connect it.
  • Page 273: Configuring The External Analyzer

    Chapter 9: Using the External State Analyzer Configuring the External Analyzer Configuring the External Analyzer After you have assembled the external analyzer probe and connected it to the emulator and target system, the next step is to configure the external analyzer. The external analyzer is a versatile instrument, and you can configure it to suit your needs.
  • Page 274: To Control The External Analyzer With The Emulator/Analyzer Interface

    Chapter 9: Using the External State Analyzer Configuring the External Analyzer To control the external analyzer with the emulator/analyzer interface 1 Enter the modify configuration command. 2 Answer "yes" to the "Modify external analyzer configuration?" question. 3 Answer the "Should emulation control the external bits?" question. Answer "yes"...
  • Page 275: To Specify The Threshold Voltage

    Chapter 9: Using the External State Analyzer Configuring the External Analyzer To specify the threshold voltage 1 Enter the modify configuration command. 2 Answer "yes" to the "Modify external analyzer configuration?" question. 3 Answer "yes" to the "Should emulation control the external bits?" question. 4 Answer the "Threshold voltage for bits 0-7 and J clock?"...
  • Page 276: To Specify The External Analyzer Mode

    Chapter 9: Using the External State Analyzer Configuring the External Analyzer To specify the external analyzer mode 1 Enter the modify configuration command. 2 Answer "yes" to the "Modify external analyzer configuration?" question. 3 Answer "yes" to the "Should emulation control the external bits?" question. 4 Answer the "External analyzer mode?"...
  • Page 277: To Specify The Slave Clock Mode

    Chapter 9: Using the External State Analyzer Configuring the External Analyzer To specify the slave clock mode 1 Enter the modify configuration command. 2 Answer "yes" to the "Modify external analyzer configuration?" question. 3 Answer "yes" to the "Should emulation control the external bits?" question. 4 Answer "state"...
  • Page 278 Chapter 9: Using the External State Analyzer Configuring the External Analyzer If no slave clock has appeared since the last master clock, the data on the lower 8 bits of the pod will be latched at the same time as the upper 8 bits. If more than one slave clock has appeared since the last master clock, only the first slave data will be available to the analyzer (see the figure below).
  • Page 279 Chapter 9: Using the External State Analyzer Configuring the External Analyzer Answer "demux" to specify the true demultiplexing mode. In this mode, only the lower eight external channels (0-7) are used. The slave clock (as specified by your answers to the next four questions) latches these bits and the emulation clock samples the same channels again.
  • Page 280: To Define Labels For The External Analyzer Signals

    Chapter 9: Using the External State Analyzer Configuring the External Analyzer If no slave clock has appeared since the last master clock, the data on the lower 8 bits of the pod will be the same as the upper 8 bits. If more than one slave clock has appeared since the last master clock, only the first slave data will be available to the analyzer.
  • Page 281 Chapter 9: Using the External State Analyzer Configuring the External Analyzer to extend past bit 15. Thus, the sum of the start bit number plus the width must not exceed 16. The "polarity?" question allows you to specify positive or negative logic for the external bits.
  • Page 283: Making Coordinated Measurements

    Making Coordinated Measurements...
  • Page 284 Measurement Bus (CMB), you can start and stop up to 32 emulators at the same time. You can use the analyzer in one HP 64700 to arm (that is, activate) the analyzers in other HP 64700 Card Cages or to cause emulator execution in other HP 64700 Card Cages to break into the monitor.
  • Page 285 The location of the CMB and BNC connectors on the HP 64700 rear panel is shown in the following figure. CMB Connector BNC Connector Signal Lines on the CMB There are three bi-directional signal lines on the CMB connector on the rear panel of the emulator.
  • Page 286 READY false and will hold it false until it is ready to resume running. When an emulator is reset, it also drives CMB READY false. EXECUTE The CMB EXECUTE line is low true. Any HP 64700 on the CMB can drive this line. It serves as a global interrupt and is processed by both the emulator and the analyzer.
  • Page 287: Setting Up For Coordinated Measurements

    RS-232C communications. Applying RS-232C signals to the CMB connector is likely to result in damage to the HP 64700 Card Cage. To use the CMB, you will need one CMB cable for the first two emulators and one additional cable for every emulator after the first two.
  • Page 288 Chapter 10: Making Coordinated Measurements Setting Up for Coordinated Measurements 1 Connect the cables to the HP 64700 CMB ports.
  • Page 289: To Connect To The Rear Panel Bnc

    * A modification must be performed by your HP Customer Engineer. Emulators using the CMB must use background emulation monitors. At least 3/4 of the HP 64700-Series emulators connected to the CMB must be powered up before proper operation of the entire CMB configuration can be assured.
  • Page 290 Chapter 10: Making Coordinated Measurements Setting Up for Coordinated Measurements 1 Connect one end of a 50 ohm coaxial cable with male BNC connectors to the HP 64700 BNC receptacle and the other end to the appropriate BNC receptacle on the other measuring instrument.
  • Page 291: Starting/Stopping Multiple Emulators

    Chapter 10: Making Coordinated Measurements Starting/Stopping Multiple Emulators Starting/Stopping Multiple Emulators When HP 64700 Card Cages are connected together via the Coordinated Measurement Bus (CMB), you can start and stop up to 32 emulators at the same time. These are called synchronous measurements.
  • Page 292: To Start Synchronous Measurements

    Chapter 10: Making Coordinated Measurements Starting/Stopping Multiple Emulators When you enter a normal trace command, trace at execute is disabled, and the analyzer ignores the CMB EXECUTE signal. Examples To enable synchronous measurements: specify run from 1e8h <RETURN> To trace when synchronous execution begins: specify trace after address main <RETURN>...
  • Page 293: Using Trigger Signals

    Using Trigger Signals The HP 64700 contains two internal lines, trig1 and trig2, over which trigger signals can pass from the emulator or analyzer to other HP 64700s on the Coordinated Measurement Bus (CMB) or other instruments connected to the BNC connector.
  • Page 294 CMB connector or BNC connector so that, when the analyzer finds its trigger condition, a trigger signal is driven on the HP 64700’s Coordinated Measurement Bus (CMB) or BNC connector. This can also be done for the external analyzer when it is configured as an independent state or timing analyzer.
  • Page 295: To Drive The Emulation Analyzer Trigger Signal To The Cmb

    Chapter 10: Making Coordinated Measurements Using Trigger Signals This section shows you how to: • Drive the emulation analyzer trigger signal to the CMB. • Drive the emulation analyzer trigger signal to the BNC connector. • Drive the external analyzer trigger signal to the CMB. •...
  • Page 296: To Drive The Emulation Analyzer Trigger Signal To The Bnc Connector

    Chapter 10: Making Coordinated Measurements Using Trigger Signals To drive the emulation analyzer trigger signal to the BNC connector 1 Enter the modify configuration command. 2 Answer "yes" to the "Modify interactive measurement specification?" question. 3 Answer "receive" to the "Should BNC drive or receive Trig1?" question. You could also drive the emulation analyzer trigger to the BNC over the trig2 internal line by specifying that the BNC should receive trig2 and that the emulation analyzer should drive trig2.
  • Page 297: To Drive The External Analyzer Trigger Signal To The Bnc Connector

    Chapter 10: Making Coordinated Measurements Using Trigger Signals To drive the external analyzer trigger signal to the BNC connector 1 Enter the modify configuration command. 2 Answer "yes" to the "Modify interactive measurement specification?" question. 3 Answer "receive" to the "Should BNC drive or receive Trig2?" question. 4 Answer "drive"...
  • Page 298: To Break Emulator Execution On Signal From Bnc

    Chapter 10: Making Coordinated Measurements Using Trigger Signals To break emulator execution on signal from BNC 1 Enter the modify configuration command. 2 Answer "yes" to the "Modify interactive measurement specification?" question. 3 Answer "drive" to the "Should BNC drive or receive Trig1?" question. You could also break emulator execution on a trigger signal from the BNC over the trig2 internal line by specifying that the BNC should drive trig2 and that the emulator break should receive trig2.
  • Page 299: To Arm The Emulation Analyzer On Signal From Cmb

    Chapter 10: Making Coordinated Measurements Using Trigger Signals To arm the emulation analyzer on signal from 1 Enter the modify configuration command. 2 Answer "yes" to the "Modify interactive measurement specification?" question. 3 Answer "drive" to the "Should CMBT drive or receive Trig2?" question. 4 Answer "receive"...
  • Page 300: To Arm The Emulation Analyzer On External Analyzer Trigger

    Chapter 10: Making Coordinated Measurements Using Trigger Signals To arm the emulation analyzer on external analyzer trigger 1 Enter the modify configuration command. 2 Answer "yes" to the "Modify interactive measurement specification?" question. 3 Answer "receive" to the "Should Analyzer drive or receive Trig2?" question. 4 Answer "drive"...
  • Page 301: To Arm The External Analyzer On Signal From Bnc

    Chapter 10: Making Coordinated Measurements Using Trigger Signals To arm the external analyzer on signal from BNC 1 Enter the modify configuration command. 2 Answer "yes" to the "Modify interactive measurement specification?" question. 3 Answer "drive" to the "Should BNC drive or receive Trig2?" question. 4 Answer "receive"...
  • Page 303: Setting X Resources

    Setting X Resources...
  • Page 304 Resources specifications in later files override those in earlier files. Files are read in the following order: The application defaults file. For example, /usr/lib/X11/app-defaults/HP64_Softkey in HP-UX or /usr/openwin/lib/X11/app-defaults/HP64_Softkey in SunOS. The $XAPPLRESDIR/HP64_Softkey file. (The XAPPLRESDIR environment variable defines a directory containing system-wide custom application defaults.)
  • Page 305 Chapter 11: Setting X Resources Resource specifications included in the command line with the -xrm option. System scheme files in directory /usr/hp64000/lib/X11/HP64_schemes. System-wide custom scheme files located in directory $XAPPLRESDIR/HP64_schemes. User-defined scheme files located in directory $HOME/.HP64_schemes (note the dot in the directory name). Scheme files group resource specifications for different displays, computing environments, and languages.
  • Page 306: To Modify The Graphical User Interface Resources

    Application Resources for Schemes Resource Values Description HP64_Softkey.platformScheme HP-UX Names the subdirectory for platform SunOS specific schemes. This resource should be (custom) set to the platform on which the X server is running (and displaying the Graphical User Interface) if it is different than the platform where the application is running.
  • Page 307 Chapter 11: Setting X Resources To modify the Graphical User Interface resources Commonly Modified Application Resources Resource Values Description HP64_Softkey.lines Specifies the number of lines in the main (min. 18) display area. HP64_Softkey.columns Specifies the number of columns, in (min. 80) characters, in the main display area.
  • Page 308 The HP64_Softkey file contains the default definitions for the graphical interface application’s X resources. For example, on an HP 9000 computer you can use the following command to copy the complete HP64_Softkey file to HP64_Softkey.tmp (note that the HP64_Softkey file is several hundred lines long): cp /usr/lib/X11/app-defaults/HP64_Softkey HP64_Softkey.tmp...
  • Page 309 !HP64_Softkey.columns: Save your changes and exit the editor. 3 If the RESOURCE_MANAGER property exists (as is the case with HP VUE — if you’re not sure, you can check by entering the xrdb -query command), use the xrdb command to add the resources to the RESOURCE_MANAGER property. For example: xrdb -merge -nocpp HP64_Softkey.tmp...
  • Page 310: To Use Customized Scheme Files

    3 Modify the $HOME/.HP64_schemes/<platform>/Softkey.<scheme> file. For example, you could modify the "$HOME/.HP64_schemes/HP-UX/Softkey.MyColor" file to change the defined foreground and background colors. Also, since the scheme file name is different than the default, you could comment out various resource settings to cause general foreground and background color definitions to apply to the Graphical User Interface.
  • Page 311 For example, to use the "$HOME/.HP64_schemes/HP-UX/Softkey.MyColor" color scheme file you would set the "HP64_Softkey.colorScheme" resource to "MyColor":...
  • Page 312: To Set Up Custom Action Keys

    Chapter 11: Setting X Resources To set up custom action keys To set up custom action keys • Modify the "actionKeysSub.keyDefs" resource. The "actionKeysSub.keyDefs" resource defines a list of paired strings. The first string defines the text that should appear on the action key pushbutton. The second string defines the command that should be sent to the command line area and executed when the action key is pushed.
  • Page 313: To Set Initial Recall Buffer Values

    Chapter 11: Setting X Resources To set initial recall buffer values To set initial recall buffer values • Modify the "entries" resource for the particular recall buffer. There are six popup recall buffers present in the Graphical User Interface. The resources for these popup recall buffers are listed in the following table.
  • Page 314 Chapter 11: Setting X Resources To set initial recall buffer values Examples To set the initial values for the directory selection dialog box when the Graphical User Interface is used with 80186/8/XL/EA/EB emulators, modify the "*i186xl*dirSelectSub.entries" resource: *i186xl*dirSelectSub.entries: \ "$HOME" \ ".."...
  • Page 315: To Set Up Demos Or Tutorials

    Chapter 11: Setting X Resources To set up demos or tutorials To set up demos or tutorials You can add demos or tutorials to the Graphical User Interface by modifying the resources described in the following tables. Demo Related Component Resources Resource Value Description...
  • Page 316 Chapter 11: Setting X Resources To set up demos or tutorials Tutorial Related Component Resources Resource Value Description *enableTutorial False Specifies whether True Help→Tutorial appears in the pulldown menu. *tutorialPopupSub.indexFile ./Xtutorial/Index-topics Specifies the file containing the list of topic and file pairs. *tutorialPopup.textColumns Specifies the width, in characters, of the of the tutorial...
  • Page 317 Chapter 11: Setting X Resources To set up demos or tutorials 2 Create the demo or tutorial index file. Each line in the index file contains first a quoted string that is the name of the topic which appears in the index popup and second the name of the file that is raised when the topic is selected.
  • Page 319: Part 3 Reference

    Part 3 Reference Descriptions of the product in a dictionary or encyclopedia format.
  • Page 320 Part 3...
  • Page 321: Emulator/Analyzer Interface Commands

    Emulator/Analyzer Interface Commands...
  • Page 322: How Pulldown Menus Map To The Command Line

    Emulator/Analyzer Interface Commands This chapter describes the emulator/analyzer interface commands in alphabetical order. First, the syntax conventions are described and the commands are summarized. How Pulldown Menus Map to the Command Line The following table shows the items available in the pulldown menus and the command line commands to which they map.
  • Page 323 Chapter 12: Emulator/Analyzer Interface Commands Pulldown Command Line File→Log→Playback <command file> File→Log→Record log_commands to File→Log→Stop log_commands off File→Emul700→High-Level Debugger File→Emul700→Performance Analyzer File→Emul700→Emulator/Analyzer File→Emul700→Timing Analyzer File→Edit→File ! vi <file> ! no_prompt_before_exit File→Edit→At () Location ! vi +<line> <file> ! no_prompt_before_exit File→Edit→At PC Location ! vi +<line>...
  • Page 324 Chapter 12: Emulator/Analyzer Interface Commands Pulldown Command Line Display→Trace display trace Display→Registers display registers Display→Breakpoints display software_breakpoints Display→Status display status display simulated_io Display→Simulated IO Display→Global Symbols display global_symbols Display→Local Symbols () display local_symbols_in --SYMB-- Display→Pod Commands display pod_command Display→Error Log display error_log Display→Event Log display event_log...
  • Page 325 Chapter 12: Emulator/Analyzer Interface Commands Pulldown Command Line Breakpoints→Display display software_breakpoints Breakpoints→Enable modify software_breakpoints enable/disable Breakpoints→Permanent () modify software_breakpoints set --EXPR-- permanent Breakpoints→Temporary () modify software_breakpoints set --EXPR-- temporary Breakpoints→Set All modify software_breakpoints set Breakpoints→Clear () modify software_breakpoints clear --EXPR-- Breakpoints→Clear All modify software_breakpoints clear Trace→Display...
  • Page 326: How Popup Menus Map To The Command Line

    Chapter 12: Emulator/Analyzer Interface Commands How Popup Menus Map to the Command Line The following tables show the items available in the popup menus and the command line commands to which they map. Mnemonic Memory Display Popup Command Line Set/Clear Breakpoint modify software_breakpoints set/clear --EXPR-- Edit Source ! vi +<line>...
  • Page 327 Chapter 12: Emulator/Analyzer Interface Commands Status Line Popup Command Line Remove Temporary Message Display Error Log display error_log Display Event Log display event_log Command Line On/Off (toggles command line) Command Line Popup Command Line Position Cursor, Replace Mode <INSERT CHAR> key (when in insert mode) Position Cursor, Insert Mode <INSERT CHAR>...
  • Page 328: Syntax Conventions

    Chapter 12: Emulator/Analyzer Interface Commands Syntax Conventions Conventions used in the command syntax diagrams are defined below. Oval-shaped Symbols Oval-shaped symbols show options available on the softkeys and other commands that are available, but do not appear on softkeys (such as log_commands and wait). These appear in the syntax diagrams as: Rectangular-shaped Symbols Rectangular-shaped symbols contain prompts or references to other syntax...
  • Page 329: Commands

    Chapter 12: Emulator/Analyzer Interface Commands Commands Emulator/analyzer interface commands are summarized in the table below and described in the following pages. !UNIX_COMMAND display event_log modify keyboard_to_simio bbaunload display global_symbols modify memory break display io_port modify register cd (change directory) display local_symbols_in modify software_breakpoints cmb_execute display memory...
  • Page 330: Break

    Chapter 12: Emulator/Analyzer Interface Commands break break This command causes the emulator to leave user program execution and begin executing in the monitor. The behavior of break depends on the state of the emulator: running Break diverts the processor from execution of your program to the emulation monitor.
  • Page 331: Bbaunld

    BBA information to a file. Then, you can generate reports based on the stored information. See Also Refer to the HP Branch Validator (BBA) User’s Guide for complete details on the bbaunload command syntax.
  • Page 332: Cmb_Execute

    Chapter 12: Emulator/Analyzer Interface Commands cmb_execute cmb_execute The cmb_execute command causes the emulator to emit an EXECUTE pulse on its rear panel Coordinated Measurement Bus (CMB) connector. All emulators connected to the CMB (including the one sending the CMB EXECUTE pulse) and configured to respond to this signal will take part in the measurement.
  • Page 333: Copy

    Chapter 12: Emulator/Analyzer Interface Commands copy copy Use this command with various parameters to save or print emulation and analysis information. The copy command copies selected information to your system printer or listing file, or directs it to an UNIX process.
  • Page 334 Chapter 12: Emulator/Analyzer Interface Commands copy Depending on the information you choose to copy, default values may be options selected for the previous execution of the display command. For example, if you display memory locations 10h through 20h, then issue a copy memory to myfile command, myfile will list only memory locations 10h through 20h.
  • Page 335 Copies the information into a file without headings. pod_command This allows you to copy the most recent commands sent to the HP 64700 Series emulator/analyzer. printer This option specifies your system printer as the destination device for the copy command.
  • Page 336: Copy Io_Port

    Chapter 12: Emulator/Analyzer Interface Commands copy io_port copy io_port This command copies the current values at I/O port locations to the selected destination. The I/O port contents are copied in the same format as specified in the last display memory command. Contents of I/O ports can be displayed if program runs are not restricted to real-time.
  • Page 337 Chapter 12: Emulator/Analyzer Interface Commands copy io_port specified in both commands is copied to the destination specified in the current command. Data is formatted as specified in the current command. The comma is also used as a delimiter between I/O port address values. Examples copy io_port 1h , 45h , 60h thru 80h , 0ffh to printer...
  • Page 338: Copy Local_Symbols_In

    Chapter 12: Emulator/Analyzer Interface Commands copy local_symbols_in copy local_symbols_in This command lets you copy local symbols contained in a source file and relative segments (program, data, or common) to the selected destination. Local symbols are symbols that are children of the particular file or symbol defined by --SYMB--, that is, they are defined in that file or scope.
  • Page 339: Copy Memory

    Chapter 12: Emulator/Analyzer Interface Commands copy memory copy memory This command copies the contents of a memory location or series of locations to the specified output. The memory contents are copied in the same format as specified in the last display memory command.
  • Page 340 Chapter 12: Emulator/Analyzer Interface Commands copy memory The parameters are as follows: --EXPR-- An expression is a combination of numeric values, symbols, operators, and parentheses, specifying a memory address or offset value. See the EXPR syntax diagram. A comma used immediately after memory in the command line appends the current copy memory command to the preceding display memory command.
  • Page 341: Copy Registers

    Chapter 12: Emulator/Analyzer Interface Commands copy registers copy registers This command copies the contents of the processor registers to a file or printer. The copy register process does not occur in real-time. The emulation system must be configured for nonreal-time operation to list the registers while the processor is running.
  • Page 342: Copy Trace

    Chapter 12: Emulator/Analyzer Interface Commands copy trace copy trace This command copies the contents of the trace buffer to a file or to the printer. Trace information is copied in the same format as specified in the last display trace command.
  • Page 343: Display

    Chapter 12: Emulator/Analyzer Interface Commands display display This command displays selected information on your screen. You can use the <Up arrow>, <Down arrow>, <PREV>, and <NEXT> keys to view the displayed information. For software_breakpoints, data, memory, and trace displays you can use the <CTRL>g and <CTRL>f keys to scroll left and right if the information goes past the edge of the screen.
  • Page 344 Chapter 12: Emulator/Analyzer Interface Commands display event_log This option displays the recorded list of events. global_symbols This option lets you display a list of all global symbols in memory. local_symbols_in This option lets you display all the children of a given symbol. See the --SYMB-- syntax page and the Symbolic Retrieval Utilities User’s Guide for details on symbol hierarchy.
  • Page 345: Display Data

    Chapter 12: Emulator/Analyzer Interface Commands display data display data The display data command can display the values of simple data types in your program. Using this command can save you time; otherwise, you would need to search through memory displays for the location and value of a particular variable. The address, identifier, and data value of each symbol may be displayed.
  • Page 346 Chapter 12: Emulator/Analyzer Interface Commands display data Symbols are normally set off until you give the command set symbols on. Otherwise, only the address, data type, and value of the data item will be displayed. The parameters are as follows: A leading comma allows you to append additional expressions to the previous display data command.
  • Page 347 Chapter 12: Emulator/Analyzer Interface Commands display data Examples display data Msg_A thru +17 char , Stack long <RETURN> set symbols on <RETURN> set width label 30 <RETURN> display data , Msg_B thru +17 char , Msg_Dest thru +17 char <RETURN> See Also The copy data and set commands.
  • Page 348: Display Global_Symbols

    Chapter 12: Emulator/Analyzer Interface Commands display global_symbols display global_symbols This command displays the global symbols defined for the current absolute file. Global symbols are symbols declared as global in the source file. They include procedure names, variables, constants, and file names. When the display global_symbols command is used, the listing will include the symbol name and its logical address.
  • Page 349: Display Io_Port

    Chapter 12: Emulator/Analyzer Interface Commands display io_port display io_port This command displays the contents of the specified I/O port location or series of locations. Initial values are the same as specified by the command: display io_port 0 absolute bytes Defaults are values specified in a previous display io_port command. The parameters are as follows: absolute Formats the I/O port listing in a single column.
  • Page 350 Chapter 12: Emulator/Analyzer Interface Commands display io_port --EXPR-- An expression is a combination of numeric values, symbols, operators, and parentheses, specifying an I/O port address. See the EXPR syntax diagram. repetitively Updates the I/O port listing display continuously. You should only use this to monitor I/O ports while running user code, since it is very CPU intensive.
  • Page 351: Display Local_Symbols_In

    Chapter 12: Emulator/Analyzer Interface Commands display local_symbols_in display local_symbols_in Displays the local symbols in a specified source file and their relative segment (program, data, or common). Local symbols of --SYMB-- are the ones which are children of the file and/or scope specified by --SYMB--.
  • Page 352: Display Memory

    Chapter 12: Emulator/Analyzer Interface Commands display memory display memory This command displays the contents of the specified memory location or series of locations.
  • Page 353 Chapter 12: Emulator/Analyzer Interface Commands display memory The memory contents can be displayed in mnemonic, hexadecimal, or real number format. In addition, the memory addresses can be listed offset by a value, which allows the information to be easily compared to the program listing. When displaying memory mnemonic and stepping, the next instruction that will step is highlighted.
  • Page 354 Chapter 12: Emulator/Analyzer Interface Commands display memory mnemonic This causes the memory listing to be formatted in assembly language instruction mnemonics with associated operands. When specifying mnemonic format, you should include a starting address that corresponds to the first byte of an operand to ensure that the listed mnemonics are correct.
  • Page 355 Chapter 12: Emulator/Analyzer Interface Commands display memory display memory 2000h thru 202fh , 2100h real long <RETURN> display memory 400h mnemonic <RETURN> set symbols on <RETURN> set source on <RETURN> display memory main mnemonic <RETURN> See Also The copy memory, modify memory, set, and store memory commands.
  • Page 356: Display Registers

    Chapter 12: Emulator/Analyzer Interface Commands display registers display registers This command displays the current contents of the emulation processor registers. If a step command just executed, the mnemonic representation of the last instruction is also displayed, if the current display is the register display. This process does not occur in real-time.
  • Page 357: Display Simulated_Io

    Chapter 12: Emulator/Analyzer Interface Commands display simulated_io display simulated_io This command displays information written to the simulated I/O display buffer. After you have enabled polling for simulated I/O during the emulation configuration process, six simulated I/O addresses can be defined. You then define files used for standard input, standard output, and standard error.
  • Page 358: Display Software_Breakpoints

    Chapter 12: Emulator/Analyzer Interface Commands display software_breakpoints display software_breakpoints This command displays the currently defined software breakpoints and their status. If the emulation session is continued from a previous session, the listing will include any previously defined breakpoints. The column marked "status" shows whether the breakpoint is pending, inactivated, or unknown.
  • Page 359: Display Trace

    Chapter 12: Emulator/Analyzer Interface Commands display trace display trace This command displays the contents of the trace buffer. Captured information can be presented as absolute hexadecimal values or in mnemonic form. The processor status values captured by the analyzer can be listed mnemonically or in hexadecimal or binary form.
  • Page 360 Chapter 12: Emulator/Analyzer Interface Commands display trace Addresses captured by the analyzer are physical addresses. The offset_by option subtracts the specified offset from the addresses of the executed instructions before listing the trace. With an appropriate entry for offset, each instruction in the listed trace will appear as it does in the assembled or compiled program listing.
  • Page 361 Chapter 12: Emulator/Analyzer Interface Commands display trace external binary Displays the external analyzer trace list in binary format. <external This option displays a defined external analyzer label. _label> Displays the external analyzer trace list in hexadecimal format. Use this option to turn off the external trace list display. then This allows you to display multiple external analysis labels.
  • Page 362 Chapter 12: Emulator/Analyzer Interface Commands display trace status binary Lists absolute status information in binary form. Lists absolute status information in hexadecimal form. mnemonic Lists absolute status information in mnemonic form. Examples display trace count absolute <RETURN> display trace absolute status binary <RETURN> display trace mnemonic <RETURN>...
  • Page 363: End

    The emulation system is released for other users. If you do not release the emulation system when ending, others cannot access it. Examples end <RETURN> end release_system <RETURN> See Also The "Exiting the Emulator/Analyzer Interface" section in the "Starting and Exiting HP 64700 Interfaces" chapter.
  • Page 364: Expr

    Chapter 12: Emulator/Analyzer Interface Commands --EXPR-- --EXPR-- An expression is a combination of numeric values, symbols, operators, and parentheses used to specify address, data, status, executed address, or any other value used in the emulation commands. The function of an expression (--EXPR--) is to let you define the address, data, status, or executed address expression that fits your needs.
  • Page 365 Chapter 12: Emulator/Analyzer Interface Commands --EXPR-- valid when "C" appears on the status line, which indicates a valid expression has been defined. <NUMBER> This can be an integer in any base (binary, octal, decimal, or hexadecimal), or can be a string of characters enclosed with quotation marks. <OP>...
  • Page 366 Chapter 12: Emulator/Analyzer Interface Commands --EXPR-- disp_buf thru +25 is the same as disp_buf thru disp_buf + 25 Examples 05fxh 0ffffh disp_buf + 5 symb_tbl + (offset / 2) start mod_name: line 15 end See Also The SYMB syntax description.
  • Page 367: Forward

    Chapter 12: Emulator/Analyzer Interface Commands forward forward This command lets you forward commands to other HP 64700 interfaces that use the "emul700dmn" daemon process to coordinate actions between the interfaces. Sends messages to the Broadcast Message Server or BMS. <COMMAND>...
  • Page 368: Help

    Chapter 12: Emulator/Analyzer Interface Commands help help Displays information about system and emulation features during an emulation session. Typing help or ? displays softkey labels that list the options on which you may receive help. When you select an option, the system will list the information to the screen.
  • Page 369 Chapter 12: Emulator/Analyzer Interface Commands help store copy reset stop_trace software_breakpoints registers expressions (--EXPR--) symbols (--SYMB--) specify cmb_execute wait pod_command bbaunload coverage performance_measurement_initialize performance_measurement_run performance_measurement_end...
  • Page 370: Load

    Chapter 12: Emulator/Analyzer Interface Commands load load This command transfers absolute files from the host computer into emulation or target system RAM. With other parameters, the load command can load emulator configuration files, trace records, trace specifications, or symbol files. The absolute file contains information about where the file is stored.
  • Page 371 Chapter 12: Emulator/Analyzer Interface Commands load The parameters are as follows: configuration This option specifies that a previously created emulation configuration file will be loaded into the emulator. You can follow this option with a file name. Otherwise the previously loaded configuration will be reloaded. emul_mem Loads only those portions of the absolute file that reside in memory ranges mapped as emulation memory.
  • Page 372: Log_Commands

    Chapter 12: Emulator/Analyzer Interface Commands log_commands log_commands This command allows you to record commands that are executed during an emulation session. Commands executed during an emulation session are stored in a file until this feature is turned off. This is a handy method for creating command files. To execute the saved commands after the file is closed, type the filename on the command line.
  • Page 373: Modify

    Chapter 12: Emulator/Analyzer Interface Commands modify modify This command allows you to observe or change information specific to the emulator. The modify command is used to: • Modify contents of memory (as integers, strings, or real numbers). • Modify the contents of the processor registers. •...
  • Page 374: Modify Configuration

    Chapter 12: Emulator/Analyzer Interface Commands modify configuration modify configuration This command allows you to view and edit the current emulation configuration items. The configuration questions are presented in sequence with either the default response, or the previously entered response. You can select the currently displayed response by pressing <RETURN>.
  • Page 375: Modify Io_Port

    Chapter 12: Emulator/Analyzer Interface Commands modify io_port modify io_port This command lets you write values to I/O port locations. You can modify the contents of individual I/O port locations to individual values. Or, you can modify a range of I/O port locations to a single value or a sequence of values.
  • Page 376 Chapter 12: Emulator/Analyzer Interface Commands modify io_port If the address range contains an odd number of bytes and a word operation is being executed, the last word of the address range will be modified. Thus the I/O port modification will stop one byte after the end of the specified address range. If an error occurs in writing to I/O ports, the modification is aborted at the address where the error occurred.
  • Page 377: Modify Keyboard_To_Simio

    Chapter 12: Emulator/Analyzer Interface Commands modify keyboard_to_simio modify keyboard_to_simio This command allows the keyboard to interact with your program through the simulated I/O software. When the keyboard is activated for simulated I/O, its normal interaction with emulation is disabled. The emulation softkeys are blank and the softkey labeled "suspend"...
  • Page 378: Modify Memory

    Chapter 12: Emulator/Analyzer Interface Commands modify memory modify memory This command lets you modify the contents of selected memory locations. You can modify the contents of individual memory locations to individual values. Or, you can modify a range of memory to a single value or a sequence of values. Modify a series of memory locations by specifying the address of the first location in the series to be modified, and the values to which the contents of that location and successive locations are to be changed.
  • Page 379 Chapter 12: Emulator/Analyzer Interface Commands modify memory A range of memory can be modified such that the content of each location in the range is changed to the single specified value, or to a single or repeated sequence. This type of memory modification is done by entering the limits of the memory range to be modified (--EXPR-- thru --EXPR--) and the value or list of values (--EXPR--, ...
  • Page 380 Chapter 12: Emulator/Analyzer Interface Commands modify memory newline horizontal tab backspace carriage return form feed backslash single quote \’ bit pattern \ooo (where ooo is an octal number) thru This option lets you specify a range of memory locations to be modified. This lets you specify values to which the selected memory locations will be changed.
  • Page 381: Modify Register

    Chapter 12: Emulator/Analyzer Interface Commands modify register modify register This command allows you to modify the contents of the emulation processor internal registers. The entry you specify for <REGISTER> determines which register is modified. Individual fields of control registers may be modified. Register modification cannot be performed during real-time operation of the emulation processor.
  • Page 382: Modify Software_Breakpoints

    Chapter 12: Emulator/Analyzer Interface Commands modify software_breakpoints modify software_breakpoints This command changes the specification of software breakpoints. Software breakpoints provide a way to accurately stop the execution of your program at one or more instruction locations. When a software breakpoint is set, the instruction that is normally at that location is replaced with an INT 3 instruction.
  • Page 383 Chapter 12: Emulator/Analyzer Interface Commands modify software_breakpoints The parameters are as follows: clear This option erases the specified breakpoint address. If no breakpoints are specified in the command, all currently specified breakpoints are cleared. disable This option turns off the software breakpoint capability. enable This option allows you to modify the software breakpoint specification.
  • Page 384: Performance_Measurement_End

    Chapter 12: Emulator/Analyzer Interface Commands performance_measurement_end performance_measurement_end This command stores data previously generated by the performance_measurement_run command, in a file named "perf.out" in the current working directory. The file named "perf.out" is overwritten each time this command is executed. Current measurement data existing in the emulation system is not altered by this command.
  • Page 385: Performance_Measurement_Initialize

    Chapter 12: Emulator/Analyzer Interface Commands performance_measurement_initialize performance_measurement_initialize This command sets up performance measurements. The emulation system will verify whether a symbolic database has been loaded. If a symbolic database has been loaded, the performance measurement is set up with the addresses of all global procedures and static symbols. If a valid database has not been loaded, the system will default to a predetermined set of addresses, which covers the entire emulation processor address range.
  • Page 386 Chapter 12: Emulator/Analyzer Interface Commands performance_measurement_initialize duration This option sets the measurement mode to "duration." Time ranges will default to a predetermined set (unless a user-defined file of time ranges is specified). <FILE> This represents a file you specify to supply user-defined address or time ranges to the emulator.
  • Page 387: Performance_Measurement_Run

    Chapter 12: Emulator/Analyzer Interface Commands performance_measurement_run performance_measurement_run This command begins a performance measurement. This command causes the emulation system to reduce trace data contained in the emulation analyzer, which will then be used for analysis by the performance measurement software. The default is to process data presently contained in the analyzer.
  • Page 388 Chapter 12: Emulator/Analyzer Interface Commands performance_measurement_run Refer to the "Making Software Performance Measurements" chapter for examples of performance measurement specification and use.
  • Page 389 Chapter 12: Emulator/Analyzer Interface Commands pod_command pod_command Allows you to control the emulator through the direct HP 64700 Terminal Interface. The HP 64700 Card Cage contains a low-level Terminal Interface, which allows you to control the emulator’s functions directly. You can access this interface using pod_command.
  • Page 390: Pod_Command

    Chapter 12: Emulator/Analyzer Interface Commands pod_command The parameters are as follows: keyboard Enters an interactive mode where you can simply type Terminal Interface commands (unquoted) on the command line. Use display pod_command to see the results returned from the emulator. <POD_CMD>...
  • Page 391: Qualifier

    Chapter 12: Emulator/Analyzer Interface Commands QUALIFIER QUALIFIER The QUALIFIER parameter is used with trace only, trace prestore, and TRIGGER to specify states captured during the trace measurement. You may specify a range of states (RANGE) or specific states (STATE) to be captured.
  • Page 392 Chapter 12: Emulator/Analyzer Interface Commands QUALIFIER trace only address range mod_name:clear thru read_input <RETURN> See Also The trace command.
  • Page 393: Range

    Chapter 12: Emulator/Analyzer Interface Commands RANGE RANGE The RANGE parameter allows you to specify a condition for the trace measurement, made up of one or more values. The range option can be used for state qualifier labels. Range can only be used once in a trace measurement.
  • Page 394 Chapter 12: Emulator/Analyzer Interface Commands RANGE This specifies that the analyzer search for the logical "not" of the specified range (this includes any addresses not in the specified range). range This indicates a range of addresses to be specified (--EXPR-- thru --EXPR--). status The value following this softkey is searched for on the lines that monitor other emulation processor signals.
  • Page 395: Reset

    Chapter 12: Emulator/Analyzer Interface Commands reset reset This command suspends target system operation and reestablishes initial emulator operating parameters, such as reloading control registers. The reset signal is latched when the reset command is executed and released by either the run or break command. See Also The break and run commands.
  • Page 396: Run

    If the emulator is configured to participate in the READY signal on the CMB, then this emulator will release the READY signal so that it will go TRUE if all other HP 64700 emulators participating on that signal are also ready. See the cmb_execute command description.
  • Page 397 Chapter 12: Emulator/Analyzer Interface Commands address Specifies an address for a temporary register breakpoint that will be programmed into one of the processor’s two breakpoint registers. Up to two addresses may be specified. --EXPR-- An expression is a combination of numeric values, symbols, operators, and parentheses, specifying a memory address.
  • Page 398: Sequencing

    Chapter 12: Emulator/Analyzer Interface Commands SEQUENCING SEQUENCING Lets you specify complex branching activity that must be satisfied to trigger the analyzer. Sequencing provides you with parameters for the trace command that let you define branching conditions for the analyzer trigger. You are limited to a total of seven sequence terms, including the trigger, if no windowing specification is given.
  • Page 399 Chapter 12: Emulator/Analyzer Interface Commands SEQUENCING occurs Selects the number of times a particular qualifier must be found before the analyzer proceeds to the next sequence term or the trigger term. This option is not available when trace windowing is in use. See the WINDOW syntax pages. <#TIMES>...
  • Page 400: Set

    Chapter 12: Emulator/Analyzer Interface Commands...
  • Page 401 Chapter 12: Emulator/Analyzer Interface Commands Controls the display format for the data, memory, register, software breakpoint, and trace displays.With the set command, you can adjust the display format results for various measurements, making them easier to read and interpret. Formatting of source lines, symbol display selection and width, and update after measurement can be defined to your needs.
  • Page 402 Chapter 12: Emulator/Analyzer Interface Commands langinfo In certain languages, you may have symbols with the same names but different types. For example, in IEEE695, you may have a file named main.c and a procedure named main. SRU would identify these as main(module) and main(procedure).
  • Page 403 Chapter 12: Emulator/Analyzer Interface Commands <NUMSRC> This prompts you for the number of source lines to be displayed. Values in the range 1 through 50 may be entered. source This option prevents inclusion of source lines in the trace and memory mnemonic display lists.
  • Page 404 Chapter 12: Emulator/Analyzer Interface Commands <VALUE> Specifies the logical value to which a particular UNIX environment variable is to be set. width source This allows you to specify the width (in columns) of the source lines in the memory mnemonic display. To adjust the width of the source lines in the trace display, increase the widths of the label and/or mnemonic fields.
  • Page 405: Specify

    Chapter 12: Emulator/Analyzer Interface Commands specify specify This command prepares a run or trace command for execution, and is used with the cmb_execute command. When you precede a run or trace command with specify, the system does not execute your command immediately. Instead, it waits until until an EXECUTE signal is received from the Coordinated Measurement Bus or until you enter a cmb_execute command.
  • Page 406 Chapter 12: Emulator/Analyzer Interface Commands specify The parameters are as follows: disable This option turns off the specify condition of the run process. from --EXPR-- This is used with the specify run from command. An expression is a combination of numeric values, symbols, operators, and parentheses, specifying a memory address.
  • Page 407: State

    Chapter 12: Emulator/Analyzer Interface Commands STATE STATE This parameter lets you specify a trigger condition as a unique combination of address, data, status, and executed address values. The STATE option is part of the QUALIFIER parameter to the trace command, and allows you to specify a condition for the trace measurement.
  • Page 408 Chapter 12: Emulator/Analyzer Interface Commands STATE The default STATE expression type is address. The parameters are as follows: address This specifies that the expression following is an address value. This is the default, and is therefore not required on the command line when specifying an address expression.
  • Page 409: Step

    Chapter 12: Emulator/Analyzer Interface Commands step step The step command allows sequential analysis of program instructions by causing the emulation processor to execute a specified number of assembly instructions or source lines. You can display the contents of the processor registers, trace memory, and emulation or target memory after each step command.
  • Page 410 Chapter 12: Emulator/Analyzer Interface Commands step The parameters are as follows: --EXPR-- An expression is a combination of numeric values, symbols, operators, and parentheses specifying a memory address. See the EXPR syntax diagram. from Use this option to specify the address from which program stepping begins. <NUMBER>...
  • Page 411: Stop_Trace

    Chapter 12: Emulator/Analyzer Interface Commands stop_trace stop_trace This command terminates the current trace and stops execution of the current measurement. The analyzer stops searching for trigger and trace states. If trace memory is empty (no states acquired), nothing will be displayed. See Also The trace command.
  • Page 412: Store

    Chapter 12: Emulator/Analyzer Interface Commands store store This command lets you save the contents of specific memory locations in an absolute file. You also can save trace memory contents in a trace file. The store command creates a new file with the name you specify, if there is not already an absolute file with the same name.
  • Page 413 Chapter 12: Emulator/Analyzer Interface Commands store thru This allows you to specify that ranges of memory be stored. Use this in the store memory command to separate memory locations from the file identifier. trace This option causes the current trace data to be stored in the specified file with a .TR extension.
  • Page 414: Symb

    Chapter 12: Emulator/Analyzer Interface Commands --SYMB-- --SYMB--...
  • Page 415 Chapter 12: Emulator/Analyzer Interface Commands --SYMB-- This parameter is a symbolic reference to an address, address range, file, or other value. Note that if no default file was defined by executing the command display local_symbols_in --SYMB--, or with the cws command, a source file name (<FILE>) must be specified with each local symbol in a command line.
  • Page 416 Chapter 12: Emulator/Analyzer Interface Commands --SYMB-- The parameters are as follows: <FILENAME> This is an UNIX path specifying a source file. If no file is specified, and the identifier referenced is not a global symbol in the executable file that was loaded, then the default file is assumed (the last absolute file specified by a display local_symbols_in command).
  • Page 417 --SYMB-- Symbolic Retrieval Utilities (SRU) The 80186 emulator interface software can read absolute files in HP-OMF and OMF-86 formats. When you load a program for the first time, the emulator uses the Symbolic Retrieval Utilities (SRU) to build a symbol database for each module.
  • Page 418 Chapter 12: Emulator/Analyzer Interface Commands --SYMB-- OMF-86 Examples. The following short C code example should help illustrate how OMF-86 symbols are maintained by SRU and referenced in your emulation commands. File /users/dave/control.c: int *port_one; main () int port_value; port_one = 255; port_value = 10;...
  • Page 419 Chapter 12: Emulator/Analyzer Interface Commands --SYMB-- OMF-86 Symbol Tree. The OMF-86 symbol tree as built by SRU would appear as follows (this is not a complete symbol tree): SRU does not build tree nodes for variables that are dynamically allocated on the stack at run-time, such as i and j within the delay() procedure.
  • Page 420 Chapter 12: Emulator/Analyzer Interface Commands --SYMB-- Examples of referencing different symbols in the programs shown earlier are: control.c:main control.c:port_one SRU Searches for Symbols. SRU has symbol-searching capability. It also has the ability to explicitly set a "current working symbol" (cws), which allows you to refer to symbols relative to the cws.
  • Page 421 Chapter 12: Emulator/Analyzer Interface Commands --SYMB-- exists. If the new symbol exists, SRU will assume that is the symbol you want. Otherwise, it will return the message "symbol not found". • If no module was derived from the filename, SRU will return the message "symbol not found".
  • Page 422 Also refer to the Symbolic Retrieval Utilities User’s Guide for further information on symbols. For information about using a special default prefix for low-level symbols when working with 3rd party symbols, see the file $HP64000/lib/sru/aux/langinfo.hp. That file also describes the language used to reduce ambiguous error messages.
  • Page 423: Trace

    Chapter 12: Emulator/Analyzer Interface Commands trace trace This command allows you to trace program execution using the emulation analyzer. Note that the options shown can be executed once for each trace command. Refer to the TRIGGER and QUALIFIER diagrams for details on setting up a trace. You can perform analysis tasks either by starting a program run and then specifying the trace parameters, or by specifying the trace parameters first and then initiating the program run.
  • Page 424 This option allows you to specify the external trigger as a trace qualifier, for coordinating measurements between multiple HP 64700s, or an HP 64700 and another instrument. Before arm_trig2 can appear as an option, you must modify the emulation configuration interactive measurement specification.
  • Page 425 Chapter 12: Emulator/Analyzer Interface Commands trace QUALIFIER This determines which of the traced states will be stored or prestored in the trace memory for display upon completion of the trace. Events can be selectively saved by using trace only to enter the specific events to be saved. When this is used, only the indicated states are stored in the trace memory.
  • Page 426: Trigger

    Chapter 12: Emulator/Analyzer Interface Commands TRIGGER TRIGGER This parameter lets you define where the analyzer will begin tracing program information during a trace measurement. A trigger is a QUALIFIER. When you include the occurs option, you can specify the trigger to be a specific number of occurrences of a QUALIFIER (see the QUALIFIER syntax diagram).
  • Page 427 Chapter 12: Emulator/Analyzer Interface Commands TRIGGER Examples trace after MAIN <RETURN> trace after 1000H then data 5 <RETURN> Also see the trace command examples. See Also The trace command. Also, refer to the "Making Coordinated Measurements" chapter.
  • Page 428: Wait

    Chapter 12: Emulator/Analyzer Interface Commands wait wait This command allows you to present delays to the system. The wait command can be an enhancement to a command file, or to normal operation at the main emulation level. Delays allow the emulation system and target processor time to reach a certain condition or state before executing the next emulation command.
  • Page 429 Chapter 12: Emulator/Analyzer Interface Commands wait seconds This causes the system to pause for a specific number of seconds. <TIME> This prompts you for the number of seconds to insert for the delay. Note that a wait command in a command file will cause execution of the command file to pause until a <CTRL>c signal is received, if <CTRL>c is defined as the interrupt signal.
  • Page 430: Window

    Chapter 12: Emulator/Analyzer Interface Commands WINDOW WINDOW Lets you select which states are stored by the analyzer. WINDOW allows you to selectively toggle analyzer operation. When enabled, the analyzer will recognize sequence terms, trigger terms, and will store states. When disabled, the analyzer is effectively off, and only looks for a particular enable term.
  • Page 431 Chapter 12: Emulator/Analyzer Interface Commands WINDOW See Also The trace command and the SEQUENCING and QUALIFIER syntax descriptions.
  • Page 433: Error Messages

    Error Messages...
  • Page 434 Error Messages This chapter contains a list of error messages that may occur while operating the emulator and analyzer. The error log records error messages received during the emulation session. You may want to display the error log to view the error messages. Sometimes several messages will be displayed for a single error to help you locate a problem quickly.
  • Page 435: Graphical/Softkey Interface Messages - Unnumbered

    Graphical/Softkey Interface Messages - Unnumbered Address range too small for request - request truncated Cause: Too small of an address range is specified in a modify memory command. Action: Specify a larger memory range. Cannot create module file: Cause: Insufficient disk space for the module file. Action: Check disk space under /usr/hp64000.
  • Page 436 Cause: The host system could not continue the previous emulation session because it could not load the continue file. Action: Try again. If the failure continues, call your HP Service Representative. Continuing previous session, continue file loaded Cause: This is a status message. An emulation session which was ended earlier with the end command has been restarted.
  • Page 437 (performance verification) command on the emulator to verify that it is functioning properly. Also, verify proper software installation. If loading default configuration still fails, then call your HP 64000 representative. <CONFIGURATION FILENAME> does not exist Cause: The configuration file you are trying to load does not exist.
  • Page 438 Cause: Communication between the emulator and the host system to continue the emulation session failed. Action: Check the data communication switch settings on the rear panel of the HP 64700 series emulator. If necessary, refer to the HP 64700 Installation/Service Guide.
  • Page 439 Emul700dmn version incompatible with this product Cause: The emulation session could not begin because the version of the HP 64700 emulator daemon executable on host system is not compatible with the version of the Softkey Interface you are using.
  • Page 440 Error in configuration process Error starting configuration process Cause: Unexpected configuration error. Action: Verify proper software installation and call your HP 64000 representative. Fatal error from function <ADDRESS OF FUNCTION> Cause: This is an unexpected fatal system error. Action: Cycle power on the emulator and start again. If this is a persistent problem, call your HP 64000 representative.
  • Page 441 Cause: A user abort occurred while attempting to connect via LAN. Action: Possibly connecting to an emulator many miles away, be patient. HP 64700 I/O error; power down detected Cause: The emulator power was cycled. Action: Do not do this during a user interface session; this may force the user interface to end immediately.
  • Page 442 Chapter 13: Error Messages Graphical/Softkey Interface Messages - Unnumbered Illegal status combination Cause: You tried to specify combinations of status qualifiers in expressions incorrectly when entering commands. Action: Refer to the "Emulator/Analyzer Interface Commands" chapter for information about syntax of commands. Illegal symbol name Cause: You tried to specify incorrect symbol names when entering commands.
  • Page 443 Chapter 13: Error Messages Graphical/Softkey Interface Messages - Unnumbered Insufficient emulation memory, memory map may be incomplete Cause: You can map only the amount of emulation memory available in your emulator. Trying to map additional unavailable memory may cause information to be missing from your memory map.
  • Page 444 Chapter 13: Error Messages Graphical/Softkey Interface Messages - Unnumbered Joining session already in progress, user interface defaulted Cause: When operating the emulator in multiple windows, a new emulation session is "joined" to a current session. In this case, the new session used the user interface default selections.
  • Page 445 Chapter 13: Error Messages Graphical/Softkey Interface Messages - Unnumbered Memory block list unreadable Memory range overflow Cause: A modify memory command is attempted that would cross physical 0. Action: Limit the modify memory command to not overflow physical 0 or break the command into two separate modify commands.
  • Page 446 Chapter 13: Error Messages Graphical/Softkey Interface Messages - Unnumbered No valid trace data Cause: You tried to store trace data before a trace was completed. Action: Wait until valid trace data is available before attempting to store a trace. Not a valid trace file - load aborted Cause: You tried to load a file.TR that was not created by the emulation session.
  • Page 447 Chapter 13: Error Messages Graphical/Softkey Interface Messages - Unnumbered Perfinit - error in input file line <LINE NUMBER> invalid symbol You included a "label" file name with your "performance_measurement_initialize" command, and that file contains an invalid symbol. Action: Edit the file and correct the invalid symbol. Perfinit - error in input file line <NUMBER>...
  • Page 448 Chapter 13: Error Messages Graphical/Softkey Interface Messages - Unnumbered Performance tool must be initialized Cause: You tried to make a performance measurement when the Software Performance Measurement Tool (SPMT) was not initialized. Action: The Software Performance Measurement Tool (SPMT) must be initialized before making performance measurements on your software.
  • Page 449 Cause: The emulator was started using a new emulation session, and the user interface was set to default selections. Action: Call your HP Service Representative. Status unknown, run "emul700 -l <LOGICAL NAME>" Cause: The host system cannot determine the status of the emulator.
  • Page 450 Example: display trace symbols on. Timeout in emul700dmn communication Cause: The host system could not start the emulation session because the HP 64700 emulator process ran out of time before the emulator could start. Action: You must press end_release_system to exit this emulation session completely;...
  • Page 451 Unexpected message from emul700dmn Cause: The host system could not start the emulation session because of an unexpected message from the HP 64700 emulator process command. Action: You must press end_release_system to exit this emulation session completely; then start a new session. Make sure the host system is operating...
  • Page 452: Graphical/Softkey Interface Messages - Numbered

    Chapter 13: Error Messages Graphical/Softkey Interface Messages - Numbered Graphical/Softkey Interface Messages - Numbered These numbered messages can occur because of various problems with the emulator/analyzer. 10315 Logical emulator name unknown; not found in 64700tab file Cause: This message may occur while trying to start up the emulator. It indicates that the emulator name specified could not be found in the 64700tab.net or /etc/hosts files.
  • Page 453 Cause: There may be characters dropped in the information returned from the emulator. Action: Ignore this message unless it becomes frequent. If it becomes frequent, you may have a fatal error; call your HP 64700 representative. 10351 Exceeded maximum 64700 command line length Cause: Your command is longer than 240 characters.
  • Page 454 Chapter 13: Error Messages Graphical/Softkey Interface Messages - Numbered Action: Upgrade the interface software of product firmware. 10360 Analyzer limitation; all range resources in use Analyzer limitation; all pattern resources in use Analyzer limitation; all expression resources in use Cause: Your trace specification would use more than the maximum number of resources available to the analyzer.
  • Page 455: Terminal Interface Messages

    Chapter 13: Error Messages Terminal Interface Messages Terminal Interface Messages This section contains descriptions of error messages that can occur while using the Terminal Interface. The error messages are listed in numerical order, and each description includes the cause of the error and the action you should take to remedy the situation.
  • Page 456 Chapter 13: Error Messages Terminal Interface Messages No response from monitor Cause: The main cause of this error message is when the target system does not assert RDY for target memory and I/O accesses. Action: Do not attempt to access target locations that don’t return RDY. Monitor failure;...
  • Page 457: 80186/8/Xl/Ea/Eb Emulator Messages

    Action: Determine why the bus error was activated. 80186/8/XL/EA/EB Emulator Messages The following error messages are unique to the HP 64767 emulator. User code load module too big Cause: This error occurs when the size of the user program absolute code is greater than 1 Mbyte.
  • Page 458: General Emulator And System Messages

    Action: Write down the sequence of commands which caused the error. Cycle power on the emulator and reenter the commands. If the error repeats, call your local HP Sales and Service office for assistance. Incompatible compatibility table entry Cause: The emulation firmware (ROM) is not compatible with the analysis or...
  • Page 459 Records expected: %s; records received: %s Cause: The HP 64700 received a different number of records than it expected to receive during a transfer operation. Action: Retry the transfer. If the failure is repeated, make sure that the data communications parameters are set correctly on the host and on the HP 64700.
  • Page 460 Chapter 13: Error Messages Terminal Interface Messages communications parameters are set correctly on the host and on the HP 64700, then retry the operation. Severe error detected, file transfer failed Cause: An unrecoverable error occurred during a transfer operation. Action: Retry the transfer. If it fails again, make sure that the data communications parameters are set correctly on the host and on the HP 64700.
  • Page 461 Chapter 13: Error Messages Terminal Interface Messages Action: Determine why the break failed, then correct the condition and retry the command. See message 608. Read PC failed during break Cause: System failure or target condition. Action: Try again. Disable breakpoint failed: %s Cause: System failure or target condition.
  • Page 462 Chapter 13: Error Messages Terminal Interface Messages Unable to run Cause: System failure or target condition. Action: Run performance verification (Terminal Interface pv command), and check target system. Break caused by CMB not ready Cause: This status message is printed during coordinated measurements if the CMB READY line goes false.
  • Page 463 Chapter 13: Error Messages Terminal Interface Messages BNC trigger break Cause: This status message will be displayed if you have configured the emulator to break on a BNC trigger signal and the BNC trigger line is activated during a program run. The emulator is broken to the monitor. CMB trigger break Cause: This status message will be displayed if you have configured the emulator to break on a CMB trigger signal and the CMB trigger line is activated during a...
  • Page 464 Chapter 13: Error Messages Terminal Interface Messages Cause: Monitor specific message. CMB execute break Cause: This message occurs when coordinated measurements are enabled and an EXECUTE pulse causes the emulator to run; the emulator must break before running. Action: This is a status message; no action is required. Configuration aborted Cause: Occurs when a <CTRL>c is entered while emulator configuration items are being set.
  • Page 465 Chapter 13: Error Messages Terminal Interface Messages Unable to read registers in class: %s Cause: The emulator was unable to read the registers you requested. Action: To resolve this, you must look at the other status messages displayed. Most likely, the emulator was unable to break to the monitor to perform the register read.
  • Page 466 Action: Initialize the emulator or cycle power. Then reenter the command. If the same failure occurs, call your HP sales and service office. Unable to configure break on software breakpoints Cause: The emulator controller cannot enable breakpoints, possibly because the emulator is in an unknown state or because of a hardware failure.
  • Page 467 Chapter 13: Error Messages Terminal Interface Messages Enable breakpoint failed: %s Cause: System failure or target condition. Action: Check memory mapping and configuration questions. Disable breakpoint failed: %s Cause: System failure or target condition. Action: Check memory mapping and configuration questions. Breakpoint code already exists: %s Cause: You attempted to insert a breakpoint;...
  • Page 468 Chapter 13: Error Messages Terminal Interface Messages Stepping failed Cause: Stepping has failed for some reason. Action: Usually, this error message will occur with other error messages. Refer to the descriptions of the accompanying error messages to find out more about why stepping failed.
  • Page 469 Chapter 13: Error Messages Terminal Interface Messages Run failed during CMB execute Cause: System failure or target condition. Action: Run performance verification (Terminal Interface pv command), and check target system. Target memory access failed Cause: This message is displayed if the emulator was unable to perform the requested operation on memory mapped to the target system.
  • Page 470 Invalid firmware for emulation subsystem Cause: This error occurs when the HP 64700 system controller determines that the emulation firmware (ROM) is invalid. Action: This message is not likely to occur unless you have upgraded the ROMs in your emulator.
  • Page 471: Analyzer Messages

    Chapter 13: Error Messages Terminal Interface Messages Lab firmware analysis subsystem; product address: %s Cause: This message should never occur. It shows that you have an unreleased version of analysis firmware. Lab firmware subsystem; product address: %s Cause: This message should never occur. It shows that you have an unreleased version of system controller firmware.
  • Page 472 Chapter 13: Error Messages Terminal Interface Messages 1108 Unable to redefine label; used by emulation analyzer: <label> Cause: This error occurs when you attempt to redefine an emulation trace label which is currently used as a qualifier in the emulation trace specification. Action: You stop the trace or must change the trace command before you can redefine the label.
  • Page 473 Chapter 13: Error Messages Terminal Interface Messages 1305 CMB execute; emulation trace started Cause: This status message informs you that an emulation trace measurement has started as a result of a CMB execute signal (as specified by the specify trace command).
  • Page 474 Chapter 13: Error Messages Terminal Interface Messages Action: Re-enter the command with the trigger duration within the bounds shown. 2042 Trigger delay out of bounds: <bounds> Cause: This error occurs when you attempt to specify an external timing trigger delay outside the valid range. The external timing trigger delay must be between 0 and 10 ms (in 10 ns increments).
  • Page 475: Specifications And Characteristics

    Specifications and Characteristics...
  • Page 476: Emulator Specifications And Characteristics

    Electrical Characteristics of the HP 64767 Emulator Except as noted in the specifications, all electrical differences defined by Intel between the 80C186 and XL processors also apply to the HP 64767 emulator as far as compatibility with processors is concerned. Refer to Intel compatibility documentation for differences between the processors.
  • Page 477 Chapter 14: Specifications and Characteristics Emulator Specifications and Characteristics Below are specifications for the HP 64767A/B that differ from the specifications for the Intel 80C186EA/EB/XL processors. DC Specifications: Input low voltage -0.5V 0.8V Input high voltage (HP 64767A) 2.0V Vcc + 0.5V Input high voltage (HP 64767B) 0.7 * Vcc...
  • Page 478 Note: A target system NMI request may be delayed by two clock cycles while running user code or indefinitely while running in the background monitor. Electrical Characteristics of the HP 64700 The electrical characteristics of the HP 64700 communication ports are as follows. Communications Serial Port RS-232-C DCE or DTE to 38.4 Kbaud.
  • Page 479: Physical

    Emulator Dimensions Width 325 mm (12.8 in.) Height 173 mm (6.8 in.) Length 389 mm (15.3 in.) Emulator Weight HP 64749 8.2 kg (18 lb) Cable Length Probe to approximately 914 mm (36 in.) card cage Communications Serial Port 25-pin female type "D" subminiature connector.
  • Page 480: External Analyzer Specifications

    Chapter 14: Specifications and Characteristics External Analyzer Specifications External Analyzer Specifications • Threshold Accuracy = +/- 50 mV. • Dynamic Range = +/- 10 V about threshold setting. • Minimum Input Swing = 600 mV pp. • Minimum Input Overdrive = 250 mV or 30% of threshold setting, whichever is greater.
  • Page 481: Part 4 Concept Guide

    Part 4 Concept Guide Topics that explain concepts and apply them to advanced tasks.
  • Page 482 Part 4...
  • Page 483: Concepts

    Concepts...
  • Page 484 Concepts This chapter provides conceptual information on the following topics: • X resources and the Graphical User Interface.
  • Page 485: Resources And The Graphical User Interface

    Chapter 15: Concepts X Resources and the Graphical User Interface X Resources and the Graphical User Interface This section contains more detailed information about X resources and scheme files that control the appearance and operation of the Graphical User Interface. This section: •...
  • Page 486 Chapter 15: Concepts X Resources and the Graphical User Interface Class Names or Instance Names Can Be Used When specifying resource names, you can use either instance names or class names. For example, a "Done" pushbutton may have an instance name of "done" and a class name of "XmPushButton".
  • Page 487: How X Resource Specifications Are Loaded

    Chapter 15: Concepts X Resources and the Graphical User Interface Specific Names Override General Names A more specific resource specification will override a more general one when both apply to a particular widget or application. The names for the application and the main window widget in HP64_Softkey applications have been chosen so that you may specify custom resource values that apply in particular situations: Apply to ALL HP64_Softkey applications:...
  • Page 488 Load Order Resource specifications are loaded from the following places in the following order: The application defaults file. For example, /usr/lib/X11/app-defaults/HP64_Softkey when the operating system is HP-UX or /usr/openwin/lib/X11/app-defaults/HP64_Softkey when the operating system is SunOS. The $XAPPLRESDIR/HP64_Softkey file. (The XAPPLRESDIR environment variable defines a directory containing system-wide custom application defaults.)
  • Page 489: Scheme Files

    This resource should be set to the platform on which the X server is running (and displaying the Graphical User Interface) if it is different than the platform where the application is running. Values can be: HP-UX, SunOS, pc-xview, or a custom platform scheme directory name.
  • Page 490 Chapter 15: Concepts X Resources and the Graphical User Interface HP64_Softkey.sizeScheme: Names the size scheme file which defines the fonts and the spacing used. Values can be: Large, Small, or a custom scheme file name. HP64_Softkey.inputScheme: Names the input scheme file which specifies mouse and keyboard operation. Values can be: Input, or a custom scheme file name.
  • Page 491 You can modify scheme files by copying them to the directory for user-defined schemes and changing the resource specifications in the file. For example, if you wish to modify the color scheme, and your platform is HP-UX, you can copy the /usr/hp64000/lib/X11/HP64_schemes/HP-UX/Softkey.Color file to $HOME/.HP64_schemes/HP-UX/Softkey.Color and modify its resource...
  • Page 493: Part 5 Installation Guide

    Part 5 Installation Guide Instructions for installing and configuring the product.
  • Page 494 Part 5...
  • Page 495: Installation

    Installation...
  • Page 496 Minimum HP 9000 Hardware and System Requirements The following is a set of minimum hardware and system recommendations for operation of the Graphical User Interface on HP 9000 Series 300/400 and Series 700 workstations. HP-UX For Series 9000/300 and Series 9000/400 workstations, the minimum supported version of the operating system is 7.03 or later.
  • Page 497 Chapter 16: Installation From here, you should proceed to the section titled "Installation for HP 9000 Hosted Systems" for instructions on how to install, verify, and start the Graphical User Interface on HP 9000 systems. Minimum Sun SPARCsystem Hardware and System Requirements The following is a set of minimum hardware and system recommendations for operation of the Graphical User Interface on Sun SPARCsystem workstations.
  • Page 498: Installing Hardware

    • HP 64704A 80-Channel Emulation Bus Analyzer (instead of HP 64706A). • HP 64794A Deep Memory Emulation Bus Analyzer (instead of HP 64706A). Equipment and tools needed In order to install and use the 80186/8/XL/EA/EB emulation system, you need: •...
  • Page 499 The following steps in the hardware installation process are described in this section: The steps in the installation process are: Connect the HP 64767 emulator probe to the HP 64748C emulator control card. Install cards into the HP 64700 card cage. Connect the emulator probe to the demo target system.
  • Page 500: Step 1. Connect The Emulator Probe Cables

    Installing Hardware Step 1. Connect the Emulator Probe Cables Three ribbon cables connect the HP 64748C emulation control card to the HP 64767 80186/8/XL/EA/EB emulator probe. The shortest cable connects from J1 of the emulation control card to J3 of the emulator probe. The medium length cable connects from J2 of the emulation control card to J2 of the emulator probe.
  • Page 501 Chapter 16: Installation Installing Hardware 2 When inserting cable connectors into the sockets, press inward on the connector clips so that they hook into the sockets as shown.
  • Page 502 Chapter 16: Installation Installing Hardware 3 Connect the other ends of the cables to the emulator probe.
  • Page 503: Step 2. Install Boards Into The Hp 64700 Card Cage

    1 Use a ground strap when removing or installing boards into the HP 64700 Card Cage to reduce the chances of damage to the circuit cards from static discharge. A jack on the rear panel of the HP 64700 Card Cage is provided for this purpose.
  • Page 504 Chapter 16: Installation Installing Hardware 2 Turn the thumb screw and remove the top cover by sliding the cover toward the rear and up.
  • Page 505 Chapter 16: Installation Installing Hardware 3 Remove the side cover by unsnapping the two latches and lifting off. 4 Remove the card supports.
  • Page 506 Chapter 16: Installation Installing Hardware 5 First, completely loosen the four egress thumb screws. To remove emulator cards, insert a flat blade screwdriver in the access hole and eject the emulator cards by rotating the screwdriver.
  • Page 507 6 Insert a screw driver into the third slot of the right side of the front bezel, push to release catch, and pull the right side of the bezel about one half inch away from the front of the HP 64700. Then, do the same thing on the left side of the bezel.
  • Page 508 Chapter 16: Installation Installing Hardware 7 Lift the bezel panel to remove. Be careful not to put stress on the power switch extender. 8 If you’re removing an existing analyzer card that provides external analysis, remove the right angle adapter board by turning the thumb screws counter-clockwise.
  • Page 509 9 To remove the analyzer card, insert a flat blade screwdriver in the access hole and eject the analyzer card by rotating the screwdriver. Do not remove the system control board. This board is used in all HP 64700 emulation and analysis systems.
  • Page 510 Installing Hardware 10 Install HP 64704A and HP 64748C boards. The HP 64704A is installed in the slot next to the system controller board. The HP 64748C is installed in the second slot from the bottom of the HP 64700. These boards are identified with labels that show the model number and the serial number.
  • Page 511 Chapter 16: Installation Installing Hardware 11 Connect the +5 V power cable to the connector in the HP 64700 front panel.
  • Page 512 Chapter 16: Installation Installing Hardware 12 To reinstall the front bezel, be sure that the bottom rear groove of the front bezel is aligned with the lip as shown below.
  • Page 513 Chapter 16: Installation Installing Hardware 13 Install the card supports. 14 To install the side cover, insert the side cover into the tab slots and fasten the two latches.
  • Page 514 Chapter 16: Installation Installing Hardware 15 Install the top cover in reverse order of its removal, but make sure that the side panels of the top cover are attached to the side clips on the frame.
  • Page 515: Step 3. Plug The Emulator Probe Into The Demo Target System

    Chapter 16: Installation Installing Hardware Step 3. Plug the emulator probe into the demo target system 1 With HP 64700 power OFF, connect the emulator probe cables to the demo target system.
  • Page 516 Chapter 16: Installation Installing Hardware 2 Connect the power supply wires from the emulator to the demo target system. The 3-wire cable has 1 power wire and 2 ground wires. When attaching the 3-wire cable to the demo target system, make sure the connector is aligned properly so that all three pins are connected.
  • Page 517: Step 4. Apply Power To The Hp 64700

    The HP 64700B automatically selects the 115 Vac or 220 Vac range. In the 115 Vac range, the HP 64700B will draw a maximum of 345 W and 520 VA. In the 220 Vac range, the HP 64700B will draw a maximum of 335 W and 600 VA.
  • Page 518 Coco Brown * Part number shown for plug is industry identifier for plug only. Number shown for cable is HP part number for complete cable including plug. ** These cords are included in the CSA certification approval for the equipment.
  • Page 519 8120-4754 90/230 * Part number shown for plug is industry identifier for plug only. Number shown for cable is HP part number for complete cable including plug. ** These cords are included in the CSA certification approval for the equipment.
  • Page 520 The line switch is a push button located at the lower left hand corner of the front panel. To turn ON power to the HP 64700, push the line switch button in to the ON (1) position. The power light at the...
  • Page 521: Connecting The Hp 64700 To A Computer Or Lan

    Connecting the HP 64700 to a Computer or LAN Refer to the HP 64700 Series Installation/Service Guide for instructions on connecting the HP 64700 to a host computer (via RS-422 or RS-232) or LAN and setting the HP 64700’s configuration switches. (RS-422 and RS-232 are only...
  • Page 522: Installing Hp 9000 Software

    Installing HP 9000 Software Installing HP 9000 Software This section shows you how to install the Graphical User Interface on HP 9000 workstations. These instruction also tell you how not to install the Graphical User Interface if you want to use just the conventional Softkey Interface.
  • Page 523 /etc/update at the HP-UX prompt. 6 When the HP-UX update utility main screen appears, confirm that the source and destination devices are correct for your system. Refer to the information on updating HP-UX in your HP-UX documentation if you need to modify these values.
  • Page 524: Step 2. Verify The Software Installation

    X window manager (if you are not currently running an X server). If you plan to run the Motif Window Manager (mwm), or similar window manager, continue with Step 3a of these instructions. If you plan to run HP VUE, skip to Step 3b of these instructions.
  • Page 525: Step 3A. Start The X Server And The Motif Window Manager (Mwm)

    Step 3b. Start HP VUE If you are running the X server under HP VUE and have not started HP VUE, do so now. HP VUE is a window manager for the X Window system. The X server is executing underneath HP VUE.
  • Page 526 -s /users/team/usr/hp64000 /usr/hp64000 If you do not wish to establish a symbolic link, you can set the HP64000 variable to the full path that contains the HP 64000 software. Again, if you installed relative to /users/team, you would enter...
  • Page 527 3 Set the PATH environment variable to include the usr/hp64000/bin directory by entering PATH=$PATH:$HP64000/bin; export PATH Including usr/hp64000/bin in your PATH relieves you from prefixing HP 64700 executables with the directory path. 4 Set the MANPATH environment variable to include the usr/hp64000/man and...
  • Page 528: Installing Sun Sparcsystem Software

    Chapter 16: Installation Installing Sun SPARCsystem Software Installing Sun SPARCsystem Software This section shows you how to install the Graphical User Interface on Sun SPARCsystem workstations. These instructions also tell you how not to install the Graphical User Interface if you want to use just the conventional Softkey Interface. This section shows you how to: Install the software from the media.
  • Page 529: Step 2. Start The X Server And Openwindows

    Chapter 16: Installation Installing Sun SPARCsystem Software Step 2. Start the X server and OpenWindows If you are not already running the X server, do so now. The X server is required to run the Graphical User Interface because it is an X application. •...
  • Page 530 Consult the OpenWindows documentation for an explanation of the DISPLAY environment variable. 2 Set the HP64000 environment variable. For example, if you installed the HP 64000 software relative to the root directory, "/", you would enter setenv HP64000 /usr/hp64000 If you installed the software relative to a directory other than the root directory, it is strongly recommended that you use a symbolic link to make the software appear to be under /usr/hp64000.
  • Page 531: Step 4. Verify The Software Installation

    Chapter 16: Installation Installing Sun SPARCsystem Software 4 Set the MANPATH environment variable to include the usr/hp64000/man and usr/hp64000/contrib/man directories by entering setenv MANPATH ${MANPATH}:${HP64000}/man setenv MANPATH ${MANPATH}:${HP64000}/contrib/man Including these directories in your MANPATH variable lets you access the on-line "man"...
  • Page 532: Step 5. Map Your Function Keys

    Chapter 16: Installation Installing Sun SPARCsystem Software Step 5. Map your function keys If you are using the conventional Softkey Interface, map your function keys by following the steps below. 1 Copy the function key definitions by typing: cp $HP64000/etc/ttyswrc ~/.ttyswrc This creates key mappings in the .ttyswrc file in your $HOME directory.
  • Page 533: Verifying The Installation

    1 Display the 64700tab.net file by entering more /usr/hp64700/etc/64700tab.net at the HP-UX prompt. 2 Page through the file until you find the emulator you are going to use. This step will require some matching of information to an emulator, but it should not be difficult to determine which emulator you want to address.
  • Page 534: Step 2. Start The Interface With The Emul700 Command

    1 Apply power to the emulator you wish to access after making sure the emulator is connected to the LAN or to your host system. On the HP 64700 Series Emulator, the power switch is located on the front panel near the bottom edge. Push the switch in to turn power on to the emulator.
  • Page 535 Chapter 16: Installation Verifying the Installation Graphical User Interface. Otherwise, emul700 starts the conventional Softkey Interface. You should include an ampersand ("&") with the command to start the Graphical User Interface as a background process. Doing so frees the terminal window where you started the interface so that the window may still be used.
  • Page 536 Chapter 16: Installation Verifying the Installation...
  • Page 537: Step 3. Exit The Graphical User Interface

    Chapter 16: Installation Verifying the Installation Step 3. Exit the Graphical User Interface 1 Position the mouse pointer over the pulldown menu named "File" on the menu bar at the top of the interface screen. 2 Press and hold the command select mouse button until the File menu appears. 3 While continuing to hold the mouse button down, move the mouse pointer down the menu to the "Exit"...
  • Page 539: Installing/Updating Emulator Firmware

    Installing/Updating Emulator Firmware...
  • Page 540 HP 64748C emulation control card together, the control card contains the correct firmware for the HP 64767. However, if you ordered the HP 64767 and the HP 64748C separately, or if you are using a HP 64748C that has been used previously with a different emulator probe, you must download the correct firmware into the emulation control card.
  • Page 541: To Update Emulator Firmware With "Progflash

    • Enter the progflash -v <emul_name> <products ...> command. The progflash command downloads code from files on the host computer into Flash EPROM memory in the HP 64700. The -v option means "verbose". It causes progress status messages to be displayed during operation.
  • Page 542 Chapter 17: Installing/Updating Emulator Firmware To update emulator firmware with "progflash" Examples To update emulator firmware in the HP 64700 that contains the "em8018x" emulator: $ progflash <RETURN> HPB1471-19309 A.05.00 03Jan94 64700 SERIES EMULATION COMMON FILES A Hewlett-Packard Software Product Copyright Hewlett-Packard Co.
  • Page 543 Code start 280000H (should equal control ROM start) Code size 2348CH (must be less than control ROM size) Finishing up... Rebooting HP64700... Flash programming SUCCEEDED You could perform the same update as in the previous example with the following command: $ progflash -v em8018x 64767 <RETURN>...
  • Page 544: To Display Current Firmware Version Information

    To display current firmware version information • Use the Terminal Interface ver command to view the version information for firmware currently in the HP 64700. When using the Graphical User Interface or Softkey Interface, you can enter Terminal Interface commands with the pod_command command. For example: display pod_command <RETURN>...
  • Page 545: If There Is A Power Failure During A Firmware Update

    HP 64700 that will not boot up. Repeat the firmware update process. If the HP 64700 is connected to the LAN in this situation and you are unable to connect to the HP 64700 after the power glitch, try repeating the firmware update...
  • Page 547: Glossary

    Glossary access mode Specifies the types of cycles used to access target system memory locations. For example a "byte" access mode tells the monitor program to use load/store byte instructions to access target memory. active emulator probe An emulator probe that contains circuitry that allows the emulator to more closely imitate the electrical characteristics of the microprocessor thereby avoiding the timing problems that can occur with passive probes.
  • Page 548 Glossary For example, when you display target system memory locations, the monitor program executes microprocessor instructions that read the target memory locations and send their contents to the emulation controller. emulator An instrument that performs just like the microprocessor it replaces, but at the same time, it gives you information about the operation of the processor.
  • Page 549 Glossary sequence terms Individual levels of the sequencer. The analyzer provides 8 sequence terms. sequencer The part of the analyzer that allows it to search for a certain sequence of states before triggering. sequencer branch Occurs when the analyzer finds the primary or secondary branch state specified at a certain level and begins searching for the states specified at another level.
  • Page 551: Index

    206 altitude, operating and non-operating environments, 479 analyzer, 547 arming other HP 64700 Series analyzers, 5 breaking emulator execution into the monitor, 4 breaking execution of other HP 64700 Series emulators, 5 count qualifiers, 211 definition, 4...
  • Page 552 270 connecting to the target system, 272 analyzer status occurrence left information, 196 sequence term information, 196 app-defaults directory HP 9000 computers, 488 Sun SPARCsystem computers, 488 application resource See X resource arm information, 195 arm_trig2, in trace command, 424...
  • Page 553 OFF the HP 64700, 49 protect emulator against static discharge, 48 real-time dependent target system circuitry, 114 rear panel, do not stand HP 64700 on, 503 changing directory context in configuration window, 109 directory context in emulator/analyzer window, 142...
  • Page 554 Index passing parameters, 93 command line, 27 Command Recall dialog box, 28 Command Recall dialog box, operation, 88 copy-and-paste to from entry buffer, 78 editing entry area with popup menu, 87 editing entry area with pushbuttons, 86 entering commands, 85 entry area, 27 executing commands, 85 help, 88...
  • Page 555 Index loading from file, 111 modifying a section, 106 starting the interface, 104 storing, 108 context changing directory in configuration window, 109 changing directory in emulator/analyzer window, 142 changing symbol, 143 displaying directory from configuration window, 110 displaying directory from emulator/analyzer window, 142 displaying symbol, 142 coordinated measurements, 293 break_on_trigger syntax of the trace command, 293...
  • Page 556 Index memory to file, 185 registers to file, 186 trace listing to file, 185 count absolute/relative, trace display option, 228 count qualifiers, 211 count, occurrence, 208 current working symbol (cws), 420 cursor buttons, 28 custom foreground monitor, selecting, 120 data copy command, 334 display command, 345-347 data (analyzer state qualifier softkey), 204, 393, 408...
  • Page 557 Index display area, 27 columns, 307 copying to a file, 185 lines, 307-308 display command, 343-344 data, 345-347 error_log, 343 event_log, 344 global_symbols, 348 I/O ports, 349-350 local_symbols_in, 351 memory, 352-355 memory mnemonic, 33, 169 pod_command, 344 registers, 163-167, 356 simulated_io, 187, 357 software_breakpoints, 358 status, 194, 344...
  • Page 558 Index error tolerance, 260 interpreting reports, 259 maximum time, 259 minimum time, 259 number of intervals, 259 recursion considerations, 254 selecting, 257 standard deviation, 260 trace command setup, 255 editing command line entry area with popup menu, 87 command line entry area with pushbuttons, 86 file, 182, 307 file at address, 182, 307 file at program counter, 182...
  • Page 559 Index physical characteristics, 479 plugging into a target system, 48 probe cable length, 479 running from target reset, 145 specifications and characteristics, 476-479 status lines, predefined values for, 205 using the, 130 weight, 479 emulator configuration break processor on write to ROM, 128 exiting the configuration interface, 111 foreground cycles, locking, 119 foreground monitor location, 118...
  • Page 560 Index clearing, 74 copy-and-paste from, 78 copy-and-paste to, 74 Entry Buffer Recall dialog box, 27 Entry Buffer Recall dialog box, operation, 77 multi-window copy-and-paste from, 78 multi-window copy-and-paste to, 75 operation, 77 recall button, 27 recalling entries, 77 symbol width and copy-and-paste to, 75 text entry, 74 with action keys, 77, 79 with pulldown menus, 77...
  • Page 561 Index emulation session, 66 emulator/analyzer windows, 65 expressions, 201 --EXPR-- syntax, 364-366 external analyzer configuration, 273-281 general description, 4 labels, 274, 280 mode, 276 should emulation control?, 274 specifications, 480 using, 268 external data, trace display option, 231 file display area to, 185 editing, 182 editing at address, 182 editing at program counter, 182...
  • Page 562 334 help index, 83 on-line, 91 softkey driven information, 91 help command, 368-369 help index, displaying, 83 hexadecimal numbers, 202 HP 64700 Operating Environment, minimum version, 497 HP 9000 700 series Motif libraries, 496 HP-UX minimum version, 496...
  • Page 563 Index installing software, 522-527 minimum system requirements overview, 496 HP 98659 RS-422 Interface Card, 5 HP-UX, minimum version, 496 HP64KPATH, UNIX environment variable, 96 HP64KSYMBPATH environment variable, 420 I/O ports contents listed as asterisk (*), 336 display command, 349-350 modify command, 336-337, 375-376...
  • Page 564 Index LANG environment variable, 490 LD_LIBRARY_PATH environment variable, 531 libraries, Motif for HP 9000/700, 496 line numbers (source file), symbol display, 135 line numbers (trace), displaying about, 221 lines in main display area, 307-308 list, trace, 198 load command, 370-371...
  • Page 565 (SPMT), 254 monitor (emulation) background, 117 comparison of foreground/background, 117 foreground, 118 foreground monitor location, 118 function of, 116 selecting, 116-121 selecting entry after configuration, 115 user foreground, 120 user foreground monitor filename, 120 Motif, HP 9000/700 requirements, 496 mouse...
  • Page 566 229 OMF-86 symbol examples, 418 symbol tree, 419 OMF-86 absolute file format, 131 OMF-86 file format, 417 on-line help, 91 on_halt, trace command option, 213 only, trace command storage qualifier, 209 operating system HP 64700 Series minimum version, 497...
  • Page 567 387-388 physical characteristics of the emulator, 479 physical run address, conversion to logical run address, 113 platform HP 9000 memory needs, 496 HP 9000 minimum performance, 496 SPARCsystem memory needs, 497 SPARCsystem minimum performance, 497 platform scheme, 306, 489...
  • Page 568 Index power failure during firmware update, 545 prestore qualifier, 210, 548 primary branches (analyzer sequencer), 548 processor type, 60, 112 progflash example, 542 program activity measurements (SPMT), 239, 246 program counter mnemonic memory display, 34 running from, 144 pulldown menus choosing with keyboard, 71 choosing with mouse, 70-71 pushbutton select mouse button, 29...
  • Page 569 Index display/modify, 163-167 displaying, 39, 166 modify, 167 modify command, 381 to file, 186 relative count, in the trace display, 228 release_system, end command option, 43, 66, 108 repetitive display of memory, 173 reset (emulator), commands which cause exit from, 149 reset command, 395 reset, run from target, 145 resolution, memory mapper, 122...
  • Page 570 306, 490 slave clocks, 277 softkey driven help information, 91 softkey pushbuttons, 27 softkeys, 89 software installation for HP 9000, 522-527 installation for SPARCsystems, 528-532 software breakpoints, 150-162 clearing, 160 clearing all, 162 copy command, 335 deactivating, 157...
  • Page 571 Index ending, 264 how they are made, 238 initialize, 385-386 initializing, 242, 257 initializing, default, 242 initializing, duration measurements, 257 initializing, user defined ranges, 243, 257 initializing, with global symbols, 243 initializing, with local symbols, 243 memory activity, 239, 246 module duration, 254 module usage, 254 program activity, 239, 246...
  • Page 572 Index sruprint, 417 state, external analyzer mode, 276 STATE, in trace command, 407-408 static discharge, protecting the emulator probe against, 48 status copy command, 335 display command, 194, 344 status (analyzer state qualifier softkey), 204, 394, 408 predefined values for, 205 status line, 27 status line (display), 63 status, emulator, copying to a file, 186...
  • Page 573 Index --SYMB-- syntax, 414-422 trace display, 226 synchronous measurements, 291 syntax conventions, 328 system requirements HP 64700 minimum version, 497 HP 9000 overview, 496 HP-UX minimum version, 496 OSF/Motif HP 9000/700 requirements, 496 SPARCsystem overview, 497 SunOS minimum version, 497...
  • Page 574 Index prestore qualifier, 210 recalling trace specifications, 200 starting the, 194 stopping the, 197 storage qualifier, 209 storage qualifier with prestore, 210 store command, 413 storing, 234-235 Trace Specification Selection dialog box, 200 trigger position, 206 trace command, 423-425 default, 194 loading and storing, 232-233 setting up for SPMT measurements, 241 trace display, 220-231...
  • Page 575 65 opening additional emulator/analyzer, 63 running the emulator/analyzer interface in multiple, 59 workstation HP 9000 memory needs, 496 HP 9000 minimum performance, 496 SPARCsystem memory needs, 497 SPARCsystem minimum performance, 497 write to ROM break, 128 X client, 304...
  • Page 576 Index .Xdefaults file, 488 /usr/hp64000/lib/X11/HP64_schemes, 491 app-defaults file, 488 class name for applications, 486 class name for widgets, 486 command line options, 489 commonly modified graphical interface resources, 306 defined, 485 general form, 485 instance name for applications, 486 instance name for widgets, 485 loading order, 488 modifying resources, generally, 306-309 RESOURCE_MANAGER property, 488...
  • Page 577 This Hewlett-Packard system product is warranted against defects in materials and workmanship for a period of 90 days from date of installation. During the warranty period, HP will, at its option, either repair or replace products which prove to be defective.
  • Page 578 No other warranty is expressed or implied. HP specifically disclaims the implied warranties of merchantability and fitness for a particular purpose.
  • Page 579 Safety Summary of Safe Procedures The following general safety precautions must be observed during all phases of operation, service, and repair of this instrument. Failure to comply with these precautions or with specific warnings elsewhere in this manual violates safety standards of design, manufacture, and intended use of the instrument.
  • Page 580 Do Not Service Or Adjust Alone Do not attempt internal service or adjustment unless another person, capable of rendering first aid and resuscitation, is present. Do Not Substitute Parts Or Modify Instrument Because of the danger of introducing additional hazards, do not install substitute parts or perform any unauthorized modification of the instrument.
  • Page 581 Safety Symbols Used In Manuals The following is a list of general definitions of safety symbols used on equipment or in manuals: Instruction manual symbol: the product is marked with this symbol when it is necessary for the user to refer to the instruction manual in order to protect against damage to the instrument.
  • Page 582 Caution The Caution sign denotes a hazard. It calls your attention to an operating procedure, practice, condition, or similar situation, which, if not correctly performed or adhered to, could result in damage to or destruction of part or all of the product. Warning The Warning sign denotes a hazard.

This manual is also suitable for:

80186/8/xl/ea/eb

Table of Contents