HP MC68040 User Manual
HP MC68040 User Manual

HP MC68040 User Manual

Emulator, graphical user interface
Table of Contents

Advertisement

Quick Links

User's Guide for the Graphical User Interface
MC68040/EC040/LC040
Emulator/Analyzer
(HP 64783A/B)

Advertisement

Table of Contents
loading

Summary of Contents for HP MC68040

  • Page 1 User’s Guide for the Graphical User Interface MC68040/EC040/LC040 Emulator/Analyzer (HP 64783A/B)
  • 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. UNIX is a registered trademark of UNIX System Laboratories Inc. in the U.S.A. and other countries.
  • 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 HP 64783A/B Emulator HP 64700 Instrumentation Card Cage HP 64783A/B 68040/EC040/LC040 Emulator Demo Target System HP 9000 Series 300 Host System...
  • Page 5 Additionally, this emulator supports development of target systems using the MC68040 together with up to 31 MC68360’s in slave mode. Refer to the end of Chapter 4, "Using the Emulator", for an explanation of this emulator’s support for the MC68360 slave mode.
  • Page 6 C compiler, assembler/linker, a debugger that uses either a software simulator or the emulator for instruction execution, the HP Software Performance Analyzer that allows you to optimize your product software, and the HP Branch Validator for test suite verification. If your software development platform is a personal computer, support is available from several third party vendors.
  • Page 7 Emulation-bus analyzer • 80-channel emulation-bus analyzer, which uses the static deMMUer of the MC68040 emulator • Postprocessed, dequeued trace with symbols • Eight events, each consisting of address, status, and data comparators • Events may be sequenced eight levels deep and can be used for complex...
  • Page 8 In This Book This manual covers the HP 64783A/B emulator. All information in the manual applies to all three Microprocessor versions, unless it is marked with the processor name (MC68040, MC68EC040, or MC68LC040). Part 1, “Quick Start Guide,” tells you how to start using the emulator.
  • Page 9: Table Of Contents

    Contents Part 1 Quick Start Guide In This Part 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...
  • Page 10 Contents The MMU Demonstration Step 13: Obtain the normal interface and MMU demo Step 14: See the setup of the MMU Step 15: Look at the translation table details for a single logical address Step 16: Look at details of MMU Table C Step 17: Output characters on the seven-segment display Step 18: Take a trace of emulation activity Step 19: Prepare the deMMUer so you can see symbolic addresses in the trace list...
  • Page 11 To start the interface using the default configuration To execute a command file at interface startup To unlock an interface that was left locked by another user Opening Other HP 64700 Interface Windows To open additional emulator/analyzer windows To open the high-level debugger interface window...
  • Page 12 To increase flexibility of command files by using &ArG_lEfT To specify the order of searching several command file directories (HP64KPATH) Forwarding Commands to Other HP 64700 Interfaces To forward commands to the high-level debugger To forward commands to the software performance analyzer...
  • Page 13 Contents Accessing the Operating System To set environment variables To enter UNIX commands To display the name of the emulation module 4 Using the Emulator The Emulator And Its Applications The demo Application To build programs To configure the emulator Loading and Storing Programs To load a program To load the demo program...
  • Page 14 Contents Accessing Processor Memory Resources To display program data structures To display only source lines To display intermixed source lines To display symbols without source lines To display absolute addresses To display memory in byte format To display memory in word format To display memory in long word format To display memory in mnemonic format To return to the previous mnemonic display...
  • Page 15 Contents Using Execution Breakpoints Setting execution breakpoints in RAM Setting execution breakpoints in ROM Execution breakpoints in ROM when the MMU manages memory Using temporary and permanent breakpoints To enable execution breakpoints To disable an execution breakpoint To set a permanent breakpoint To set a temporary breakpoint To set a ROM breakpoint in RAM To clear an execution breakpoint...
  • Page 16 Contents Using M68040 support for the M68360 Companion Mode To set up custom M68040 Action Keys to support the M68360 Companion Mode Tasks you may wish to perform when using the M68040/M68360 companion Mode For more information 5 Using the Emulation-Bus Analyzer Power of the Emulation-Bus Analyzer Making Simple Trace Measurements To start a trace measurement...
  • Page 17 Contents Analyzing Program Execution When The MMU Is Enabled To program the deMMUer in a static memory system To store a deMMUer setup file To load the deMMUer from a deMMUer setup file To trace program execution in physical address space Making Complex Trace Measurements To use address, data, and status values in trace expressions To enter a range in a trace expression...
  • Page 18 Contents 6 Making Coordinated Measurements The Elements of Coordinated Measurements Comparison Between CMB and BNC Triggers 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...
  • Page 19 Contents To use the Software Performance Measurement Tool Step 1. Set up the trace command Step 2. Initialize the performance measurement Step 3. Run the performance measurement Step 4. End the performance measurement Step 5. Generate the performance measurement report 8 Configuring the Emulator Using the Configuration Interface To start the configuration interface...
  • Page 20 Contents Configuring the Emulator General Items Screen To enable/disable target system interrupts To enable/disable the instruction and data caches To enable/disable the memory management unit (MMU) To specify whether the clock speed of the emulation bus is greater than 25 MHz To restrict the emulator to real-time runs To enable/disable breaks on writes to ROM To specify the memory access size...
  • Page 21 Contents 9 Solving Problems If the emulator appears to be malfunctioning If the trace listing opcode column contains only the words "dma long write (retry)" repeatedly If the analyzer fails to trigger on a program address If the analyzer triggers on a program address when it should not If trace disassembly appears to be partially incorrect If there are unexplained states in the trace list If you see negative time or negative states in the trace list...
  • Page 22 Contents Part 3 Reference In This Part 10 Using Memory Management Understanding Emulation and Analysis Of The Memory Management Unit Terms And Conditions You Need To Understand Logical vs Physical What are logical addresses? What are physical addresses? Static and dynamic system architectures Static system example Non-paged dynamic system example Paged dynamic system example...
  • Page 23 Contents Using the DeMMUer What part of the emulator needs a deMMUer? What would happen if the analyzer didn’t get help from the deMMUer? How does the deMMUer serve the analyzer? Reverse translations are made in real time DeMMUer options What the emulator does when it loads the deMMUer Restrictions when using the deMMUer Keep the deMMUer up to date...
  • Page 24 Contents Summary of Commands break cmb_execute copy COUNT display DISPLAY MEMORY DISPLAY MMU DISPLAY TRACE —EXPR— FCODE HELP load log_commands modify performance_measurement_end performance_measurement_initialize performance_measurement_run pod_command QUALIFIER reset SEQUENCING specify step stop_trace store —SYMB— trace TRIGGER <UNIX_COMMAND> wait WINDOW 12 Emulator Error Messages Emulator error messages xxiv...
  • Page 25 14 The SPARCsystem Graphical User Interface and Softkey Interface HP-UX/SunOS product number cross reference Using your SPARCsystem keyboard Keyboard template 15 Microtec Language Tools Used With MC68040 Emulators Using Microtec Language Tools To use the Microtec commands Assembler defaults Linker defaults...
  • Page 26 Contents Part 4 Concept Guide In This Part 17 X Resources and the Graphical User Interface X Resources and the Graphical User Interface X Resource Specifications Resource Names Follow Widget Hierarchy Class Names or Instance Names Can Be Used Wildcards Can Be Used Specific Names Override General Names How X Resource Specifications are Loaded Application Default Resource Specifications...
  • Page 27 Contents Part 5 Installation and Service Guide In This Part 18 Connecting the Emulator to a Target System Plugging The Emulator Into A Target System Understanding an emulator Equivalent circuits Obtaining the terminal interface Connecting the emulator to the target system Verifying Operation Of The Emulator In Your Target System Running the emulator configured like the processor To verify operation of the target system...
  • Page 28 Observe antistatic precautions Step 2. Connect the Emulator Probe Cables Step 3. Install Boards into the HP 64700 Card Cage Step 4. Install emulation memory modules on emulator probe Step 5. Connect the emulator probe to the demo target system Step 6.
  • Page 29 Step 1. Install the software from the media Step 2. Verify the software installation Step 3a. Start the X server and the Motif Window Manager (mwm) Step 3b. Start HP VUE Step 4. Set the necessary environment variables Installing Sun SPARCsystem Software Step 1.
  • Page 31: Part 1 Quick Start Guide

    Part 1 Quick Start Guide...
  • Page 32: In This Part

    Part 1 Quick Start Guide In This Part This part describes how to quickly become productive with the emulation system.
  • Page 33: Getting Started

    Getting Started...
  • Page 34: 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. Some interface features include 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.
  • Page 35: 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 36: The Graphical User Interface

    Chapter 1: Getting Started The Graphical User Interface Menu bar. Action keys. Entry buffer. Entry buffer recall pushbutton. Display area. Scroll bar. Status line. Command Line: Command line entry area. Softkey pushbuttons. Command pushbuttons. Includes Cursor pushbuttons for command line command recall pushbutton.
  • Page 37 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 38: Graphical User Interface Conventions

    Chapter 1: Getting Started The command Recall pushbutton allows you to recall previous or predefined commands. When you click on the command Recall pushbutton, a dialog box appears that allows you to select a command. • Cursor pushbuttons for command line area control. Allows 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 39 Mouse Button Bindings and Descriptions Bindings: Generic Button Name Description HP 9000 SPARCsystem paste left left Paste from the display area to the entry buffer. command paste middle...
  • Page 40 Chapter 1: Getting Started The following table shows 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 41: The Getting Started Tutorial

    MC68040 emulator/analyzer. The tutorial examples presented in this chapter make the following assumptions: • The HP 64783 emulator and HP 64704 analyzer are installed into the HP 64700 Card Cage. • The HP 64700 is connected to the host computer.
  • Page 42: Step 1: Start The Demo

    "platformScheme" resource setting in the "Xdefaults.emul" file. For example, if the Graphical User Interface will be run on an HP 9000 computer and be displayed on a Sun SPARCsystem computer, change the platform scheme to "SunOS". This can’t be done in the demo directory specified above because the Xdefaults.emul file is write-protected.
  • Page 43 $ Startemul <logical_emul_name> The <logical_emul_name> in the command above is the logical emulator name given in the HP 64700 emulator device table file (/usr/hp64000/etc/64700tab.net). For the MC68040 emulator, it is usually m68040. If you did not perform Step 3 of this "Start the demo" procedure, you will be asked if you would like to have the demo files copied to a directory of your own choosing.
  • Page 44: 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 45: 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 Notice the message "Software break: <address>"...
  • Page 46: 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 47: 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 choose Display→Memory→Mnemonic Previous. Or, using the command line, enter: display memory mnemonic previous_display This command is useful, for example, when you have stepped into a function that you do not wish to look at—you can return the previous mnemonic display to the screen and run your program until the source line that follows the function call is...
  • Page 48: 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 49: 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 Click on the Disp Var () action key, or choose Display→Data Values→Add()→int32.
  • Page 50: 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...
  • Page 51: 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, or choose Execution→Step Instruction→from PC.
  • Page 52: 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 bus cycle. The information seen at a particular bus cycle is called a state.
  • Page 53 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 The default display mode settings cause source lines and symbols to appear in the...
  • Page 54: Step 11: Display Memory At An Address In A Register

    Chapter 1: Getting Started Step 11: Display memory at an address in a register Step 11: Display memory at an address in a register 1 Click on the Disp @REG action key. A "Define command file ..." dialog box appears. Or, using the command line, enter the name of the command file: mematreg A prompt appears in the command line.
  • Page 55: Step 12: Patch Assembly Language Code

    Chapter 1: Getting Started Step 12: Patch assembly language code Step 12: Patch assembly language code 1 With "main" still in the entry buffer, click on the Run Xfer til () action key. 2 To display memory with assembly-level instructions intermixed with the high-level source lines, click on the Disp Src &...
  • Page 56 Chapter 1: Getting Started Step 12: Patch assembly language code Notice in the emulator/analyzer interface that the instruction at address "main" has changed. 4 Click on the Patch () action key again. A window running the vi editor again appears, allowing you to modify the patch code that was just created.
  • Page 57 Chapter 1: Getting Started Step 12: Patch assembly language code 5 Type "main+4 thru main+15" in the entry buffer. By entering an address range in the entry buffer (that is, <address> through <address>) before clicking on the Patch () action key, you can modify a patch template file which allows you to insert as much or as little code as you wish.
  • Page 58: The Mmu Demonstration

    Step 12: Patch assembly language code The MMU Demonstration The remainder of this demonstration shows how the MC68040 emulator helps you develop and analyze your target program within a memory system that is managed by the MMU of the MC68040 processor.
  • Page 59: Step 13: Obtain The Normal Interface And Mmu Demo

    Step 13: Obtain the normal interface and MMU demo 1 The MMU demo program is run from the normal interface of the MC68040 emulator/analyzer, not the special interface you used to run the "ecs" demo in the first part of this chapter. If you still have the graphical user interface on screen, choose File→Exit→Released.
  • Page 60 Chapter 1: Getting Started Step 13: Obtain the normal interface and MMU demo Choose Execution→Run→from Reset. Or, using the command line, enter the following commands: load configuration demo.EA load demo.x set source memory_only_trace_on run from reset...
  • Page 61: Step 14: See The Setup Of The Mmu

    Chapter 1: Getting Started Step 14: See the setup of the MMU Step 14: See the setup of the MMU • Choose Display→MMU Translations • Or, using the command line, enter the following command: display mmu_translations The above commands let you see the present setup of the MMU. The MMU was set up by the demo program when you first started it.
  • Page 62: Step 15: Look At The Translation Table Details For A Single Logical Address

    Chapter 1: Getting Started Step 15: Look at the translation table details for a single logical address Step 15: Look at the translation table details for a single logical address • Choose Display→MMU Translations ... In the Display MMU Translations dialog box, select MMU Tables, Address 18000h, and Table Level All.
  • Page 63: Step 16: Look At Details Of Mmu Table C

    Chapter 1: Getting Started Step 16: Look at details of MMU Table C Step 16: Look at details of MMU Table C • Choose Display→MMU Translations ... In the Display MMU Translations dialog box, select MMU Tables, Address 18000h, and Table Level C (Page). Then click •...
  • Page 64: Step 17: Output Characters On The Seven-Segment Display

    Chapter 1: Getting Started Step 17: Output characters on the seven-segment display Step 17: Output characters on the seven-segment display 1 Choose Settings→Command Line to turn on the command line, if you are using the graphical user interface. 2 Using the command line, store the value of a hexadecimal string to be output on the seven-segment display of the demo board.
  • Page 65: Step 18: Take A Trace Of Emulation Activity

    Chapter 1: Getting Started Step 18: Take a trace of emulation activity Step 18: Take a trace of emulation activity • Choose Trace→Everything, and then choose Trace→Display. Choose Settings→Display Modes ... In the Display Modes dialog box, select Source in Trace Off, Then click OK.
  • Page 66 Chapter 1: Getting Started Step 19: Prepare the deMMUer so you can see symbolic addresses in the trace list Step 19: Prepare the deMMUer so you can see symbolic addresses in the trace list • Choose Settings→DeMMUer→, and then make sure the Verbose pushbutton is pressed (to see details on screen).
  • Page 67: Step 20: Take A New Trace

    Chapter 1: Getting Started Step 20: Take a new trace When a physical address maps to two or more logical addresses, the deMMUer normally sends the logical address with the lowest value to the analyzer. Exceptions to this rule are discussed in Chapter 10, "Using Memory Management". Step 20: Take a new trace •...
  • Page 68: Step 21: Inverse Assemble The Trace List

    Chapter 1: Getting Started Step 21: Inverse assemble the trace list Step 21: Inverse assemble the trace list • Now show the trace list inverse assembled into assembly language mnemonics. Choose Settings→Display Modes ... In the Display Modes dialog box, select Source Mixed in Source in Trace.
  • Page 69: Step 22: Reset The Emulator

    Chapter 1: Getting Started Step 22: Reset the emulator Step 22: Reset the emulator • Sometimes you may want to reset the emulation processor. This may be done from the emulator or the target system. To reset the emulation processor from the emulator, choose Execution→Reset •...
  • Page 71: Solving Quick Start Problems

    Solving Quick Start Problems Solutions to problems you might face during the Getting Started procedures.
  • Page 72: If The Desired Emulator Interface Won't Start

    If the desired emulator interface won’t start Check for correct installation of the interface software. Refer to Chapters 18, 19, and 20 in the "Installation and Service" part of this manual, and to the HP 64700 Series Emulators Installation/Service Guide.
  • Page 73: If You Can't Load The Demo Program

    Make sure the reset flying lead is connected from the probe to the demo board. Check to ensure that you changed to the demo directory: • /usr/hp64000/demo/debug_env/hp64783 for the MC68040.
  • Page 74: If You Can't Display The Program

    Chapter 2: Solving Quick Start Problems If you can’t display the program If you can’t display the program Verify that the program loaded correctly. Check to see that the status of the emulator is reset or is running in monitor. See the STATUS line on the display.
  • Page 75: Part 2 Using The Emulator

    Part 2 Using The Emulator...
  • Page 76: Making Measurements

    Part 2 Making Measurements When you’ve become familiar with the basic emulation process, you’ll want to make specific measurements to analyze your software and target system. The emulator has many features that allow you to control program execution, view processor resources, and program activity. In This Part 2 Chapter 3, “Using the Emulator/Analyzer Interface,”...
  • Page 77: Using The Emulator/Analyzer Interface

    Using the Emulator/Analyzer Interface How to enter commands in the Graphical User Interface and the Softkey Interface...
  • Page 78 • Exiting the emulator/analyzer interface. • Creating and executing command files. • Forwarding commands to other HP 64700 interfaces. • Accessing the terminal interface. • Accessing the operating system. When an X Window System that supports OSF/Motif interfaces is running on the...
  • Page 79: Maximum Number Of Windows

    Maximum Number of Windows Ten is the maximum number of windows you can use to view HP 64700 emulator/analyzer operation. Only one C debugger interface window and one SPA window are allowed, but you can start multiple emulator/analyzer interface windows.
  • Page 80 Chapter 3: Using the Emulator/Analyzer Interface Status Line Meaning Slow clock No clock source from the emulated system. Emulation reset The processor is being reset from the emulator. Target reset The processor is being reset from the emulated system. Bus grant The processor has not been granted the bus by the external arbiter (BG is not asserted).
  • Page 81: Using Multiple Terminals

    Chapter 3: Using the Emulator/Analyzer Interface Ending the Emulation Session When you are using the emulator in multiple windows, you can choose to either end the emulation session in a single window, or in all the windows. The end command by itself just ends the window where the command is executed. Using Multiple Terminals If you do not have a window environment installed on your host computer, you can still obtain the benefits of multiple windows by logging onto the same UNIX...
  • Page 82: Starting The Emulator/Analyzer Interface

    Chapter 3: Using the Emulator/Analyzer Interface 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 Chapter 19, "Installation and Service". This section describes how to: •...
  • Page 83: To Start The Emulator/Analyzer Interface

    If /usr/hp64000/bin is specified in your PATH environment variable, you can start the interface with the emul700 <emul_name> command. The "emul_name" is the logical emulator name given in the HP 64700 emulator device table (/usr/hp64000/etc/64700tab.net). If you are running the X Window System, the graphical user interface for the emulator/analyzer will start by default.
  • Page 84: To Start The Interface Using The Default Configuration

    (if a software performance analyzer is installed as part of your system). Examples To start the emulator/analyzer interface for the MC68040 emulator, enter: $ emul700 em68040 If you’re currently running the X Window System, the Graphical User Interface starts;...
  • Page 85: To Execute A Command File At Interface Startup

    Refer to the "Creating and Using Command Files" section later in this chapter for information on creating command files. Examples To start the emulator/analyzer interface and run the "startup" command file, enter: $ emul700 -c startup em68040 where “m68040" is the logical name for the HP 64783 MC68040 emulator.
  • Page 86: To Unlock An Interface That Was Left Locked By Another User

    Chapter 3: Using the Emulator/Analyzer Interface Starting the Emulator/Analyzer Interface To unlock an interface that was left locked by another user • Use the emul700 -U <emul_name> command. The -U option to the emul700 command may be used to unlock the emulators whose logical names are specified.
  • Page 87: 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 products for those windows have been installed (for example, the software performance analyzer, SPA, interface and the high-level debugger interface).
  • Page 88: To Open The High-Level Debugger Interface Window

    Chapter 3: Using the Emulator/Analyzer Interface Opening Other HP 64700 Interface Windows The File→Emul700 menu may display other choices if the interface finds other HP 64700 products on the computer. To open the high-level debugger interface window • Choose File→Emul700→High-Level Debugger ... under Graphic Windows.
  • Page 89: Entering Commands

    Chapter 3: Using the Emulator/Analyzer Interface Entering Commands Entering Commands The Graphical User Interface and Softkey Interface provide simple, effective mechanisms for entering commands to be processed by the emulator and analyzer. Basic descriptions of both interfaces are given in Chapter 1, "Getting Started". This section shows you how to: •...
  • Page 90: To Enter Commands On The Command Line

    Chapter 3: Using the Emulator/Analyzer Interface Entering Commands • To turn the command line on, position the mouse pointer in the main display area and start typing. The above selections turn display of the command line area on or off. When it is on, the command line is displayed;...
  • Page 91: To Edit The Command Line Using The Command Line Pushbuttons On The Graphical User Interface

    Chapter 3: Using the Emulator/Analyzer Interface Entering Commands To edit the command line using the command line pushbuttons on the Graphical User Interface • To position the cursor at a specific character, place the mouse pointer on the character and click the select mouse button. •...
  • Page 92: To Edit The Command Line Using The Command Line Popup Menu

    Chapter 3: Using the Emulator/Analyzer Interface Entering Commands To edit the command line using the command line popup menu • To position the cursor at a specific character, place the mouse pointer on the character and click the select mouse button. •...
  • Page 93: To Edit The Command Line Using The Keyboard

    Chapter 3: Using the Emulator/Analyzer Interface Entering Commands To edit the command line using the keyboard • In the Graphical User Interface, place the mouse pointer either in the display area, on the status line, or in the command line area. Then you can use the following keys to select points in the command line: <Left arrow>, <Right arrow>, <Tab>, <Shift><Tab>, <Insert char>, <Back space>, <Delete char>, <Clear line>, and <CTRL>u.
  • Page 94: To Execute A Completed Command

    Chapter 3: Using the Emulator/Analyzer Interface Entering Commands of the Command Recall dialog box is not restricted to just commands entered directly into the command line entry area. The Command Recall dialog box contains a list of interface commands executed during the session as well as any predefined commands present at interface startup.
  • Page 95: To Get Online Help On Commands

    Chapter 3: Using the Emulator/Analyzer Interface Entering Commands To get online help on commands • To get a dialog box that lists an index of helpful information in the Graphical User Interface, select Help→General Topic... or Help→Command Line..Then choose a topic of interest from the Help Index. •...
  • Page 96: To Display The Error Log

    Chapter 3: Using the Emulator/Analyzer Interface Entering 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 97: Using Special Features Of The Graphical User Interface

    Chapter 3: Using the Emulator/Analyzer Interface Using Special Features of the Graphical User Interface Using Special Features of the Graphical User Interface The following paragraphs show you how to use pulldown and popup menus, the entry buffer, action keys, and dialog boxes to compose commands and control emulator and analyzer operation.
  • Page 98: To Choose A Pulldown Menu Item Using The Mouse (Method 2)

    Chapter 3: Using the Emulator/Analyzer Interface Using Special Features of the Graphical User Interface If you decide not to select a menu item, simply continue to hold the mouse button down, move the mouse pointer off of the menu, and release the mouse button. Some menu items have an ellipsis ("...") as part of the menu label.
  • Page 99: To Choose A Pulldown Menu Item Using The Keyboard

    • To initially display a pulldown menu, press and hold the menu select key (for example, the "Extend char" key on an HP 9000 keyboard), and then type the underlined character in the menu label on the menu bar. (For example, "f" for "File".
  • Page 100: To Choose Popup Menu Items

    Chapter 3: Using the Emulator/Analyzer Interface Using Special Features of the Graphical User Interface pointer. That just means that the window containing the mouse pointer receives the keyboard input. In addition to keyboard mnemonics, you can also specify keyboard accelerators which are keyboard shortcuts for selected menu items.
  • Page 101: To Place Values Into The Entry Buffer Using The Keyboard

    Chapter 3: Using the Emulator/Analyzer Interface Using Special Features of the Graphical User Interface 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 102 Chapter 3: Using the Emulator/Analyzer Interface Using Special Features of the Graphical User Interface 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 103 Chapter 3: Using the Emulator/Analyzer Interface Using Special Features of the Graphical User Interface Example To paste the symbol (plus offset) "demodis+00000004" into the entry buffer from the interface display area, position the mouse pointer over the symbol and then click the paste mouse button.
  • Page 104: To Recall Entry Buffer Values

    Chapter 3: Using the Emulator/Analyzer Interface Using Special Features of the Graphical User Interface To recall entry buffer values • Position the mouse pointer over the Recall pushbutton 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 105: To Copy-And-Paste From The Entry Buffer To The Command Line Entry Area

    Chapter 3: Using the Emulator/Analyzer Interface Using Special Features of the Graphical User Interface 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 106: To Use The Action Keys

    Chapter 3: Using the Emulator/Analyzer Interface Using Special Features of the Graphical User Interface To use the action keys 1 If the action key uses the contents of the entry buffer, place the required 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 107 Chapter 3: Using the Emulator/Analyzer Interface Using Special Features of the Graphical User Interface The Graphical User Interface uses a number of dialog boxes for selection and recall: Directory Selection Selects the working directory. You can change to a previously accessed directory, a predefined directory, or specify a new directory.
  • Page 108 Chapter 3: Using the Emulator/Analyzer Interface Using Special Features of the Graphical User Interface 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 109 Chapter 3: Using the Emulator/Analyzer Interface Using Special Features of the Graphical User Interface 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 it to...
  • Page 110: Using Display-Control Features Of The Softkey Interface

    Chapter 3: Using the Emulator/Analyzer Interface Using display-control features of the Softkey Interface Using display-control features of the Softkey Interface • Use the following control-key combinations to redraw, reposition, and update the display of the Softkey Interface: Input Result <Ctrl>l To redraw the current display <Ctrl>f To roll the display left...
  • Page 111: Copying Information To A File Or Printer

    Chapter 3: Using the Emulator/Analyzer Interface Copying information to a file or printer Copying information to a file or printer • Choose File→Copy. Select the type of information from the cascade menu (see copy options below), and use the dialog box to select the file or printer. •...
  • Page 112 Chapter 3: Using the Emulator/Analyzer Interface Copying information to a file or printer Breakpoints ... Copies the breakpoints list. If no breakpoints are present in the list, only the enable/disable status is copied. Status ... Copies the emulator/analyzer status display. Global Symbols ...
  • Page 113: Exiting The Emulator/Analyzer Interface

    Chapter 3: Using the Emulator/Analyzer Interface Exiting the Emulator/Analyzer Interface Exiting the Emulator/Analyzer Interface The following paragraphs show you how to end single instances of the interface in selected windows, and how to exit from the interface and end your session. This section shows you how to: •...
  • Page 114: To End The Emulation Session In All Windows

    Chapter 3: Using the Emulator/Analyzer Interface Exiting the Emulator/Analyzer Interface To end the emulation session in all windows • To exit all windows, save your configuration to a temporary file, and lock the emulator so it cannot be accessed by others, select File→Exit→Locked. If using the command line, enter: end locked •...
  • Page 115: Creating And Executing Command Files

    Chapter 3: Using the Emulator/Analyzer Interface Creating and Executing Command Files Creating and Executing Command Files A command file is an ASCII file containing command-line commands. The interface can read a command file and execute the commands found there as if the commands were entered one-by-one on the command line.
  • Page 116: Using &Arg_Left In Command Files

    Chapter 3: Using the Emulator/Analyzer Interface Creating and Executing Command Files Parameters must be declared at the beginning of a command file using the PARMS keyword. Parameters are preceded by an ampersand (&) and consist of a combination of one or more letters or underscores. Letters may be upper-case or lower-case.
  • Page 117: Restrictions On Commands

    Chapter 3: Using the Emulator/Analyzer Interface Creating and Executing Command Files Restrictions on Commands There are certain commands that you cannot execute from a command file. These are commands that require a response from you. For example, you cannot place modify configuration commands in a command file because the command file cannot “respond”...
  • Page 118: Placing Comments In Command Files

    Chapter 3: Using the Emulator/Analyzer Interface Creating and Executing Command Files Placing Comments in Command Files As with any source file, comments in command files can help to explain the operation of the command file, and record creation and modification information. You can place comments in a command file either by using a text editor or by entering the comment as a “command”...
  • Page 119 Chapter 3: Using the Emulator/Analyzer Interface Creating and Executing Command Files log_commands to <filename> 2 Enter and execute commands to complete the desired task. 3 Stop logging commands by selecting File→Log→Stop. If using the command line, enter the command: log_commands off The above commands provide a mechanism that logs commands, entered and executed at the command line, to a file.
  • Page 120: To Create A Command File By Using A Text Editor

    Chapter 3: Using the Emulator/Analyzer Interface Creating and Executing Command Files wait measurement_complete # The preceding wait command variation ensures that # new trace states will be available in the trace buffer # before the "display trace" command is executed. display trace log_commands off To create a command file by using a text editor...
  • Page 121: To Execute (Or Playback) A Command File

    Chapter 3: Using the Emulator/Analyzer Interface Creating and Executing Command Files To execute (or playback) a command file • To execute a command file at interface startup, use the -c <command file name> option with your emul700 command. • To execute a command file from within the Graphical User Interface, select File→Log→Playback and use the dialog box to select the name of the command file you wish to execute.
  • Page 122: To Nest Command Files

    Chapter 3: Using the Emulator/Analyzer Interface Creating and Executing Command Files Examples Suppose you have a command file named STARTEMUL, it is located in your current working directory, and it contains the following commands: log_commands to STARTEMUL load configuration bigproject/config load bigproject/program trace after START run from 2000h...
  • Page 123: To Pause Command File Execution

    Chapter 3: Using the Emulator/Analyzer Interface Creating and Executing Command Files Command files requiring parameters must have those parameters supplied by the calling command file as part of the call. Failure to supply the parameters causes an error and a halt of the calling command file. Example The first command file (named “cmdfile1”) calls the second (named “cmdfile2”) and then executes a single instruction after control returns.
  • Page 124: To Add A Comment To A Command File

    Chapter 3: Using the Emulator/Analyzer Interface Creating and Executing Command Files A wait command without parameters will cause execution to pause until the <CTRL>c key combination is entered. If you have a command file that is hanging on a wait command, check to make sure that the wait has a <time> or a measurement_complete argument.
  • Page 125: To Pass Parameters To A Command File

    Chapter 3: Using the Emulator/Analyzer Interface Creating and Executing Command Files To pass parameters to a command file 1 Define formal parameters on the first line of the command file following the PARMS keyword. 2 Pass actual parameters to the command file when it is executed. A formal parameter is composed of an ampersand (&) followed by one or more letters or underscores.
  • Page 126 Chapter 3: Using the Emulator/Analyzer Interface Creating and Executing Command Files PARMS &cfgname &binfile load configuration &cfgname load &binfile The following command, entered on the command line, calls the command file “loadany” and passes the actual parameters needed by the command file: loadany democfg demo You could start the command file “loadany”...
  • Page 127: To Increase Flexibility Of Command Files By Using &Arg_Left

    Chapter 3: Using the Emulator/Analyzer Interface Creating and Executing Command Files To increase flexibility of command files by using &ArG_lEfT 1 Use the special parameter &ArG_lEfT anywhere in the command file. 2 Pass zero or more arguments to the command file on the command line. You can create highly flexible command files using the special parameter &ArG_lEfT.
  • Page 128: To Specify The Order Of Searching Several Command File Directories (Hp64Kpath)

    The directories listed in the HP64KPATH variable are not searched if the command file has an explicit path name prefixed to it. Use set to specify or change this variable if you are using the command line. Use export to set this variable from your HP-UX .profile file.
  • Page 129 Chapter 3: Using the Emulator/Analyzer Interface Creating and Executing Command Files Examples Set this variable, from within the interface, to cause the interface to search first the “/users/common/cmdfiles” directory, then the “/users/myid/cmdfiles” directory, and then the current working directory, by issuing either of the two following set commands: set HP64KPATH=/users/cmdfiles:/users/myid/cmdfiles set HP64KPATH=/users/cmdfiles:/users/myid/cmdfiles:.
  • Page 130: 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 131: To Forward Commands To The Software Performance Analyzer

    Chapter 3: Using the Emulator/Analyzer Interface 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 132: Accessing The Terminal Interface

    The Terminal Interface is the name given to a primitive command set that resides in the emulator firmware. The Terminal Interface is described in the MC68040/EC040/LC040 Emulator/Analyzer Terminal Interface User’s Guide. You may sometimes need to use Terminal Interface commands during an emulation session.
  • Page 133: To Display The Terminal Interface Screen

    Just be aware that it will terminate the emulation session if you do run it. See the MC68040/EC040/LC040 Emulator/Analyzer Terminal Interface User’s Guide for more information about the Terminal Interface. The remainder of this section explains how to display the Terminal Interface screen, copy the Terminal Interface screen to a file, and enter Terminal Interface commands.
  • Page 134: To Enter Terminal Interface Commands

    Chapter 3: Using the Emulator/Analyzer Interface Accessing the Terminal Interface • To replace the contents of a file with the contents of the Terminal Interface screen, on the command line enter: copy pod_command to <filename> noappend You can save the current contents of the Terminal Interface screen to a file by using the copy command.
  • Page 135 Chapter 3: Using the Emulator/Analyzer Interface Accessing the Terminal Interface Before you enter a Terminal Interface command, you should use the display pod_command command to display the Terminal Interface screen. If you do not display the Terminal Interface screen, you cannot see the output from the Terminal Interface commands you enter.
  • Page 136: To Get Help On Terminal Interface Commands

    You can access the emulator’s low-level Terminal Interface using the pod_command keyword. If you need help on any Terminal Interface command, you can use its help command. See the MC68040/EC040/LC040 Emulator/Analyzer Terminal Interface User’s Guide for more information regarding the Terminal Interface. Examples...
  • Page 137: Accessing The Operating System

    Chapter 3: Using the Emulator/Analyzer Interface Accessing the Operating System Accessing the Operating System Through the command line, you can access the operating system to use services available there. You can set environment variables and enter UNIX commands. This section shows you how to: •...
  • Page 138: To Enter Unix Commands

    Chapter 3: Using the Emulator/Analyzer Interface Accessing the Operating System To enter UNIX commands • Type !<UNIX_COMMAND> • Type !<UNIX_COMMAND>! <options> You can execute any UNIX command by preceding it on the command line with an exclamation mark (!). The system creates a shell process and executes the command line string following the exclamation mark.
  • Page 139: To Display The Name Of The Emulation Module

    Chapter 3: Using the Emulator/Analyzer Interface Accessing the Operating System See a directory listing in a browser window: !ls! in_browser Make files in a directory and hold off loading the executable file until the "make" has finished: !make! wait_for_exit ; load <file> To display the name of the emulation module •...
  • Page 141: Using The Emulator

    Using the Emulator How to control the processor and view system resources...
  • Page 142: The Emulator And Its Applications

    The Emulator And Its Applications The Emulator And Its Applications The HP 64783 emulator helps you test and debug applications in real time. The emulator is a functional replacement for MC68040 microprocessor. It provides access to processor registers and memory, as well as complete execution run control.
  • Page 143: The Demo Application

    SRAM memory modules. To build programs 1 Create source files in “C” or MC68040 assembly language using a text editor. 2 Translate the “C” source files to relocatable object code using a compatible C cross compiler.
  • Page 144 If you’re planning to load programs into emulation or target system memory, you need to have your files in a format acceptable to the MC68040 emulator. Usually, this means that you’ll want your files in IEEE-695 absolute format. The HP language tools for the HP 9000 produce this format.
  • Page 145: To Configure The Emulator

    Chapter 4: Using the Emulator The Emulator And Its Applications To configure the emulator • Configure the emulator to meet the resource needs of your target system and application program by following the instructions in Chapter 8, "Configuring the Emulator". •...
  • Page 146: Loading And Storing Programs

    LAN or serial ports of the HP 64700 Card Cage. You can also save a range of memory in an absolute file for later reuse. (You might do this if you patch a section of code and need to do further testing.)
  • Page 147 Chapter 4: Using the Emulator Loading and Storing Programs <fcode> Meaning none emulator load, defaults to supervisor space super supervisor address space user user address space The emulator can load HP64000 or IEEE-695 format absolute files into emulation or target system memory. So, you can develop programs on your UNIX workstation;...
  • Page 148: To Load The Demo Program

    Startemul <logical name> Where <logical name> is the name assigned to your emulator. The default logical name for the MC68040 emulator is m68040. For a detailed discussion of how to find a logical name, refer to Chapter 1, "Getting Started".
  • Page 149: To Store A Program

    To store a program • Using the command line, transfer a range of memory locations from the emulator to an HP 9000 file by entering the command: store memory [ fcode <fcode>] <expression> [ thru <expression>] [ offset_by <offset>] to <filename>...
  • Page 150: To Edit Files

    Chapter 4: Using the Emulator Loading and Storing Programs 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 the address reference (either absolute or symbolic) in the entry buffer;...
  • Page 151 Chapter 4: Using the Emulator Loading and Storing Programs 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 152 Chapter 4: Using the Emulator Loading and Storing Programs To edit a file at the location of 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 153: Using Symbols

    (refer to Chapter 13, "Setting X Resources"). The MC68040 emulator interface can read absolute files in HP-OMF or IEEE-695 format. For more information on SRU, refer to the Symbol Retrieval Utilities, SRU, User’s Guide.
  • Page 154: To Load A Symbol Database

    Chapter 4: Using the Emulator Using Symbols To load a symbol database • Choose File→Load→Symbols Only... In the dialog box, click on the name of the desired symbols file, and then click OK. • Using the command line, load a new symbol database by entering the command: load symbols <filename>...
  • Page 155: To Display Global Symbols

    Chapter 4: Using the Emulator Using Symbols To display global symbols • Choose Display→Global Symbols. • Using the command line, display global symbols by entering the command: display global_symbols The display global_symbols command displays a list of global (externally defined) symbols in the program modules you have loaded into emulation or target memory.
  • Page 156: To Display Local Symbols

    Chapter 4: Using the Emulator Using Symbols To display local symbols • If you are using the Graphical User Interface: • First place the name of the symbol whose local symbols should be displayed into the entry buffer, and then in the menu bar, choose Display→Local Symbols().
  • Page 157 Chapter 4: Using the Emulator Using Symbols To display the source reference address ranges: display local_symbols_in system.c: To display local symbols using the symbols display popup menu: View the local symbols associated with the highlighted symbol by choosing this menu item. If local symbols exist within the scope of the symbol you chose, then the display changes to show those symbols.
  • Page 158: To Display The Parent Symbol Of A Symbol

    Chapter 4: Using the Emulator Using Symbols To display the parent symbol of a 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.
  • Page 159: To Copy And Paste A Full Symbol Name To The Entry Buffer

    Chapter 4: 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 160: To Enter A Symbol

    Chapter 4: Using the Emulator Using Symbols To enter a symbol • Enter symbols according to the syntax shown in the —SYMB— syntax pages in Chapter 11, "Emulator Commands". Examples These are examples of some valid symbol entries: Int_Cmd demo.Main(procedure) demo.EndLoop handle_msg.Fill_Dest handle_msg.Cmd_A...
  • Page 161: To Display The Current Directory And Current Working Symbol

    Chapter 4: Using the Emulator Using Symbols To display the current directory and current working symbol • Choose Display→Context... A dialog box will open and show the name of the current directory and current working symbol. • Using the command line, display the name of the current directory by typing pwd, and the name of the current working symbol by typing pws.
  • Page 162: To Change The Directory Context

    Chapter 4: Using the Emulator Using Symbols To change the directory context • Choose File→Context→Directory and use the dialog box to select a new directory. • Using the command line, enter the cd <directory> command. The Directory Selection dialog box contains a list of directories accessed during the emulation session as well as any predefined directories present at interface startup.
  • Page 163 Chapter 4: Using the Emulator Using Symbols Example The update_sys module of the demo program defines several symbols, including get_targets, graph_data, and write_hdwr. You refer to these in a group of memory display commands as follows: display memory update_sys.get_targets blocked bytes display memory update_sys.graph_data blocked bytes display memory update_sys.write_hdwr blocked bytes To save repeated typing of update_sys, enter:...
  • Page 164: Accessing Processor Memory Resources

    Chapter 4: Using the Emulator Accessing Processor Memory Resources Accessing Processor Memory Resources While you are debugging your system, you may want to examine memory resources. For example, you may need to verify that the correct data is loaded, or check the results of a data write.
  • Page 165 Chapter 4: Using the Emulator Accessing Processor Memory Resources <type> is a data type for display formatting as follows: Type Description Designator byte Hex display of one 8-bit location word Hex display of one 16-bit location long Hex display of one 32-bit location int8 Display one 8-bit location as a signed integer (two’s complement)
  • Page 166: To Display Only Source Lines

    Chapter 4: Using the Emulator Accessing Processor Memory Resources To display only source lines • Choose Settings→Source/Symbol Modes→Source Only. • Using the command line, enter: set source only symbols on Only high-level source lines are displayed in mnemonic memory and trace displays. Examples To turn ON source lines in displays, and display memory in mnemonic format: set source only symbols on...
  • Page 167: To Display Intermixed Source Lines

    Chapter 4: Using the Emulator Accessing Processor Memory Resources To display intermixed source lines • Choose Settings→Source/Symbol Modes→Source Mixed. • Using the command line, enter: set source on symbols on High-level source lines are intermixed with assembly language instructions in mnemonic memory and trace displays.
  • Page 168: To Display Symbols Without Source Lines

    Chapter 4: Using the Emulator Accessing Processor Memory Resources To display symbols without source lines • Choose Settings→Source/Symbol Modes→Symbols. • Using the command line, enter: set source off symbols on Symbols are included in memory mnemonic, trace, breakpoints, and register step displays.
  • Page 169: To Display Absolute Addresses

    Chapter 4: Using the Emulator Accessing Processor Memory Resources To display absolute addresses • Choose Settings→Source/Symbol Modes→Absolute. • Using the command line, enter: set source off symbols off No symbols or source lines are included in mnemonic memory or trace displays. Examples To turn OFF symbols and source lines in displays, and display memory in mnemonic format:...
  • Page 170: To Display Memory In Byte Format

    Chapter 4: Using the Emulator Accessing Processor Memory Resources To display memory in byte format • Choose Display→Memory→Hex()→bytes. If you want to include a line range or starting point for your memory display in your command, enter it into the entry buffer before you execute this command.
  • Page 171: To Display Memory In Word Format

    Chapter 4: Using the Emulator Accessing Processor Memory Resources To display memory in word format • Choose Display→Memory→Hex()→words. If you want to include a line range or starting point for your memory display in your command, enter it into the entry buffer before you execute this command.
  • Page 172: To Display Memory In Long Word Format

    Chapter 4: Using the Emulator Accessing Processor Memory Resources To display memory in long word format • Choose Display→Memory→Hex()→long. If you want to include a line range or starting point for your memory display in your command, enter it into the entry buffer before you execute this command.
  • Page 173: To Display Memory In Mnemonic Format

    Chapter 4: Using the Emulator Accessing Processor Memory Resources To display memory in mnemonic format • Choose Display→Memory→Mmemonic() or Mnemonic at PC. If you want to include a line range or starting point in your command, enter it into the entry buffer before you choose the Mnemonic() command.
  • Page 174: To Return To The Previous Mnemonic Display

    Chapter 4: Using the Emulator Accessing Processor Memory Resources Examples To display memory for the main part of the demo program, enter main in the entry buffer and choose Display→Memory→Mmemonic(), or enter on the command line: display memory main mnemonic Display the write_hdwr routine for the update_sys program in mnemonic format, with symbols in the address column: set symbols on...
  • Page 175: To Display Memory In Real Number Form

    Chapter 4: Using the Emulator Accessing Processor Memory Resources To display memory in real number form • Choose Display→Memory→Real()→<real type>. If you want to include a line range or starting point in your command, enter it into the entry buffer before you execute this command.
  • Page 176: To Redisplay Memory Locations

    Chapter 4: Using the Emulator Accessing Processor Memory Resources To redisplay memory locations • Choose Display→Memory. • Using the command line, redisplay memory with the same address range and format as the previous memory display by selecting: display memory The last range and format options are maintained in the interface. When you display memory without specifying the location or format for the display, the previous options are used.
  • Page 177: To Modify Memory

    Chapter 4: Using the Emulator Accessing Processor Memory Resources To modify memory • Choose Modify→Memory, or enter the desired memory location and new value in the entry buffer and click on Modify→Memory at (). The equivalent command will be shown on the command line. Complete the command by entering appropriate information on the command line.
  • Page 178 Chapter 4: Using the Emulator Accessing Processor Memory Resources The <mode> parameter can be either bytes, words, or long. Otherwise, the mode specified by the last display memory command determines how data is displayed. If you selected "Any" when you specified "Memory Access Size" as part of the emulation configuration, the size you specify here will be used to access memory for the modification you specify.
  • Page 179 Then location f00 will contain 00, and location f01 will contain 03. Notice that you refer to a word by an even address, which is the address of its most significant byte (this is defined by the MC68040 processor architecture).
  • Page 180: Using Processor Run Controls

    Chapter 4: Using the Emulator Using Processor Run Controls Using Processor Run Controls When you don’t use an emulator, run control can be difficult. Usually, you’re limited to starting the processor from reset, and then entering data values that vector program execution to the routines you want to test. Reaching those routines may be difficult or impossible if the data values are boundary conditions or if the program logic is faulty.
  • Page 181 Chapter 4: Using the Emulator Using Processor Run Controls run from transfer_address When you’re ready to start a program run, either to test target system operation or make an analyzer measurement, you use the run command. <—EXPR—> is a 32-bit address expression. You can include supervisor or user function codes to specify the privilege level for the run command.
  • Page 182: To Run Programs From The Transfer Address

    Chapter 4: Using the Emulator Using Processor Run Controls To run programs from the transfer address • Choose Execution→Run→from Transfer Address. • Using the command line, enter: run from transfer_address Most software development tools allow you to specify a starting or entry address for program execution.
  • Page 183: To Run Programs Until A Selected Address Occurs

    Chapter 4: Using the Emulator Using Processor Run Controls To run programs until a selected address occurs • When displaying memory in mnemonic format, position the mouse pointer over the line that you want to run until; then press and hold the select mouse button and choose Run Until from the popup menu.
  • Page 184: To Break To The Monitor

    Chapter 4: Using the Emulator Using Processor Run Controls To break to the monitor • Choose Execution→Break. • Using the command line, cause the emulation processor to break from execution of your target program and start execution in the monitor by entering: break The emulation monitor is a program that provides various emulation functions, including register access and target system memory manipulation.
  • Page 185: To Step The Processor

    Chapter 4: Using the Emulator Using Processor Run Controls To step the processor • Choose Execution→Step Source or Execution→Step Instruction. Select the starting point for processor stepping from the associated submenu. If you will enter a command that requires a starting address, enter that address in the entry buffer before entering the command.
  • Page 186 In this situation, you can abort the step command by pressing <CTRL>c. The emulator uses the built-in tracing capability of the MC68040 processor to single step assembly instructions. The emulator needs the trace exception vector (located at offset 0x24 in the vector table) to be set properly in order to single step instructions.
  • Page 187 Chapter 4: Using the Emulator Using Processor Run Controls vector, the emulator attempts to read from the address it points to. If the read succeeds, the emulator single steps without modifying the vector table. Otherwise, the emulator attempts to write the current value of VBR into the trace exception vector (because the vector table is readable).
  • Page 188: To Reset The Processor

    If the emulator is running a user program when the target system reset occurs, it will behave as if a run from reset command were issued. If the MC68040 emulator is in the monitor when the target reset occurs, it will reenter the monitor when the reset is released.
  • Page 189: Viewing And Modifying Registers

    Chapter 4: Using the Emulator Viewing and Modifying Registers Viewing and Modifying Registers The emulator allows you to display registers to determine the results of program execution. You can display a single register, or you can display groups of related registers.
  • Page 190 Chapter 8, "Configuring the Emulator.") The MMU register class of the MC68EC040 is different from the MMU register class of the MC68040 and MC68LC040. The MC68EC040 uses registers DACR0/IACR0 and DACR1/IACR1, which are nearly identical to DTT0/ITT0 and DTT1/ITT1. These MC68EC040 registers are displayed in the DTT0/ITT0, DTT1/ITT1 registers, respectively.
  • Page 191: To Modify Registers

    Chapter 4: Using the Emulator Viewing and Modifying Registers To modify registers • Choose Modify→Register..., and in the dialog box, type in the register name and new value. • Using the command line, modify a register to a new value by typing: modify register <regname>...
  • Page 192 Chapter 4: Using the Emulator Viewing and Modifying Registers Examples To modify a register, choose Modify→Register..., and fill in the dialog box. Place the mouse pointer in Click Recall to select the text entry area and type register names and in the name of the register values from predefined and the new value.
  • Page 193: Using Execution Breakpoints

    Execution breakpoints are implemented using the BKPT instruction of the MC68040. You can enable, disable, set, or clear execution breakpoints. Set execution breakpoints at the first word of program instructions. Otherwise, your BKPT may be interpreted as data and no breakpoint cycle will occur. When...
  • Page 194: Setting Execution Breakpoints In Rom

    Chapter 4: Using the Emulator Using Execution Breakpoints Setting execution breakpoints in ROM If you try to set an execution breakpoint at a location in ROM, the emulator will attempt to set the breakpoint as it does in RAM, but it will fail because the instruction in ROM will not change.
  • Page 195: Using Temporary And Permanent Breakpoints

    Chapter 4: Using the Emulator Using Execution Breakpoints Using temporary and permanent breakpoints When you set a temporary execution breakpoint, the emulator creates the breakpoint as described in the preceding paragraphs. When the breakpoint instruction is executed, the emulator breaks to the monitor and removes the breakpoint.
  • Page 196: To Enable Execution Breakpoints

    Chapter 4: Using the Emulator Using Execution Breakpoints To enable execution breakpoints • Choose Breakpoints→Enable. • Inside the breakpoints list display, press and hold the select mouse button and then choose Enable/Disable Software Breakpoints from the popup menu. • Using the command line, enable breakpoints with: modify software_breakpoints enable You must enable breakpoints before you can set, inactivate, or clear any breakpoints.
  • Page 197: To Set A Permanent Breakpoint

    Chapter 4: Using the Emulator Using Execution Breakpoints Sometimes you will want to temporarily disable the execution breakpoints feature without removing the existing breakpoints. Use one of the above commands to do this. When you disable breakpoints, the emulator replaces the BKPT instructions at all breakpoint locations with the original instructions.
  • Page 198: To Set A Temporary Breakpoint

    • Type in the absolute or symbolic address of the breakpoint you want to set in the entry buffer. Then choose Breakpoints→Temporary(), ( or choose Breakpoints→Set() if your version of HP 64700 system firmware is less than A.04.00). • Choose Breakpoints→Set All to set all existing breakpoints in the breakpoint table.
  • Page 199: To Set A Rom Breakpoint In Ram

    Chapter 4: Using the Emulator Using Execution Breakpoints Examples Set a new breakpoint at get_targets: modify software_breakpoints set update_sys.get_targets Reenable all existing breakpoints: modify software_breakpoints set To set a ROM breakpoint in RAM • Type in the name of the breakpoint you want to set in the entry buffer. Then choose Breakpoints→Force HW→Permanent() or Temporary().
  • Page 200: To Clear An Execution Breakpoint

    Chapter 4: Using the Emulator Using Execution Breakpoints To clear an execution breakpoint • Type in the name of the breakpoint you want to clear in the entry buffer. Then choose Breakpoints→Clear(). • Choose Breakpoints→Clear All to clear all existing breakpoints in the breakpoint table.
  • Page 201 Chapter 4: Using the Emulator Using Execution Breakpoints Examples To clear a breakpoint using the breakpoints display popup menu: Bring up the menu and choose this item to clear the highlighted breakpoint. To clear an existing breakpoint at get_targets: modify software_breakpoints clear update_sys.get_targets To clear all existing breakpoints: modify software_breakpoints clear...
  • Page 202: To Clear All Execution Breakpoints

    Chapter 4: Using the Emulator Using Execution Breakpoints To clear all execution 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 203 Chapter 4: Using the Emulator Using Execution Breakpoints breakpoints are removed from the breakpoint table when the breakpoint is encountered. pending Which means the temporary breakpoint has been set but not encountered during program execution. These breakpoints are inactivated when the breakpoint is encountered.
  • Page 204: Changing The Interface Settings

    Chapter 4: 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.
  • Page 205: To Set The Display Modes

    Chapter 4: Using the Emulator Changing the Interface Settings The source/symbol modes affect mnemonic memory displays and trace displays. Each display mode cascade menu choice is a toggle. Choosing one of these items causes it to be the only one active and toggles all others off. Provided that symbols were loaded, the interface defaults to: •...
  • Page 206: Source/Symbols View

    Chapter 4: 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 207: Using The Emulator In-Circuit

    Chapter 4: Using the Emulator Using the Emulator In-Circuit Using the Emulator In-Circuit As your target system design progresses, you will want to test features of your program that will interact with your target system hardware instead of emulation memory hardware. You must connect the emulator probe to your target system to do in-circuit emulation.
  • Page 208 Chapter 4: Using the Emulator Using the Emulator In-Circuit 1 Remove the processor from your target system socket. Note the location of pin A1 on the processor and on the target system socket. Store the processor in a protected environment (such as antistatic foam). 2 Insert the emulator probe into your target system socket.
  • Page 209: To Power-On The Emulator And Your Target System

    3 Before you turn off power to the emulator, be sure to turn off power to your target system. To probe target system sockets • A flexible adapter is available from Hewlett-Packard for special target system probing needs. It is listed in the following table: Probe type HP part number 68040 PGA to PGA flexible adapter E3429A...
  • Page 210: Using The Emulator With Mmu Enabled

    Also, some of the features of the emulator behave differently. The remaining pages in this chapter will help you when you are using the MC68040 emulator with the MMU enabled. Chapter 10, "Using Memory Management", provides detailed information to help you use the MC68040 MMU most efficiently.
  • Page 211: To View The Present Logical-To-Physical Mappings

    Chapter 4: Using the Emulator Using The Emulator With MMU Enabled signal does not affect the operation of the transparent translation or access control registers. To view the present logical-to-physical mappings • Choose Display→MMU Translations. If you want to specify a logical address range for your mappings display, choose Display→MMU Translations...
  • Page 212 Chapter 4: Using the Emulator Using The Emulator With MMU Enabled Using the command line, enter: display mmu_translations 0 thru 0ffffh To see the logical-to-physical mappings for the pages that contain logical address 40f0h, enter the command: display mmu_translations 40f0h To see only the mappings in supervisor space in the address range from 0 through 0ffffh, enter the command: display mmu_translations fcode super 0 thru 0ffffh...
  • Page 213: To See Translation Details For A Single Logical Address

    Chapter 4: Using the Emulator Using The Emulator With MMU Enabled To show all of the valid mappings using the register overload capability of the command, enter a command to disable the MMU, and then enable it in your command, such as: modify register MMU TC to 0 display mmu_translations use_value TC 8000h To see translation details for a single logical...
  • Page 214 Chapter 4: Using the Emulator Using The Emulator With MMU Enabled Using the command line, enter: display mmu_translations tables 40f0h To see how logical address 1000h in user space is mapped through the translation tables to its corresponding physical address, choose Display→MMU Translations...
  • Page 215: To See Details Of A Translation Table Used To Map A Selected Logical Address

    Chapter 4: Using the Emulator Using The Emulator With MMU Enabled To see details of a translation table used to map a selected logical address • Choose Display→MMU Translations... Then in the dialog box, click on MMU Tables, and enter the Logical Address whose translation table you want to see in the Address box.
  • Page 216 Chapter 4: Using the Emulator Using The Emulator With MMU Enabled Using the command line, enter: display mmu_translations tables 1250h level A...
  • Page 217: Using An Fpu With An Mc68Ec040 Or Mc68Lc040 Target System

    Target programs containing FPU instructions will run faster when the emulator is plugged into the target system because they are executed in the hardware of the MC68040 instead of by the floating-point software libraries, as they will be when the MC68EC040/LC040 processor is plugged in. This will cause...
  • Page 218: Using M68040 Support For The M68360 Companion Mode

    Chapter 4: Using the Emulator Using M68040 support for the M68360 Companion Mode Using M68040 support for the M68360 Companion Mode Many designers need development tools for Motorola’s M68360 processor. However, designers of higher performance systems will need to achieve a greater level of throughput than the 5 MIPS CPU32+ processor on board the M68360 can provide.
  • Page 219: To Set Up Custom M68040 Action Keys To Support The M68360 Companion Mode

    Chapter 4: Using the Emulator Using M68040 support for the M68360 Companion Mode To set up custom M68040 Action Keys to support the M68360 Companion Mode The following paragraphs show you how to set up a custom ararngement of M68040 Action Keys in the Graphical User Interface to support the M68360 Companion Mode.
  • Page 220 Chapter 4: Using the Emulator Using M68040 support for the M68360 Companion Mode Now change directories to $HP64000/inst/emul/64783A/compmode, and view the file ACTION040360 on your screen. $ cat ACTION040360 emul.m68040*browseSub.enableEnhancements: True emul.m68040*browse_popup.title:Browser Window emul.m68040*actionKeys.packing: PACK_COLUMN emul.m68040*actionKeys.numColumns: emul.m68040*actionKeysSub.keyDefs: \ "COMPANION" "help68360register2" \ "MODE KEYS"...
  • Page 221 Chapter 4: Using the Emulator Using M68040 support for the M68360 Companion Mode Add the Companion Mode action keys from file $HP64000/inst/emul/64783A/compmode/ACTION040360 to the normal action keys contained in your file "MyActKeys.tmp". Save this file. Edit your "MyActKeys.tmp" file to add a blank action key with a nondestructive action string before the first Companion Mode action key ("COMPANION") in order to obtain a balanced arrangement of action keys across the interface, and to change the number of action key rows to five...
  • Page 222 Chapter 4: Using the Emulator Using M68040 support for the M68360 Companion Mode Add your special arrangement of action keys to your .Xdefaults file by typing the command: cat MyActKeys.tmp >> $HOME/.Xdefaults Make sure you export your ".Xdefaults" file so that it will be read when the M68040 interface starts.
  • Page 223 Chapter 4: Using the Emulator Using M68040 support for the M68360 Companion Mode Press the Action Key labeled "Help 360". A window will open, providing general information to help you get started using the M68360 Companion Mode through the M68040 Action Keys. See below:...
  • Page 224: Tasks You May Wish To Perform When Using The M68040/M68360 Companion Mode

    Chapter 4: Using the Emulator Using M68040 support for the M68360 Companion Mode Tasks you may wish to perform when using the M68040/M68360 companion Mode The following paragraphs show you how to perform typical development operations supported in the action keys of the M68040 Graphical User Interface. For further details, refer to the help screen available by pressing the "Help 360"...
  • Page 225 Chapter 4: Using the Emulator Using M68040 support for the M68360 Companion Mode • To assign a new base address to contain the register set of an M68360 chip, press the "Pick Util" Action Key. In the browser window, highlight assign68360chip, and click Done.
  • Page 226: For More Information

    Chapter 4: Using the Emulator Using M68040 support for the M68360 Companion Mode For more information • General information about using the Action Key solution to the M68040/M68360 Companion Mode is available by pressing the "Help 360" Action Key. • Detailed information for configuring a particular SIM60 or CPM register can be obtained by placing the name of the register in the entry field and pressing the "Help Reg ()"...
  • Page 227: Using The Emulation-Bus Analyzer

    Using the Emulation-Bus Analyzer How to record program execution in real-time...
  • Page 228: Power Of The Emulation-Bus Analyzer

    Chapter 5: Using the Emulation-Bus Analyzer Power of the Emulation-Bus Analyzer Power of the Emulation-Bus Analyzer The emulation-bus analyzer is a powerful tool that allows you to view the execution of your program in real-time. Extensive triggering and sequencing capability ensures that the analyzer captures only the information you need so you don’t spend time searching through long trace lists to find the information that is of interest.
  • Page 229: Making Simple Trace Measurements

    Chapter 5: Using the Emulation-Bus Analyzer Making Simple Trace Measurements Making Simple Trace Measurements You can make simple records of the processor’s bus activity using just a few analyzer commands. When you set up the analyzer to record processor bus activity, you are preparing to make a trace measurement.
  • Page 230: To Start A Trace Measurement

    Chapter 5: Using the Emulation-Bus Analyzer Making Simple Trace Measurements To start a trace measurement • Choose Trace→Everything. • Using the command line, enter: trace When you use the trace command without any options, the analyzer begins recording processor bus cycles immediately, and continues until the trace buffer is filled.
  • Page 231: To Stop A Trace Measurement

    Chapter 5: Using the Emulation-Bus Analyzer Making Simple Trace Measurements To stop a trace measurement • Choose Trace→Stop. • Using the command line, enter: stop_trace You must use this command to stop a trace started with a Trace→Until Stop command (refer to "To trace activity leading up to a program halt" later in this chapter).
  • Page 232 Chapter 5: Using the Emulation-Bus Analyzer Making Simple Trace Measurements data using the display command. (See the set update command in “Emulator Commands” for details.) Whether source lines, disassembled trace states, or symbols are included in the display depends on the modes you choose with the Settings→Source/Symbols Modes or Settings→Display Modes pulldown menu items.
  • Page 233: To Display The Trace Status

    Chapter 5: Using the Emulation-Bus Analyzer Making Simple Trace Measurements To display the trace status • Choose Display→Status. • Using the command line, display the trace status with the display status command. When you complete a trace measurement, you’ll want to see the results. The commands above show the current emulator and analyzer status.
  • Page 234: To Change The Trace Depth

    Chapter 5: Using the Emulation-Bus Analyzer Making Simple Trace Measurements To change the trace depth • Choose Trace→Display Options... and in the dialog box, enter the desired trace unload depth in the field beside Unload Depth. Then click the OK or Apply pushbutton.
  • Page 235: To Modify The Last Trace Command Entered

    Chapter 5: Using the Emulation-Bus Analyzer Making Simple Trace Measurements To modify the last trace command entered • Choose Trace→Trace Spec and use the dialog box to select and edit a trace command. • Using the command line, enter: trace modify_command The Trace Specification Selection dialog box contains a list of trace specifications executed during the emulation session as well as any predefined trace specifications present at interface startup.
  • Page 236: To Define A Simple Trigger Qualifier

    Chapter 5: Using the Emulation-Bus Analyzer Making Simple Trace Measurements To define a simple trigger qualifier • Enter your trigger qualifier (such as, address 1000h) in the entry buffer. Then in the menu bar, click on: Trace→After(), Trace→Before(), or Trace→About(). •...
  • Page 237: To Specify A Trigger And Set The Trigger Position

    Chapter 5: Using the Emulation-Bus Analyzer Making Simple Trace Measurements To capture a trace of activity both preceding and following the write_hdwr symbol in the update_sys module, place update_sys.write_hdwr in the entry buffer and choose Trace→About(), or on the commad line, enter: trace about long_aligned update_sys.write_hdwr To specify a trigger and set the trigger position •...
  • Page 238: To Define A Simple Storage Qualifier

    Chapter 5: Using the Emulation-Bus Analyzer Making Simple Trace Measurements When you enter a trace about command, the trigger state (line 0) is normally labeled “about”. However, if there are three or fewer states before the trigger, the trigger state is labeled “after”, and if there are three or fewer states after the trigger, the trigger state is labeled “before”.
  • Page 239: Displaying The Trace List

    Chapter 5: Using the Emulation-Bus Analyzer Displaying the Trace List Displaying the Trace List The trace list is your view of the analyzer’s record of processor bus activity. You can specify what is shown in the trace list to make it easier to find the information of interest.
  • Page 240 Chapter 5: Using the Emulation-Bus Analyzer Displaying the Trace List Examples To use the Trace Options dialog box: Click to select the desired format of trace disassembly. Click to select the way that absolute status information is shown in the trace list. Click to select count reference: Relative (to preceding state), or Absolute...
  • Page 241 Chapter 5: Using the Emulation-Bus Analyzer Displaying the Trace List Examples To use the trace list popup menu: Click to begin trace disassembly from the selected line, moving that line to the top of the display. Click to open an edit window into the source file that contains the address of...
  • Page 242: To Disassemble The Trace List

    Chapter 5: Using the Emulation-Bus Analyzer Displaying the Trace List To disassemble the trace list • Choose Trace→Display Options... and in the dialog box, select Data Format Mnemonic. Then click the OK or Apply pushbutton. • Use the mouse to place the cursor on a line in the trace list where you want disassembly to begin.
  • Page 243: To Specify Trace Disassembly Options

    Chapter 5: Using the Emulation-Bus Analyzer Displaying the Trace List Examples To disassemble instruction data in the trace list starting at line 40: Place the cursor on line 40, press the select mouse button, and click on Disassemble From in the popup menu. Or, using the command line, enter: display trace disassemble_from_line_number 40 To specify trace disassembly options...
  • Page 244 Chapter 5: Using the Emulation-Bus Analyzer Displaying the Trace List Normally, the MC68040 presents the trace list data as it was stored by the analyzer. That is, all bus cycles are shown, and disassembly starts with the most significant word of the data.
  • Page 245: To Specify Trace Dequeueing Options

    Chapter 5: Using the Emulation-Bus Analyzer Displaying the Trace List To specify trace dequeueing options • Choose Trace→Display Options... and in the dialog box, select Dequeue Enable. Then click the OK or Apply pushbutton. • Using the command line, enter commands as follows: •...
  • Page 246 Chapter 5: Using the Emulation-Bus Analyzer Displaying the Trace List see that the branch was taken, use the disassemble_from_line_number command to restart disassembly at the trace list line number of the branch destination. You will need to include the low word option if the destination opcode is in the low word at the destination address.
  • Page 247: To Display The Trace Without Disassembly

    Chapter 5: Using the Emulation-Bus Analyzer Displaying the Trace List To display the trace without disassembly • Choose Trace→Display Options... and in the dialog box, select Data Format Absolute. You can select Hex, Binary, or Mnemonic format for display of status information.
  • Page 248: To Display Symbols In The Trace List

    Chapter 5: Using the Emulation-Bus Analyzer Displaying the Trace List Examples Display the trace list without instruction disassembly and with status information in binary format: Choose Trace→Display Options... and in the dialog box, select Data Format Absolute. Select Status Format Binary. Then click the OK or Apply pushbutton. Or, using the command line, enter: display trace absolute status binary Display the trace list without instruction disassembly and with status information in...
  • Page 249 Chapter 5: Using the Emulation-Bus Analyzer Displaying the Trace List set symbols high • To display only low level symbols, enter: set symbols low • To display all symbols (both high and low level), enter: set symbols all If you are using the emulator with the MMU enabled, you will need to enable and load the deMMUer before you can display source file symbols in your trace lists.
  • Page 250: To Display Source Lines In The Trace List

    Chapter 5: Using the Emulation-Bus Analyzer Displaying the Trace List To display source lines in the trace list • Choose Settings→Source/Symbol Modes→Source Mixed or Settings→Source/Symbol Modes→Source Only . • Choose Settings→Display Modes..., and in the dialog box, click on Source in Trace and select either Source Mixed or Source Only from the submenu.
  • Page 251: To Change The Column Width

    Chapter 5: Using the Emulation-Bus Analyzer Displaying the Trace List To change the column width • Choose Settings→Display Modes..., and select desired widths for information in the trace list by using the dialog box. Refer to the "Examples" page under "To display symbols in the trace list", earlier in this chapter for details of how to use the dialog box.
  • Page 252: To Select The Type Of Count Information In The Trace List

    Chapter 5: Using the Emulation-Bus Analyzer Displaying the Trace List Example Set the width of the address label column to 30 characters and the width of the mnemonic column to 50 characters: set width label 30 mnemonic 50 To select the type of count information in the trace list •...
  • Page 253 Specify the trace for the emulator: trace only long_aligned update_sys counting time (The long_aligned parameter is needed because the MC68040 fetches opcodes as 32-bit values and update_sys may not be the first part of that value.) Now, start the program run; then display the trace:...
  • Page 254: To Offset Addresses In The Trace List

    Chapter 5: Using the Emulation-Bus Analyzer Displaying the Trace List To offset addresses in the trace list • Choose Trace→Display Options... and in the dialog box, enter the desired offset value in the field beside Address Offset. Then click the OK or Apply pushbutton. •...
  • Page 255: To Reset The Trace Display Defaults

    Chapter 5: Using the Emulation-Bus Analyzer Displaying the Trace List To reset the trace display defaults • Choose Settings→Display Modes... Then in the dialog box, click on Default All Settings, and click the OK pushbutton. This leaves the trace display in the "source intermixed and symbols on"...
  • Page 256: To Display The Trace List Around A Specific Line Number

    Chapter 5: Using the Emulation-Bus Analyzer Displaying the Trace List To display the trace list around a specific line number • Choose Trace→Display Options... and in the dialog box, enter the desired trace list line number in the field beside Move to Line. Then click the OK or Apply pushbutton.
  • Page 257: To Change The Number Of States Available For Display

    Chapter 5: Using the Emulation-Bus Analyzer Displaying the Trace List To change the number of states available for display • Choose Trace→Display Options... and in the dialog box, enter the desired number of states to be made available for display in the field beside Unload Depth. Then click the OK or Apply pushbutton.
  • Page 258: To Display Program Memory Associated With A Trace List Line

    Chapter 5: Using the Emulation-Bus Analyzer Displaying the Trace List To display program memory associated with a trace list line • Using the mouse, place the cursor on the line in the trace list where you want to see the associated content of program memory. Then press the select mouse button, and click on Display Memory At in the trace list popup menu.
  • Page 259: Analyzing Program Execution When The Mmu Is Enabled

    Enabled Most emulation and analysis commands that require an address as part of the command use logical addresses. When the MC68040 MMU is enabled, physical addresses are placed on the emulation bus. The physical addresses may not be the same as the logical addresses. The deMMUer reverse translates the physical...
  • Page 260 Chapter 5: Using the Emulation-Bus Analyzer Analyzing Program Execution When The MMU Is Enabled To see a listing of the addresses that will be reverse translated by the DeMMUer during the loading process, choose Settings→DeMMUer→Verbose before you enter your DeMMUer Load command. Note that DeMMUer Load commands automatically enable the deMMUer.
  • Page 261: To Store A Demmuer Setup File

    Chapter 5: Using the Emulation-Bus Analyzer Analyzing Program Execution When The MMU Is Enabled To store a deMMUer setup file • Choose File→Store→DeMMUer (From MMU Tables) and enter the name to be used for the deMMUer file in the File Selection dialog box. •...
  • Page 262: To Trace Program Execution In Physical Address Space

    Chapter 5: Using the Emulation-Bus Analyzer Analyzing Program Execution When The MMU Is Enabled To trace program execution in physical address space • Choose Settings→Demmuer→Enable to disable the deMMUer. • Using the command line, disable the deMMUer with the command: set demmuer off The Settings→Demmuer→Enable command in the Graphical User Interface is a switch that enables and disables the deMMUer.
  • Page 263: Making Complex Trace Measurements

    A sequence is a more complex specification that specifies a series of bus states that must be found to satisfy the trigger. This section tells you how to get the most out of the HP 64700 analyzer by using trigger and sequence specifications. It also describes additional measurement tools to help you get more information from the trace.
  • Page 264 Chapter 5: Using the Emulation-Bus Analyzer Making Complex Trace Measurements 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 265 Chapter 5: Using the Emulation-Bus Analyzer Making Complex Trace Measurements Values, symbols, and operators may be used together in analysis specification expressions. For example, if the local symbol exists, the following is a valid expression: module.c:symb+0b67dh&0fff00h However, you cannot add two symbols unless one of them is an EQU type symbol. Emulation-Bus Analyzer Trace Signals The emulation-bus analyzer has 80 channels available for capturing information: 64 of those channels are used for the instruction bus and data bus, and the remaining...
  • Page 266 Chapter 5: Using the Emulation-Bus Analyzer Making Complex Trace Measurements The following table lists the predefined status equates. The descriptions identify the emulator status represented by the equates 68040 Equates Name Status Value Description 11xxxxxxxx1xxxxxy Acknowledge access. alt0 10xxxxxxxx1x000xy Alternate logical function code 0. alt3 10xxxxxxxx1x011xy Alternate logical function code 3.
  • Page 267 Chapter 5: Using the Emulation-Bus Analyzer Making Complex Trace Measurements 0xxxxxxxx01xxxxxxy Transfer error acknowledge. upa0 0xx00xxxxxxxxxxy User prog attributes UPA[1:0]=00. upa1 0xx01xxxxxxxxxxy User prog attributes UPA[1:0]=01. upa2 0xx10xxxxxxxxxxy User prog attributes UPA[1:0]=10. upa3 0xx11xxxxxxxxxxy User prog attributes UPA[1:0]=11. user 0xxxxxxxxx1x0xxxy User space.
  • Page 268: To Use Address, Data, And Status Values In Trace Expressions

    Chapter 5: Using the Emulation-Bus Analyzer Making Complex Trace Measurements To use address, data, and status values in trace expressions • Enter the value(s) desired in the entry buffer (such as address 1000h). Then Choose Trace→After(), Trace→Before(), or Trace→About(), as desired. •...
  • Page 269: To Enter A Range In A Trace Expression

    (The Terminal Interface does allow this type of measurement, though there is still only one range term. See the MC68040/EC040/LC040 Emulator/Analyzer Terminal Interface User’s Guide.) Since address is the default range type, you can omit the address keyword. You can’t omit the data or status keywords if those are the bus parts you want to...
  • Page 270: To Use The Sequencer

    Chapter 5: Using the Emulation-Bus Analyzer Making Complex Trace Measurements Examples Store only the accesses to the demo program’s current_humid location: trace only range current_humid thru +1h Store only bus cycles where data is in the range 6h..26h or is 29h: trace only data range 6h thru 26h or data 29h To use the sequencer •...
  • Page 271: To Specify A Restart Term

    Chapter 5: Using the Emulation-Bus Analyzer Making Complex Trace Measurements To specify a restart term • Create your first specification form on the command line. That will enter the proper format in the Trace Specification Selection dialog box. Obtain the dialog box by choosing Trace→Trace Spec...
  • Page 272: To Specify Trace Windowing

    Chapter 5: Using the Emulation-Bus Analyzer Making Complex Trace Measurements To specify trace windowing • Create your first specification form on the command line. That will enter the proper format in the Trace Specification Selection dialog box. Obtain the dialog box by choosing Trace→Trace Spec...
  • Page 273: To Specify Both Sequencing And Windowing

    Chapter 5: Using the Emulation-Bus Analyzer Making Complex Trace Measurements To specify both sequencing and windowing • Create your first specification form on the command line. That will enter the proper format in the Trace Specification Selection dialog box. Obtain that dialog box by choosing Trace→Trace Spec...
  • Page 274: To Count States Or Time

    512 states. If you disable the counter in the 1K analyzer, using the trace counting off command, maximum trace depth is 1024 states. When using the 1K analyzer, the MC68040 emulator defaults to counting off. To count states or time, you must configure the analyzer clocks correctly. See "To configure the analyzer clock"...
  • Page 275: To Define A Storage Qualifier

    Chapter 5: Using the Emulation-Bus Analyzer Making Complex Trace Measurements Examples To count occurrences of a particular bus state in the trace (this requires the 1K analyzer speed to be set to "Slow" in configuration): trace counting address 10h Count all states in the trace: trace counting anystate Count time in the trace: trace counting time...
  • Page 276: To Define A Prestore Qualifier

    Chapter 5: Using the Emulation-Bus Analyzer Making Complex Trace Measurements Examples Trace only address 10h: trace only address 10h Trace only data value 0ffh: trace only data 0ffh Trace only write operations trace only status write To define a prestore qualifier •...
  • Page 277: To Trace Activity Leading Up To A Program Halt

    Chapter 5: Using the Emulation-Bus Analyzer Making Complex Trace Measurements You may have several program modules that write to a variable, and sometime during execution of your program, that variable gets bad data writen to it. Using a prestore measurement, you can find out which module is writing the bad data. Store-qualify writes to the variable, and use prestore to capture the instructions that caused those writes to occur (perhaps by prestoring program reads).
  • Page 278: To Modify The Trace Specification

    Chapter 5: Using the Emulation-Bus Analyzer Making Complex Trace Measurements also causes the processor to halt) because the analyzer will continue to capture foreground monitor states after the break. When using a foreground monitor, you can use the command line to enter a trace command that stores only states outside the range of the foreground monitor program (for example, trace on_halt only not range <mon_start_addr>...
  • Page 279: To Repeat The Previous Trace Command

    Chapter 5: Using the Emulation-Bus Analyzer Making Complex Trace Measurements To repeat the previous trace command • Choose Trace→Again. • To continually repeat the last trace, choose Trace→Repetitively. • Using the command line, repeat the previous trace command (including its complete trace specification) by entering: trace again The trace again command is most useful when you want to repeat a measurement...
  • Page 280: To Capture A Continuous Stream Of Program Execution No Matter How Large Your Program

    Chapter 5: Using the Emulation-Bus Analyzer Making Complex Trace Measurements To capture a continuous stream of program execution no matter how large your program The following example can be performed in emulation systems using the deep analyzer (it cannot be done with the 1K analyzer). It shows you how to capture all of the execution of your target program.
  • Page 281 Chapter 5: Using the Emulation-Bus Analyzer Making Complex Trace Measurements trig1 may be ignored until the critical routine is completed (when using a foreground monitor). 3 If you are using a foreground monitor, enter the following additional pod commands to prevent the trace memory from capturing monitor execution. The following example commands will obtain this result in some emulators: Settings→Pod Command Keyboard trng addr=<address range occupied by your monitor>...
  • Page 282 Chapter 5: Using the Emulation-Bus Analyzer Making Complex Trace Measurements You must wait for the notation "trig1 break" and/or "Emulation trace complete" to appear on the status line; this ensures the trace memory is filled during the trace (except for the unfilled space you specified in Step 2 above). Note that when you set a delay specification using tgout -c or tgout -t (trigger output delay before trace complete/after trigger), the trace will indicate complete as soon as the analyzer has captured the state specified, even though the entire trace...
  • Page 283 Chapter 5: Using the Emulation-Bus Analyzer Making Complex Trace Measurements monitor cycles in step 3 above, the last few trace lines in each file may contain monitor cycles.
  • Page 284: Saving And Restoring Trace Data And Specifications

    Chapter 5: Using the Emulation-Bus Analyzer Saving and Restoring Trace Data and Specifications Saving and Restoring Trace Data and Specifications The emulator/analyzer can save your trace data and trace specifications in a file for later use. This can help you record measurement results that you can use for comparison with other tests, and it is useful to automate measurements.
  • Page 285: To Store Trace Data

    Chapter 5: Using the Emulation-Bus Analyzer Saving and Restoring Trace Data and Specifications Example Store a trace specification to a file: store trace_spec tspec.TS To store trace data • Choose File→Store→Trace Data... In the dialog box, select an existing filename or specify a new filename to contain the present trace memory content.
  • Page 286: To Load A Trace Specification

    Chapter 5: Using the Emulation-Bus Analyzer Saving and Restoring Trace Data and Specifications To load a trace specification • Choose File→Load→Trace Spec... In the dialog box, click on the name of the trace specification you want to load (placing it in the Load Trace Specification box).
  • Page 287: To Load Trace Data

    Chapter 5: Using the Emulation-Bus Analyzer Saving and Restoring Trace Data and Specifications To load trace data • Choose File→Load→Trace Data... In the dialog box, click on the name of the trace data file (file of trace memory content) you want to load (placing it in the Load Trace Data box).
  • Page 288: Saving And Restoring Demmuer Setup Files

    Chapter 5: Using the Emulation-Bus Analyzer Saving and Restoring DeMMUer Setup Files Saving and Restoring DeMMUer Setup Files To store a DeMMUer setup file • Choose File→Store→DeMMUer (From MMU Tables)... In the dialog box, click on the name of the file you want to store your deMMUer setup (placing it in the Store Demmuer File box).
  • Page 289: 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 291: Making Coordinated Measurements

    Making Coordinated Measurements Using the Coordinated Measurement Bus to start and stop multiple emulators and analyzers...
  • Page 292: The Elements Of Coordinated Measurements

    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 293 Chapter 6: Making Coordinated Measurements The Elements of Coordinated Measurements The location of the CMB and BNC connectors on the HP 64700 rear panel is shown in the following figure. CMB Connector BNC Connector There are three bidirectional signal lines on the CMB connector on the rear panel of the emulator.
  • Page 294: Comparison Between Cmb And Bnc Triggers

    The Elements of Coordinated Measurements 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. This signal causes an emulator to run from a specified address when CMB READY returns true.
  • Page 295: 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 296 Chapter 6: Making Coordinated Measurements Setting Up for Coordinated Measurements 1 Connect the cables to the HP 64700 CMB ports.
  • Page 297: To Connect To The Rear Panel Bnc

    * A modification must be performed by your HP Sales 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 298 Chapter 6: 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 299: Starting/Stopping Multiple Emulators

    Chapter 6: 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 300: To Start Synchronous Measurements

    Chapter 6: 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 from the transfer address: specify run from transfer_address To trace from an address when synchronous execution begins: specify trace after address 10h To start synchronous measurements...
  • Page 301: Using Trigger Signals

    Using Trigger Signals Using Trigger Signals The HP 64700 contains two internal lines, trig1 and trig2, that can carry trigger signals from the emulator or analyzer to other HP 64700s on the Coordinated Measurement Bus (CMB) or other instruments connected to the BNC connector.
  • Page 302 You can use the trig1 or trig2 line to make a connection between the analyzer and the 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.
  • Page 303: To Drive The Emulation-Bus Analyzer Trigger Signal To The Cmb

    Chapter 6: Making Coordinated Measurements Using Trigger Signals To drive the emulation-bus analyzer trigger signal to the CMB • Choose Modify→Emulator Config ... In the top-level emulator configuration dialog box, click on Interactive Measurement Specification under Analyzer Configuration Sections. Choose “receive” beside the “CMBT on Trig1?” question. •...
  • Page 304: To Drive The Emulation-Bus Analyzer Trigger Signal To The Bnc Connector

    Chapter 6: Making Coordinated Measurements Using Trigger Signals To drive the emulation-bus analyzer trigger signal to the BNC connector • Choose Modify→Emulator Config ... In the top-level emulator configuration dialog box, click on Interactive Measurement Specification under Analyzer Configuration Sections. Choose “receive”...
  • Page 305: To Break Emulator Execution On Signal From Cmb

    Chapter 6: Making Coordinated Measurements Using Trigger Signals To break emulator execution on signal from CMB • Choose Modify→Emulator Config ... In the top-level emulator configuration dialog box, click on Interactive Measurement Specification under Analyzer Configuration Sections. Select "drive" for the "CMBT on Trig1" item. •...
  • Page 306: To Break Emulator Execution On Signal From Bnc

    Chapter 6: Making Coordinated Measurements Using Trigger Signals To break emulator execution on signal from BNC • Choose Modify→Emulator Config ... In the top-level emulator configuration dialog box, click on Interactive Measurement Specification under Analyzer Configuration Sections. Select "drive" for the "BNC on Trig1" item. •...
  • Page 307: To Arm The Emulation-Bus Analyzer On Signal From Cmb

    Chapter 6: Making Coordinated Measurements Using Trigger Signals To arm the emulation-bus analyzer on signal from CMB • Using the command line, enter modify configuration. Answer “yes” to the “Modify interactive measurement specification?” question. Answer “drive” to the “Should CMBT drive or receive Trig2?” question. Answer “receive”...
  • Page 308: Making Example Measurements

    Chapter 6: Making Coordinated Measurements Making Example Measurements Making Example Measurements The following tasks show you how to: • Start a simultaneous program run on two emulators. • Trigger one emulation-bus analyzer with another. • Break to the monitor on an analyzer trigger signal. To start a simultaneous program run on two emulators Before performing these steps, both emulators must be connected to the CMB.
  • Page 309: To Trigger One Emulation-Bus Analyzer With Another

    In the above steps, you set one emulation-bus analyzer to drive the CMB trigger, and set another to trigger on receipt of a CMB trigger. You can use the same concepts to trigger external instruments using the BNC connector on the rear panel of the HP 64700 Series Card Cage.
  • Page 310: To Break To The Monitor On An Analyzer Trigger Signal

    Chapter 6: Making Coordinated Measurements Making Example Measurements To break to the monitor on an analyzer trigger signal 1 Enter the emulation configuration. 2 Set the emulator to receive trig1. 3 Set the emulation-bus analyzer to drive trig1. 4 Specify the trigger conditions for the trace. 5 Start the trace.
  • Page 311: Making Software Performance Measurements

    Making Software Performance Measurements How to make software performance measurements on your programs...
  • Page 312: Using The Software Performance Measurement Tool

    While SPA performs a measurement, it shows the current measurement results. There is no need for you to transfer files; all you do is indicate the type of display desired (histogram or table listing). If you are interested in purchasing SPA, contact your HP Sales Representative.
  • Page 313: Understanding Activity Measurements

    Chapter 7: Making Software Performance Measurements Understanding activity measurements Understanding activity 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 314 Chapter 7: Making Software Performance Measurements Understanding activity measurements Label prog Address Range ADEH thru 1261H Memory Activity State Percent Rel = 57.77 Abs = 57.77 Mean = 295.80 Sdv = 26.77 Time Percent Rel = 60.97 Abs = 60.97 Program Activity State Percent Rel =...
  • Page 315 Chapter 7: Making Software Performance Measurements Understanding activity measurements Graph of Memory Activity relative time percents >= 1 prog 60.97% ******************************* data 28.09% ************** stack 10.94% ****** Graph of Program Activity relative state percents >= 1 prog 99.82% ************************************************** Graph of Program Activity relative time percents >= 1 prog 99.84% ************************************************** Summary Information for...
  • Page 316: Understanding Duration Measurements

    Chapter 7: Making Software Performance Measurements Understanding duration measurements Understanding duration 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 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 317: To Use The Software Performance Measurement Tool

    Chapter 7: Making Software Performance Measurements To use the Software Performance Measurement Tool The SPMT makes its duration measurements from the last start address in the series of start addresses, to the last end address in the series of end addresses. The other start and end addresses are unused prefetches and are ignored by the software of the SPMT.
  • Page 318: Step 1. Set Up The Trace Command

    Chapter 7: Making Software Performance Measurements To use the Software Performance Measurement Tool 4 End the performance measurement. 5 Generate the performance measurement report. Step 1. Set up the trace command Before you initialize and run performance measurements, the current trace command (the last trace command entered) must be properly set up.
  • Page 319: Step 2. Initialize The Performance Measurement

    Chapter 7: Making Software Performance Measurements To use the Software Performance Measurement Tool • To make duration measurements, set up the trace command to store only the entry and exit points of the module of interest. For example: trace after <symbol_entry> or <symbol_exit> only symbol_entry or symbol_exit counting time trace after <module_name>...
  • Page 320 Chapter 7: Making Software Performance Measurements To use the Software Performance Measurement Tool • To initialize with user-defined files (activity or duration measurement), specify the SPMT address or time ranges to use by placing the information in a file and entering the file name in the performance_measurement_initialize command.
  • Page 321 Chapter 7: Making Software Performance Measurements To use the Software Performance Measurement Tool • To select duration measurements, enter: performance_measurement_initialize duration performance_measurement_initialize <FILE> duration 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...
  • Page 322 Chapter 7: Making Software Performance Measurements To use the Software Performance Measurement Tool • To initialize with local symbols, enter: performance_measurement_initialize local_symbols_in <source file name> The symbols associated with the source file become the address ranges for which activity is measured. If the symbols database is not loaded, an error message will occur telling you that the source filename symbol was not found.
  • Page 323: Step 3. Run The Performance Measurement

    Chapter 7: Making Software Performance Measurements To use the Software Performance Measurement Tool When restoring old performance measurement data, the "restore" option determines if the current emulator software version matches the version used when the performance measurement data was stored (in the perf.out files). If the versions match, the restore will be performed.
  • Page 324: Step 4. End The Performance Measurement

    Chapter 7: Making Software Performance Measurements To use the Software Performance Measurement Tool Step 4. End the performance measurement • To end the performance measurement, enter: performance_measurement_end The performance_measurement_end command takes the data generated by the performance_measurement_run command and places it in a file named perf.out in the current directory.
  • Page 325: Step 5. Generate The Performance Measurement Report

    Chapter 7: Making Software Performance Measurements To use the Software Performance Measurement Tool Step 5. Generate the performance measurement report The perf32 report generator utility must be used to read the information in the "perf.out" file and other files dumped by the SPMT (in other words, renamed "perf.out"...
  • Page 326 Chapter 7: Making Software Performance Measurements To use the Software Performance Measurement Tool 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. The performance measurement must include four traces before statistics (mean and standard deviation) appear in the activity report.
  • Page 327 Chapter 7: Making Software Performance Measurements To use the Software Performance Measurement Tool Where: Number of traces in the measurement. mean Average number of states in the range per trace. Sum of squares of states in the range per trace. sumq Symbols within range Names of other symbols that identify addresses or ranges of addresses within the range of this symbol.
  • Page 328 Chapter 7: Making Software Performance Measurements To use the Software Performance Measurement Tool Error tolerance and An approximate error may exist in displayed information. confidence level Error tolerance for a level of confidence is calculated using the mean of the standard deviations and the mean of the means.
  • Page 329 Chapter 7: Making Software Performance Measurements To use the Software Performance Measurement Tool 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. • To interpret reports of duration measurements, understand the information described here.
  • Page 330 Chapter 7: Making Software Performance Measurements To use the Software Performance Measurement Tool Error tolerance and An approximate error may exist in displayed information. confidence level Error tolerance for a level of confidence is calculated using the mean of the standard deviations and the mean of the means.
  • Page 331: Configuring The Emulator

    Configuring the Emulator...
  • Page 332 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 333: Using The Configuration Interface

    Chapter 8: Configuring the Emulator Using the Configuration Interface Using the Configuration Interface This section shows you how to set up, modify, and store emulation configurations using the emulator configuration interface. This section shows you how to: • Start the configuration interface. •...
  • Page 334: To Start The Configuration Interface

    Chapter 8: 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 top-level dialog box (see the following example) is displayed.
  • Page 335 Chapter 8: Configuring the Emulator Using the Configuration Interface Examples The 68040 emulator configuration interface top-level dialog box is shown below. The menu bar. Clicking on one of these lines selects the associated configuration section. Clicking this pushbutton loads any configuration changes into the emulator.
  • Page 336: To Modify A Configuration Section

    Chapter 8: 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 top-level dialog box. 3 Use the section dialog box to make changes to the configuration. If you are using the Softkey Interface: The configuration questions in the "Monitor Setup"...
  • Page 337 Chapter 8: Configuring the Emulator Using the Configuration Interface Examples Most configuration sections provide dialog boxes similar to the following. The dialog box for this section has been opened. Applies configuration changes to the emulator. Configuration options in this section. Closes the dialog box.
  • Page 338: To Apply Configuration Changes To The Emulator

    Chapter 8: Configuring the Emulator Using the Configuration Interface As soon as you change a configuration option, the change is recorded (as seen by the "Changes Not Loaded" message in the top level dialog box). To apply configuration changes to the emulator •...
  • Page 339: To Change The Configuration Directory Context

    Chapter 8: Configuring the Emulator Using the Configuration Interface When modifying a configuration using the graphical user interface, you can store your answers at any time. Configuration information is saved in a file with an extension of ".EA". When using the Graphical User Interface, do not try to modify the ".EA". It may not load correctly after modification.
  • Page 340: To Display The Configuration Context

    Chapter 8: Configuring the Emulator Using the Configuration Interface To display the configuration context • Choose Display→Context... from the pulldown menu in the top-level configuration interface window. The current directory context and the current configuration files are displayed in a window.
  • Page 341: To Access Context Sensitive (F1) Help

    Chapter 8: Configuring the Emulator Using the Configuration Interface To access context sensitive (f1) help • Place the mouse pointer over the item for which you want help, and press the f1 keyboard key. • Choose Help→On Item... from the pulldown menu in the top-level configuration interface window.
  • Page 342: To Load A Configuration

    Chapter 8: Configuring the Emulator Using the Configuration Interface To load a configuration • In the emulator/analyzer interface, choose File→Load→Emulator Config... from the pulldown menu, and use the file selection dialog box to specify the configuration file to be loaded. •...
  • Page 343: Modifying The Monitor Setup

    Chapter 8: Configuring the Emulator Modifying the Monitor Setup Modifying the Monitor Setup In order to modify the monitor setup, you must obtain the top-level Emulator Configuration dialog box. Simply click on the Monitor Setup pushbutton. The Monitor setup dialog box will appear. This section shows you how to: •...
  • Page 344: To Select The Monitor Type

    A foreground monitor must be used when the memory management unit or the caches of the MC68040 (or both) are enabled or bus arbritration is performed. Also, the emulator can be configured to service target system interrupts of any desired level during execution of foreground monitor routines.
  • Page 345: To Select The Monitor Filename

    The location for the monitor source file is: /usr/hp64000/monitor/fm64783.s. The file format for the monitor MUST be HP64000 absolute format (file.X). If using the HP 68030/68040 assembler/linker (B1465), use the -h option. If using Microtec Research, Inc. assembler/linkers, use the -h option.
  • Page 346: To Select The Monitor Address

    Instead, you must change the monitor configuration using this Monitor Setup dialog box. If the memory management feature of the MC68040 emulator is enabled, be sure the foreground monitor is mapped in an area that is translated 1:1, and it is not write-protected.
  • Page 347: To Select The Monitor Interrupt Priority Level

    Chapter 8: Configuring the Emulator Modifying the Monitor Setup To select the monitor interrupt priority level • Type in the desired interrupt priority level for your foreground monitor in the text entry area beside "Interrupt Priority Level". Enter a number from 0 to 7 in the text entry area. This is the interrupt priority level that will be held off by the emulation monitor during monitor execution.
  • Page 348: To Select Whether Or Not The Emulator Will Terminate Monitor Bus Cycles

    Chapter 8: Configuring the Emulator Modifying the Monitor Setup To select whether or not the emulator will terminate monitor bus cycles • Choose "Yes" or "No" for the "Emulator Terminates Monitor Bus Cycles" configuration option. Choosing "Yes" specifies that the emulator will terminate foreground monitor cycles using emulator-generated cycle termination signals.
  • Page 349: To Select If There Will Be A Keep-Alive Function, Its Address, And Function Code

    Chapter 8: Configuring the Emulator Modifying the Monitor Setup To select if there will be a keep-alive function, its address, and function code • Choose "Yes" or "No" for the "Enable Keep Alive Function" configuration option (available for use with the background monitor). Choosing "Yes"...
  • Page 350: Mapping Memory

    Chapter 8: Configuring the Emulator Mapping Memory Mapping Memory Because the emulator can use target system memory or emulation memory (or both), you must map the available ranges of memory so that the emulator knows where to direct its accesses. All memory ranges used by your programs must be specified in the memory map before you load programs into memory.
  • Page 351 Chapter 8: Configuring the Emulator Mapping Memory This section shows you how to: • Add memory map entries. • Modify memory map entries. • Delete memory map entries. • Characterize mapped and unmapped ranges. • Specify whether or not read data will be inhibited from being loaded into the caches during transactions in the associated memory range.
  • Page 352: To Add Memory Map Entries

    Chapter 8: Configuring the Emulator Mapping Memory To add memory map entries • Choose Map→Add New Entry from the pulldown menu in the memory map window. • Press and hold the select mouse button and choose Add New Entry from the popup menu.
  • Page 353 Chapter 8: Configuring the Emulator Mapping Memory The first two methods of mapping memory ranges give you the following dialog box. Subtract or add the The starting address of address increment value. the range to be added. The end address is changed by the same amount, moving the The ending address of...
  • Page 354 Chapter 8: Configuring the Emulator Mapping Memory Examples Example 1: Suppose you’re using the emulator in-circuit, and there is a 12-byte I/O port at 1c000 hex in your target system. You have ROM in your target system from 0 through ffff hex. Also, you want to use the dual-port emulation memory at 20000 hex.
  • Page 355: To Modify Memory Map Entries

    Chapter 8: Configuring the Emulator Mapping Memory defined (the range from 50000..500ff). The entire 4-Kbyte block is reserved though you specified only a 256-byte range. Two 64-Kbyte blocks and one 128-Kbyte block are used from the SRAM emulation memory on the probe, leaving two 64-Kbyte blocks and one 128-Kbyte block.
  • Page 356 Chapter 8: Configuring the Emulator Mapping Memory Examples To modify a memory map entry using the popup menu: Bring up the menu and choose this item to modify the highlighted memory map entry. Use the Modify Map Entry dialog box (same as the Add New Map Entry dialog box) to modify the entry.
  • Page 357: To Delete Memory Map Entries

    Chapter 8: Configuring the Emulator Mapping Memory To delete memory map entries • Choose Map→Delete Entry from the pulldown menu in the memory map window and select the entry number from the cascade menu. • Position the mouse pointer over the entry you wish to delete. Press and hold the select mouse button and choose Delete Entry from the popup menu.
  • Page 358: To Map Memory Ranges In Which Data Is Not Loaded Into The Caches

    Chapter 8: Configuring the Emulator Mapping Memory To map memory ranges in which data is not loaded into the caches • Choose "Yes" or "No" for the "Transfer Cache Inhibit" configuration option in the "Modify Map Entry" or "Add New Entry" dialog box. Choosing "Yes"...
  • Page 359: To Map Memory To Be Stored Within The Dual-Port Memory

    Chapter 8: Configuring the Emulator Mapping Memory To map memory to be stored within the dual-port memory • Choose "Yes" or "No" for the "Dual Port Memory" configuration option in the "Modify Map Entry" or "Add New Entry" dialog box (available only when using the background monitor).
  • Page 360: Configuring The Emulator General Items Screen

    Chapter 8: Configuring the Emulator Configuring the Emulator General Items Screen Configuring the Emulator General Items Screen In order to configure the emulator pod, you must first start the configuration interface and access the "General Items" configuration section (refer to "Using the Configuration Interface"...
  • Page 361: To Enable/Disable Target System Interrupts

    Chapter 8: Configuring the Emulator Configuring the Emulator General Items Screen – Break from target program to monitor execution when the emulator detects an attempt to write to a ROM address. – Set the memory access size. – Set the initial value of the stack pointer. –...
  • Page 362: To Enable/Disable The Instruction And Data Caches

    Chapter 8: Configuring the Emulator Configuring the Emulator General Items Screen To enable/disable the instruction and data caches • Choose "Yes" or "No" for the "Enable Instruction/Data Caches" configuration option. Choosing "Yes" allows the instruction and data caches to be enabled. With this choice, the caches can still be disabled in selected memory ranges as specified when mapping memory.
  • Page 363: To Enable/Disable The Memory Management Unit (Mmu)

    Choosing "No" causes the emulator to disable the MMU of the emulation processor by asserting the MDIS signal. The MC68040 MMU can manage a program that occupies a large space in logical (virtual) memory while running it from a much smaller space in physical memory.
  • Page 364 Chapter 8: Configuring the Emulator Configuring the Emulator General Items Screen To specify whether the clock speed of the emulation bus is greater than 25 MHz • Choose "Yes" or "No" for the "Bus Clock Speed >25MHz" configuration option. Choosing "Yes" causes the emulator to add one wait state to each synchronous and burst memory access.
  • Page 365: To Restrict The Emulator To Real-Time Runs

    Chapter 8: Configuring the Emulator Configuring the Emulator General Items Screen To restrict the emulator to real-time runs • Choose "Yes" or "No" for the "Restrict to Real Time" configuration option. Choosing "Yes" causes the emulator to offer only a limited set of emulation features: reset, break, run, and step.
  • Page 366: To Enable/Disable Breaks On Writes To Rom

    Chapter 8: Configuring the Emulator Configuring the Emulator General Items Screen To enable/disable breaks on writes to ROM • Choose "Yes" or "No" for the "Break on write to ROM" configuration option. Choosing "Yes" enables breaks on writes to ROM with the following results: •...
  • Page 367: To Specify The Memory Access Size

    Chapter 8: Configuring the Emulator Configuring the Emulator General Items Screen To specify the memory access size • Choose "Any", "Bytes", "Words", or "Longs" for the "Memory Access Size" configuration option. Choose "Any" if you want the emulator to select the optimum access size for the transaction to be completed.
  • Page 368: To Specify The Initial Value Of The Stack Pointer

    Chapter 8: Configuring the Emulator Configuring the Emulator General Items Screen To specify the initial value of the stack pointer • Type in the address that is the initial value for the interrupt stack pointer in the text entry area beside "Interrupt Stack Pointer Value". Enter a 32-bit hexadecimal address for the initial value of the ISP.
  • Page 369: To Specify The Initial Value Of The Program Counter

    Chapter 8: Configuring the Emulator Configuring the Emulator General Items Screen To specify the initial value of the program counter • Type in the address that is the initial value for the program counter in the text entry area beside "Initial Program Counter Value". Enter a 32-bit hexadecimal address for the initial value of the program counter.
  • Page 370: Setting The Trace Options

    Chapter 8: Configuring the Emulator Setting the Trace Options Setting the Trace Options In order to set the trace options, you must first start the configuration interface and access the "Trace Options" configuration section (refer to the previous "Using the Configuration Interface"...
  • Page 371: To Include/Exclude Background Monitor Execution In The Trace

    Chapter 8: Configuring the Emulator Setting the Trace Options To include/exclude background monitor execution in the trace • Choose "Foreground", "Background", or "Both" for the "Trace Mode (Type of Cycles)" configuration item. Choosing "Foreground" specifies that the analyzer trace only foreground cycles, including execution of your target program and of the foreground monitor, if you are using a foreground monitor.
  • Page 372 If burst cycles are not being used, set the "Analyzer Speed" to "Slow". The MC68040 analyzer clock is set to "Very Fast" by default. The 1K analyzer can capture all types of bus cycles correctly up to the maximum clock rate of 40 MHz, but cannot correctly count states or time at higher speeds for certain bus cycle types.
  • Page 373: Modifying The Simulated Io Configuration Items

    Chapter 8: Configuring the Emulator Modifying the Simulated IO Configuration Items Modifying the Simulated IO Configuration Items In order to modify the simulated I/O configuration items, you must first start the top-level configuration interface and select the Simulated IO pushbutton in the dialog box.
  • Page 374: Modifying The Interactive Measurement Specification Configuration Items

    Chapter 8: Configuring the Emulator Modifying the Interactive Measurement Specification Configuration Items Modifying the Interactive Measurement Specification Configuration Items In order to modify the interactive measurement configuration items, you must first start the configuration interface. In the top-level configuration interface dialog box, choose "Interactive Measurement Specification"...
  • Page 375: To Select Whether The Card Cage Rear Panel Bnc Is Connected To The Trig1 Or Trig2 Or Both Signals

    Chapter 8: Configuring the Emulator Modifying the Interactive Measurement Specification Configuration Items Refer to Chapter 6, "Making Coordinated Measurements", in this manual for further details on the use of signals shown in the Interactive Measurement Specification dialog box. To select whether the card cage rear panel BNC is connected to the Trig1 or Trig2 or both signals •...
  • Page 376: To Select Whether The Coordinated Measurement Bus Is Connected To The Trig1 Or Trig2 Or Both Signals

    Chapter 8: Configuring the Emulator Modifying the Interactive Measurement Specification Configuration Items To select whether the coordinated measurement bus is connected to the Trig1 or Trig2 or both signals • Choose "Drive", "Receive", "Neither", or "Both" for the "CMBT on Trig1" or "CMBT on Trig2"...
  • Page 377: To Select Whether The Emulator Will Allow A Signal On Trig2 To Initiate A Break From Target Program Execution

    Chapter 8: Configuring the Emulator Modifying the Interactive Measurement Specification Configuration Items To select whether the emulator will allow a signal on Trig2 to initiate a break from target program execution • Choose "Yes" or "No" for the "Enable Break Receive Trig2" specification. Choosing "Yes"...
  • Page 378: To Select Whether Or Not The Emulation-Bus Analyzer Will Operate With, Or Ignore, The Trig2 Line Of The Coordinated Measurement Bus

    Chapter 8: Configuring the Emulator Modifying the Interactive Measurement Specification Configuration Items To select whether or not the emulation-bus analyzer will operate with, or ignore, the Trig2 line of the coordinated measurement bus. • Choose "Drive", "Receive", or "Neither" for the "Analyzer on Trig2" specification. Choosing "Drive"...
  • Page 379: Providing Mmu Address Translation For The Foreground Monitor

    Providing MMU Address Translation for the Foreground Monitor When using the memory management unit (MMU) of the MC68040, the target system must provide the proper address translation for the foreground monitor. To be able to do this, you will need to understand your target system’s physical memory map and MMU address translation structure.
  • Page 380 MMU is enabled and use the monitor to configure the TTRs. Do this only as a last resort because the MC68040 processor automatically disables all TTRs whenever an emulation or target reset occurs (and they must be reinitialized each time).
  • Page 381: Locating The Foreground Monitor Using The Mmu Address Translation Tables

    Chapter 8: Configuring the Emulator Providing MMU Address Translation for the Foreground Monitor Locating the Foreground Monitor using the MMU Address Translation Tables Locate the foreground monitor at a specific page address and add the proper address translation for this page in your supervisor address translation tables. The minimum page size is 4 Kbytes so the monitor only requires a single translation.
  • Page 383: Solving Problems

    Solving Problems What to do when the emulator doesn’t behave as expected...
  • Page 384: If The Emulator Appears To Be Malfunctioning

    Chapter 9: Solving Problems If the emulator appears to be malfunctioning Sometime during your use of the emulator, you’ll encounter a problem that isn’t adequately explained by an error message or obvious target system symptoms. This chapter explains how to solve some of these more complex problems. Consider the following sources of information in addition to the specific problems discussed in this chapter: •...
  • Page 385: If The Trace Listing Opcode Column Contains Only The Words "Dma Long Write (Retry)" Repeatedly

    Check to make sure that the program address is a long-word address (an address ending in 0, 4, 8, or C hex). The MC68040 fetches instructions on long-word addresses. Other instruction addresses never appear on the processor bus, and therefore are never seen by the analyzer.
  • Page 386: If The Analyzer Triggers On A Program Address When It Should Not

    Chapter 9: Solving Problems If the analyzer triggers on a program address when it should not If the analyzer triggers on a program address when it should not Check to see if the analyzer is triggering on an instruction prefetch. The analyzer cannot distinguish between prefetch and execution because the processor does not provide that information.
  • Page 387: If There Are Unexplained States In The Trace List

    Chapter 9: Solving Problems If there are unexplained states in the trace list entering a command like display trace disassemble_from_line_number <trace list line number> align_data_from_line <trace list line containing data>. If there are unexplained states in the trace list Check that the sequence, storage and trigger specifications are set up to exclude the states you don’t need.
  • Page 388: If You See Negative Time Or Negative States In The Trace List

    (Use the modify configuration command to access this configuration question.) The MC68040 emulator only fetches instructions on long word boundaries (least significant hex digit of address is 0, 4, 8, or C). However, program labels can be aligned on word boundaries between long word boundaries.
  • Page 389: If The Emulator Won't Work In A Target System

    Chapter 9: Solving Problems If the emulator won’t work in a target system If the emulator won’t work in a target system Ensure that the probe is inserted into the target system in the correct manner—the pins should be lined up correctly. If you are using spacers to connect the emulator probe to the target system, make sure that the spacers are correctly connected.
  • Page 390: If You Suspect That The Emulator Is Broken

    If either the emulator or analyzer fail the performance verification, check the installation of those modules. See Chapter 19, "Installation and Service", for information on installation and an explanation of the performance verification software. If the installation is correct, contact your local HP Sales Office for assistance.
  • Page 391: If You Have Trouble Mapping Memory

    If emulation memory behavior is erratic Check to see if you have installed HP 64171A or HP 64171B memory modules on the emulation probe board. These memory modules are too slow to work with the MC68040 emulator.
  • Page 392: If You're Having Problems With Dma

    Chapter 9: Solving Problems If you’re having problems with DMA If you’re having problems with DMA Check to make sure that your DMA process doesn’t access memory ranges mapped to emulation ram or emulation rom. DMA to emulation memory is not supported. If you’re having problems with emulation reset Connect the reset flying lead to some point in your target system that distributes the reset signal to components that need to be reset when the processor is reset.
  • Page 393: If The Demmuer Runs Out Of Resources During The Loading Process

    Chapter 9: Solving Problems If the deMMUer runs out of resources during the loading process If the deMMUer runs out of resources during the loading process Check the physical address ranges that will be reverse translated by the present setup of the deMMUer. Enter load demmuer verbose to see a list of those physical address ranges.
  • Page 394: If Verbose Mode Shows Less Than Eight Mappings But The Demmuer Is "Out Of Resources

    Chapter 9: Solving Problems If verbose mode shows less than eight mappings but the deMMUer is "out of resources" If verbose mode shows less than eight mappings but the deMMUer is "out of resources" Check if you are using both root pointers in your memory mapping scheme? The deMMUer may have run out of resources for only one of the root pointers.
  • Page 395: If The Demmuer Is Loaded But You Still Get Physical Addresses For Some Of Your Address Space

    Chapter 9: Solving Problems If the deMMUer is loaded but you still get physical addresses for some of your address space If the deMMUer is loaded but you still get physical addresses for some of your address space Some physical accesses are normal, especially accesses to the MMU tables. Check to see which physical memory spaces are being reverse translated by the deMMUer.
  • Page 396: If You Can't Break Into The Monitor After You Enable The Mmu

    If you can’t break into the monitor after you enable the MMU Enter the commands: reset, and then break. If your MC68040 is now running in the monitor, look at your MMU tables or the transparent translation register that maintains 1:1 mapping for your foreground monitor. The mapping has failed.
  • Page 397: Part 3 Reference

    Part 3 Reference...
  • Page 398: In This Part

    Chapter 12, "Emulator Messages," lists each of the messages that you may see while using the MC68040 emulator/analyzer, and describes conditions that may cause the message to appear, and suggests actions you can take to correct problems indicated by the messages.
  • Page 399: Using Memory Management

    Using Memory Management Understanding logical and physical emulation and analysis...
  • Page 400: Understanding Emulation And Analysis Of The Memory Management Unit

    You only need to read this chapter if you are using the on-chip MMU (Memory Management Unit) of the MC68040 or MC68LC040 microprocessor. If you are using an MC68EC040, or if you are using an MC68040 or MC68LC040 with its MMU disabled, you won’t need the information in this chapter.
  • Page 401: What Are Logical Addresses

    One shows memory management used in a static memory system. The other two show memory management used in different dynamic memory systems. The MC68040 emulator is designed to work in any of these system types; however, the deMMUer which provides reverse translations to the analyzer is primarily intended for use in static systems.
  • Page 402: Paged Dynamic System Example

    Your HP emulator/analyzer can give you partial support for a non-paged, dynamic system. When the MMU has been set up to manage memory during execution of one of the above tasks, you can update the deMMUer to translate addresses for that task.
  • Page 403: Where Is The Mmu

    Your HP emulator will let you run a paged, dynamic system, but the analyzer will not be able to provide support for such features as symbolic addresses, or display of corresponding source files.
  • Page 404: Using Supervisor And User Privilege Modes

    Chapter 10: Using Memory Management Understanding Emulation and Analysis Of The Memory Management Unit Using Supervisor and User Privilege Modes The MMU allows separate tables to be set up for supervisor and user access. For example, you can create one set of mapping tables to translate addresses in supervisor space and another set of mapping tables to translate addresses in user space.
  • Page 405: Software Enable

    Chapter 10: Using Memory Management Understanding Emulation and Analysis Of The Memory Management Unit Software enable The software enable is performed when the operating system loads the enable value into the translation control register (TC). If the enable bit of the TC register is "e=1", the MMU will be enabled.
  • Page 406: How The Mmu Affects The Way You Compose Your Emulation Commands

    Chapter 10: Using Memory Management Understanding Emulation and Analysis Of The Memory Management Unit How the MMU affects the way you compose your emulation commands When you display registers, the address registers, stack pointers, and program counter always contain logical addresses, even when the MMU is turned on. If you place an address in the entry buffer and choose Execution→Run→from(), or enter a run from <address>...
  • Page 407: Seeing Details Of The Mmu Translations

    Chapter 10: Using Memory Management Seeing Details of the MMU Translations Seeing Details of the MMU Translations The following paragraphs discuss emulator displays that help you understand translations made by your MMU. There are three displays, each giving a different level of detail of the MMU translations.
  • Page 408 Chapter 10: Using Memory Management Seeing Details of the MMU Translations The above listing shows privilege modes were included in the mapping scheme. The logical and physical addresses were shown in supervisor space. Notice that the physical addresses also show "a" beside the privilege mode indication. The "a" indicates physical address space.
  • Page 409: Supervisor/User Address Mappings

    If you do not enter a specification for address space, mappings will be shown for both root pointers. The MC68040 uses the URP as the root pointer for user address space, and the SRP as the root pointer for supervisor address space. No distinction is made between...
  • Page 410: Translation Details For A Single Logical Address

    Chapter 10: Using Memory Management Seeing Details of the MMU Translations Translation details for a single logical address To see translation details for a logical address, choose Display→MMU Translations... and click on MMU Tables in the dialog box; then type in an address, such as 40f8h, in the field beside Address.
  • Page 411: Status Information

    Chapter 10: Using Memory Management Seeing Details of the MMU Translations Status information The status "U" and "W" can be assigned to an address at any point in its mapping. You must OR these two status values at each level of the mapping. For example: if the "W"...
  • Page 412 Chapter 10: Using Memory Management Seeing Details of the MMU Translations Table details for a selected logical address The lowest level of detail you might like to see is the content of one of the tables used to map a particular logical address. You might choose Display→MMU Translations...
  • Page 413: Using The Demmuer

    Chapter 10: Using Memory Management Using the DeMMUer Using the DeMMUer The deMMUer circuitry reverses the translations made by the MMU (translates the physical addresses it finds on the processor buses back to their corresponding logical addresses) before sending the addresses to the analyzer. What part of the emulator needs a deMMUer? Actually, the emulator doesn’t need the deMMUer;...
  • Page 414: Reverse Translations Are Made In Real Time

    Chapter 10: Using Memory Management Using the DeMMUer specifications expressed in source file symbols, show symbols in its trace lists, and show the regions of the source files that were executing when the bus activity occurred. Reverse translations are made in real time The deMMUer performs its reverse translations without slowing down the measurement.
  • Page 415: What The Emulator Does When It Loads The Demmuer

    Chapter 10: Using Memory Management Using the DeMMUer • Settings→DeMMUer→Load from File... This opens a dialog box in which you can specify the name of a file of reverse translations. This file will be loaded directly into the DeMMUer instead of reading the present translation tables and MMU register values to create the reverse translations.
  • Page 416: Restrictions When Using The Demmuer

    Chapter 10: Using Memory Management Using the DeMMUer Restrictions when using the deMMUer Keep the deMMUer up to date When you load the deMMUer, the emulator reads the present value of the TC, SRP, and URP registers in the MMU, and the present translation tables, and calculates the address translations that can be performed (all possible physical-to-logical translations are determined during this process).
  • Page 417 Chapter 10: Using Memory Management Using the DeMMUer might be analyzing execution of your program and find it accesses a data space at an address you don’t recognize, even though the data may be what you expect to see. The unexpected address will be the logical address known to the other program that also uses this location.
  • Page 418: Resource Limitations

    Chapter 10: Using Memory Management Using the DeMMUer Resource limitations If you load the DeMMUer by using one of the Settings→DeMMUer→Load from Memory/Memory... or load demmuer commands and your emulator performs its task and returns a prompt to the command line, you won’t need to know about the deMMUer resource limitations.
  • Page 419: Example To Show Resource Limitations

    Chapter 10: Using Memory Management Using the DeMMUer Example to show resource limitations Consider the following program arrangement: 4M RAM Unused 2M Peripherals Unused 4M ROM Unused 256M 258M 512M 514M Assume a system contains memory and peripherals at three different ranges: one from 0 to 4 Mbytes, one from 256 to 258 Mbytes, and one from 512 to 514 Mbytes.
  • Page 420 Chapter 10: Using Memory Management Using the DeMMUer deMMUer, or Out of DeMMUer resources, because the deMMUer might run out of resource blocks before all of the physical addresses have been assigned reverse translations, but the program spaces you care about will all be reverse translated. You can use the verbose option of the deMMUer load command to make sure the program spaces you care about will be reverse translated.
  • Page 421: Dividing The Demmuer Table Between User And Supervisor Address Space

    Chapter 10: Using Memory Management Using the DeMMUer Dividing the deMMUer table between user and supervisor address space You can have two sets of MMU translation tables, one under each root pointer (URP and SRP). In this case, the emulator divides the deMMUer table into two equal address spaces.
  • Page 422: Solving Problems

    Chapter 10: Using Memory Management Solving Problems Solving Problems Your program and emulator may be running fine until you turn on the MMU. Then program execution may fail. You may not be able to use features of your emulator. How can this happen? It can happen if the MMU mapping tables are incorrect. When the MMU turns on and starts managing memory by performing tablewalks in tables that are invalid, pages of logical memory may overwrite your stack space, your emulation monitor, or any other address space, making your entire system...
  • Page 423: Use The Analyzer With The Demmuer To Find Mmu Mapping Problems

    Chapter 10: Using Memory Management Solving Problems emulator will let you specify correct values to be used when composing the display of translations You can use the dialog box that is called by the Display→MMU Translations... selection and click on Override Processor Register Values and enter the desired values for the TC, SRP, URP, ITT0, ITT1, DTT0, and DTT1 registers (or RECALL desired values from earlier usages).
  • Page 424: Failure Due To System Halt

    Chapter 10: Using Memory Management Solving Problems changed after the guarded access occurred. In this case, the present address in the program counter may map to proper physical memory. If the present program counter address does not translate to an address in guarded physical memory, the access to guarded memory may have been caused when your program read or wrote to data memory before the present program counter address appeared.
  • Page 425: Execution Breakpoint Problems

    The following example assumes you mapped your foreground monitor beginning at address 4000H. You connected your emulator into your target system and ran your target program (which set up the MC68040 MMU). You tried to break into the emulation monitor and got the message, "Can’t break into monitor."...
  • Page 426 Chapter 10: Using Memory Management Solving Problems The reset does not change the content of the MMU mapping tables or registers. It only disables the "enable bit" in the TC register of the MMU. Now you can look at the translations that are performed by the MMU to find the translation that was applied to your foreground monitor.
  • Page 427 Chapter 10: Using Memory Management Solving Problems The next step in this analysis is to display the MMU mapping table for the logical base address of the foreground monitor. You might choose Display→MMU Translations..., and in the dialog box, click on MMU Tables and type in Address 4000H (plus the TC register override).
  • Page 428 Chapter 10: Using Memory Management Solving Problems After this modification, you can get a new display of the mapping tables for logical address 4000h to see if your modified MMU tables now map your foreground monitor correctly. Choose Display→MMU Translations..., and in the dialog box, click on MMU Tables and type in Address 4000H (and include the value 8000h to override the TC register).
  • Page 429: Emulator Commands

    Emulator Commands The command syntax reference for the emulator softkey interface...
  • Page 430 Chapter 11: Emulator Commands 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.
  • Page 431: How Pulldown Menus Map To The Command Line

    Chapter 11: Emulator Commands How Pulldown Menus Map to the Command Line Pulldown Command Line File→Context→Directory File→Context→Symbols File→Load→Emulator Config load configuration File→Load→Executable load <abs_file> load <abs_file> nosymbols File→Load→Program Only File→Load→Symbols Only load symbols File→Load→Trace Data load trace load trace_spec File→Load→Trace Spec File→Load→DeMMUer load demmuer <file>...
  • Page 432 Chapter 11: Emulator Commands Pulldown Command Line File→Exit→Window (save session) File→Exit→Locked (all windows, save session) end locked File→Exit→Released (all windows, release end release_system emulator) Display→Context pwd, pws Display→Memory display memory Display→Memory→Mnemonic () display memory --EXPR-- mnemonic Display→Memory→Mnemonic at PC display memory mnemonic at_pc display memory mnemonic previous_display Display→Memory→Mnemonic Previous display memory --EXPR-- blocked bytes...
  • Page 433 Chapter 11: Emulator Commands Pulldown Command Line Execution→Run→from PC Execution→Run→from () run from --EXPR-- Execution→Run→from Transfer Address run from transfer_address Execution→Run→from Reset run from reset Execution→Run→until () run until --EXPR-- Execution→Step Source→from PC step source Execution→Step Source→from () step source from --EXPR-- Execution→Step Source→from Transfer step source from transfer_address Address...
  • Page 434 Chapter 11: Emulator Commands Pulldown Command Line Trace→Display display trace Trace→Display Options display trace ... Trace→Trace Spec N/A (browses recall buffer for trace commands) Trace→After () trace after STATE trace before STATE Trace→Before () Trace→About () trace about STATE Trace→Only () trace only STATE Trace→Only () Prestore trace only STATE prestore anything...
  • Page 435: Emulator Configuration: Memory Map

    Chapter 11: Emulator Commands Emulator Configuration: Memory Map Pulldown Command Line File→Print Map print File→Exit Map→Add New Entry N/A (calls the associated dialog box) Map→Modify Entry→<entry#> N/A (calls the associated dialog box) Map→Delete Entry→<entry#> delete <entry#> Map→Delete All delete all Map→Default Memory Type→Target RAM→...
  • Page 436: How Popup Menus Map To The Command Line

    Chapter 11: Emulator Commands How Popup Menus Map to the Command Line Mnemonic Memory Display Popup Command Line Set/Clear Software Breakpoint modify software_breakpoints set/clear --EXPR-- permanent Edit Source ! vi +<line> <file> ! no_prompt_before_exit Run Until run until fcode sp --EXPR-- Trace After trace after STATE Trace Before...
  • Page 437 Chapter 11: Emulator Commands Trace Display Popup Command Line Disassemble From display trace disassemble_from_line_number <line#> Edit Source ! vi +<line> <file> ! no_prompt_before_exit Display Memory At display memory <address> mnemonic Status Line Popup Command Line Remove Temporary Message Command Line On/Off (toggles command line) Display Error Log display error_log...
  • Page 438: Syntax Conventions

    Chapter 11: Emulator Commands Syntax Conventions Conventions used in the command syntax diagrams are defined below. Oval-shaped Symbols Oval-shaped symbols contain command tokens. Command tokens, together with symbols and numeric values, make up complete Softkey Interface commands. Most command tokens appear on softkey labels. Those that do not appear as softkeys must be typed into the command line (for example, log_commands and wait).
  • Page 439: Circles

    Chapter 11: Emulator Commands Circles Circles contain operators and delimiters used in expressions and on the command line. An example of a circle symbol is as follows: The —NORMAL— Key The softkey labeled —NORMAL— is a special softkey-changer; use it to return to the former set of softkeys.
  • Page 440: Summary Of Commands

    Chapter 11: Emulator Commands Summary of Commands Softkey Interface commands are summarized in the following table: Emulator Commands UNIX_COMMAND display global_symbols modify keyboard_to_simio break display local_symbols_in modify memory cd (change directory) display memory modify register cmb_execute display pod_command modify software_breakpoints <command file>...
  • Page 441: Break

    Chapter 11: Emulator 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 442 Chapter 11: Emulator Commands cmb_execute cmb_execute The cmb_execute command causes the emulator to emit an EXECUTE pulse on its rear panel 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 443: Copy

    Chapter 11: Emulator Commands copy copy...
  • Page 444 Chapter 11: Emulator Commands copy The copy command copies selected information to your system printer or listing file, or directs it to an UNIX process. 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 445 Chapter 11: Emulator Commands copy FCODE The function code used to define the address space being referenced. See the syntax diagram for FCODE to see a list of the function codes available and for an explanation of those codes. <FILE> This prompts you for the name of a file where you want the specified information to be copied.
  • Page 446 This allows you to specify that the addresses to be copied are addresses in physical memory. pod_command This allows you to copy the most recent commands sent to the HP 64700-Series emulator/analyzer. For details, refer to the syntax page for the pod_command in this chapter.
  • Page 447 100H , START thru +5 , 500H , TARGET2 to memlist copy memory 2000h thru 204fh memlist copy registers printer BASIC copy registers reglist copy trace tlist copy trace from_line_number thru_line_number longtrac copy trace to !mail myfriend@col.hp!
  • Page 448 Chapter 11: Emulator Commands copy See Also display local_symbols_in <SYMB> display memory display registers display trace modify memory modify registers store memory store trace help copy help registers help trace...
  • Page 449: Count

    Chapter 11: Emulator Commands COUNT COUNT The trace depth of the deep analyzer depends on whether or not you installed memory modules on the analyzer card (refer to Chapter 19, "Installation and Service", for details). The maximum depth of the 1K analyzer is 1024 states. A state is a unique combination of address, data, and status values occurring on the emulation bus simultaneously.
  • Page 450 Chapter 11: Emulator Commands COUNT QUALIFIER This is defined by you and used with the state option to define the states to be captured by the analyzer. state This causes the emulation-bus analyzer to count occurrences of the specified state during a trace measurement.
  • Page 451: Display

    Chapter 11: Emulator Commands display display...
  • Page 452 Chapter 11: Emulator Commands display You can use the up arrow, down arrow, PREV PAGE, and NEXT PAGE 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 453 Chapter 11: Emulator Commands display FCODE The function code used to define the address space being referenced. See the syntax diagram for FCODE to see a list of the function codes available and for an explanation of those codes. global_symbols This option lets you display a list of all global symbols in memory.
  • Page 454 Chapter 11: Emulator Commands display also may be displayed in the register step mnemonic string (refer to set symbols in this chapter). With no options specified, the basic register class is displayed. Basic registers include: PC, STATUS, USP, ISP, MSP, CACR, D0 through D7, A0 through A7, VBR, DFC, and SFC.
  • Page 455 Chapter 11: Emulator Commands display status This displays the emulator and trace status screen. thru —EXPR— Allows you to specify a range of addresses for which you want data display. Typically, you use this to display the contents of an array. You can display both single-dimensional and multi-dimensional arrays.
  • Page 456 Chapter 11: Emulator Commands display Examples display event_log display local_symbols_in cmd_rdr.s: display global_symbols display local_symbols_in temp1.S: display local_symbols_in prog68k.S:main display simulated_io display software_breakpoints display software_breakpoints offset_by 1000H display registers display registers BASIC display data Msg_A thru +17 char , Stack long set symbols on set width label 30 display data , _clocktic thru +4 char , _duration thru...
  • Page 457: Display Memory

    Chapter 11: Emulator Commands DISPLAY MEMORY DISPLAY MEMORY...
  • Page 458 Chapter 11: Emulator 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 459 Chapter 11: Emulator Commands DISPLAY MEMORY extended Displays memory as 96-bit IEEE-754 real numbers. FCODE The function code used to define the address space being referenced. See the syntax diagram for FCODE to see a list of the function codes available and for an explanation of those codes.
  • Page 460 Chapter 11: Emulator Commands DISPLAY MEMORY thru This option lets you specify a range of memory locations to be displayed. Use the up arrow, down arrow, NEXT PAGE, and PREV PAGE keys to view additional memory locations. words Displays the memory listing as word values. A comma after memory in the command line appends the current display memory command to the preceding display memory command.
  • Page 461: Display Mmu

    Chapter 11: Emulator Commands DISPLAY MMU DISPLAY MMU...
  • Page 462 Chapter 11: Emulator Commands DISPLAY MMU The display mmu_translations command is used to display all of the present translations for all logical addresses, or for only a limited range of logical addresses. Further, you can display the details of how a single logical address is mapped through the tables to its corresponding physical address.
  • Page 463 Chapter 11: Emulator Commands DISPLAY MMU mmu_translations Shows a list of the valid MMU mappings. One entry in the list is allocated for each page or group of adjacent pages in the system. tables Shows the details of the translation through the tables for the logical address you included in your command.
  • Page 464: Display Trace

    Chapter 11: Emulator Commands DISPLAY TRACE DISPLAY TRACE...
  • Page 465 Chapter 11: Emulator Commands DISPLAY TRACE 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. 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.
  • Page 466 Chapter 11: Emulator Commands DISPLAY TRACE count absolute This lists the state or time count for each event of the trace as the total count measured from the trigger event. relative This lists the state or time count for each event of the trace as the count measured relative to the previous event.
  • Page 467 Chapter 11: Emulator Commands DISPLAY TRACE low_word Causes inverse assembly to begin with the opcode stored in the low word of the long word at the specified trace memory line number. mnemonic Lists trace information with opcodes in mnemonic format. offset_by This option allows you to offset the listed address value from the address of the instruction.
  • Page 468 Chapter 11: Emulator Commands DISPLAY TRACE Examples display trace count absolute display trace absolute status binary set source on display trace mnemonic set source only See Also copy trace help display help trace store trace...
  • Page 469: End

    Chapter 11: Emulator Commands You can end the emulation session and leave the emulator in one of three states. • You can exit the interface and leave the emulator in a continue state which allows you to re-enter the emulation session. •...
  • Page 470 Chapter 11: Emulator Commands Examples end locked release_system See Also emul700 <emulator_name> help...
  • Page 471: Expr

    Chapter 11: Emulator Commands —EXPR— —EXPR— The function of an expression (—EXPR—) is to let you define the address, data, or status expression that fits your needs. You can combine multiple values to define the expression. Some emulation commands will allow the option of <+EXPR> after pressing a thru softkey.
  • Page 472 Chapter 11: Emulator Commands —EXPR— <OP> This represents an algebraic or logical operand and may be any of the following (in order of precedence): Operator Description modulo multiplication division & logical AND addition subtraction logical OR —SYMB— This allows you to define symbolic information for an address, range of addresses, or a file.
  • Page 473 Chapter 11: Emulator Commands —EXPR— Examples 05fxh DISP_BUF + 5 SYMB_TBL + (OFFSET / 2) START cprog.C: line 15 end See Also help expressions SYMB...
  • Page 474: Fcode

    Chapter 11: Emulator Commands FCODE FCODE The function code is used to define the address space being referenced. Select the appropriate function code from those listed below. none Causes the emulator to use the default supervisor address space. super Supervisor address space. user User address space.
  • Page 475: Help

    Chapter 11: Emulator Commands HELP HELP 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. The help command is not displayed on the softkeys. You must enter it at the keyboard.
  • Page 476: Load

    Chapter 11: Emulator Commands load load The absolute file contains information about where the file is stored. The memory map specifies that the locations of the file are in user (target system) memory or emulation memory. This command also allows you to access and display previously stored trace data, load a previously created configuration file, and load absolute files with symbols.
  • Page 477 Chapter 11: Emulator Commands load Any file specified by <FILE> cannot be named “configuration”, “emul_mem”, “user_mem”, “symbols”, “trace”, or “trace_spec” because these are reserved words, and are not recognized by the emulation system as ordinary file names. The absolute file is loaded into emulation memory by default. configuration This option specifies that a previously created emulation configuration file will be loaded into the emulator.
  • Page 478 Chapter 11: Emulator Commands load use_value Lets you specify a value to be used in place of the present content of the TC, SRP, URP, ITT0, ITT1, DTT0, and DTT1 registers when reading the tables to determine the reverse translations. user_mem Load the file into user (target system) memory hardware.
  • Page 479: Log_Commands

    Chapter 11: Emulator Commands log_commands log_commands A command file is an ASCII file containing Softkey Interface commands. The interface can read a command file and execute its commands as if they were typed into the command line. Simply type the filename on the command line. This interface command lets you create command files by logging.
  • Page 480: Modify

    Chapter 11: Emulator Commands modify modify...
  • Page 481 Chapter 11: Emulator Commands modify The modify command is used to: • View or edit the current emulation configuration. • Modify the contents of memory (as integers, strings, or real numbers). • Modify the contents of the processor registers. • Write specified values to I/O port addresses.
  • Page 482 “suspend” is displayed on your screen. Pressing suspend and the carriage return key will deactivate keyboard simulated I/O and return the keyboard to normal emulation mode. For details about setting up simulated I/O on your HP 9000 host computer system, refer to the Simulated I/O User’s Guide.
  • Page 483 It is not automatically replaced by the target-program instruction when it is hit. Permanent breakpoints can only be set if your version of HP 64700 system firmware is A.04.00 or greater.
  • Page 484 It is automatically replaced by the target-program instruction when it is hit. Temporary breakpoints (the default breakpoints) differ from permanent breakpoints which can only be set if your version of HP 64700 system firmware is A.04.00 or greater.
  • Page 485 “This is a test \n\0" display memory blocked bytes modify memory Msg_Dest thru +50 to 41h, 42h, 43h modify memory Msg_Dest string to “HP 64000 Softkey Interface” modify memory Msg_Dest thru +50 to 0 modify...
  • Page 486 Chapter 11: Emulator Commands modify modify software_breakpoints See Also copy memory copy registers copy software_breakpoints display memory display registers display software_breakpoints help modify help registers help software_breakpoints modify registers store memory...
  • Page 487 Chapter 11: Emulator 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. This command does not alter current measurement data in the emulation system. Example performance_measurement_end See Also...
  • Page 488: Performance_Measurement_Initialize

    Chapter 11: Emulator 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.
  • Page 489 Chapter 11: Emulator Commands performance_measurement_initialize local_symbols_in This uses local symbols as the default ranges for the measurement. restore This restores old measurement data so that the current measurement can be continued when using the trace command used previously. —SYMB— This represents the source file that contains the local symbols to be listed. This also can be a program symbol name, in which case all symbols that are local to a function or procedure are used.
  • Page 490: Performance_Measurement_Run

    Chapter 11: Emulator Commands performance_measurement_run performance_measurement_run This command begins a performance measurement. It causes the emulation system to reduce trace data contained in the emulation-bus analyzer. The resulting data is used for analysis by the performance measurement software. The default is to process data presently contained in the analyzer. <COUNT>...
  • Page 491: Pod_Command

    Chapter 11: Emulator Commands pod_command pod_command The HP 64700 Series emulators contain a low-level Terminal Interface, which allows you to control the emulator’s functions directly. You can issue Terminal Interface commands through the Softkey Interface by using pod_command. With pod_command, you can issue a single command, or enter the keyboard mode which allows you to enter a series of commands.
  • Page 492 Chapter 11: Emulator Commands pod_command Examples This example shows a simple interactive session with the Terminal Interface. display pod_command pod_command keyboard Enter suspend to return to the Softkey Interface. See Also display pod_command help pod_command Also see the MC68040/EC040/LC040 Emulator/AnalyzerTerminal Interface User’s Guide.
  • Page 493: Qualifier

    Chapter 11: Emulator Commands QUALIFIER QUALIFIER The QUALIFIER parameter is used with trace only, trace prestore, TRIGGER, and trace counting to specify states captured during the trace measurement. You may specify a range of states or specific states to be captured. You can specify a unique combination of address/data/status values as conditions for the trace measurement.
  • Page 494 Chapter 11: Emulator Commands QUALIFIER data This specifies that the expression that follows is a data value on the emulation processor data bus. —EXPR— An expression is a combination of numeric values, symbols, operators, and parentheses, specifying an address, data, or status value. See the EXPR syntax diagram.
  • Page 495 Chapter 11: Emulator Commands QUALIFIER thru This indicates that the following address expression is the upper address in a range. Examples trace only address prog68k.S:READ_INPUT trace only address range prog68k.S:READ_INPUT thru OUTPUT trace only address range thru prog68k.S:CLEAR READ_INPUT Also see the trace command examples. See Also help trace...
  • Page 496: Reset

    Chapter 11: Emulator Commands reset reset This command suspends target system operation and asserts the reset signal on the emulation processor. The reset signal is latched when the reset command is executed, and is released by either the run or break command. Example reset See Also...
  • Page 497: Run

    Chapter 11: Emulator Commands This command causes the emulator to execute a program. If the processor is in the reset state, run releases the reset condition. If you specify run from —EXPR— or run from transfer_address, the processor is directed to the particular address. If the processor is running in the emulation monitor or background memory, a run command causes the processor to exit into your program.
  • Page 498 Chapter 11: Emulator Commands transfer_address This represents the starting address of the program loaded into emulation or target memory. The transfer address is defined in the linker map. until Specifies an address where execution is to stop. The emulator will execute your target program up to the point where the until address is found.
  • Page 499: Sequencing

    Chapter 11: Emulator Commands SEQUENCING SEQUENCING 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 500 Chapter 11: Emulator Commands SEQUENCING restart Selects global restart. If the analyzer finds the restart qualifier while searching for a sequence term, the sequencer is reset and searching begins for the first sequence term. Examples The following example uses symbols from an imaginary program that performs a series of tests in sequence.
  • Page 501: Set

    Chapter 11: Emulator Commands...
  • Page 502 <ENV_VAR> Specifies the name of an environment variable to be set within the HP 64000-UX environment or the system environment. The equals sign is used to equate the <ENV_VAR> parameter to a particular value...
  • Page 503 Chapter 11: Emulator Commands inverse video This displays source lines in normal video. This highlights the source lines on the screen (dark characters on light background) to differentiate the source lines from other data on the screen. langinfo In certain languages, you may have symbols with the same names but different types.
  • Page 504 This provides a way to default the memory and trace displays to trace_on a setting that HP believes is the nicest possible formats for memory and trace displays. Parameters such as "source on/only", number of source lines to show, display width, and turning symbols on are all governed by this one selection.
  • Page 505 (such as modify memory, load, and so on). <VALUE> Specifies the logical value to which a particular UNIX or HP 64000-UX system environment variable is to be set. width...
  • Page 506 Chapter 11: Emulator Commands mnemonic This lets you specify the width (in columns) of the mnemonic field in memory mnemonics, trace list and register step mnemonics displays. It also changes the width of the status field in the trace list. symbols This lets you specify the maximum width of symbols in the mnemonic field of the trace list, memory mnemonic, and...
  • Page 507: Specify

    Chapter 11: Emulator 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 you enter a cmb_execute command.
  • Page 508 Chapter 11: Emulator Commands specify 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. See the EXPR syntax diagram. FCODE The function code used to define the address space being referenced.
  • Page 509: Step

    Chapter 11: Emulator 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 510 Chapter 11: Emulator Commands step FCODE The function code used to define the address space being referenced. See the syntax diagram for FCODE to see a list of the function codes available and for an explanation of those codes. from Use this option to specify the address from which program stepping begins.
  • Page 511 Chapter 11: Emulator 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. Example stop_trace See Also...
  • Page 512: Store

    Chapter 11: Emulator 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. A new file is created with the name you specify, if there is not already an absolute file with the same name.
  • Page 513 Chapter 11: Emulator Commands store must precede the file name with a backslash (\) so the system will recognize it as a file name. memory This causes selected memory locations to be stored in the specified file with a .X extension.
  • Page 514: Symb

    Chapter 11: Emulator Commands —SYMB— —SYMB—...
  • Page 515 Chapter 11: Emulator Commands —SYMB— This parameter is a symbolic reference to an address, address range, file, or other value. Symbols may be: • Combinations of paths, filenames, and identifiers defining a scope, or referencing a particular identifier or location (including procedure entry and exit points).
  • Page 516 Chapter 11: Emulator Commands —SYMB— <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 517 SRU assigns an identifier and tags it with type procedure. prospecial Prospecial symbols are symbols that were created by the HP SRU (such as entry, exit, and return). They are derived symbols, not intended for the product user. Typical prospecial symbols would be entry1, entry2, and entry3 in a procedure that has three possible entry points.
  • Page 518 Chapter 11: Emulator Commands —SYMB— Examples The following C code example is provided to help illustrate how symbols are maintained by SRU and referenced in your emulation commands. File /users/dave/control.c contains: int *port_one; main() int port_value; port_one = 255; port_value = 10; process_port (port_one, port_value);...
  • Page 519 Chapter 11: Emulator Commands —SYMB— The symbol tree as built by SRU might appear as shown in the following diagram, depending on the object module format (OMF) and compiler used. Note that 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 520 Chapter 11: Emulator Commands —SYMB— control.c:main control.c:port_one porthand.c:utils.c:delay The last example above only works with IEEE-695 object module format; the HP object module format does not support referencing of include files that generate program code. porthand.c:process_port.i porthand.c:process_port.BLOCK_1.i Notice how you can reference different variables with matching identifiers by specifying the complete scope.
  • Page 521 Chapter 11: Emulator Commands —SYMB— For example, if you set the current working symbol as cws porthand.c:process_port.BLOCK_1 and made a reference to symbol i2, the retrieval utilities attempt to find a symbol called porthand.c:process_port.BLOCK_1.i2 which would not be found. The symbol utilities would then strip BLOCK_1 from the current working symbol, yielding porthand.c:process_port.i2 which is a valid symbol.
  • Page 522: Trace

    Chapter 11: Emulator Commands trace trace The options shown can be executed once for each trace command. Refer to the COUNT, QUALIFIER, SEQUENCING, TRIGGER, and WINDOW 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 523 This option allows you to specify the external trigger as a trace qualifier, for coordinating measurements between multiple HP 64700 Series emulators, or an HP 64700 Series emulator and another instrument. Before arm_trig2 can appear as an option, you must modify the emulation configuration interactive measurement specification.
  • Page 524 Chapter 11: Emulator Commands trace prestore This option instructs the analyzer to save specific states that occur prior to states that are stored (as specified with the “only” option). QUALIFIER This determines which of the traced states will be stored or prestored in the trace memory for display upon completion of the trace.
  • Page 525 Chapter 11: Emulator Commands trace See Also copy trace display trace help trace load trace load trace_spec specify trace store trace store trace_spec...
  • Page 526: Trigger

    Chapter 11: Emulator 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 527 Chapter 11: Emulator Commands TRIGGER Examples trace after MAIN trace after 1000H then data Also see the trace command examples. See Also help trace trace Also refer to Chapter 6, "Coordinated Measurements".
  • Page 528: Unix_Command

    Chapter 11: Emulator Commands <UNIX_COMMAND> <UNIX_COMMAND> This structure allows you to execute UNIX commands on the emulator/analyzer command line. The UNIX commands and command-line options are interpreted as noops in the emulator/analyzer interface. in_browser Places the resulting display in a scrollable box instead of an XTERM window. wait_for_exit Use this command to ensure completion of the associated UNIX command before starting the next command.
  • Page 529: Wait

    Chapter 11: Emulator Commands wait wait This command allows you to pause the system. The wait command can be included in a command file, or used during normal operation at the main emulation level. Delays allow the emulation system and target processor to reach a certain condition or state before executing the next emulation command.
  • Page 530 Chapter 11: Emulator Commands wait measurement_ This causes the system to pause until a pending measurement completes (for complete example, when a trace data upload process completes), or until a <CTRL>c signal is received. If a measurement is not in progress, the wait command will complete immediately.
  • Page 531: Window

    Chapter 11: Emulator Commands WINDOW WINDOW WINDOW allows you to selectively toggle analyzer operation. When enabled, the analyzer will recognize sequence terms and trigger terms, and will store states. When disabled, the analyzer is effectively off, and only looks for a particular enable term.
  • Page 532 Chapter 11: Emulator Commands WINDOW Examples The following example uses an imaginary program that writes messages. The window specification ensures that the trace memory will only store message writes (store write transactions only during the time when the Write_Msg routine is active), and not store other program activity.
  • Page 533 Emulator Error Messages This chapter lists error and status messages that you may see when using the emulator. The causes of the messages are given along with actions you can take to overcome error conditions.
  • Page 534: Emulator Error Messages

    Chapter 12: Emulator Error Messages <MMU_REGISTER> register cannot be read The emulator/analyzer interface provides feedback to the user through messages that are displayed on the STATUS line. The messages in this chapter are listed in alphabetical order. Some messages have error numbers assigned to them. These error numbers are shown in parenthesis at the end of the message text in this chapter.
  • Page 535 Chapter 12: Emulator Error Messages Address translation error; non-resident page: <address> (Error 172) Address translation error; non-resident page: <address> (Error 172) Cause: The error occurred when the monitor attempted to access memory with the MMU enabled. You requested the monitor to display or modify memory, or you tried to exit the monitor;...
  • Page 536 Chapter 12: Emulator Error Messages Address translation error; write-protected page: <address> (Error 172) Address translation error; write-protected page: <address> (Error 172) Cause: The error occurred when the monitor attempted to access memory with the MMU enabled. You requested the monitor to display or modify memory, or you tried to exit the monitor and the memory access generated an access fault resulting from an MMU address translation failure.
  • Page 537 Chapter 12: Emulator Error Messages Attempt to load code outside of allocated bounds (Error 850) Attempt to load code outside of allocated bounds (Error 850) Cause: This error occurs when you attempt to load an absolute file that contains code or data outside the range allocated for system code. BNC trigger break (Async_Stat 616) 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...
  • Page 538 Chapter 12: Emulator Error Messages Breakpoint disable aborted (Error 671) Breakpoint disable aborted (Error 671) Cause: Occurs when <CTRL> c is entered when disabling software breakpoints. Breakpoint enable aborted (Error 670) Cause: Occurs when <CTRL> c is entered when setting software breakpoints. Breakpoint not added: <address>...
  • Page 539 Chapter 12: Emulator Error Messages CMB execute break (Error 623) CMB execute break (Error 623) Cause: This message occurs when coordinated measurements are enabled and an EXECUTE pulse causes the emulator to run. The emulator must break before running. This is a status message; no action is required. CMB execute;...
  • Page 540 Conflict between expected and received symbol information (Error 880) Cause: The information you supplied in a symbol definition is not what the HP 64700 expected to receive. Action: Make sure that all symbols in the symbol file are defined correctly. Verify that there are no spaces in the address definitions for the symbols in the symbol file being downloaded.
  • Page 541 Chapter 12: Emulator Error Messages Conflicting disassembler option: <option> (Error 1000) Conflicting disassembler option: <option> (Error 1000) Cause: This error occurs when you attempt to specify inverse assembly options that are not allowed with each other. Action: Do not use conflicting inverse assembly options in the same trace list command.
  • Page 542 Chapter 12: Emulator Error Messages Count out of bounds: <number> (Error 318) Count out of bounds: <number> (Error 318) Cause: You specified an occurrence count less than 1 or greater than 65535 for a trace trigger or trace find sequence command. Action: Reenter the command, specifying a count value from 1 to 65535.
  • Page 543 Chapter 12: Emulator Error Messages Disable breakpoint failed: <address> (Error 666) Disable breakpoint failed: <address> (Error 666) Cause: System failure or target condition. Action: Check memory mapping and configuration questions. This message is usually accompanied by other messages. Look at those messages to better understand the error and know which actions to take.
  • Page 544 Chapter 12: Emulator Error Messages Downloaded monitor spans multiple 4K byte block boundaries (Error 145) Downloaded monitor spans multiple 4K byte block boundaries (Error 145) Cause: You tried to load a custom foreground monitor, but the absolute file has address records that are outside the range of a single 4-Kbyte block. Action: Modify your custom monitor so that its code and data fit into a single 4-Kbyte block;...
  • Page 545 Chapter 12: Emulator Error Messages Emulation memory access failed (Error 702) Emulation memory access failed (Error 702) Cause: This message is displayed if the emulator was unable to perform the requested operation on memory mapped to the target system. In most cases, the problem results from the emulator’s inability to break to the monitor to perform the operation.
  • Page 546 Cause: The system has encountered an error from which it cannot recover. Action: Write down the sequence of commands that caused the error. Cycle power on the emulator and reenter the commands. If the error repeats, call your local HP Sales Office for assistance.
  • Page 547 Cause: The emulation control card is programmed with MC68040 firmware, but the firmware does not identify the probe as being the MC68040. Action: Make sure that you are using an MC68040 probe, and then make sure the probe cables between the control card and the probe are connected correctly. Refer...
  • Page 548 Chapter 12: Emulator Error Messages Illegal base for count display (Error 1130) Illegal base for count display (Error 1130) Cause: When specifying the trace format, counts may only be displayed relative or absolute. When counting states, the count is always displayed as a decimal number. Action: Respecify the trace format without using a base for the count column.
  • Page 549 Chapter 12: Emulator Error Messages Incompatibile signal out events: <Incompatible Event Name> (Error 1254) Incompatibile signal out events: <Incompatible Event Name> (Error 1254) Cause: The terminal interface tgout (trigger output) command may be used to drive the trig1 and/or trig2 signals to the emulator in response to several different events.
  • Page 550 Chapter 12: Emulator Error Messages Interrupt stack is located in ROM: <address> (Error 151) Interrupt stack is located in ROM: <address> (Error 151) Cause: You issued a command to run the target program, but when the emulator attempted to write to one of your stacks, it detected that the stack address is in memory mapped as ROM, and you enabled breaks on writes to ROM.
  • Page 551 Chapter 12: Emulator Error Messages Interrupt stack is not located in RAM: <address> (Error 151) Interrupt stack is not located in RAM: <address> (Error 151) Cause: You issued a command to run the target program. When the emulator attempted to write to one of your stacks, it detected that the stack address is not located in memory which operates as RAM.
  • Page 552 Chapter 12: Emulator Error Messages Invalid address range: <address_range> (Error 311) Invalid address range: <address_range> (Error 311) Cause: You specified an invalid address range as an argument to a command (other than an analyzer command). For example, you may have specified digits that don’t correspond to the base specified, or you forgot to precede a hexadecimal letter digit with a number, or the upper boundary of the range you specified is less than the lower boundary.
  • Page 553 Invalid configuration item: <item> (Error 627) Cause: You specified a non-existent configuration item. For example, because the MC68040 emulator does not support an internal clock, you would see this message if you entered a command to specify an internal clock configuration item for your emulator.
  • Page 554 Invalid memory map attribute: <attribute> (Error 731) Cause: The only valid memory map attributes for the MC68040 emulator are Transfer Cache Inhibit, Emulator Terminates Bus Cycles, and Dual Port Memory.
  • Page 555 Chapter 12: Emulator Error Messages Invalid memory map type: <type> (Error 730) Invalid memory map type: <type> (Error 730) Cause: You specified a memory type while mapping that is not one of the supported types: Emul RAM, Emul ROM, Target RAM, Target ROM, Guarded.
  • Page 556 Chapter 12: Emulator Error Messages Invalid qualifier resource or operator: <expression> (Error 1241) Invalid qualifier resource or operator: <expression> (Error 1241) Cause: When specifying complex expressions, you have either specified an illegal pattern or used an illegal operator. Action: See Chapter 5, "Using the Analyzer", for more information. Invalid question in ascii file;...
  • Page 557 Chapter 12: Emulator Error Messages Label not defined: <label> (Error 321) Label not defined: <label> (Error 321) Cause: You entered an analyzer expression in which the label was not present in the analyzer label list. For example, if the label list includes address, data, and status, you might have entered something such as lowerdata=24t.
  • Page 558 Chapter 12: Emulator Error Messages Master stack is located in guarded memory: <address> (Error 151) Master stack is located in guarded memory: <address> (Error 151) Cause: You issued a command to run the target program, but when the emulator attempted to write to one of your stacks, it detected that the stack address is in memory mapped as guarded.
  • Page 559 Chapter 12: Emulator Error Messages Master stack is not located in RAM: <address> (Error 151) Master stack is not located in RAM: <address> (Error 151) Cause: You issued a command to run the target program. When the emulator attempted to write to one of your stacks, it detected that the stack address is not located in memory which operates as RAM.
  • Page 560 Chapter 12: Emulator Error Messages Maximum argument buffer space exceeded (Error 826) Maximum argument buffer space exceeded (Error 826) Cause: You exceeded the space limits for argument lists. Action: Reenter the command with less arguments, or simplify the expressions in the arguments.
  • Page 561 Chapter 12: Emulator Error Messages MMU is not enabled via configuration (Error 160) MMU is not enabled via configuration (Error 160) Cause: You tried to display MMU translations or load the deMMUer but the MMU is disabled within the emulation configuration. Action: If you wish to use the MMU, enable it in the emulation configuration before attempting to display its translations or load the deMMUer.
  • Page 562 Cause: You tried to add more mapper terms than are available for this emulator. For example, with the MC68040 emulator, there are only eight terms. If you had already defined memory types for these terms, then tried to map another term, you would see the above error message.
  • Page 563 Chapter 12: Emulator Error Messages Number must be a multiple of 1000H Number must be a multiple of 1000H Cause: A number other than a multiple of 1000H was entered for the base address of the foreground monitor during configuration. Action: Use a number that is a multiple of 1000H for the base address of the foreground monitor.
  • Page 564 Chapter 12: Emulator Error Messages Program counter is odd or uninitialized (Error 150) Program counter is odd or uninitialized (Error 150) Cause: You tried to run the processor from the current PC, but the value of the current PC is odd. Action: Modify the PC to an even value.
  • Page 565 Records expected: <number>; records received: <number> (Error 401) 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 the data communications parameters are set correctly on the host and on the HP 64700.
  • Page 566 Chapter 12: Emulator Error Messages Request access to guarded memory: <address> (Error 707) Request access to guarded memory: <address> (Error 707) Cause: The address or address range specified in the command included addresses within a range mapped as guarded memory. When the emulator attempts to access these during command processing, the above message is printed, along with the specific address or addresses accessed.
  • Page 567 Chapter 12: Emulator Error Messages Request failed; bus grant (Error 171) Request failed; bus grant (Error 171) Cause: An attempt was made to execute a monitor command, but an external target system device has monopolized the bus and the monitor is no longer responding. Action: Wait until the processor has regained bus control, and then retry the operation or don’t let external devices monopolize the bus for extended periods of time.
  • Page 568 Action: Retry the transfer. Make sure you are using the correct command options for both the host and the HP 64700. The data communications parameters need to be set correctly for both devices. Also, if you are in a remote location from the host,...
  • Page 569 Action: Retry the transfer. If it fails again, make sure the data communications parameters are set correctly on the host and on the HP 64700. Also make sure you are using the correct command options, both on the HP 64700 and on the host.
  • Page 570 Chapter 12: Emulator Error Messages Software breakpoint: <breakpoint address> (Async_Stat 615) Software breakpoint: <breakpoint address> (Async_Stat 615) Cause: This status message indicates that the target program executed a software breakpoint instruction (an execution breakpoint, either in software or provided by one of the eight hardware breakpoint resources).
  • Page 571 Chapter 12: Emulator Error Messages Stepping aborted; number steps completed: <steps completed> (Error 686) Stepping aborted; number steps completed: <steps completed> (Error 686) Cause: This message is displayed if a break was received during a step command with a stepcount greater than zero. The break could have been due to any of the break conditions or a <CTRL>...
  • Page 572 Chapter 12: Emulator Error Messages Symbol not found: <symbol> (Error 877) Symbol not found: <symbol> (Error 877) Cause: This occurs when you try to enter a symbol name that doesn’t exist. Action: Enter a valid symbol name. Target bus error: <address> (Error 172) Cause: The monitor attempted to access target system memory or memory that you specified must be terminated by the target system, and the target system terminated the bus cycle with TEA.
  • Page 573 Chapter 12: Emulator Error Messages Target memory access failed (Error 700) Target memory access failed (Error 700) Cause: The emulator was unable to perform the requested operation on memory mapped to the target system. This message is displayed in conjunction with other error messages that further clarify the problem that occurred.
  • Page 574 Chapter 12: Emulator Error Messages Too many sequence terms (Error 1226) Too many sequence terms (Error 1226) Cause: This error occurs when you attempt to insert more than four sequence terms. Action: Do not attempt to insert more than four sequence terms. Trace error during CMB execute (Error 692) Cause: System failure.
  • Page 575 Chapter 12: Emulator Error Messages Trig1 signal cannot be driven and received (Error 1302) Trig1 signal cannot be driven and received (Error 1302) Cause: This error occurs when you attempt to specify the internal trig1 signal as the trace arm condition while the same analyzer’s trigger output is currently driving the trig1 signal.
  • Page 576 Chapter 12: Emulator Error Messages Unable to modify trace vector to <value> for single stepping (Error 156) Unable to modify trace vector to <value> for single stepping (Error 156) Cause: You tried to single step, and the emulator detected the trace vector was not set properly and the emulator was unable to modify the vector table because it was not located in emulation memory or target RAM.
  • Page 577 Chapter 12: Emulator Error Messages Unable to load new memory map; old map reloaded (Error 725) Unable to load new memory map; old map reloaded (Error 725) Cause: There is not enough emulation memory left for this request. Action: Reduce the amount of emulation memory requested. Unable to modify register: <register>=<value>...
  • Page 578 Make sure that the demo board is connected to the emulator probe, the power cable is connected between the HP 64700 card cage and the demo board, and the reset flying lead is connected between the emulation probe and the demo board.
  • Page 579 Chapter 12: Emulator Error Messages Unable to run HP64783 tests without target power (Error 178) Unable to run HP64783 tests without target power (Error 178) Cause: The demo board does not have proper power connected to it. Action: Check the connections of the external power cable and the reset flying lead to the demo board.
  • Page 580 Chapter 12: Emulator Error Messages Unmatched quote encountered (Error 820) Unmatched quote encountered (Error 820) Cause: In entering a string, such as with the echo command, you didn’t properly match the string delimiters (either ‘‘ or “”). For example, you might have entered echo “set S1 to off Action: Reenter the command and string, making sure to properly match opening and closing delimiters.
  • Page 581 Chapter 12: Emulator Error Messages Write to ROM break:<ROM address> (Async_Stat 628) Write to ROM break:<ROM address> (Async_Stat 628) Cause: This status message indicates the target program accessed memory mapped as either emulation ROM or target ROM; the emulator interrupted target execution and began running in the monitor.
  • Page 583 Setting X Resources...
  • Page 584 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 when the operating system is HP-UX or /usr/openwin/lib/X11/app-defaults/HP64_Softkey when the operating system is SunOS.
  • Page 585 Chapter 13: Setting X Resources The file named by the XENVIRONMENT environment variable. If the XENVIRONMENT variable is not set, the $HOME/.Xdefaults-host file is read (typically contains resource specifications for a specific remote host). Resource specifications included in the command line with the -xrm option. System scheme files in directory /usr/hp64000/lib/X11/HP64_schemes.
  • Page 586 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 from the platform where the application is running.
  • Page 587 Chapter 13: 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 588 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 589 !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 590 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 from 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 591 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 592 Chapter 13: 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 593 Chapter 13: 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 594 Chapter 13: 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 68040 emulators, modify the "*m68040*dirSelectSub.entries" resource: *m68040*dirSelectSub.entries: \ "$HOME" \ ".."...
  • Page 595 Chapter 13: 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 596 Chapter 13: 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 tutorial topic...
  • Page 597 Chapter 13: 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 599 The SPARCsystem Graphical User Interface and Softkey Interface Using the emulator/analyzer interface on the SPARCsystem...
  • Page 600 This chapter contains the following important information about use of the emulator on the SPARCsystem: • Cross referencing HP product numbers used on HP-UX and SunOS versions of the 68040 emulator. • A description of how the emulator/analyzer uses the keys on your...
  • Page 601 HP B1487A Software Performance Analyzer HP B1418A HP Branch Validator Support for HP 9000 and SunOS can be obtained by ordering the following options to the above product numbers: Option AAV SunOS™ version, media and documentation Option AAX HP 9000, 300/400 versions, media and documentation...
  • Page 602 Chapter 14: The SPARCsystem Graphical User Interface and Softkey Interface Using your SPARCsystem keyboard Using your SPARCsystem keyboard The following table describes the use of the keys on your SPARCstation keyboard. The “roll” functions are for an hp64term window in OpenWindows only. To get function Press this key delete char...
  • Page 603 Chapter 14: The SPARCsystem Graphical User Interface and Softkey Interface Using your SPARCsystem keyboard To get function Press this key Undo backtab Control cleartoeol Control roll left Control roll right Control clearline Control FW_recall Control BK_recall Control Control refresh Control other Control sigint...
  • Page 604 Chapter 14: The SPARCsystem Graphical User Interface and Softkey Interface Using your SPARCsystem keyboard To get function Press this key softkey 3 softkey 4 softkey 5 softkey 6 softkey 7 softkey 8...
  • Page 605 Chapter 14: The SPARCsystem Graphical User Interface and Softkey Interface Keyboard template Keyboard template Cut out the template on this page and place it on your keyboard for quick reference. Place the Sk1 label over the F1 key. If you exported KEYMAP=sun.2-9 or KEYMAP=xterm.2-9, then place the Sk1 label over the F2 key.
  • Page 607 Microtec Language Tools Used With MC68040 Emulators Using the emulator/analyzer with Microtec language tools...
  • Page 608 Chapter 15: Microtec Language Tools Used With MC68040 Emulators Microtec Language Tools used with the Emulator/Analyzer This chapter contains the following important information about use of Microtec language tools with the 68040 emulator/analyzer: • A comparison of the names of Microtec and HP executables.
  • Page 609 B3640 The emulator and Softkey Interface are designed to work with the HP Advanced Cross Language System. Microtec’s language tools are quite similar to the HP language tools. The input syntax and code generated by the HP and Microtec assemblers, linkers, and librarians are identical with few exceptions.
  • Page 610 Chapter 15: Microtec Language Tools Used With MC68040 Emulators Using Microtec Language Tools To use the Microtec commands • To assemble a file to generate an HP-OMF (.X) absolute file, use the following commands: asm68k -h -o filename.o -f d,case filename.s lnk68k -H filename.L...
  • Page 611 Use the command line flag “-fd’ with asm68k to generate local symbols. The HP assembler places global symbols put in the debug part by default. There is no way to do this with Microtec’s asm68k. This information is needed by emul700/SRU to correctly scope symbols.
  • Page 612 Chapter 15: Microtec Language Tools Used With MC68040 Emulators Using Microtec Language Tools Local symbols ld68k provides local symbols in absolute file by default, but lnk68k does not. The command line flag -fi and option -H also set the d flag, which will cause lnk68k to generate local symbols.
  • Page 613 Specifications and Characteristics...
  • Page 614 The maximum external clock speed of the HP 64783A is 33 MHz, and of the HP 64783B is 40 MHz. The emulator runs without wait states at clock speeds up to 25 MHz. Above 25 MHz, one wait state is required in all bus cycles and between burst transfers.
  • Page 615 Chapter 16: Specifications and Characteristics HP 64783A/B Maximum Ratings HP 64783A/B Maximum Ratings Characteristic Symbol Value Unit Supply Voltage –0.3 to +5.5 Input Voltage –0.5 to +5.5 Maximum Operating Ambient Temperature Minimum Operating Ambient Temperature Storage Temperature Range –40 to +70...
  • Page 616 Chapter 16: Specifications and Characteristics HP 64783A/B Electrical Specifications HP 64783A/B Electrical Specifications HP 64783A/B — DC ELECTRICAL SPECIFICATIONS =5.0 Vdc ±5%) V CC Characteristic Symbol Min Max Unit Input High Voltage Input Low Voltage Undershoot — Input Leakage Current @ 0.5/2.4 V µA...
  • Page 617 Notes for HP 64783A/B Electrical Specifications: BCLK and PCLK have additional input current and capacitance loading because of RC terminations. Refer to their equivalent circuit diagrams for details. The numbers given in the HP 64783A/B Electrical Specifications table do not include the RC terminations.
  • Page 618 Chapter 16: Specifications and Characteristics HP 64783A/B Clock AC Timing Specifications HP 64783A/B Clock AC Timing Specifications 25 MHz 33 MHz 40 MHz Characteristic Unit Frequency of Operation 16.67 16.67 PCLK Cycle Time 12.5 PCLK Rise Time — PCLK Fall Time —...
  • Page 619 Chapter 16: Specifications and Characteristics HP 64783A/B Output AC Timing Specifications HP 64783A/B Output AC Timing Specifications 25 MHz 33 MHz 40 MHz Characteristic Unit BCLK to Address CIOUT, LOCK, LOCKE, 22.5 5.25 R/W, SIZx, TLNx, TMx, TTx, UPAx Valid BCLK to Output Invalid (Output Hold) —...
  • Page 620 BCLK to IPEND, PSTx, RSTO Valid 22.5 5.25 Notes: Output timing is given for output drivers specified in the DC specs (Refer to the table of HP 64783A/B Electrical Specifications). Large/small buffer mode select has no effect. Address multiplex mode is not supported.
  • Page 621 Chapter 16: Specifications and Characteristics HP 64783A/B Input AC Timing Specifications HP 64783A/B Input AC Timing Specifications 25 MHz 33 MHz 40 MHz Characteristic Unit Data-In Valid to BCLK (Setup) — — — BCLK to Data-In Invalid (Hold) — —...
  • Page 622 Chapter 16: Specifications and Characteristics HP 64783A/B Input AC Timing Specifications 25 MHz 33 MHz 40 MHz Characteristic Unit Data-In Valid to BCLK — — — (DLE Mode Setup) BCLK to Data-In Invalid — — — (DLE Mode Hold) BB Valid to BCLK (Setup) —...
  • Page 623 Chapter 16: Specifications and Characteristics HP 64783A/B Input AC Timing Specifications 25 MHz 33 MHz 40 MHz Characteristic Unit RSTI Valid to BCLK — — — BCLK to RSTI Invalid — — — Mode Select Setup to RSTI Negated —...
  • Page 624 173 mm height x 325 mm width x 389 mm depth (6.8 in. x 12.8 in. x 15.3 in.) Emulator Weight HP 64783A/B, 8.2 kg (18 lb). Any component used in suspending the emulator must be rated for 30 kg (65 lb) capacity.
  • Page 625 Chapter 16: Specifications and Characteristics Environmental Environmental Temperature Operating, 0° to +40° C (+32° to +104° F); nonoperating, -40° C to +60° C (-40° F to +140° F). Altitude Operating/nonoperating 4600 m (15 000 ft). Relative Humidity 15% to 95%. BNC, labeled TRIGGER IN/OUT Output Drive Logic high level with 50-ohm load >= 2.0 V.
  • Page 626 Chapter 16: Specifications and Characteristics Communications Communications Host Port 25-pin female type “D” subminiature connector. RS-232-C DCE or DTE to 38.4 kbaud. RS-422 DCE only to 460.8 kbaud. CMB Port 9-pin female type “D” subminiature connector.
  • Page 627 Part 4 Concept Guide...
  • Page 628 Part 4 Concepts Guide In This Part Part 4 of this book provides conceptual information on the X resources and the Graphical User Interface.
  • Page 629 X Resources and the Graphical User Interface...
  • Page 630 Chapter 17: X Resources and the Graphical User Interface X Resources and the Graphical User Interface X Resources and the Graphical User Interface This chapter contains more detailed information about X resources and scheme files that control the appearance and operation of the Graphical User Interface. This chapter: •...
  • Page 631 Chapter 17: X Resources and the Graphical User Interface X Resource Specifications X Resource Specifications An X resource specification is a resource name and a value. The resource name identifies the element whose appearance or behavior is to be defined, and the value specifies how the element should look or behave.
  • Page 632 Chapter 17: X Resources and the Graphical User Interface X Resource Specifications 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 633 Chapter 17: X Resources and the Graphical User Interface X Resource Specifications 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 634 When the Graphical User Interface starts up, it loads resource specifications from a set of configuration files located in system directories and user-specific locations. Application Default Resource Specifications Default resource specifications for an application are placed in a system directory: HP-UX /usr/lib/X11/app-defaults SunOS /usr/openwin/lib/X11/app-defaults The name of the Graphical User Interface application defaults file is HP64_Softkey (same as the application class name).
  • Page 635 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 636 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 from the platform where the application is running. Values can be: HP-UX, SunOS, pc-xview, or a custom platform scheme directory name.
  • Page 637 Chapter 17: X Resources and the Graphical User Interface Scheme Files Scheme File Names There are six scheme files provided with the Graphical User Interface. Their names and brief descriptions of the resources they contain follow. Softkey.Label Defines the labels for the fixed text in the interface. Such things as menu item labels and similar text are in this file.
  • Page 638 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 639 Part 5 Installation and Service Guide...
  • Page 640 In This Part Part 5 of this book shows you how to: • Connect the emulator into an MC68040 target system and overcome the differences between the specifications and characteristics of the target microprocessor and those of the emulator. •...
  • Page 641 Connecting the Emulator to a Target System Things you need to know to successfully connect the emulator to a target system and overcome problems you may encounter.
  • Page 642 The MC68040 emulator does not switch between large and small buffer modes like the MC68040 processor does. The emulator internally uses the large buffer mode...
  • Page 643 Chapter 18: Connecting the Emulator to a Target System Plugging The Emulator Into A Target System for systems designed to work with small buffer mode, the emulator buffers all signals from the processor to the target connector. Most of the signals are buffered in ABT logic family parts.
  • Page 644 Chapter 18: Connecting the Emulator to a Target System Plugging The Emulator Into A Target System Equivalent circuits The equivalent circuits shown on this page and the next help you understand connection requirements between the emulator probe and your target system.
  • Page 645 Chapter 18: Connecting the Emulator to a Target System Plugging The Emulator Into A Target System...
  • Page 646 Chapter 18: Connecting the Emulator to a Target System Plugging The Emulator Into A Target System Obtaining the terminal interface The troubleshooting procedures in this chapter depend heavily on interpretation of command-line prompts that are only seen at the low level terminal interface of this emulator.
  • Page 647 These accessories are: • Stacking pin protectors. • PGA rotators, available from Emulation Technology. • PGA to PGA Flexible Adapter (see below), HP Part Number E3429A.
  • Page 648 Chapter 18: Connecting the Emulator to a Target System Plugging The Emulator Into A Target System Unfortunately, these accessories have an electrical impact on your target system. The specifications given for the emulator do not include the impact of these accessories.
  • Page 649 To begin, run the performance verification procedure described in Chapter 19, "Installation and Service". Some additional equipment may be required to make measurements of MC68040 signals. It will help to have an oscilloscope and high speed timing analyzer to use during these procedures.
  • Page 650 Configure the emulator by entering the following commands: cf mon=none cf cache=en cf mmu=en cf ti=en cf wait=<en,dis>, as appropriate for your target system Set up the emulation-bus analyzer to capture all MC68040 system cycles. tck -u tg any tsto any tp c...
  • Page 651 If the bus is taken away from the MC68040 often or for long periods of time, the emulator can display the "g>" prompt or alternate between "g>" and "U>". If the MC68040 is running code in its internal cache for long periods of time, the emulator may display the "b>"...
  • Page 652 Chapter 18: Connecting the Emulator to a Target System Verifying Operation Of The Emulator In Your Target System b>th;ts Emulation trace halted --- Emulation Trace Status --- User trace halted <- trace status Arm ignored Trigger not in memory Arm to trigger ? States 0 (0) ?..? <- number of states captured Sequence term 2...
  • Page 653 If some cycles were captured in the trace list, but no cycles are occuring now, check for setup and hold violations on the processor strobes. All MC68040 signals, except the interrupt lines and reset signal, are synchronous to the clock and have to be valid for all rising edges of BCLK.
  • Page 654 Usually the cause is that the target system missed the start-of-cycle indication from the emulator, or that the emulator missed the cycle-termination indication from the target system. For a better idea of what is going on, refer to the MC68040 bus cycle diagram, below:...
  • Page 655 Chapter 18: Connecting the Emulator to a Target System Verifying Operation Of The Emulator In Your Target System A basic MC68040 bus cycle starts with the transfer start signal, TS. The TS signal pulses low for about one clock cycle. Another signal, transfer in progress TIP stays low throughout the cycle, but is not necessarily deasserted between cycles.
  • Page 656 Chapter 18: Connecting the Emulator to a Target System Verifying Operation Of The Emulator In Your Target System If there are many cycles in the trace list before the processor stalled, use a different method of triggering. There are a number of different approaches that can be used. The most direct method is to trigger on a condition of TIP low and TA high for a period of time greater than the length of a memory cycle.
  • Page 657 Chapter 18: Connecting the Emulator to a Target System Verifying Operation Of The Emulator In Your Target System each data transfer. The cycle is not over until the fourth TA is received. When the emulator has wait states enabled, a wait state is required between each of the data transfers in the burst cycle.
  • Page 658 Chapter 18: Connecting the Emulator to a Target System Verifying Operation Of The Emulator In Your Target System If the prompt is "g>" and there are no cycles in the trace list, the target system never gave the bus to the processor. Check the bus arbitration signals for proper functionality and timing.
  • Page 659 Chapter 18: Connecting the Emulator to a Target System Verifying Operation Of The Emulator In Your Target System When trying to determine why the bus is not being granted to the processor, you will need to determine why either the bus arbitration circuitry or an alternate bus master is not behaving correctly.
  • Page 660 Chapter 18: Connecting the Emulator to a Target System Verifying Operation Of The Emulator In Your Target System Interpreting the trace list There are some cases where a problem caused by an errant bus cycle does not show up until many cycles later. The emulation-bus analyzer must be used to track back through the sequence of events to the faulty bus cycle.
  • Page 661 Chapter 18: Connecting the Emulator to a Target System Verifying Operation Of The Emulator In Your Target System h>tl Line addr,H 68040 Mnemonic ----- -------- ------------------------------------------ 00000008 $4AFC0000 sprog long read <- illegal inst 0000000c $000BADAD sprog long read 00000010 $000BADAD sprog long read 00000014...
  • Page 662 Chapter 18: Connecting the Emulator to a Target System Verifying Operation Of The Emulator In Your Target System There are really only two ways to go about determining what is wrong. One is to try to trace back the terminal error condition to a faulty bus cycle. The other is to start at the beginning of the trace, or at some other known point, and work forward, comparing the trace to the execution that was expected while looking for the point where execution first becomes unexpected.
  • Page 663 Load a program with the following commands: mo -ax -dl m 0=0f00,100 mo -dw m 100=60fe This sets up the reset vectors ISP=0f00 and IPC=100. It then loads the most simple program imaginable: jump to self. Setup a trace to capture all MC68040 cycles, as follows:...
  • Page 664 Chapter 18: Connecting the Emulator to a Target System Verifying Operation Of The Emulator In Your Target System tck -u tg any tsto any tp c Execute r rst. This tells the emulator to deassert reset so that the emulator does not interfere with the target system powerup reset.
  • Page 665 Chapter 18: Connecting the Emulator to a Target System Installing Emulator Features Installing Emulator Features Once the emulator is transparently running in the target system, it is time to start adding other emulator features. Dividing the installation of features into two tasks is the easiest way to debug problems.
  • Page 666 Chapter 18: Connecting the Emulator to a Target System Installing Emulator Features r rst Verify correct operation of the target system. An example of a target system that requires an additional reset circuit is one that normally has RAM starting at address 0, but for the first two bus cycles after reset, maps ROM to this area instead to provide the inital vectors.
  • Page 667 Installing the background monitor The emulator allows you to choose between use of a background and foreground monitor, but the choice is really predetermined by which of the MC68040 features you will be using. The background monitor does not support use of the MMU, the caches, or DMA.
  • Page 668 Chapter 18: Connecting the Emulator to a Target System Installing Emulator Features Set up a trace to capture all MC68040 cycles, including background monitor cycles, by entering the following commands: tck -ub tsto any tg any Execute the command: rst -m. This tells the emulator to release reset, but enter the monitor.
  • Page 669 Chapter 18: Connecting the Emulator to a Target System Installing Emulator Features Dealing with keep-alive circuitry while using the background monitor Another thing to watch for when using the background monitor is the triggering of a target system keep-alive circuit because monitor bus cycles are hidden. Depending on how a keep-alive circuit operates, the monitor may cause a problem.
  • Page 670 Chapter 18: Connecting the Emulator to a Target System Installing Emulator Features Testing memory accesses with the background monitor Once the background monitor looks like it is running properly, you can use it to test accesses to different ranges of memory in your target system. This may be an easier way to diagnose problems than by running a program that accesses each memory range.
  • Page 671 Take a trace of the program running, using the following commands: tg addr=<long aligned target program starting address> The trigger address must be long aligned because the MC68040 always fetches instructions as long words from long-word boundaries. Run the program with the command: Verify correct operation of the program.
  • Page 672 Chapter 18: Connecting the Emulator to a Target System Installing Emulator Features Line addr,H 68040 Mnemonic ----- -------- ------------------------------------------ 000000f0 $00------ mon sdata byte read 000009b4 $4E714E71 mon sprog long read 000000ec $000a007C sdata long read <-unstack 000000e8 $27000000 sdata long read <-unstack 00000008 $000060FE...
  • Page 673 Chapter 18: Connecting the Emulator to a Target System Installing Emulator Features This message indicates that the stack memory was not writeable. Check to make sure that the stack is placed in RAM. If the target program appears to start at the wrong address, or if there is some other problem, the stack can be decoded to see if the correct information is present there.
  • Page 674 Chapter 18: Connecting the Emulator to a Target System Installing Emulator Features Breaking into the background monitor The next thing to try with the background monitor is to see if you can break into it from your target program. The emulator uses a nonmaskable interrupt (interrupt 7) to break into the monitor.
  • Page 675 Chapter 18: Connecting the Emulator to a Target System Installing Emulator Features If you have problems trying to break into the monitor, the most likely causes are the values of the stack pointers, or the vector base register does not point to valid memory.
  • Page 676 Chapter 18: Connecting the Emulator to a Target System Installing Emulator Features Software breakpoint entry into the background monitor The background monitor can also be entered via a software breakpoint. The emulator will respond to any software breakpoint instruction in the code if breakpoints are enabled, regardless of whether the breakpoint was inserted by the emulator or not.
  • Page 677 Chapter 18: Connecting the Emulator to a Target System Installing Emulator Features When a software breakpoint instruction is executed, the processor initiates a breakpoint-acknowledge cycle. This cycle signals the start of an entry into the monitor. From this point on, stacking and the vector fetch procede the same as for a break entry.
  • Page 678 Chapter 18: Connecting the Emulator to a Target System Installing Emulator Features Stepping with the background monitor The last feature of the background monitor which needs to be evaluated is the single-stepping facility. The emulator uses a combination of the processor trace facility and a nonmaskable interrupt to reenter the monitor after executing exactly one instruction.
  • Page 679 Chapter 18: Connecting the Emulator to a Target System Installing Emulator Features never executed because the processor immediately starts interrupt processing. The interrupt processing proceeds the same as in a normal break. Before exiting for a step, the monitor checks to make sure that the trace vector is valid and that it points to accessable memory.
  • Page 680 Chapter 18: Connecting the Emulator to a Target System Installing Emulator Features When stepping over instructions that cause the processor to take exceptions, the trace list can look very different. Most exceptions preempt the trace exception until after their exception handler runs. Other exceptions (like TRAP, CHK and CHK2) create their stack frame and then take the trace exception.
  • Page 681 Chapter 18: Connecting the Emulator to a Target System Installing Emulator Features Installing the foreground monitor The foreground monitor supports all features of the emulator, but imposes on your target system more than the background monitor. The foreground monitor occupies a 4-Kbyte block in your target memory space.
  • Page 682 Set up a trace to capture all MC68040 cycles. Background cycles do not need to be traced to see foreground monitor operation. tg any tsto any...
  • Page 683 Chapter 18: Connecting the Emulator to a Target System Installing Emulator Features This tells the emulator to release reset, but enter the monitor. Verify that the emulator is in the monitor. The prompt should be "M>", indicating correct operation in the monitor. There is not much that can go wrong up to this point since everything required has been previously verified.
  • Page 684 Chapter 18: Connecting the Emulator to a Target System Installing Emulator Features Dealing with keep-alive circuitry by using the custom foreground monitor As with the background monitor, you may have problems with keep-alive circuitry located in the target system. Because the foreground monitor cycles are shown to the target system, bus cycle activity monitors should not be a problem.
  • Page 685 Chapter 18: Connecting the Emulator to a Target System Installing Emulator Features Testing memory access with the foreground monitor Once the foreground monitor looks like it is running properly, you can use it to test accesses to different ranges of memory in your target system. This may be an easier way to diagnose problems than by running a program that accesses each memory range.
  • Page 686 Take a trace of the program as it is running, using the following commands: tg addr=<long aligned starting address of target program> The trigger address must be long aligned because the MC68040 always fetches instructions as long words from long-word boundaries.
  • Page 687 Chapter 18: Connecting the Emulator to a Target System Installing Emulator Features Line addr,H 68040 Mnemonic ----- -------- ------------------------------------------ 000010f0 $00------ log sdata byte read 00001e74 $4E714E71 log sprog long read 0000f0ec $000a007C log sdata long read <-unstack 0000f0e8 $27000000 log sdata long read <-unstack 00000008 $000060FE log sprog long read...
  • Page 688 Chapter 18: Connecting the Emulator to a Target System Installing Emulator Features the next available stack location. Therefore, the exit stack starts four words below the initial stack pointer. ISP-8 - Status register = 2700 ISP-6 - Program Counter = 0000000a ISP-2 - Vector Offset 007C The monitor is always exited using the FOUR WORD STACK frame, and the...
  • Page 689 Chapter 18: Connecting the Emulator to a Target System Installing Emulator Features Entry into the foreground monitor can be traced by using the following trigger specification. The interrupt acknowledge signal is not shown to the target system and is also not shown to the analyzer unless background cycles are being traced. tck -ub tp c tg stat=11xxxxxxxx1x111xy...
  • Page 690 Chapter 18: Connecting the Emulator to a Target System Installing Emulator Features If any stacking or vector-fetch cycles are not terminated, the monitor will terminate them by force. If this happens, the PC and SR may be displayed incorrectly by the monitor.
  • Page 691 Chapter 18: Connecting the Emulator to a Target System Installing Emulator Features breakpoint address, the emulator is using one of its eight hardware resources to implement the breakpoint. bp <program instruction> If you suspect some kind of problem with the setting of the breakpoint, use the analyzer to watch the setting of the breakpoint.
  • Page 692 Chapter 18: Connecting the Emulator to a Target System Installing Emulator Features When a software breakpoint instruction is executed, the processor initiates a breakpoint-acknowledge cycle. This cycle signals the start of an entry into the monitor. From this point on, stacking and the vector fetch proceed the same as for a break entry.
  • Page 693 Chapter 18: Connecting the Emulator to a Target System Installing Emulator Features Stepping with the foreground monitor The last feature of the foreground monitor that needs to be evaluated is the single-stepping facility. The emulator uses the processor trace facility to reenter the monitor after executing exactly one instruction, unless an exception occurs.
  • Page 694 Chapter 18: Connecting the Emulator to a Target System Installing Emulator Features 00001718 $2F256000 log sprog long read 000011d6 $----2024 log sdata word write 0000171c $0022083A log sprog long read 00001720 $0002F9D6 log sprog long read 00001724 $67184BFA log sprog long read 00001728 $F9F108D5 log sprog long read 000010f8...
  • Page 695 Chapter 18: Connecting the Emulator to a Target System Installing Emulator Features If the emulator does not reenter the monitor after stepping, as indicated by the following error message, there can be a number of explanations. If the emulator steps an instuction that modifies the VBR, the step will fail because the modified trace vector will not be used to reenter the monitor.
  • Page 696 Chapter 18: Connecting the Emulator to a Target System Installing Emulator Features !ERROR 170! Target failed to terminate bus cycle: 000000000@sd word read !STATUS 170! Emulator terminated hung bus cycle: 000000000@sd word read !ERROR 702! Emulation memory access failed To effectively use emulation memory, the monitor must be able to read and write to it.
  • Page 697 Installation and Service...
  • Page 698 Hardware and Memory Any workstation used with the Graphical User Interface should have a minimum of 16 megabytes of memory (32 megabytes or more is recommended). Series 300 workstations should have a minimum performance equivalent to that of a HP 9000/350. A color display is also highly recommended.
  • Page 699 Chapter 19: Installation and Service 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 700 HP 64173A 4-Mbyte Memory Modules for additional memory depth. • HP 64708A Software Performance Analyzer. Equipment and tools needed In order to install and use the MC68040 emulation system, you need: • Flat-blade screwdriver with shaft at least 5 inches long (13 mm approx). Installation overview The steps in the installation process are: Install optional memory modules on the deep analyzer card, if desired.
  • Page 701 Use a grounding wrist strap that is connected to the HP 64700’s chassis. Caution If you already have a modular HP 64700 Series Card Cage and want to remove the existing emulator and insert an HP 64783A/B emulator in its place, the HP 64700 Series generic firmware and analyzer firmware may NOT be compatible, and the software will indicate incompatibility.
  • Page 702 256-Kbyte (HP 64172A), and 1-Mbyte (HP 64172B). Either module type may be installed in the banks on the analyzer card. Do not use HP 64171A/B or HP 64173A memory modules; they are too slow. If you install no memory modules, the deep analyzer will have 8K maximum memory depth.
  • Page 703 Chapter 19: Installation and Service Installing Hardware 2 To ensure correct installation of optional memory modules on the deep analyzer card, there is a cutout at one end of the memory modules so they can only be installed the correct way. To install a memory module: Align the groove in the memory module with the alignment rib in the connector.
  • Page 704 Step 2. Connect the Emulator Probe Cables Three ribbon cables connect the HP 64748C emulation control card to the HP 64783A/B 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 705 Chapter 19: Installation and Service 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. The order of connecting cables was given in step 1.
  • Page 706 Chapter 19: Installation and Service Installing Hardware 3 Connect the other ends of the cables to the emulator probe. Again, make sure the stainless steel clips on the cable connectors are properly latched within the sockets, as shown in step 2.
  • Page 707 1 Use a ground strap when removing or installing boards into the HP 64700 Card Cage to reduce the risk of damage to the circuit cards from static discharge. A jack on the rear panel of the HP 64700 Card Cage...
  • Page 708 Chapter 19: Installation and Service Installing Hardware 2 Turn the thumb screw and remove the top cover by sliding the cover toward the rear and up.
  • Page 709 Chapter 19: Installation and Service Installing Hardware 3 Remove the side cover by unsnapping the two latches and lifting off. 4 Remove the card supports.
  • Page 710 Chapter 19: Installation and Service 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 711 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 712 Chapter 19: Installation and Service 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 counterclockwise.
  • Page 713 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 714 Chapter 19: Installation and Service Installing Hardware 10 Install the analyzer and emulation control cards. The analyzer is installed in the slot next to the system control card. The emulation control card is installed in the second slot from the bottom of the card cage.
  • Page 715 Chapter 19: Installation and Service Installing Hardware 11 Connect the +5 V power cable to the connector in the HP 64700 front panel.
  • Page 716 Chapter 19: Installation and Service 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. 13 If you wish to install the Flash card (used for updating firmware, see Chapter 20...
  • Page 717 Chapter 19: Installation and Service Installing Hardware 14 Install the card supports. 15 To install the side cover, insert the side cover into the tab slots and fasten the two latches.
  • Page 718 Chapter 19: Installation and Service Installing Hardware 16 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 719 Chapter 19: Installation and Service Installing Hardware Step 4. Install emulation memory modules on emulator probe (Observe antistatic precautions) 1 Remove plastic rivets that secure the plastic cover on the top of the emulator probe, and remove the cover. The bottom cover is only removed when you need to replace a defective active probe on the exchange program.
  • Page 720 2 Determine the placement of the emulation memory modules. Three types of modules may be installed: 256 Kbyte (HP 64172A), 1 Mbyte (HP 64172B), and 4 Mbyte (HP 64173A). Any of the emulation memory modules can be installed in either memory slot on the probe. Do not use HP 64171A/B modules;...
  • Page 721 Chapter 19: Installation and Service Installing Hardware 3 Install emulation memory modules on the emulator probe. There is a cutout at one end of the memory modules so they can only be installed the correct way. To install a memory module: 1 Align the groove in the memory module with the alignment rib in the connector.
  • Page 722 Chapter 19: Installation and Service Installing Hardware 4 Replace the plastic cover, and insert new plastic rivets (supplied with the emulator) to secure the cover.
  • Page 723 1 With HP 64700 power OFF, connect the emulator probe to the demo target system. When you install the probe into the demo board, be careful not to bend any of the pins. Do not insert the probe of the...
  • Page 724 Chapter 19: Installation and Service Installing Hardware 2 Connect the power supply wires from the emulator to the demo target system. The 3-wire cable has one power wire and two 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 725 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 726 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 727 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 728 The line switch is a pushbutton located at the lower, left-hand corner of the front panel. To turn ON power to the HP 64700, push the line switch pushbutton in to the ON (1) position. The power light at the...
  • Page 729 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 730 Installing HP 9000 Software Installing HP 9000 Software This section shows you how to install the Graphical User Interface on HP 9000 workstations. Installation involves installing the interface and the 64700 Operating Environment. These instructions also tell you how to prevent installation of the Graphical User Interface if you want to use only the Softkey Interface.
  • Page 731 /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 your HP-UX System Administrator documentation if you need to modify these values.
  • Page 732 Chapter 19: Installation and Service Installing HP 9000 Software 9 Except for the emulator-specific partition and the 64700 Operating Environment partition, mark all other partitions with "y" to confirm that you want these partitions loaded. (Do not mark 64801 with "y" if you marked it with "n" in the last step.) The emulator-specific partition will be named something like "<processor>...
  • Page 733 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 734 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 735 Chapter 19: Installation and Service Installing HP 9000 Software xrdb -merge .Xdefaults at the HP-UX prompt. Customized resources will be merged with the X resource database and will be available for retrieval by the Graphical User Interface. • To enable the Graphical User Interface to find the .Xdefaults file directly, enter the following commands: XENVIRONMENT=$HOME/.Xdefaults...
  • Page 736 -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 HP64000=/users/team/usr/hp64000;...
  • Page 737 Chapter 19: Installation and Service Installing Sun SPARCsystem Software Installing Sun SPARCsystem Software This section shows you how to install the Graphical User Interface on Sun SPARCsystem workstations. Installation involves installing the interface and the 64700 Operating Environment. These instructions also tell you how to prevent installation of the Graphical User Interface if you want to use only the Softkey Interface.
  • Page 738 Chapter 19: Installation and Service 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 739 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 740 Chapter 19: Installation and Service 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 741 Chapter 19: Installation and Service Installing Sun SPARCsystem Software Step 5. Map your function keys If you are using the 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 742 Chapter 19: Installation and Service Installing Sun SPARCsystem Software After you have mapped your function keys, you must start the X server and an X window manager (if you are not currently running an X server). Step 6. Restart the window system 1 Exit the window system you are using.
  • Page 743 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 744 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 745 Chapter 19: Installation and Service Verifying the Installation 4 Start the Graphical User Interface by entering the emul700 command and giving the logical name of the emulator as an argument to the command, as in $HP64000/bin/emul700 <logical_name> & emul700 <logical name> & if $HP64000/bin is in your path.
  • Page 746 Chapter 19: Installation and Service Verifying the Installation...
  • Page 747 Chapter 19: Installation and Service Verifying the Installation Step 3. Step through the demo with the Action Keys Action keys are unique to the Graphical User Interface. When you first install and start the interface, a set of default Action Keys will be present. These Action Keys will let you load and start the emulator and run the demo program supplied with the interface.
  • Page 748 3 Plug the emulator probe into the Demo Board if it is not already there. 4 Connect Demo Board power cable from the Demo Board to the HP 64700 Card Cage front panel. (See the diagrams under "Installing Hardware" in this chapter.)
  • Page 749 Chapter 19: Installation and Service Verifying the Installation performance verification tests will be complete, and you can read the results of the tests on screen. Here’s what caused the fatal error. To check the emulator status, your interface constantly polls the emulator in the card cage. The last step in the performance verification procedure reinitializes the card cage with the power down option.
  • Page 750 What is pv doing to the Emulator? The performance verification procedures provide a thorough check of the functionality of all of the products installed in the HP 64700 Card Cage. The Test Suite for the HP 64783A/B Emulator consists of the following modules.
  • Page 751 A FAIL message on the other hand indicates that one or more of the tested functions is NOT working. In this event, an HP field representative can either swap assemblies to isolate the failure to an individual board, or replace all the major assemblies shown in the replaceable parts list.
  • Page 752 Parts List Parts List What is an Exchange Part? Exchange parts are shown on the parts list. A defective part can be returned to HP for repair in exchange for a rebuilt part. Probe (exchange) The Probe for the HP 64783A is not interchangable with the Probe for the HP 64783B.
  • Page 753 Component Part Exchange HP 64783A/B Probe and Demo Board 68040 Emulator Firmware Floppy 64783-18000 64700 SW UTIL 64700-18006 MC68040 Probe Board for HP 64783A 64783-66504 64783-69504 MC68040 Probe Board for HP 64783B 64783-66505 64783-69505 (Order the following parts separately:) Top Plastic Cover...
  • Page 754 Chapter 19: Installation and Service Parts List Main Assembly Component Part Exchange HP 64794A Emulation-Bus Analyzer (deep) card 64794-66502 64794-69502 34-pin ribbon cable 64708-61601 Analyzer Card HP 64740 with 1K memory depth 64740-66526 64740-69526 34-pin ribbon cable 64772-61602...
  • Page 755 Installing/Updating Emulator Firmware...
  • Page 756 Before you can update emulator firmware, you must have already installed the emulator into the HP 64700, connected the HP 64700 to a host computer or LAN, and installed the emulator/analyzer interface and HP B1471 software as described in Chapter 19, "Installation and Service".
  • Page 757 • 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 (verbose) causes progress status messages to be displayed during operation.
  • Page 758 Chapter 20: Installing/Updating Emulator Firmware To update emulator firmware with "progflash" Examples To update the HP 64783 firmware in the HP 64700 that contains the "em68040" emulator: $ progflash HPB1471-19309 A.05.00 03Jan94 64700 SERIES EMULATION COMMON FILES A Hewlett-Packard Software Product Copyright Hewlett-Packard Co.
  • Page 759 Chapter 20: Installing/Updating Emulator Firmware To update emulator firmware with "progflash" Checking System firmware revision... Mainframe is a 64700B Reading configuration from ’/usr/hp64000/inst/update/64783.cfg’ ROM identifier address = 2FFFF0H Required hardware identifier = 1FFFH,1FFCH Control ROM start address = 280000H Control ROM size = 40000H Control ROM width = 16 Programming voltage control address = 2FFFFEH Programming voltage control value = FFFFH...
  • Page 760 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 pod_command "ver"...
  • Page 761 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 763 These are the files that are generated by the compiler/assembler/linker and are loaded into HP 64700 Series emulators. Access Breakpoint a break from execution of your target program to execution of the emulation monitor when the emulator detects an access violation, such as an attempt to write to ROM or guarded memory space.
  • Page 764 An emulation-bus analyzer captures emulator bus cycle information. An external analyzer captures activity on signals external to the emulator. No external analyzer is supported by the MC68040 emulators because all analysis bits are used by the emulation-bus analyzer.
  • Page 765 (such as a logic analyzer, oscilloscope, or HP 64000-UX system). Breakpoint a point at which emulator execution breaks from the target program and begins executing in the monitor.
  • Page 766 Coordinated Measurement Bus (CMB) the bus that is used for communication between multiple HP 64700 Series emulators/analyzers or between HP 64700 emulators/analyzers and an HP 64306 IMB/CMB Interface to allow coordinated measurements.
  • Page 767 Cross-Trigger the situation in which the trigger condition of one analyzer is used to trigger another analyzer. Two signals internal to the HP 64700 can be connected through the BNC on the instrumentation card cage to allow cross-triggering between the emulation-bus analyzer and other analyzers.
  • Page 768 Glossary Emulator Emulator a tool that replaces the processor in your target system. The goal of the emulator is to operate just like the processor it replaces. The emulator gives information about the bus cycle operation of the processor and control over target system execution.
  • Page 769 Host Computer a computer to which an HP 64700 Series emulator can be connected. A host computer may run interface programs which control the emulator. Host computers may also be used to develop programs to be downloaded into the emulator.
  • Page 770 Glossary Logical Address Space Logical Address Space the addresses assigned to code during the process of compiling, assembling and linking to generate absolute files. Refer to Chapter 10, "Using MC68030 Memory Management", for a detailed explanation. Macros custom made commands that represent a sequence of other commands. Entire sequences of commands defined in macros will be automatically executed when you enter the macro name.
  • Page 771 Path also referred to as a directory (for example \users\projects). PC Interface a program that runs on the HP Vectra and IMB PC/AT compatible computers. This is a friendly interface used to operate an HP 64700 Series emulator. Performance Verification a program that tests the emulator to determine whether the emulation and analysis hardware is functioning properly.
  • Page 772 Glossary Prestore Qualifier Prestore Qualifier a specification that must be met by a state before it can be saved in the analyzer prestore memory. Qualifier a specification that must be met before an action can be taken by the analyzer. For example, a store qualifier is a specification that must be met by an incoming state before it can be stored in the trace memory.
  • Page 773 Softkey Interface the host computer interface program used in the UNIX environment. The Softkey Interface is a friendly interface used to control HP 64700 emulators. Software Breakpoint refer to execution breakpoint and access breakpoint in this glossary.
  • Page 774 Glossary Standalone Configuration Standalone Configuration the configuration in which a data terminal is used to control the HP 64700 Series emulator, and the emulator is not connected to a host computer. stderr an abbreviation for “standard error output.” Standard error can be directed to various output devices connected to the HP 64700 ports.
  • Page 775 Terminal Interface the command interface present inside the HP 64700 Series emulators that is used when the emulator is connected to a simple data terminal. This interface provides on-line help, command recall, macros, and other features which provide for easy command entry from a terminal.
  • Page 776 Glossary Uploading time the analyzer recognizes its trigger condition, generates trig1, delivers trig1 to the emulator, and the emulator responds to trig1 by breaking to its monitor program. Uploading the transfer of emulation or target system memory contents to a host computer.
  • Page 777 1K Analyzer in this manual, "1K analyzer" refers to the HP 64703, HP 64704, and HP 64706 Emulation-Bus analyzers with 1K trace memories.
  • Page 779 Index absolute file, 446 absolute, glossary definition of, 733 access size (target memory), 337 action keys, 6 custom, 562 custom for support of M68360 Companion Mode, 189 operation and use, 76 with command files, 562 with entry buffer, 74, 76 activities occurring in windows, 49, 51 activity measurements (SPMT), 283-285 additional symbols for address, 297...
  • Page 780 198 trace at EXECUTE, 269 trigger one with another, 279 analyzer clock speed, glossary definition of, 734 app-defaults directory HP 9000 computers, 604 Sun SPARCsystem computers, 604 application resource See X resource architectures of virtual memory, 371 ArG_lEfT with command files, 86 &ArG_iEfT, 86...
  • Page 781 CMB 9-pin port is NOT for RS-232C, 265 make sure translation tables are valid, 375 protect against static discharge, 177 rear panel, do not stand HP 64700 on, 677 turn OFF power before installing emulator probe, 177 verify pin 1 when installing emulator probe, 177...
  • Page 782 584 CMB (coordinated measurement bus), 262 cables needed, 265 comparison to BNC trigger, 264 EXECUTE line, 264 EXECUTE signal, 412 HP 64700 connection, 265 READY line, 263 signals, 263 specifications, 596 TRIGGER line, 263 cmb_execute command, 412 cmb_execute command, 270 code patching example in "Getting Started"...
  • Page 783 Index shell scripts, 86 shell variables, 86 specifying search of directories, 88 status line update, 87 UNIX commands, 86 wait command, 87, 93 command line, 7 Command Recall dialog box, 8 copy-and-paste from entry buffer, 75 editing commands using the keyboard, 63 editing through the popup menu, 62 editing with graphical user interface pushbuttons, 61 entering commands, 60...
  • Page 784 Index displaying from configuration window, 310 configuration, emulator exiting the interface, 311 loading from file, 312 modifying a section, 306 starting the interface, 304 storing, 308 configure emulator, 115 connecting card cage to computer or LAN, 699 connecting probe to demo target system, 693 context changing directory in configuration window, 309 displaying directory from configuration window, 310...
  • Page 785 Index counter overflow, glossary definition of, 736 current working directory displaying, 131 to change the context, 132 current working symbol displaying, 131 to change the context, 132 cursor pushbuttons, 8 custom M68040 action keys for M68360 companion mode, to set up, 189 data communications specifications, 596 data range command, 239...
  • Page 786 Index demo target system connecting the emulator probe, 693 demos, setting up, 565-567 depth of memory how to obtain different depths, 672 dequeuer how it works, 215 device table file, 13, 53 dialog box, 76 Command Recall, operation, 77 Directory Selection, operation, 77 Entry Buffer Recall, operation, 74, 77 File Selection, operation, 77 Modify Register, operation, 77...
  • Page 787 Index memory mnemonic, 14 options, 421-426 display data command, 134 display global_symbols command, 125 display local_symbols_in command, 126 display memory command, 140-143, 146 display memory options to display command, 427-430 display memory repetitively command, 146 display modes setting, 174 display modes dialog box details of, 175 display pod_command command, 103, 106 display software_breakpoints command, 172...
  • Page 788 Index maximum time, 299 minimum time, 299 number of intervals, 299 prefetch and recursion considerations, 286 selecting, 291 standard deviation, 299 trace command setup, 289 dynamic virtual memory systems, 371 editing file, 557 file at address, 557 editing files in the interfaces, 120 emul700, command to start the emulator/analyzer interface, 53 emulation configuration, 451...
  • Page 789 Index target memory access size, 337 trace background/foreground operation, 341 emulator probe connecting the cables, 674 connecting to demo target system, 693 precautions, 177 emulator/analyzer interface executing command file at startup, 55 exiting a single window, 83 exiting all windows, ending the session, 84 opening additional windows, 57 running in multiple windows, 54 seeing status before startup, 52...
  • Page 790 Entry Buffer Recall dialog box operation, 77 environment variables setting, 107 environment variables (UNIX) PATH, 53 equates, 236 for MC68040, 236 eram, memory characterization, 322 erom, memory characterization, 322 error log how to display it, 66 error messages emulator, 503-551...
  • Page 791 726 version number, 730 floating-point number form, 145 foreground monitor mapping it for use with MC68040 MMU, 349-351 tracing its execution, 341 forwarding commands to other interfaces, 100 used with MC68EC040 and MC68LC040, 187 function codes...
  • Page 792 445 hexadecimal numbers, 234 high level interface using pod commands within, 250 HP 64700 internal lines, 271-277 HP 64700 Operating Environment, minimum version, 668-669 HP 64783 emulator features, vi HP 64783A emulator description, v HP 9000 700 series Motif libraries, 668...
  • Page 793 556, 560, 607 connecting the card cage, 699 LANG environment variable, 607 LD_LIBRARY_PATH environment variable, 710 libraries, Motif for HP 9000/700, 668 lines in main display area, 557-558 list of replaceable parts, 722-724 listing the present MMU mappings, 377...
  • Page 794 Index logical address definition of, 371 table details, 382 viewing translation details, 183 logical-to-physical mappings, to view, 181 long word format, 142 M68360 Companion Mode setting up M68040/M68360 action keys, 189 mapping memory, 320-329 mappings, logical-to-physical, to view, 181 maximum trace depth, 244 MC68EC040 and MC68LC040 performance measurements of FPU instructions, 187 special considerations when including an FPU, 187...
  • Page 795 MC68040, 180 how is it enabled, 374 how it affects command composition, 376 mapping 1:1 for use with MC68040, 349-351 mapping details of a single address, 380 restrictions when using, 375 using the emulator when the MMU is enabled, 180-186...
  • Page 796 (SPMT), 286 module usage measurements (SPMT), 286 monitor break on analyzer trigger signal, 280 break to, 154 to map 1:1 for use with MC68040 MMU, 349-351 Motif, HP 9000/700 requirements, 668 mouse button bindings, 9 mouse buttons, 9 multi-window...
  • Page 797 Index operators, 234 bitwise AND, 234 bitwise OR, 234 integer, 234 unary one’s complement, 234 unary two’s complement, 234 out of deMMUer resources how to avoid this problem, 390 things to check, 363 overflow, glossary definition of, 740 overlapping ranges, how they affect deMMUer, 386 parameters to command files, 85, 95, 97 parent symbols, how to display, 128 parts list, 722-724...
  • Page 798 371 physical addresses in trace list, check list, 364 physical-logical mappings, to view, 181 platform HP 9000 memory needs, 668 HP 9000 minimum performance, 668 SPARCsystem memory needs, 669 SPARCsystem minimum performance, 669 platform scheme, 556, 606 pod commands used in high level interface, 250 pod_command ©commandª...
  • Page 799 Index prefetch correction in SPMT, 286 prestore qualifier, 246 prestore qualifier, glossary definition of, 742 printing copying files to a printer, 81-82 probe connecting the cables, 674 connecting to demo target system, 693 dimensions, 594 problems a discussion for the MMU, 392-398 analyzer won’t trigger, 358 can’t break to monitor after MMU enabled, 366 deMMUer out of resources, 363-364...
  • Page 800 Index loading, 116 running, 150 storing, 116, 119 pulldown menu item how items map to the command line, 401 using the keyboard, 69 using the mouse, 67-68 pushbutton select mouse button, 9 pws command, 131 QUALIFIER parameter options, 463-465 qualifier, glossary definition of, 742 quick start solving problems, 41-44 RAM, mapping emulation or target, 322...
  • Page 801 Index mapping emulation or target, 322 writes to, 322 run command, 150 options, 467-468 run from reset command, 150 run from transfer_address command, 150 scheme files (for X resources), 555, 606-608 color scheme, 556, 560, 607 custom, 560-561, 608 input scheme, 556, 607 label scheme, 556, 560, 607 platform scheme, 556, 606 size scheme, 556, 607...
  • Page 802 48 manipulating the display with control keys, 80 SPARCsystem, 570 softkey pushbuttons, 7 software breakpoints, 424, 453 installation for HP 9000, 700-706 installation for SPARCsystems, 707-712 software breakpoints clearing all breakpoints, 172 software breakpoints clearing, 170 software enable for the MMU, 375...
  • Page 803 Index trace display, 136-137 source/symbols in displays, 174 SPARCsystem assembler defaults, 581 installing software, 707-712 keyboard template, 575 librarian defaults, 582 linker defaults, 581 minimum system requirements overview, 669 setting up the softkey interface, 571 softkey interface introduction, 570, 578 SunOS minimum version, 669 using Microtec commands, 580 using Microtec Language Tools, 579-582...
  • Page 804 Index simultaneous program run, 278 states change the number available for display, 227 static discharge, protecting the emulator probe against, 177 static memory system, loadig deMMUer, 229 static virtual memory system, 371 status seeing status before interface startup, 52 status information in MMU table displays, 381 status line, 7 update with command files, 87 status line (display), 57...
  • Page 805 270 starting, 270 syntax command conventions in manual, 408 conventions, 408 system requirements HP 64700 minimum version, 668-669 HP 9000 overview, 668 HP-UX minimum version, 668 OSF/Motif HP 9000/700 requirements, 668 SPARCsystem overview, 669 SunOS minimum version, 669 systems, virtual memory explained, 371...
  • Page 806 Index displaying screen, 103 entering commands, 104 getting help, 106 terms and their definitions, 733-747 time range file format (SPMT measurements), 290 trace, 417 at EXECUTE, 269 continuous stream of execution, 250 count states, 244 count time, 244 display options, 434-438 display status, 203 displaying count information, 222 displaying without disassembly, 217...
  • Page 807 Index trace counting off command, 222, 244 trace counting time command, 244 trace depth how to change, 204 trace dequeueing specifying options, 215 trace disassembly specifying options, 213 trace display depth, SPMT measurements, 288 trace enable command options, 242 trace expression range, 239 trace expressions address values, 238...
  • Page 808 Index BNC signal, 264 CMB signal, 263 how to specify for a trace, 207 in/out specifications, 595 one analyzer with another, 279 parameter, 496-497 trigger definition, 233 trigger position setting, 207 trigger qualifier defining, 206 trigger signals options trom, memory characterization, 322 troubleshooting, 721 tutorials, setting up, 565-567 undefined software breakpoint when using MMU, 395...
  • Page 809 49 opening additional emulator/analyzer, 57 running the emulator/analyzer interface in multiple, 54 word format, 141 workstation HP 9000 memory needs, 668 HP 9000 minimum performance, 668 SPARCsystem memory needs, 669 SPARCsystem minimum performance, 669 write to ROM break, 336...
  • Page 810 Index X server, 554, 604 X Window System, 54...
  • Page 811 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 812 For products returned to HP for warranty service, Buyer shall prepay shipping charges to HP and HP shall pay shipping charges to return the product to Buyer. However, Buyer shall pay all shipping charges, duties, and taxes for products returned to HP from another country. HP warrants that its software and firmware designated by HP for use with an instrument will execute its programming instructions when properly installed on that instrument.
  • Page 813 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 814 Keep Away From Live Circuits Operating personnel must not remove instrument covers. Component replacement and internal adjustments must be made by qualified maintenance personnel. Do not replace components with the power cable connected. Under certain conditions, dangerous voltages may exist even with the power cable removed. To avoid injuries, always disconnect power and discharge circuits before touching them.
  • Page 815 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 816 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:

Ec040Lc04064783a64783b

Table of Contents