7700 Series Emulator Softkey Interface 64146 97005_7700_Series_Softkey_Feb94 97005 Feb94

User Manual: 64146-97005_7700_Series_Softkey_Feb94

Open the PDF directly: View PDF PDF.
Page Count: 112

Download7700 Series Emulator Softkey Interface 64146-97005_7700_Series_Softkey_Feb94 64146-97005 Feb94
Open PDF In BrowserView PDF
HP 64146

7700 Series Emulator
Softkey Interface

User’s Guide

HP Part No. 64146-97005
Printed in U.S.A.
February 1994
Edition 2

Notice

Hewlett-Packard makes no warranty of any kind with regard to this
material, including, but not limited to, the implied warranties of
merchantability and fitness for a particular purpose. Hewlett-Packard
shall not be liable for errors contained herein or for incidental or
consequential damages in connection with the furnishing, performance,
or use of this material.
Hewlett-Packard assumes no responsibility for the use or reliability of
its software on equipment that is not furnished by Hewlett-Packard.
© Copyright 1994, Hewlett-Packard Company.
This document contains proprietary information, which is protected by
copyright. All rights are reserved. No part of this document may be
photocopied, reproduced or translated to another language without the
prior written consent of Hewlett-Packard Company. The information
contained in this document is subject to change without notice.
AdvanceLink, Vectra and HP are trademarks of Hewlett-Packard
Company.
IBM and PC AT are registered trademarks of International Business
Machines Corporation.
MS-DOS is a trademark of Microsoft Corporation.
MELPS is a registered trademark of Mitsubishi Electric Corporation.
Hewlett-Packard Company
P.O.Box 2197
1900 Garden of the Gods Road
Colorado Springs, CO 80901-2197, U.S.A.
RESTRICTED RIGHT LEGEND Use, duplication, or disclosure by
the U.S. Government is subject to restrictions as set forth in
subparagraph (C) (1) (ii) of the Rights in Technical Data and Computer
Software Clause at DFARS 252.227-7013.
Hewlett-Packard Company, 3000 Hanover Street, Palo Alto, CA 94304
U.S.A. Rights for non-DOD U.S.Government Departments and
Agencies are as set forth in FAR 52.227-19(C)(1,2)

Printing History

New editions are complete revisions of the manual. The date on the
title page changes only when a new edition is published.
A software code may be printed before the date; this indicates the
version level of the software product at the time the manual was issued.
Many product updates and fixes do not require manual changes, and
manual corrections may be done without accompanying product
changes. Therefore, do not expect a one-to-one correspondence
between product updates and manual revisions.
Edition 1

64146-97002, August 1992

Edition 1

64146-97005, February 1994

Using This Manual
This manual introduces you to the HP 64146A/B 7700 Series Emulator
as used with the Softkey Interface.
This manual:
Shows you how to use emulation commands by executing
them on a sample program and describing their results.
Shows you how to use the emulator in-circuit (connected to a
target system).
Shows you how to configure the emulator for your
development needs. Topics include: restricting the emulator
to real-time execution, selecting a target system clock source.
This manual does not:
Show you how to use every Softkey Interface command and
option; the Softkey Interface is described in the Softkey
Interface Reference.
For the most part, the HP 64146A and HP 64146B emulators all
operate the same way. Differences of between the emulators are
described where they exist. Both the HP 64146A and HP 64146B
emulators will be referred to as the "HP 64146A/B 7700 Series
emulator" or "7700 Series emulator". In the specific instances where
HP 64146B emulator differs from HP 64146A emulator, it will be
described as "HP 64146B emulator".

Organization
Chapter 1

Introduction to the 7700 Series Emulator. This chapter briefly
introduces you to the concept of emulation and lists the basic features
of the 7700 Series emulator.

Chapter 2

Getting Started. This chapter shows you how to use emulation
commands by executing them on a sample program. This chapter
describes the sample program and how to: load programs into the
emulator, map memory, display and modify memory, display registers,
step through programs, run programs, set software breakpoints, search
memory for data, and use the analyzer.

Chapter 3

"In-Circuit" Emulation. This chapter shows you how to install the
emulator probe into a target system and how to use the "in-circuit"
emulation features.

Chapter 4

Configuring the Emulator. This chapter shows you how to restrict the
emulator to real-time execution, select a target system clock source,
allow background cycles to be seen by the target system.

Chapter 5

Using the Emulator. This chapter describes emulation topics which are
not covered in the "Getting Started" chapter.

Appendix A

Using the Foreground Monitor. This appendix describes the
advantages and disadvantages of foreground and background monitors
and how to use foreground monitors.

Appendix B

Using the Format Converter. This appendix describes the usage of the
file format converter.

Conventions

Example commands throughout the manual use the following
conventions:
bold

Commands, options, and parts of command syntax.

bold italic

Commands, options, and parts of command syntax
which may be entered by pressing softkeys.

normal

User specified parts of a command.

$

Represents the HP-UX prompt. Commands which
follow the "$" are entered at the HP-UX prompt.



The carriage return key.

Notes

Contents
1

Introduction to the 7700 Series Emulator
Introduction . . . . . . . . . . . . . . . . . . . . .
Purpose of the 7700 Series Emulator . . . . . . . .
Supported Microprocessors . . . . . . . . . . .
Features of the 7700 Series Emulator . . . . . . .
Clock Speed . . . . . . . . . . . . . . . . . . .
Emulation memory . . . . . . . . . . . . . . .
Analysis . . . . . . . . . . . . . . . . . . . . .
Foreground or Background Emulation Monitor
Register Display and Modification . . . . . . .
Single-Step . . . . . . . . . . . . . . . . . . .
Breakpoints . . . . . . . . . . . . . . . . . . .
Real Time Operation . . . . . . . . . . . . . .
Coverage Measurements . . . . . . . . . . . .
Reset Support . . . . . . . . . . . . . . . . . .
Watch Dog Timer . . . . . . . . . . . . . . . .
Limitations, Restrictions . . . . . . . . . . . . . .
Access to Internal RAM . . . . . . . . . . . . .
Trace Internal RAM . . . . . . . . . . . . . . .
DMA Support . . . . . . . . . . . . . . . . . .
Watch Dog Timer in Background . . . . . . . .
Step Command with Foreground Monitor . . .
Step Command and Interrupts . . . . . . . . . .
Emulation Commands in Stop/Wait Mode . . .
Stack Address . . . . . . . . . . . . . . . . . .

2

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

. 1-1
. 1-1
. 1-3
. 1-5
. 1-5
. 1-5
. 1-6
. 1-6
. 1-7
. 1-7
. 1-7
. 1-7
. 1-8
. 1-8
. 1-8
. 1-9
. 1-9
. 1-9
. 1-9
. 1-9
. 1-9
. 1-9
1-10
1-10

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

Getting Started
Introduction . . . . . . . . . . . .
Before You Begin . . . . . . . .
Prerequisites . . . . . . . . . .
A Look at the Sample Program
Sample Program Assembly . .
Linking the Sample Program .
Generate HP Absolute file . .

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

2-1
2-2
2-2
2-3
2-7
2-7
2-7

Contents-1

Entering the Softkey Interface . . . . . . . . . . . . . . . . . . . . 2-8
From the "pmon" User Interface . . . . . . . . . . . . . . . . . 2-8
From the HP-UX Shell . . . . . . . . . . . . . . . . . . . . . . 2-9
On-Line Help . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-10
Softkey Driven Help . . . . . . . . . . . . . . . . . . . . . . . 2-10
Pod Command Help . . . . . . . . . . . . . . . . . . . . . . . 2-11
Configuring the Emulator . . . . . . . . . . . . . . . . . . . . . 2-12
Loading Absolute Files . . . . . . . . . . . . . . . . . . . . . . . 2-14
Displaying Symbols . . . . . . . . . . . . . . . . . . . . . . . . 2-14
Global . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-14
Local . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-15
Displaying Memory in Mnemonic Format . . . . . . . . . . . . . 2-16
Displaying Memory with Symbols . . . . . . . . . . . . . . . . . 2-17
Running the Program . . . . . . . . . . . . . . . . . . . . . . . . 2-18
Displaying Memory in Blocked Format . . . . . . . . . . . . . . 2-18
Modifying Memory . . . . . . . . . . . . . . . . . . . . . . . . . 2-19
Breaking into the Monitor . . . . . . . . . . . . . . . . . . . . . 2-20
Using Software Breakpoints . . . . . . . . . . . . . . . . . . . . 2-20
Enabling/Disabling Software Breakpoints . . . . . . . . . . . 2-22
Setting a Software Breakpoint . . . . . . . . . . . . . . . . . 2-22
Clearing a Software Breakpoint . . . . . . . . . . . . . . . . . 2-23
Stepping Through the Program . . . . . . . . . . . . . . . . . . . 2-24
Displaying Registers . . . . . . . . . . . . . . . . . . . . . . . . 2-24
Using the Analyzer . . . . . . . . . . . . . . . . . . . . . . . . . 2-26
Specifying a Simple Trigger . . . . . . . . . . . . . . . . . . 2-26
Displaying the Trace . . . . . . . . . . . . . . . . . . . . . . 2-27
Displaying Trace with Time Count Absolute . . . . . . . . . . 2-28
Changing the Trace Depth . . . . . . . . . . . . . . . . . . . 2-29
Using the Storage Qualifier . . . . . . . . . . . . . . . . . . . 2-29
7700 Series Analysis Status Qualifiers . . . . . . . . . . . . . 2-30
Restriction of the Analyzer . . . . . . . . . . . . . . . . . . . . . 2-31
Trace of Internal RAM . . . . . . . . . . . . . . . . . . . . . 2-31
For a Complete Description . . . . . . . . . . . . . . . . . . . 2-31
Exiting the Softkey Interface . . . . . . . . . . . . . . . . . . . . 2-32
End Release System . . . . . . . . . . . . . . . . . . . . . . . 2-32
Ending to Continue Later . . . . . . . . . . . . . . . . . . . . 2-32
Ending Locked from All Windows . . . . . . . . . . . . . . . 2-32
Selecting the Measurement System Display or Another Module 2-32
3

"In-Circuit" Emulation
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-1

2-Contents

Prerequisites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-1
Installing the Target System Probe . . . . . . . . . . . . . . . . . . 3-2
In-Circuit Configuration Options . . . . . . . . . . . . . . . . . . . 3-3
4

Configuring the Emulator
Introduction . . . . . . . . . . . . . . . . . . . . . . .
General Emulator Configuration . . . . . . . . . . . .
Micro-processor clock source? . . . . . . . . . . .
Enter monitor after configuration? . . . . . . . . .
Restrict to real-time runs? . . . . . . . . . . . . . .
Emulator Reconfiguration . . . . . . . . . . . . . . .
Micro-processor group? . . . . . . . . . . . . . . .
Processor mode? . . . . . . . . . . . . . . . . . . .
Modify value for Stack Pointer (SP)? . . . . . . . .
Memory Configuration . . . . . . . . . . . . . . . . .
Is speed of input clock faster than
16 MHz? . . . . . . . . . . . . . . . . . . . . . . .
Monitor type? . . . . . . . . . . . . . . . . . . . .
Mapping memory . . . . . . . . . . . . . . . . . .
Emulator Pod Configuration . . . . . . . . . . . . . .
Target memory access size? . . . . . . . . . . . . .
Respond to target system interrupts? . . . . . . . .
Enable watchdog timer? . . . . . . . . . . . . . . .
Debug/Trace Configuration . . . . . . . . . . . . . .
Break processor on write to ROM? . . . . . . . . .
Trace background or foreground operation? . . . .
Trace refresh cycles by emulation analyzer? . . . .
Trace DMA cycles by emulation analyzer? . . . . .
Trace HOLD/HLDA cycles by emulation analyzer?
Replace 16-bit addresses with symbolic references?
Simulated I/O Configuration . . . . . . . . . . . . . .
Interactive Measurement Configuration . . . . . . . .
External Analyzer Configuration . . . . . . . . . . . .
Saving a Configuration . . . . . . . . . . . . . . . . .
Loading a Configuration . . . . . . . . . . . . . . . .

5

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

. 4-1
. 4-3
. 4-3
. 4-4
. 4-5
. 4-5
. 4-6
. 4-9
. 4-9
4-10

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

4-10
4-11
4-13
4-16
4-16
4-17
4-17
4-18
4-18
4-18
4-19
4-19
4-19
4-20
4-20
4-20
4-21
4-21
4-21

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

Using the Emulator
Introduction . . . . . . . . . . .
Sample Program . . . . . . . .
Internal RAM and SFR . . . . .
Loading the Sample Program

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

5-1
5-2
5-2
5-2

Contents-3

Running the Example . . . . . . . . . . .
Features Available via Pod Commands . . .
Debugging C Programs . . . . . . . . . . . .
Displaying Memory with C Sources . . .
Displaying Trace with C Sources . . . . .
Stepping C Sources . . . . . . . . . . . .
Displaying Memory in Various Data Type
Using a Command File . . . . . . . . . . . .
Storing Memory Contents to an Absolute File
Coordinated Measurements . . . . . . . . . .
Limitations, Restrictions . . . . . . . . . . .
Access to Internal RAM . . . . . . . . . .
Trace Internal RAM . . . . . . . . . . . .
DMA Support . . . . . . . . . . . . . . .
Watch Dog Timer in Background . . . . .
Step Command with Foreground Monitor
Step Command and Interrupts . . . . . . .
Emulation Commands in Stop/Wait Mode
Stack Address . . . . . . . . . . . . . . .
A

B

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

5-2
5-4
5-5
5-5
5-5
5-6
5-6
5-6
5-7
5-7
5-8
5-8
5-8
5-8
5-8
5-8
5-8
5-9
5-9

Introduction . . . . . . . . . . . . . . . . . . . . . . .
Comparison of Foreground and Background Monitors
Background Monitors . . . . . . . . . . . . . . . .
Foreground Monitors . . . . . . . . . . . . . . . .
An Example Using the Foreground Monitor . . . . . .
Assemble and Link the Monitor . . . . . . . . . . .
Modifying Location Declaration Statement . . . .
Modifying the Emulator Configuration . . . . . . .
Load the Program Code . . . . . . . . . . . . . . .
Running User Program . . . . . . . . . . . . . . .
Limitations of Foreground Monitors . . . . . . . . . .
Step Command . . . . . . . . . . . . . . . . . . .
Synchronized Measurement . . . . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

. A-1
. A-1
. A-2
. A-2
. A-3
. A-3
. A-3
. A-4
. A-6
. A-6
. A-7
. A-7
. A-7

Using the Foreground Monitor

Using the Format Converter
How to Use the Converter . . . . . . . . . . . . . . . . . . . . . B-1
Specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . B-2

4-Contents

Illustrations
Figure 1-1. HP 64146 Emulator for MELPS 7700 Series
Figure 2-1. Connecting the Emulation Pod . . . . . . .
Figure 2-2. Sample Program Listing . . . . . . . . . . .
Figure 2-3. Linkage Editor Command File . . . . . . . .
Figure 2-4. Softkey Interface Display . . . . . . . . . .
Figure 4-1. Chip Group and Type for Configuration . .

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

1-2
2-3
2-4
2-7
2-9
4-7

Tables
Table 1-1. Supported Microprocessors . . . . . . . . . . . . . . . . 1-3
Table 2-1. Chip Group and Chip Type for Configuration . . . . . 2-13

Contents-5

Notes

6-Contents

1
Introduction to the 7700 Series Emulator
Introduction

The topics in this chapter include:
Purpose of the 7700 Series Emulator
Features of the 7700 Series Emulator

Purpose of the
7700 Series
Emulator

Note

The HP 64146A/B 7700 Series Emulator is designed to replace the
MELPS 7700 Series microprocessor in your target system so you can
control operation of the processor in your application hardware
(usually referred to as the target system). The emulator performs just
like the MELPS 7700 Series microprocessor, but is a device that allows
you to control the MELPS 7700 Series directly. These features allow
you to easily debug software before any hardware is available, and ease
the task of integrating hardware and software.

In this manual, MELPS 7700 Series is referred to as 7700 Series.

Introduction 1-1

Figure 1-1. HP 64146 Emulator for MELPS 7700 Series

1-2 Introduction

Supported
Microprocessors

A list of the supported 7700 Series microprocessors is shown in Table
1-1. You need to purchase appropriate emulation pod and emulation
processor.

Processor

Clock

Emulation
Emulation
Processor
Pod
=================================================================
M37700/1 M2-xxxFP/SP |
8
|
M37700SAFP
| M37700T-HPD
M2AxxxFP/SP |
16
|
|
SFP/SP
|
8
|
|
SAFP/SP
|
16
|
|
---------------------+---------+----------------|
M37700/1 M4-xxxFP/SP |
8
|
M37700S4AFP |
M4AxxxFP/SP |
16
|
|
S4FP/SP
|
8
|
|
S4AFP/SP
|
16
|
|
---------------------+---------+----------------+---------------M37702/3 M2-xxxFP/SP |
8
|
M37702S1AFP | M37702T-HPD
M2AxxxFP/SP |
16
|
|
S1FP/SP
|
8
|
|
S1AFP/SP
|
16
|
|
---------------------+---------+----------------+
M37702/3 M4-xxxFP/SP |
8
|
M37702S4AFP |
M4AxxxFP/SP |
16
|
|
S4FP/SP
|
8
|
|
S4AFP/SP
|
16
|
|
---------------------+---------+----------------+---------------M37702
M6LxxxFP
|
8
|
M37702S1BFP | M37702TL-HPD
|
|
| HP 641466-61002
|
|
|
(64146B)
---------------------+---------+----------------+---------------M37702/3 M2BxxxFP/SP |
25
|
M37702S1BFP | M37702TB-HPD
S1BFP/SP
|
25
|
| HP 64146-61001
---------------------+---------+----------------+
(64146A)
M37702/3 M4BxxxFP/SP |
25
|
M37702S4BFP | HP 64146-61002
S4BFP/SP
|
25
|
|
(64146B)
M6BxxxFP
|
25
|
|
---------------------+---------+----------------+---------------M37704/5 M2-xxxFP/SP |
8
|
M37704S1AFP | M37704T-HPD
M2AxxxFP/SP |
16
|
|
S1FP/SP
|
8
|
|
S1AFP/SP
|
16
|
|
---------------------+---------+----------------+---------------M37704
M3BxxxFP
|
25
|
M37704M4BFP | M37704TB-HPD
M3BxxxFP
|
25
|
|
---------------------+---------+----------------+---------------M37710
M4BxxxFP
|
25
|
M37710M4BFP | M37710TL-HPD
S4BFP
|
25
|
|
---------------------+---------+----------------+---------------M37720
S1FP
|
8
|
M37720S1AFP | M37720T-HPD
S1AFP
|
16
|
|
---------------------+---------+----------------+---------------M37730
S2FP/SP
|
8
|
M37730S2AFP | M37730T-HPD
S2AFP/SP
|
16
|
|

Table 1-1. Supported Microprocessors

Introduction 1-3

---------------------+---------+----------------+---------------M37732
S4FP/SP
|
8
|
M37732S4AFP | M37732T-HPD
S4AFP/SP
|
16
|
|
---------------------+---------+----------------+---------------M37780
STJ/FP
|
16
|
M37780STJ
| M37780T-HPD
---------------------+---------+----------------+---------------M37781
M4TxxxJ/FP |
16
|
M37781M4TJ
| M37781T-HPD
E4TxxxJ/FP |
16
|
|
---------------------+---------+----------------+---------------M37795
SJ
|
8
|
M37795SJ
| M37795T-HPD
STJ
|
8
|
|
---------------------+---------+----------------+
M37796
E4-xxxJ
|
8
|
M37796E4J
|
E4TxxxJ
|
8
|
|
=================================================================

Table 1-1. Supported Microprocessors (Cont’d)
The HP 64146A emulator is provided with the following items.
HP 64146-61001 emulation pod with M37702S1BFP
emulation processor
Adaptor for M37703 processor
The HP 64146B emulator is provided with the following items.
HP 64146-61002 emulation pod with M37702S1BFP
emulation processor
Adaptor for M37703 processor
As you can see from Table 1-1, the HP 64146A/B emulator can
emulate M37702/3M2 and M37702/3S1 processor by default. These
emulation pods can be used with clock up to 25 MHz. Also, HP
64146B emulator can emulate M37702 M6L processor using default
emulation pod, HP 64146-61002.
To emulate other processors of 7700 Series, you need to purchase
appropriate emulation pod and/or emulation processor.
The HP 64146A/B #001 emulator is provided with no emulation pod.
You need to purchase appropriate emulation pod and emulation
processor listed in Table 1-1.
To purchase emulation pod or emulation processor, contact the address
listed in the manual provided with your emulation pod.

1-4 Introduction

The list of supported microprocessors in Table 1-1 is not necessarily
complete. To determine if your microprocessor is supported or not,
contact Hewlett-Packard.

Features of the
7700 Series
Emulator
Clock Speed

This section introduces you to the features of the emulator. The
chapters which follow show you how to use these features.

The HP 64146-61001 and HP 64146-61002 emulation pods generate
internal clock of 1 MHz. These emulation pods can be used with target
system clock up to 25 MHz.
The emulator can run with no wait state up to 25 MHz. When clock is
faster than 16 MHz, you can use the emulator with one of the following
methods.
Insert one wait state by the RDY signal. The emulator can be
configured to generate the RDY signal. Also, the emulator
accepts RDY signal from the target system.
Use the high speed access mode of the emulator. The
emulator can run with no wait state. However, there is a
limitation in the mapping of the emulation memory in this
mode. Refer to Chapter 4 of this manual for more detail.

Emulation memory

The HP 64146A/B 7700 Series emulator is used with one of the
following Emulation Memory Cards.
HP 64726A 128K byte Emulation Memory Card
HP 64727A 512K byte Emulation Memory Card
HP 64728A 1M byte Emulation Memory Card
HP 64729A 2M byte Emulation Memory Card
The emulation memory can be configured into 256 byte blocks. A
maximum of 16 ranges can be configured as emulation RAM (eram),
emulation ROM(erom), target system RAM (tram), target system ROM
(trom), or guarded memory (grd). The HP 64146A/B 7700 Series

Introduction 1-5

emulator will attempt to break to the emulation monitor upon accessing
guarded memory; additionally, you can configure the emulator to break
to the emulation monitor upon performing a write to ROM (which will
stop a runaway program).

Analysis

The HP 64146A/B 7700 Series emulator is used with one of the
following analyzers which allows you to trace code execution and
processor activity.
HP 64704 80-channel Emulation Bus Analyzer
HP 64703 64-channel Emulation Bus Analyzer and
16-channel State/Timing Analyzer
HP 64794A/C/D 80-channel 8K/64K/256K Emulation Bus
Analyzer
The Emulation Bus Analyzer monitors the emulation processor using
an internal analysis bus. The HP 64703 64-channel Emulation Bus
Analyzer and 16-channel State/Timing Analyzer allows you to probe
up to 16 different lines in your target system.

Foreground or
Background
Emulation Monitor

When you power up the emulator, or when you initialize it, the
background monitor is used by default. You can also configure the
emulator to use a foreground monitor. Before the background and
foreground monitors are described, you should understand the function
of the emulation monitor program.
The Function of the Monitor Program
The monitor program is the interface between the emulation system
controller and the target system. The emulation system controller uses
its own microprocessor to accept and execute emulation, system, and
analysis commands. The monitor program is executed by the
emulation processor.
The monitor program makes possible emulation commands which
access target system resources. (The only way to access target system
resource is through the emulation processor.) For example, when you
enter a command to modify target system memory, it is the execution
of monitor program instructions that cause the new values to be written
to target system memory.

1-6 Introduction

The Background Monitor
On emulator power-up, or after initialization, the emulator uses the
background monitor program. The background monitor does not
occupy processor address space.
The Foreground Monitor
You can configure the emulator to use a foreground monitor program.
When a foreground monitor is selected it executes in the foreground
emulator mode. The foreground monitor occupies processor memory
space and executes as if it were part of your program.

Register Display and
Modification

Single-Step

You can display or modify the 7700 Series internal register contents.
This includes the ability to modify the program counter (PC) and the
program bank register (PG) values so you can control where the
emulator starts a program run.
When you are using the background monitor, you can direct the
emulation processor to execute a single instruction or a specified
number of instructions.

Breakpoints

You can set the emulator/analyzer interaction so the emulator will
break to the monitor program when the analyzer finds a specific state
or states, allowing you to perform post-mortem analysis of the program
execution. You can also set software breakpoints in your program.
This feature is realized by inserting BRK instructions into user
program. Refer to the "Using Software Breakpoints" section of
"Getting Started" chapter for more information.

Real Time Operation

Real-time signifies continuous execution of your program at full rated
processor speed without interference from the emulator. (Such
interference occurs when the emulator needs to break to the monitor to
perform an action you requested, such as displaying target system
memory.) Emulator features performed in real time include: running
and analyzer tracing. Emulator features not performed in real time
include: display or modify of target system memory; load/dump of
target memory, display or modification of registers, and single step.

Introduction 1-7

Coverage
Measurements

Coverage memory is provided for the processor’s external program
memory space. This memory allows you to perform coverage
measurements on programs in emulation memory.

Reset Support

The emulator can be reset from the emulation system under your
control; or your target system can reset the emulation processor.

Watch Dog Timer

1-8 Introduction

You can configure the emulator to disable the watch dog timer.

Limitations,
Restrictions
Access to Internal
RAM
Trace Internal RAM

Note

DMA Support

Modifying internal RAM or SFR suspends user program execution.

Read data from the internal RAM or SFR is not traced correctly by the
emulation analyzer.

Write data is also not traced correctly, when the following conditions
are met:
The emulator is used with the M37795 emulation pod.
The processor is operating in the memory expansion or
microprocessor mode with 8 bit external bus.

Direct memory access to emulation memory is not allowed.

Watch Dog Timer in
Background

Watch dog timer suspends count down while the emulator is running in
background monitor.

Step Command with
Foreground Monitor

Step command is not available when the emulator is used with a
foreground monitor.

Step Command and
Interrupts

When an interrupt occurs while the emulator is running in monitor, the
emulator fails to do the first step operation. The emulator will display
the mnemonic of the instruction which should be stepped, but the
instruction is not actually executed. The second step operation will
step the first instruction of the interrupt routine.

Introduction 1-9

Emulation
Commands in
Stop/Wait Mode

Stack Address

1-10 Introduction

When the 7700 microprocessor is in the stop or wait mode, emulation
commands which access memory or registers will fail. You need to
break the emulator into the monitor to use these commands. Once you
break the emulator into the monitor, the stop or wait mode will be
released.
In some versions of 7700 microprocessor, the stack can be located in
Bank FF. However, the HP 64146A/B 7700 Series emulator doesn’t
support the feature. The stack must be located in Bank 0.

2
Getting Started
Introduction

This chapter will lead you through a basic, step by step tutorial
designed to familiarize you with the use of the HP 64146A/B 7700
Series emulator with the Softkey Interface.
This chapter will:
Tell you what must be done before you can use the emulator
as shown in the tutorial examples.
Describe the sample program used for this chapter’s example.
This chapter will show you how to:
Start up the Softkey Interface.
Load programs into emulation and target system memory.
Enter emulation commands to view execution of the sample
program.

Getting Started 2-1

Before You Begin
Prerequisites

Before beginning the tutorial presented in this chapter, you must have
completed the following tasks:
1. Connected the emulator to your computer. The HP 64700
Series Installation/Service manual shows you how to do this.
2. Installed the Softkey Interface software on your computer.
Refer to the HP 64700 Series Installation/Service manual for
instructions on installing software.
3. In addition, you should read and understand the concepts of
emulation presented in the Concepts of Emulation and
Analysis manual. The Installation/Service manual also covers
HP 64700 system architecture. A brief understanding of these
concepts may help avoid questions later.
4. Connected the emulator to the emulation probe as shown in
Figure 2-1.

Caution

2-2 Getting Started

Turn off power of the emulator before inserting the cables to the
emulation pod to avoid circuit damage.

Figure 2-1. Connecting the Emulation Pod

A Look at the Sample
Program

The sample program used in this chapter is listed in Figure 2-2. The
program emulates a primitive command interpreter. The sample
program is shipped with the Softkey Interface and may be copied from
the following location.
/usr/hp64000/demo/emul/hp64146/cmd_rds.a77
Data Declarations
The "TABLE" section defines the messages used by the program to
respond to various command inputs. These messages are labeled
Msg_A,Msg_B, and Msg_I.
Initialization
The program instruction at the Init label initializes the stack pointer.

Getting Started 2-3

.DP
.DT
.PUB
.PUB
.PUB
.PUB

0
0
Init
Msgs
Cmd_Input
Msg_Dest

.SECTION
BUFFER
;**********************************************************
; Command input byte.
;**********************************************************
Cmd_Input:
.BLKB
1
;**********************************************************
; Destination of the command messages.
;**********************************************************
Msg_Dest:
.BLKB
20H
.BLKB
100H
Stack:
Msgs:
Msg_A:
Msg_B:
Msg_I:

.SECTION

TABLE

.BYTE
.BYTE
.BYTE

’THIS IS MESSAGE A’
’THIS IS MESSAGE B’
’INVALID COMMAND’

.SECTION
SAMPPROG
.DATA
8
.INDEX
16
;**********************************************************
; Set up the Stack Pointer.
;**********************************************************
Init:
LDX
#Stack
TXS
SEM
;**********************************************************
; Clear Previous command.
;**********************************************************
Clear_Input:
LDA
B,#00H
STA
B,DT:Cmd_Input
;**********************************************************
; Read command input byte. If no command has been entered,
; continue to scan for it.
;**********************************************************
Scan:
LDA
A,DT:Cmd_Input
CMP
A,#00H
BEQ
Scan
.INDEX
8
;**********************************************************
; A command has been entered. The destination area is
; cleared.
;**********************************************************
SEP
X
Clear_Output:
LDX
#00H
LDY
#20H
Clear_Loop:
STA
B,DT:Msg_Dest,X
INX
DEY
BNE
Clear_Loop

Figure 2-2. Sample Program Listing
2-4 Getting Started

.INDEX
16
;**********************************************************
; Check if the command entered is command A, command B,
; or invalid command.
;**********************************************************
CLP
X
Process_Cmd:
CMP
A,#41H
BEQ
Cmd_A
CMP
A,#42H
BEQ
Cmd_B
BRA
Cmd_I
;**********************************************************
; Command A is entered. A = the number of bytes in
; message A. X = location of the message. Jump to the
; routine which writes the message.
;**********************************************************
Cmd_A:
LDA
A,#11H
LDX
#Msg_A
BRA
Output
;**********************************************************
; Command B is entered.
;**********************************************************
Cmd_B:
LDA
A,#11H
LDX
#Msg_B
BRA
Output
;**********************************************************
; An invalid command is entered.
;**********************************************************
Cmd_I:
LDA
A,#0FH
LDX
#Msg_I
;**********************************************************
; Message is written to the destination. Y = location of
; the destination area.
;**********************************************************
Output:
LDY
#Msg_Dest
MVN
0,0
;**********************************************************
; Go back and scan for next command.
;**********************************************************
BRA
Clear_Input
.END

Figure 2-2. Sample Program Listing (Cont’d)

Reading Input
The instruction at the Clear_Input label clears any random data or
previous commands from the Cmd_Input byte. The Scan loop
continually reads the Cmd_Input byte to see if a command is entered
(a value other than 0 hex).

Getting Started 2-5

Processing Commands
When a command is entered, the Clear_Output routine clears the
destination area. Then, the instructions from Process_Cmd to Cmd_A
determine whether the command was "A", "B", or an invalid command.
If the command input byte is "A" (ASCII 41 hex), execution is
transferred to the instructions at Cmd_A.
If the command input byte is "B" (ASCII 42 hex), execution is
transferred to the instructions at Cmd_B.
If the command input byte is neither "A" nor "B", an invalid command
has been entered, and execution is transferred to the instructions at
Cmd_I.
The instructions at Cmd_A, Cmd_B, and Cmd_I each load
accumulator A with the length of the message to be displayed and
index register X with the starting location of the appropriate message.
Then, execution transfers to Output which writes the appropriate
message to the destination location, Msg_Dest.
After the message is written, the program branches back to read the
next command.
The Destination Area
The "BUFFER" section declares memory storage for the command
input byte, the destination area, and the stack area.

2-6 Getting Started

Sample Program
Assembly

The sample program is written for and assembled/linked with
Mitsubishi RASM77 Assembler and LINK77 Linkage Editor.
The sample program was assembled with the following command.
$ rasm77 -s cmd_rds.a77

Linking the Sample
Program

The sample program can be linked with the following command and
generates the absolute file. The contents of "cmd_rds.lnk" linkage
editor subcommand file is shown in Figure 2-3.
$ link77 @\cmd_rds.lnk

cmd_rds
,
,SAMPPROG=C000 TABLE=C100 BUFFER=100
,-s -ms

Figure 2-3. Linkage Editor Command File

Generate HP
Absolute file

To generate HP Absolute file for the Sofktey Interface, you need to use
"m77cnvhp" absolute file format converter program. The m77cnvhp
converter is provided with the Softkey Interface. To generate HP
Absolute file, enter following command:
$ m77cnvhp cmd_rds 
You will see that cmd_rds.X, cmd_rds.L, and cmd_rds.A are
generated. These are sufficient throughout this chapter.

Note

You must specify -s option when you assemble and link your program.
If this option isn’t speicified, symbol file (.sym file) won’t be
generated, and the format converter cannot convert your program.

Getting Started 2-7

Entering the
Softkey Interface

From the "pmon"
User Interface

If you have installed your emulator and Softkey Interface software as
directed in the HP 64700 Series Emulators Softkey Interface
Installation Notice, you are ready to enter the interface. The Softkey
Interface can be entered through the pmon User Interface Software or
from the HP-UX shell.
If /usr/hp64000/bin is specified in your PATH environment variable,
you can enter the pmon User Interface with the following command.
$ pmon 
If you have not already created a measurement system for the 7700
Series emulator, you can do so with the following commands. First
you must initialize the measurement system with the following
command.
MEAS_SYS msinit 
After the measurement system has been initialized, enter the
configuration interface with the following command.
msconfig 
To define a measurement system for the 7700 Series emulator, enter:
make_sys emm77 
Now, to add the emulator to the measurement system, enter:
add  naming_it m77 
Enter the following command to exit the measurement system
configuration interface.
end 
If the measurement system and emulation module are named "emm77"
and "m77" as shown above, you can enter the emulation system with
the following command:
emm77 default m77 
If this command is successful, you will see a display similar to Figure
2-4. The status message shows that the default configuration file has
been loaded. If the command is not successful, you will be given an
error message and returned to the pmon User Interface. Error
messages are described in the Softkey Interface Reference manual.

2-8 Getting Started

For more information on creating measurements systems, refer to the
Softkey Interface Reference manual.

From the HP-UX Shell

If /usr/hp64000/bin is specified in your PATH environment variable,
you can also enter the Softkey Interface with the following command.
$ emul700  
The "emul_name" in the command above is the logical emulator name
given in the HP 64700 emulator device table
(/usr/hp64000/etc/64700tab).
If this command is successful, you will see a display similar to Figure
2-4. The status message shows that the default configuration file has
been loaded. If the command is not successful, you will be given an
error message and returned to the HP-UX prompt. Error messages are
described in the Softkey Interface Reference manual.

HPB64146-19003 A.04.00 20Aug92
M37700 EMULATION SERIES 64700
A Hewlett-Packard Software Product
Copyright Hewlett-Packard Co. 1992
All Rights Reserved. Reproduction, adaptation, or translationwithout prior
written permission is prohibited, except as allowed undercopyright laws.
RESTRICTED RIGHTS LEGEND
Use , duplication , or disclosure by the Government is subject to
restrictions as set forth in subparagraph (c) (1) (II) ofthe Rights
in Technical Data and Computer Software clause at DFARS52.227-7013.
HEWLETT-PACKARD Company , 3000 Hanover St. , Palo Alto, CA94304-1181
STATUS:

run

Loaded configuration file____________________________________...R....

trace

step

display

modify

break

end

---ETC--

Figure 2-4. Softkey Interface Display

Getting Started 2-9

On-Line Help

Softkey Driven Help

There are two ways to access on-line help in the Softkey Interface. The
first is by using the Softkey Interface help facility. The second method
allows you to access the firmware resident Terminal Interface on-line
help information.
To access the Softkey Interface on-line help information, type either
"help" or "?" on the command line; you will notice a new set of
softkeys. By pressing one of these softkeys and , you can
cause information on that topic to be displayed on your screen. For
example, you can enter the following command to access "system

---SYSTEM COMMANDS & COMMAND FILES--?
help

displays the possible help files
displays the possible help files

!
!
cd 
pwd
cws 

fork a shell (specified by shell variable SH)
fork a shell and execute a shell command
change the working directory
print the working directory
change the working symbol - the working symbol also
gets updated when displaying local symbols and
displaying memory mnemonic
print the working symbol

pws
 p1 p2 p3 ...
log_commands to 
log_commands off
name_of_module

execute a command file passing parameters p1, p2, p3
see "COMMAND FILES EXAMPES" below for more detail
logs the next sequence of commands to file 
discontinue logging commands
get the "logical" name of this module (see 64700tab.net)

--More--(20%)

command" help information.
? system_commands 
The help information is scrolled on to the screen. If there is more than
a screenful of information, you will have to press the space bar to see
the next screenful, or the  key to see the next line, just as
you do with the HP-UX more command. After all the information on
the particular topic has been displayed (or after you press "q" to quit
scrolling through information), you are prompted to press 
to return to the Softkey Interface.

2-10 Getting Started

Pod Command Help

To access the emulator’s firmware resident Terminal Interface help
information, you can use the following commands.
display pod_command 
pod_command ’help m’ 

Pod Commands
Time
10:00:00 help m
m m
m
m
m
m
m
m
m
m
--b
w
m

display or modify processor memory space

- display memory at address
-d 
- display memory at address with display option
..
- display memory in specified address range
-dm ..
- display memory mnemonics in specified range
..
- display 128 byte block starting at address A
=
- modify memory at address to 
-d =
- modify memory with display option
=,
- modify memory to data sequence
..=, - fill range with repeating sequence
VALID  MODE OPTIONS --- display size is 1 byte(s)
- display size is 2 byte(s)
- display processor mnemonics

STATUS:

run

Command

M37700--Running in monitor____________________________________........

trace

step

display

modify

break

end

---ETC--

The command enclosed in string delimiters (", ’, or ^) is any Terminal
Interface command, and the output of that command is seen in the
pod_command display. The Terminal Interface help (or ?) command
may be used to provide information on any Terminal Interface
command or any of the emulator configuration options (as the example
command above shows).

Getting Started 2-11

Configuring the
Emulator

You need to configure the emulator for this tutorial. To configure the
emulator, type the following command to get into the configuration
session.
modify configuration 
Trace the following answer to configure the emulator. Details of each
question will be described later.

Micro-processor clock source? internal
Enter monitor after configuration? yes
Restrict to real-time runs? no
Reconfigure emulator? yes
Micro-processor group? 
Micro-processor type? 

Select the chip group and chip type you are going to emulate.
Appropriate chip group and chip type are listed in Table 2-1.

Note

If your processor is not listed in Table 2-1, refer to chapter 4 of this
manual for information on configuring the emulator.

Processor node? single
Modify reset value for Stack Pointer? no
Modify memory configuration?

When you are going to emulate a processor which have no internal
RAM, answer "yes" to this question, and map 100 hex through FFF hex
as emulation RAM. Refer to chapter 4 of this manual for information
on memory mapping.
When you are going to emulate a processor which have internal RAM,
answer "no" to this question.
Modify emulator pod configuration? no
Modify debug/trace options? no options? no
Modify simulated I/O configuration? no
Modify interactive measurement specification? no
Configuration file name? cmd_rds

2-12 Getting Started


Processor
||

Processor
======================================||======================================
7700M2
| M37700M2-xxxFP
||
7704M2
| M37704M2-xxxFP
|
M2AxxxFP
||
|
M2AxxxFP
| M37701M2-xxxSP
||
| M37705M2-xxxSP
|
M2AxxxSP
||
|
M2AxxxSP
------------------+-------------------||-------------------+-----------------7700M4
| M37700M4-xxxFP
||
7704M3
| M37704M3BxxxFP
|
M4AxxxFP
||-------------------+-------------------| M37701M4-xxxSP
||
7704M4
| M37704M4BxxxFP
|
M4AxxxSP
||-------------------+-------------------------------------+-------------------||
7704S1
| M37704S1FP
7700S
| M37700SFP
||
|
S1AFP
|
SAFP
||
| M37705S1SP
| M37701SSP
||
|
S1ASP
|
SASP
||-------------------+-------------------------------------+-------------------||
7710M4
| M37710M4BxxxFP
7700S4
| M37700S4FP
||-------------------+-------------------|
S4AFP
||
7710S4
| M37710S4BFP
| M37701S4SP
||-------------------+-------------------|
S4ASP
||
7720S1
| M37720S1FP
------------------+-------------------||
|
S1AFP
7702M2
| M37702M2-xxxFP
||-------------------+-------------------|
M2AxxxFP
||
7730S2
| M37730S2FP
|
M2BxxxFP
||
|
S2AFP
| M37703M2-xxxSP
||
|
S2SP
|
M2AxxxSP
||
|
S2ASP
|
M2BxxxSP
||-------------------+-------------------------------------+-------------------||
7732S4
| M37732S4FP
7702M4
| M37702M4-xxxFP
||
|
S4AFP
|
M4AxxxFP
||-------------------+-------------------|
M4BxxxFP
||
7780S
| M37780STJ
| M37703M4-xxxSP
||
|
STFP
|
M4AxxxSP
||-------------------+-------------------|
M4BxxxSP
||
7781M4
| M37781M4TxxxJ
------------------+-------------------||
|
M4TxxxFP
7702M6
| M37702M6BxxxFP
||-------------------+-------------------|
M6LxxxFP
||
7781E4
| M37781E4TxxxJ
------------------+-------------------||
|
E4TxxxFP
7702S1
| M37702S1FP
||-------------------+-------------------|
S1AFP
||
7795S
| M37795SJ
|
S1BFP
||
|
STJ
| M37703S1SP
||-------------------+-------------------|
S1ASP
||
7796E4
| M37796E4-xxxJ
|
S1BSP
||
|
E4TxxxJ
------------------+-------------------||
|
E4TxxxFP
7702S4
| M37702S4FP
||-------------------+-------------------|
S4AFP
||
|
S4BFP
||
| M37703S4SP
||
|
S4ASP
||
|
S4BSP
||

Table 2-1. Chip Group and Chip Type for Configuration

Getting Started 2-13

Loading Absolute
Files

The "load" command allows you to load absolute files into emulation
or target system memory. If you wish to load only that portion of the
absolute file that resides in memory mapped as emulation RAM or
ROM, use the "load emul_mem" syntax. If you wish to load only the
portion of the absolute file that resides in memory mapped as target
RAM, use the "load user_mem" syntax. If you want both emulation
and target memory to be loaded, do not specify "emul_mem" or
"user_mem". For example:
load cmd_rds 

Displaying
Symbols

When you load an absolute file into memory (unless you use the
"nosymbols" option), symbol information is loaded. Both global
symbols and symbols that are local to a source file can be displayed.

Global

To display global symbols, enter the following command.
display global_symbols 
Listed are: address ranges associated with a symbol.

Global symbols in cmd_rds
Static symbols
Symbol name ____________________ Address range __ Segment _____________
Cmd_Input
000100
Init
00C000
Msg_Dest
000101
Msgs
00C100

Offset
0000
0000
0001
0000

Filename symbols
Filename __________________________________________________________________
cmd_rds.a77

STATUS:
M37700--Running in monitor____________________________________...R....
display global_symbols
run

trace

2-14 Getting Started

step

display

modify

break

end

---ETC--

Local

When displaying local symbols, you must include the name of the
source file in which the symbols are defined. For example,
display local_symbols_in cmd_rds.a77:


Symbols in cmd_rds.a77:
Static symbols
Symbol name ____________________ Address range __ Segment _____________ Offset
Cear_Input
00C005
0005
Clear_Loop
00C019
0019
Clear_Output
00C015
0015
Cmd_A
00C02D
002D
Cmd_B
00C034
0034
Cmd_I
00C03B
003B
Cmd_Input
000100
0000
Init
00C000
0000
Msg_A
00C100
0000
Msg_B
00C111
0011
Msg_Dest
000101
0001
Msg_I
00C122
0022
Msgs
00C100
0000
Output
00C040
0040
Process_Cmd
00C023
0023
STATUS:
M37700--Running in monitor____________________________________...R....
display local_symbols_in cmd_rds.a77:
run

trace

step

display

modify

break

end

---ETC--

Getting Started 2-15

Displaying
Memory in
Mnemonic Format

You can display, in mnemonic format, the absolute code in memory.
To display memory in mnemonic format from the address of label Init,
enter the following command:

display memory Init mnemonic options m0x0

You need to specify the values of M flag and X flag at the staring
address of mnemonic memory display. When the inverse-assembler
encounters an instruction which changes M flag and/or X flag (SEM,
CLM, SEP X, etc..), the value set by the instruction is used to continue
disassembling memory contents.

When you use  or  key to see the previous lines of
memory display, disassembled mnemonic may not be accurate.

Note

Memory :mnemonic :file = cmd_rds.a77:
address
data
00C000 A22102
LDX #0221H
00C003 9A
TXS
00C004 F8
SEM
00C005 42A900
LDA B,#00H
00C008 428D0001
STA B,0100H
00C00C AD0001
LDA A,0100H
00C00F C900
CMP A,#00H
00C011 F0F9
BEQ 00C00CH
00C013 E210
SEP #10H
00C015 A200
LDX #00H
00C017 A020
LDY #20H
00C019 429D0101
STA B,0101H,X
00C01D E8
INX
00C01E 88
DEY
00C01F D0F8
BNE 00C019H
00C021 C210
CLP #10H
STATUS:
M37700--Running in monitor____________________________________...R....
display memory Init mnemonic options m0x0
run

trace

2-16 Getting Started

step

display

modify

break

end

---ETC--

Displaying
Memory with
Symbols

You can include symbol information in memory display.

set symbols on 

The "set" command is effective only to the window in which the
command is invoked. You need to use this command at each window.

Note

Memory :mnemonic :file = cmd_rds.a77:
address label
data
00C000
:Init
A22102
LDX
00C003
9A
TXS
00C004
F8
SEM
00C005 :Clear_Input 42A900
LDA
00C008
428D0001
STA
00C00C cmd_rds:Scan AD0001
LDA
00C00F
C900
CMP
00C011
F0F9
BEQ
00C013
E210
SEP
00C015 Clear_Output A200
LDX
00C017
A020
LDY
00C019 c:Clear_Loop 429D0101
STA
00C01D
E8
INX
00C01E
88
DEY
00C01F
D0F8
BNE
00C021
C210
CLP

#0221H
B,#00H
B,DT:0100H
A,DT:0100H
A,#00H
cmd_rds.a77:Scan
#10H
#00H
#20H
B,DT:0101H,X
cmd_r:Clear_Loop
#10H

STATUS:
M37700--Running in monitor____________________________________...R....
set symbols on
run

trace

step

display

modify

break

end

---ETC--

Getting Started 2-17

Running the
Program

The "run" command lets you execute a program in memory. Entering
the "run" command by itself causes the emulator to begin executing at
the current program counter address. The "run from" command allows
you to specify an address at which execution is to start. For example to
run the sample program from the address of Init label,
run from Init 

Note

Displaying
Memory in
Blocked Format

The run from transfer_address command is not available in the 7700
Series Softkey Interface.

You can display memory locations in blocked format. For example, to
display the Msg_Dest locations of the sample program in blocked byte
format, enter the following command.

display memory Msg_Dest repetitively blocked
bytes 

2-18 Getting Started

Modifying Memory

The sample program simulates a primitive command interpreter.
Commands are sent to the sample program through a byte sized
memory location labeled Cmd_Input. You can use the modify
memory feature to send a command to the sample program. For
example, to enter the command "A" (41 hex), use the following
command.
modify memory Cmd_Input bytes to 41h 
Or:
modify memory Cmd_Input string to ’A’

(Single character strings are allowed in expressions.)
As you can see, the memory display is automatically updated, and
shows that the "THIS IS MESSAGE A" message is written to the
destination locations.

Memory :bytes :blocked :update
address
data
:hex
000101-08
54
48
49
53
000109-10
4D
45
53
53
000111-18
41
00
00
00
000119-20
00
00
00
00
000121-28
00
00
00
00
000129-30
00
00
00
00
000131-38
00
00
00
00
000139-40
00
00
00
00
000141-48
00
00
00
00
000149-50
00
00
00
00
000151-58
00
00
00
00
000159-60
00
00
00
00
000161-68
00
00
00
00
000169-70
00
00
00
00
000171-78
00
00
00
00
000179-80
00
00
00
00

20
41
00
00
00
00
00
00
00
00
00
00
00
00
00
00

49
47
00
00
00
00
00
00
00
00
00
00
00
00
00
00

53
45
00
00
00
00
00
00
00
00
00
00
00
00
00
00

20
20
00
00
00
00
00
00
00
00
00
00
00
00
00
00

T
M
A
.
.
.
.
.
.
.
.
.
.
.
.
.

H
E
.
.
.
.
.
.
.
.
.
.
.
.
.
.

I
S
.
.
.
.
.
.
.
.
.
.
.
.
.
.

:ascii
S
I
S A G
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . .

S
E
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

STATUS:
M37700--Running user program__________________________________...R....
display memory Cmd_Input bytes to 41h
run

trace

step

display

modify

break

end

---ETC--

Getting Started 2-19

Note

Modifying/displaying internal RAM or SFR suspends user program
execution. This is because the emulator uses internal RAM and SFR of
emulation processor to perform emulation. However, you can
configure the emulator so that write cycles are performed to both
internal RAM (or SFR) and emulation memory. If you do this, you can
display the data written to emulation memory without suspending user
program execution. Refer to chapter 4 and chapter 5 of this manual for
more details.

Breaking into the
Monitor

The "break" command allows you to divert emulator execution from
the user program to the monitor. You can continue user program
execution with the "run" command. To break emulator execution from
the sample program to the monitor, enter the following command.
break 

Using Software
Breakpoints

Note

2-20 Getting Started

Software breakpoints are provided with an 7700 Series BRK
instruction. When you define or enable a software breakpoint, the
emulator will replace the opcode at the software breakpoint address
with a BRK instruction.

You must set software breakpoints only at memory locations which
contain instruction opcodes (not operands or data). If a software
breakpoint is set at a memory location which is not an instruction
opcode, the software breakpoint instruction will never be executed and
the break will never occur.

Note

Because software breakpoints are implemented by replacing opcodes
with BRK instructions, you cannot define software breakpoints in
target ROM.

Note

Software breakpoints should not be set, cleared, enabled, or disabled
while the emulator is running user code. If any of these commands are
entered while the emulator is running user code, and the emulator is
executing code in the area where the breakpoint is being modified,
program execution may be unreliable.

When software breakpoints are enabled and emulator detects a fetching
the BRK instruction, it generates a break to background request which
as with the "processor break" command. Since the system controller
knows the locations of defined software breakpoints, it can determine
whether the BRK instruction is software breakpoints or opcode in your
target program.
If it is a software breakpoint, execution breaks to the monitor,and the
BRK instruction is replaced by the original opcode. A subsequent run
or step command will execute from this address.
If the BRK instruction is opcode of your target program, execution still
breaks to the monitor, and an "Undefined software breakpoint" status
message is displayed.
When software breakpoints are disabled, the emulator replaces the
special code with the original opcode.
Up to 32 software breakpoints may be defined.

Getting Started 2-21

Enabling/Disabling
Software Breakpoints

When you initially enter the Softkey Interface, software breakpoints
are disabled. To enable the software breakpoints feature, enter the
following command.
modify software_breakpoints enable 
When software breakpoints are enabled and you set a software
breakpoint, the 7700 BRK instruction will be placed at the address
specified. When the BRK instruction is executed, program execution
will break into the monitor.

Setting a Software
Breakpoint

To set a software breakpoint at the address of the Cmd_I label, enter
the following command.
modify software_breakpoints set
cmd_rds.a77:Clear_Output 
Notice that when using local symbols in expressions, the source file in
which the local symbol is defined must be included.
After the software breakpoint has been set, enter the following
commands to display memory and see if the software breakpoint was
correctly inserted.
display memory Init mnemonic options m0x0


Memory :mnemonic :file = cmd_rds.a77:
address label
data
00C000
:Init
A22102
LDX
00C003
9A
TXS
00C004
F8
SEM
00C005 :Clear_Input 42A900
LDA
00C008
428D0001
STA
00C00C cmd_rds:Scan AD0001
LDA
00C00F
C900
CMP
00C011
F0F9
BEQ
00C013
E210
SEP
*
00C015 Clear_Output 0000
BRK
00C017
A020
LDY
00C019 c:Clear_Loop 429D0101
STA
00C01D
E8
INX
00C01E
88
DEY
00C01F
D0F8
BNE
00C021
C210
CLP

#0221H
B,#00H
B,0100H
A,0100H
A,#00H
cmd_rds.a77:Scan
#10H
#20H
B,0101H,X
cmd_r:Clear_Loop
#10H

STATUS:
M37700--Running in monitor____________________________________...R....
display memory Init mnemonic options m0x0
run

trace

2-22 Getting Started

step

display

modify

break

end

---ETC--

As you can see, the software breakpoint is shown in the memory
display with an asterisk, and the instruction at the address is replaced
with a BRK instruction.

Note

When a software breakpoint is inserted, the mnemonic in memory
display may not be accurate.

Enter the following command to run the sample program again.
run from Init 
Now, modify the command input byte to an invalid command for the
sample program.
modify memory Cmd_Input bytes to 75h 
You will see the address field of a line is inversed. The inversed
address field shows that the Program Counter is now at the address.
A message on the status line shows that the software breakpoint has
been hit. The status line also shows that the emulator is now executing
in the monitor.
When software breakpoints are hit, they become inactivated. To
reactive the breakpoint so that is "pending", you must reenter the
"modify software_breakpoints set" command.

Clearing a Software
Breakpoint

To remove software breakpoint defined above, enter the following
command.
modify software_breakpoints clear
cmd_rds.a77:Clear_Output 
The breakpoint is removed from the list, and the original opcode is
restored if the breakpoint was pending.
To clear all software breakpoints, you can enter the following
command.
modify software_breakpoints clear 

Getting Started 2-23

Stepping Through
the Program

The step command allows you to step through program execution an
instruction or a number of instructions at a time. Also, you can step
from the current program counter or from a specific address. To step
through the example program from the address of the software
breakpoint set earlier, enter the following command.
step , , , ...
You will see the inverse-video moves according to the step execution.
You can continue to step through the program just by pressing the
 key; when a command appears on the command line, it
may be entered by pressing .

Note

Displaying
Registers

When the emulator performs step execution, all memory access is
performed by byte access.

Enter the following command to display registers. You can display the
basic registers class, or an individual register.
display registers 

2-24 Getting Started

Registers
Next_PC 00C01D
PC C01D PG 00
A 0075 B 0000

DT 00
X 0200

SP 0221
Y 0120

PS 0031
DPR 0000

<..mx...c>

STATUS:
M37700--Stepping complete_____________________________________........
display registers
run

trace

step

display

modify

break

end

---ETC--

Following list shows the register names and class that may be used
with the "display registers" commands.
Register Name

Description

PC
PG
DT
SP
PS
A
B
X
Y
DPR

Program Counter
Program Bank Register
Data Bank Register
Stack Pointer
Processor Status Register
Accumulator A
Accumulator B
Index Register X
Index Register Y
Direct Page Register

When you enter the "step" command with registers displayed, the
register display is updated every time you enter the "step" command.
step , , 

Getting Started 2-25

Registers
Next_PC 00C01D
PC C01D PG 00
A 0075 B 0000

DT 00
X 0200

SP 0221
Y 0120

PS 0031
DPR 0000

<..mx...c>

Step_PC 00C01D INX
Next_PC 00C01E
PC C01E PG 00
DT 00
A 0075 B 0000 X 0201

SP 0221
Y 0120

PS 0031
DPR 0000

<..mx...c>

Step_PC 00C01E DEY
Next_PC 00C01F
PC C01F PG 00
DT 00
A 0075 B 0000 X 0201

SP 0221
Y 011F

PS 0031
DPR 0000

<..mx...c>

STATUS:
step
run

M37700--Stepping complete_____________________________________........

trace

step

display

modify

break

end

---ETC--

Enter the following command to cause sample program execution to
continue from the current program counter.
run 

Using the Analyzer

Specifying a Simple
Trigger

HP 64700 emulators contain an emulation analyzer. The emulation
analyzer monitors the internal emulation lines (address, data, and
status). Optionally, you may have an additional 16 trace signals which
monitor external input lines. The analyzer collects data at each pulse
of a clock signal, and saves the data (a trace state) if it meets a "storage
qualification" condition.
Suppose you want to trace program execution after the point at which
the sample program execute the Cmd_A routine. To do this The
following command makes this trace specification.
trace after cmd_rds.a77:Cmd_A status
exec

2-26 Getting Started

The message "Emulation trace started" will appear on the status line.
Now, modify the command input byte to "A" with the following
command.
modify memory Cmd_Input bytes to 41h 
The status line now shows "Emulation trace complete".

Displaying the Trace

The trace listings which follow are of program execution on the 7700
Series emulator. To display the trace, enter:
display trace 

Trace List
Label:
Address
Base:
symbols
after cmd_rds.a7:Cmd_A
+001
:cmd_rds:+00002E
+002
:cmd_rds:+00002F
+003
:cmd_rds:+000030
+004
:cmd_rds:+000032
+005
:cmd_rds:+000032
+006
cmd_rds.a7:Cmd_B
+007
cmd_rds.a:Output
+008
cmd_rds.a:Output
+009
:cmd_rds:+000042
+010
:cmd_rds:+000043
+011
:cmd_rds:+000044
+012
:cmd_rds:+000046
+013
:Msgs
+014
:Msg_Dest

Offset=0
Data
Opcode or Status
hex
mnemonic w/symbols
A9FF INSTRUCTION--opcode unavailable
A211
A211H opcode fetch
mx
A211 LDX #C100H
C100
C100H opcode fetch
0C80
0C80H opcode fetch
0C80 BRA cmd_rds.a:Output
11A9
11A9H opcode fetch
01A0
01A0H opcode fetch
01A0 LDY #0101H
5401
5401H opcode fetch
5401 MVN 00H,00H
0000
0000H opcode fetch
mx
BD80
BD80H opcode fetch
mx
4854
4854H data read
mx
5454
54xxH data write
mx

STATUS:
M37700--Running user program
display trace
run

trace

step

display

time count
relative
-----------6.00 uS
2.0
uS
6.00 uS
8.00 uS
2.0
uS
6.00 uS
8.00 uS
2.0
uS
6.00 uS
2.0
uS
6.00 uS
8.00 uS
10.0
uS
8.00 uS

Emulation trace complete______...R....

modify

break

end

---ETC--

Line 0 (labeled "after") in the trace list above shows the state which
triggered the analyzer. The trigger state is always on line 0. To list the
next lines of the trace, press the  or  key.

Getting Started 2-27

Trace List
Label:
Address
Base:
symbols
+015
:cmd_rds:+000002
+016
:cmd_rds:+000002
+017
:cmd_rds:+000003
+018
:cmd_rds:+000004
+019
:cmd_rds:+000004
+020
:cmd_rds:+000005
+021
:cmd_rds:+000006
+022
:cmd_rds:+000006
+023
:cmd_rds:+000007
+024
:cmd_rds:+000008
+025
:cmd_rds:+000008
+026
:cmd_rds:+000009
+027
:cmd_rds:+00000A
+028
:cmd_rds:+00000A
+029
:cmd_rds:+00000B

Offset=0
Data
hex
5448
5349
4949
4953
4920
2020
2049
2053
5353
5320
454D
4D4D
4D45
5353
5353

STATUS:
M37700--Running user program
display trace
run

trace

step

display

Opcode or Status
mnemonic w/symbols
xx48H data write
5349H data read
49xxH data write
xx53H data write
4920H data read
20xxH data write
xx49H data write
2053H data read
53xxH data write
xx20H data write
454DH data read
4DxxH data write
xx45H data write
5353H data read
53xxH data write

mx
mx
mx
mx
mx
mx
mx
mx
mx
mx
mx
mx
mx
mx
mx

time count
relative
4.00 uS
8.00 uS
8.00 uS
4.00 uS
8.00 uS
8.00 uS
4.00 uS
8.00 uS
8.00 uS
4.00 uS
8.00 uS
8.00 uS
4.00 uS
8.00 uS
8.00 uS

Emulation trace complete______........

modify

break

end

---ETC--

The resulting display shows MVN instruction moves the "THIS IS
MESSAGE A" message to the destination locations.
To list the previous lines of the trace, press the  or 
key.

Displaying Trace with
Time Count Absolute

Enter the following command to display count information relative to
the trigger state.
display trace count absolute 

2-28 Getting Started

Trace List
Label:
Address
Base:
symbols
+015
:cmd_rds:+000002
+016
:cmd_rds:+000002
+017
:cmd_rds:+000003
+018
:cmd_rds:+000004
+019
:cmd_rds:+000004
+020
:cmd_rds:+000005
+021
:cmd_rds:+000006
+022
:cmd_rds:+000006
+023
:cmd_rds:+000007
+024
:cmd_rds:+000008
+025
:cmd_rds:+000008
+026
:cmd_rds:+000009
+027
:cmd_rds:+00000A
+028
:cmd_rds:+00000A
+029
:cmd_rds:+00000B

Offset=0
Data
hex
5448
5349
4949
4953
4920
2020
2049
2053
5353
5320
454D
4D4D
4D45
5353
5353

STATUS:
M37700--Running user program
display trace count absolute
run

trace

step

Changing the Trace
Depth

display

Opcode or Status
mnemonic w/symbols
xx48H data write
5349H data read
49xxH data write
xx53H data write
4920H data read
20xxH data write
xx49H data write
2053H data read
53xxH data write
xx20H data write
454DH data read
4DxxH data write
xx45H data write
5353H data read
53xxH data write

mx
mx
mx
mx
mx
mx
mx
mx
mx
mx
mx
mx
mx
mx
mx

+
+
+
+
+
+
+
+
+
+
+
+
+
+
+

time count
absolute
84.0
uS
92.0
uS
100.
uS
104.
uS
112.
uS
120.
uS
124.
uS
132.
uS
140.
uS
144.
uS
152.
uS
160.
uS
164.
uS
172.
uS
180.
uS

Emulation trace complete______...R....

modify

break

end

---ETC--

The default states displayed in the trace list is 256 states. To change
the number of states, use the "display trace depth" command.
display trace depth 512 
You can see the states more than 256 states by using the above
command.

Using the Storage
Qualifier

You can use storage qualifier to trace only states with specific
conditions. Suppose that you would like to trace only states which
write the messages to the Msg_Dest area. To accomplish this, you can
use the "trace only" command like following.
trace after Msg_Dest status write only range
Msg_Dest thru +20h status write 
Only accesses to address Msg_Dest through Msg_Dest+20h will be
stored in the trace buffer.
Modify the command input byte with the following command, and
display trace display with time count relative.
modify memory Cmd_Input bytes to 41h 
display trace count relative 

Getting Started 2-29

Trace List
Label:
Address
Base:
symbols
after
:Msg_Dest
+001
:cmd_rds:+000002
+002
:cmd_rds:+000003
+003
:cmd_rds:+000004
+004
:cmd_rds:+000005
+005
:cmd_rds:+000006
+006
:cmd_rds:+000007
+007
:cmd_rds:+000008
+008
:cmd_rds:+000009
+009
:cmd_rds:+00000A
+010
:cmd_rds:+00000B
+011
:cmd_rds:+00000C
+012
:cmd_rds:+00000D
+013
:cmd_rds:+00000E
+014
:cmd_rds:+00000F

Offset=0
Data
hex
0088
D000
0088
D000
0088
D000
0088
D000
0088
D000
0088
D000
0088
D000
0088

STATUS:
M37700--Running user program
display trace count relative

7700 Series Analysis
Status Qualifiers

Qualifier
backgrnd
byte
cpu
data
dma
exec
fetch
foregrnd
hold
mx
read
ref

2-30 Getting Started

xxxx
1x1x
xxxx
10xx
xxxx
01xx
11x1
xxxx
xxxx
xxxx
1xx1
xxxx

mx
mx
mx
mx
mx
mx
mx
mx
mx
mx
mx
mx
mx
mx
mx

time count
relative
-----------56.00 uS
56.00 uS
56.00 uS
56.00 uS
56.00 uS
56.00 uS
56.00 uS
56.00 uS
56.00 uS
56.00 uS
56.00 uS
56.00 uS
56.00 uS
56.00 uS

Emulation trace started_______........

The status qualifier "write" was used in the example trace command
used above. The following analysis status qualifiers may also be used
with the 7700 Series emulator.

Status bits (40..47)
x1xx
xx1x
xx11
xx1x
xx10
xx11
xx11
x0xx
xx01
1xxx
xx1x
xx00

Opcode or Status
mnemonic w/symbols
00xxH data write
xx00H data write
00xxH data write
xx00H data write
00xxH data write
xx00H data write
00xxH data write
xx00H data write
00xxH data write
xx00H data write
00xxH data write
xx00H data write
00xxH data write
xx00H data write
00xxH data write

Description
Background cycle
Byte access
CPU cycle
Data access
DMA cycle
Execution Cycle
Fetch cycle
Foreground cycle
HOLD cycle
Value of MX signal
Read cycle
Refresh cycle

Restriction of the
Analyzer

The following section describes restrictions of the analyzer of the 7700
Series emulator.

Trace of Internal RAM

The HP 64146A/B emulator cannot trace data which is read from
internal RAM or SFR. Such data always appears FF hex in the trace
listing. This is because the emulator uses the internal RAM and SFR of
the emulation processor to perform emulation. Data read from internal
RAM or SFR does not appear on the data bus.
As an example, trace the accesses to the Cmd_Input.
trace after cmd_rds.a77:Scan status exec


Trace List
Label:
Address
Base:
symbols
after cmd_rds.a77:Scan
+001
:cmd_rds:+00000E
+002
:Cmd_Input
+003
:cmd_rds:+00000F
+004
:cmd_rds:+000010
+005
:cmd_rds:+000011
+006
:cmd_rds:+000012
+007
:cmd_rds:+000014
+008
cmd_rds.a77:Scan
+009
cmd_rds.a77:Scan
+010
:cmd_rds:+00000E
+011
:Cmd_Input
+012
:cmd_rds:+00000F
+013
:cmd_rds:+000010
+014
:cmd_rds:+000011

Offset=0
Data
Opcode or Status
hex
mnemonic w/symbols
00AD INSTRUCTION--opcode unavailable
C901
C901H opcode fetch
mx
FFFF
xxFFH data read
mx
FFFF CMP A,#00H
F000
F000H opcode fetch
mx
F000 BEQ cmd_rds.a77:Scan
E2F9
E2F9H opcode fetch
A210
A210H opcode fetch
00AD
00ADH opcode fetch
00AD LDA A,DT::Cmd_Input
C901
C901H opcode fetch
mx
FFFF
xxFFH data read
mx
FFFF CMP A,#00H
F000
F000H opcode fetch
mx
F000 BEQ cmd_rds.a77:Scan

STATUS:
M37700--Running user program
trace after cmd_rds.a77:Scan
run

trace

step

display

time count
relative
-----------6.00 uS
4.00 uS
2.0
uS
6.00 uS
2.0
uS
6.00 uS
8.00 uS
8.00 uS
2.0
uS
6.00 uS
4.00 uS
2.0
uS
6.00 uS
2.0
uS

Emulation trace complete______...R....

modify

break

end

---ETC--

As you can see in line 11 of the trace listing, data read from internal
RAM (which should be 00 hex) appears FF hex.

For a Complete
Description

For a complete description of using the HP 64700 Series analyzer with
the Softkey Interface, refer to the Analyzer Softkey Interface User’s
Guide.

Getting Started 2-31

Exiting the
Softkey Interface

End Release System

There are several options available when exiting the Softkey Interface:
exiting and releasing the emulation system, exiting with the intent of
reentering (continuing), exiting locked from multiple emulation
windows, and exiting (locked) and selecting the measurement system
display or another module.
To exit the Softkey Interface, releasing the emulator so that other users
may use the emulator, enter the following command.
end release_system 

Ending to Continue
Later

You may also exit the Softkey Interface without specifying any
options; this causes the emulator to be locked. When the emulator is
locked, other users are prevented from using it and the emulator
configuration is saved so that it can be restored the next time you enter
(continue) the Softkey Interface.
end 

Ending Locked from
All Windows

When using the Softkey Interface from within window systems, the
"end" command with no options causes an exit only in that window.
To end locked from all windows, enter the following command.
end locked 
This option only appears when you enter the Softkey Interface via the
emul700 command. When you enter the Softkey Interface via pmon
and MEAS_SYS, only one window is permitted.
Refer to the Softkey Interface Reference manual for more information
on using the Softkey Interface with window systems.

Selecting the
Measurement System
Display or Another
Module

When you enter the Softkey Interface via pmon and MEAS_SYS, you
have the option to select the measurement system display or another
module in the measurement system when exiting the Softkey Interface.
This type of exit is also "locked"; that is, you can continue the
emulation session later. For example, to exit and select the
measurement system display, enter the following command.
end select measurement_system 
This option is not available if you have entered the Softkey Interface
via the emul700 command.

2-32 Getting Started

3
"In-Circuit" Emulation
Introduction

The emulator is in-circuit when it is plugged into the target system.
This chapter covers topics which relate to in-circuit emulation.
This chapter will:
Describe the issues concerning the installation of the emulator
probe into target systems.
Show you how to install the emulator probe.
Show you how to use features related to in-circuit emulation.

Prerequisites

Before performing the tasks described in this chapter, you should be
familiar with how the emulator operates in general. Refer to the HP
64700 Emulators: System Overview manual and the
"Getting Started" chapter of this manual.

In-Circuit Emulation 3-1

Installing the
Target System
Probe
Caution

Caution

Caution

Note

3-2 In-Circuit Emulation

POSSIBLE DAMAGE TO THE EMULATOR PROBE. The
emulation probe contains devices that are susceptible to damage by
static discharge. Therefore, precautionary measures should be taken
before handling the microprocessor connector attached to the end of
the probe cable to avoid damaging the internal components of the
probe by static electricity.

POSSIBLE DAMAGE TO THE EMULATOR. Make sure target
system power is OFF before installing the emulator probe into the
target system. Do not install the emulator probe into the processor
socket with power applied to the target system.

DAMAGE TO THE EMULATOR WILL RESULT IF THE PROBE IS
NOT INSTALLED CORRECTLY. Make sure pin 1 of probe
connector is aligned with pin 1 of the socket. When installing the
emulation probe, be sure that the probe is installed into the processor
socket so that pin 1 of the connector aligns with pin 1 of the socket.

When you use the emulator in-circuit, turn ON the target system first,
then turn ON the emulator. Likewise, turn OFF your target system
first, then turn OFF the emulator.

In-Circuit
Configuration
Options

The 7700 Series emulator provides configuration options for the
following in-circuit emulation issues.
Refer to the "Configuring the Emulator" for more information on these
configuration options.

Using the Target System Clock Source
You can configure the emulator to use the external target system clock
source.

Note

Your target system must have a clock generation circuit. The
emulation pod cannot generate clock signal using a ceramic (or quartz
crystal) resonator.

Target Memory Access Size
You can configure the emulator to access target system memory by
byte access or word access to perform emulation commands.
Respond to Target System Interrupts
You can configure the emulator whether or not the emulator responds
to interrupt signals from the target system during foreground operation.

Note

You may need to set up switches inside the emulation pod to accept
target system interrupt signals. Refer to the manual provided with your
emulation pod.

In-Circuit Emulation 3-3

Notes

3-4 In-Circuit Emulation

4
Configuring the Emulator
Introduction

Your 7700 Series emulator can be used in all stages of target system
development. For instance, you can run the emulator out-of-circuit
when developing your target system software, or you can use the
emulator in-circuit when integrating software with target system
hardware. You can use the emulator’s internal clock or the target
system clock. Emulation memory can be used in place of, or along
with, target system memory. You can execute target programs in
real-time or allow emulator execution to be diverted into the monitor
when commands request access of target system resources (target
system memory, register contents, etc).
The emulator is a flexible instrument and may be configured to suit
your needs at any stage of the development process. This chapter
describes the options available when configuring the HP 64146A/B
emulator.
The configuration options are accessed with the following command.
modify configuration 
After entering the command above, you will be asked questions
regarding the emulator configuration. The configuration questions are
listed below and grouped into the following classes.
General Emulator Configuration:
– Specifying the emulator clock source (internal/external).
– Selecting monitor entry after configuration.
– Restricting to real-time execution.

Configuring the Emulator 4-1

Emulator Reconfiguration:
– Selecting microprocessor to be emulated.
– Selecting CPU operation mode.
– Defining the reset value of the stack pointer.
Memory Configuration:
– Enabling the high speed access mode
– Selecting the background or foreground emulation
monitor.
– Mapping memory.
Emulator Pod Configuration:
– Selecting target memory access data size.
– Enabling interrupts from the target system.
– Enabling watch dog timer.
Debug/Trace Configuration:
– Enabling breaks on writes to ROM.
– Enabling tracing refresh cycles.
– Enabling tracing DMA cycles.
– Enabling tracing HOLD/HLDA cycles.
– Enabling 16bit symbol display.
– Defining the DT register value for symbol display.
Simulated I/O Configuration: Simulated I/O is described in the
Simulated I/O reference manual.
Interactive Measurement Configuration: See the chapter on
coordinated measurements in the Softkey Interface Reference manual.

4-2 Configuring the Emulator

External Analyzer Configuration: See the Analyzer Softkey
Interface User’s Guide.

General Emulator
Configuration
Micro-processor
clock source?

The configuration questions described in this section involve general
emulator operation.

This configuration question allows you to select whether the emulator
will be clocked by the internal clock source or by a target system clock
source.
internal

Selects the internal clock oscillator as the emulator
clock source. The internal clock is provided from
the emulation pod. In the case of HP 64146-61001
or HP 64146-61602 emulation pod, the clock speed
is 1 MHz. When you use an emulation pod with
clock faster than 16 MHz, you need to select the
high speed access mode to run the emulator with no
wait state. If the high speed access mode is not
selected, one wait state is inserted by the emulator.

external

Selects the clock input to the emulator probe from
the target system. You must use a clock input
conforming to the specifications for the 7700 Series
microprocessor. The HP 64146A/B emulator runs
with no wait state with target system clock up to 16
MHz. When clock is faster than 16 MHz, you need
to select the high speed access mode to run the
emulator with no wait state. If the high speed
access mode is not selected, one wait state is
inserted by the emulator.

Configuring the Emulator 4-3

Note

Your target system must have a clock generation circuit. The
emulation pod cannot generate clock signal using a ceramic (or quartz
crystal) resonator.

Note

Changing the clock source drives the emulator into the reset state. The
emulator may later break into the monitor depending on how the
following "Enter monitor after configuration?" question is answered.

Enter monitor after
configuration?

This question allows you to select whether the emulator will be running
in the monitor or held in the reset state upon completion of the
emulator configuration.
How you answer this configuration question is important in some
situations. For example, when the external clock has been selected and
the target system is turned off, reset to monitor should not be selected;
otherwise, configuration will fail.
When an external clock source is specified, this question becomes
"Enter monitor after configuration (using external clock)?" and the
default answer becomes "no".

4-4 Configuring the Emulator

yes

When reset to monitor is selected, the emulator will
be running in the monitor after configuration is
complete. If the reset to monitor fails, the previous
configuration will be restored.

no

After the configuration is complete, the emulator
will be held in the reset state.

Restrict to real-time
runs?

The "restrict to real-time" question lets you configure the emulator so
that commands which cause the emulator to break to monitor and
return to the user program are refused.
no

All commands, regardless of whether or not they
require a break to the emulation monitor, are
accepted by the emulator.

yes

When runs are restricted to real-time and the
emulator is running the user program, all
commands that cause a break (except "reset",
"break", "run", and "step") are refused. For
example, the following commands are not allowed
when runs are restricted to real-time:
Display/modify registers.
Display/modify internal RAM or SFR.
Display/modify target system memory.
Load/store target system memory

Caution

Emulator
Reconfiguration

If your target system circuitry is dependent on constant execution of
program code, you should restrict the emulator to real-time runs. This
will help insure that target system damage does not occur. However,
remember that you can still execute the "reset", "break", and "step"
commands; you should use caution in executing these commands.

The emulator reconfiguration questions allows you to reconfigure the
emulator for your system. Type of the processor, processor operation
mode and reset value for the stack pointer will be configured here. To
access the emulator reconfiguration questions, you must answer "yes"
to the following question.
Reconfigure emulator?

Configuring the Emulator 4-5

Micro-processor
group?

This configuration item allows you to select the processor you are
going to emulate.

7700

When you are going to emulate M37700xx or
M37701xx, select this item.

7702

When you are going to emulate M37702xx or
M37703xx, select this item.

7704

When you are going to emulate M37704xx or
M37705xx, select this item.

7720

When you are going to emulate M37720xx or
M37710xx,select this item.

7730

When you are going to emulate M37730xx or
M37732xx, select this item.

7790

When you are going to emulate M37795xx,
M37796xx, M37780xx or M37781xx, select this
item.
When you select one of these groups, you will see the following
question.
Micro-processor type (xxxx group)?
Select the chip you are going to emulate.

Note

If your processor is not included in the above groups, select "other" in
this question and answer to the following questions.

Usually, the previous question set up internal memory addresses
automatically. However, when your processor is not supported by the
previous question, you must configure the following questions by
yourself.

4-6 Configuring the Emulator


Processor
||

Processor
======================================||======================================
7700M2
| M37700M2-xxxFP
||
7704M2
| M37704M2-xxxFP
|
M2AxxxFP
||
|
M2AxxxFP
| M37701M2-xxxSP
||
| M37705M2-xxxSP
|
M2AxxxSP
||
|
M2AxxxSP
------------------+-------------------||-------------------+-----------------7700M4
| M37700M4-xxxFP
||
7704M3
| M37704M3BxxxFP
|
M4AxxxFP
||-------------------+-------------------| M37701M4-xxxSP
||
7704M4
| M37704M4BxxxFP
|
M4AxxxSP
||-------------------+-------------------------------------+-------------------||
7704S1
| M37704S1FP
7700S
| M37700SFP
||
|
S1AFP
|
SAFP
||
| M37705S1SP
| M37701SSP
||
|
S1ASP
|
SASP
||-------------------+-------------------------------------+-------------------||
7710M4
| M37710M4BxxxFP
7700S4
| M37700S4FP
||-------------------+-------------------|
S4AFP
||
7710S4
| M37710S4BFP
| M37701S4SP
||-------------------+-------------------|
S4ASP
||
7720S1
| M37720S1FP
------------------+-------------------||
|
S1AFP
7702M2
| M37702M2-xxxFP
||-------------------+-------------------|
M2AxxxFP
||
7730S2
| M37730S2FP
|
M2BxxxFP
||
|
S2AFP
| M37703M2-xxxSP
||
|
S2SP
|
M2AxxxSP
||
|
S2ASP
|
M2BxxxSP
||-------------------+-------------------------------------+-------------------||
7732S4
| M37732S4FP
7702M4
| M37702M4-xxxFP
||
|
S4AFP
|
M4AxxxFP
||-------------------+-------------------|
M4BxxxFP
||
7780S
| M37780STJ
| M37703M4-xxxSP
||
|
STFP
|
M4AxxxSP
||-------------------+-------------------|
M4BxxxSP
||
7781M4
| M37781M4TxxxJ
------------------+-------------------||
|
M4TxxxFP
7702M6
| M37702M6BxxxFP
||-------------------+-------------------|
M6LxxxFP
||
7781E4
| M37781E4TxxxJ
------------------+-------------------||
|
E4TxxxFP
7702S1
| M37702S1FP
||-------------------+-------------------|
S1AFP
||
7795S
| M37795SJ
|
S1BFP
||
|
STJ
| M37703S1SP
||-------------------+-------------------|
S1ASP
||
7796E4
| M37796E4-xxxJ
|
S1BSP
||
|
E4TxxxJ
------------------+-------------------||
|
E4TxxxFP
7702S4
| M37702S4FP
||-------------------+-------------------|
S4AFP
||
|
S4BFP
||
| M37703S4SP
||
|
S4ASP
||
|
S4BSP
||

Figure 4-1. Chip Group and Type for Configuration

Configuring the Emulator 4-7

SFR area start address?
SFR area end address?
Second SFR area start address?
Second SFR area end address?
Specify the start address and end address of internal SFR of your
processor. These addresses can be defined on 16 byte boundaries.
If your processor has only one SFR area, specify the same value as the
first one for the "Second SFR ..." questions.
Internal RAM area start address?
Internal RAM area end address?
Second internal RAM area start address?
Second internal RAM area end address?
Specify the start address and end address of internal RAM of your
processor. These addresses can be specified on 16 byte boundaries. If
your processor has no internal RAM, enter 0 as start address and end
address of internal RAM area. If your processor has only one SFR
area, specify the same value as the first one for the "Second internal
RAM ..." questions.
Internal ROM area start address?
Internal ROM area end address?
Specify the start address and end address of internal ROM of your
processor. These addresses can be defined on 16 byte boundaries. If
your processor has no internal ROM, enter 0 as start address and end
address of internal ROM area.
Processor mode register address?
Specify the address of processor mode register. This is needed to
manage processor operation modes.

4-8 Configuring the Emulator

Processor mode?

Note

Modify value for
Stack Pointer (SP)?

This configuration defines operation mode of the processor.
single

The emulator will operate in single-chip mode.

expand8

The emulator will operate in memory expansion
mode with 8 bit data width.

expand16

The emulator will operate in memory expansion
mode with 16 bit data width.

proc8

The emulator will operate in microprocessor mode
with 8 bit data width.

proc16

The emulator will operate in microprocessor mode
with 16 bit data width.

You may need to set up a switch inside the emulation pod in addition
to this configuration. Refer to the manual provided with your
emulation pod.

Reset value for the stack pointer is automatically set up to the end of
internal RAM area. When the processor you select has no internal
RAM, it is set up to FFF hex. If you would like to change the value,
answer "yes" to this question.
Reset value for Stack Pointer (SP)?
This question allows you to specify the value to which the stack pointer
(SP) will be set on entrance to the emulation monitor initiated RESET
state. The address specified in response to this question must be a
16-bit hexadecimal address.
This address should be defined in RAM area (internal RAM, target
RAM or emulation RAM) which is not used by user program. When
the emulator breaks to the background monitor, the background
monitor uses 5 bytes of stack area.

Configuring the Emulator 4-9

Caution

Memory
Configuration

Without a stack pointer, the emulator is unable to make the transition to
the run state, step or perform many other emulation functions.

The memory configuration questions allows you to select the monitor
type and to map memory. To access the memory configuration
questions, you must answer "yes" to the following question.
Modify memory configuration?

Is speed of input
clock faster than
16 MHz?

This question allows you to configure the emulator for clock
(internal/external) faster than 16 MHz.

no

When the clock speed is equal or slower than
16 MHz, select this answer. The emulator runs
with no wait state.

yes

When the clock speed is faster than 16 MHz, select
this answer. You will be asked the following
question.

Enable high speed access mode for emulation memory?
When clock speed is faster than 16 MHz, the emulator can run with no
wait state by selecting the "high speed access mode." If you don’t
select the high speed access mode, the emulator inserts one wait state.

4-10 Configuring the Emulator

yes

Enables the high speed access mode of the
emulator. In the high speed access mode:
The emulator can run with no wait state up to 25 MHz.
you can map the emulation memory only to the
following address ranges.
Memory
128K
128K
512K
512K
1M
1M
2M
2M

no

Monitor
Background
Foreground
Background
Foreground
Background
Foreground
Background
Foreground

Available location
000000H-01F7FFH
000000H-01FFFFH
000000H-07F7FFH
000000H-07FFFFH
000000H-0FF7FFH
000000H-0FFFFFH
000000H-1FF7FFH
000000H-1FFFFFH

Select the normal mode. In the normal mode:
You can define up to 16 different map terms which
can be placed wherever you like. (Refer to "Mapping
memory" section in this chapter.)
The emulator generates the /RDY signal, and inserts
one wait state for all memory access.

Note

Monitor type?

Changing this configuration will reset the memory map,

The monitor type configuration question allows you to choose between
a foreground monitor (which is supplied with the emulation software
but must be assembled, linked, converted, and loaded into emulation
memory) or the background monitor (which resides in the emulator).
The emulation monitor is a program that is executed by the emulation
processor. It allows the emulation system controller to access target

Configuring the Emulator 4-11

system resources. For example, when you enter a command that
requires access to target system resources, say a command to display
target system memory, the system controller writes a command code to
the monitor communications area and breaks execution of the
emulation processor from the user program into the monitor program.
The monitor program then reads the command from the
communications area and executes the 7700 Series instructions which
read the contents of the target system memory locations. After the
monitor has completed its task, execution returns to the user program.
The background monitor, resident in the emulator, offers the greatest
degree of transparency to your target system (that is, your target system
should generally be unaffected by monitor execution). However, in
some cases you may require an emulation monitor tailored to the
requirements of your system. In this case, you will need to use a
foreground monitor linked into your program modules. See the "Using
the Foreground Monitor" appendix for more information on foreground
monitors.
background

Selects the use of the background monitor. When
you select the background monitor and the current
monitor type is "foreground", you are asked the
following question.

Reset map (change of monitor type requires map reset)?
This question must be answered "yes" to change the monitor type.
foreground

Specifies that a foreground monitor will be used.
Foreground monitor programs are shipped with the
Softkey Interface. When you select a foreground
monitor, you will be asked additional questions.

Reset map (change of monitor type requires map reset)?
This question must be answered "yes" or else the foreground monitor
will not be selected.

4-12 Configuring the Emulator

Monitor address?
The default configuration specifies a monitor address of 0b800 hex.
The monitor base address must be located on a 2K byte boundary other
than internal RAM and Special Function Register area; otherwise,
configuration will fail.
Monitor filename?
This question allows you to specify the name of the foreground
monitor program absolute file. Remember that the foreground monitor
must already be assembled and linked starting at the 2K byte boundary
specified for the previous "Monitor address?" question.
The monitor program will be loaded after you have answered all the
configuration questions; therefore, you should not link the foreground
monitor to the user program. If it is important that the symbol database
contain both monitor and user program symbols, you can create a
different absolute file in which the monitor and user program are
linked. Then, you can load this file after configuration.

Mapping memory

The emulation memory consists of 128K/512K/1M/2M bytes,
mappable in 256 byte blocks. You can define up to 16 different map
terms.
The memory mapper allows you to characterize memory locations. It
allows you specify whether a certain range of memory is present in the
target system or whether you will be using the emulation memory for
that address range. You can also specify whether the target system
memory is ROM or RAM, and you can specify that emulation memory
be treated as ROM or RAM.

Note

You cannot map Internal RAM and SFR as guarded.

Configuring the Emulator 4-13

Note

Caution

Target system accesses to emulation memory are not allowed. Target
system devices that take control of the bus (for example, external DMA
controller) cannot access emulation memory.

The default emulator configuration maps location C000 hex through
FFFF hex as emulation ROM. This must be needed when you use the
7700 Series internal ROM. You don’t have to map internal RAM area
since the emulator uses internal RAM of the emulation processor.
When you answered "yes" to the
"Reset map (change of monitor type requires map reset)?"
question , you must map again for memory space where internal ROM
is located as emulation ROM.

Blocks of memory can also be characterized as guarded memory.
Guarded memory accesses will generate "break to monitor" requests.
Writes to ROM will generate "break to monitor" requests if the "Enable
breaks on writes to ROM?" configuration item is enabled (see the
"Debug/Trace Configuration" section which follows).
To map memory for the sample program, enter the following mapper
commands:
delete all 
0c000h thru 0ffffh emulation rom 
end 
When mapping memory for your target system programs, you may
wish to characterize emulation memory locations containing programs
and constants (locations which should not be written to) as ROM. This
will prevent programs and constants from being written over
accidentally, and will cause breaks when instructions attempt to do so.

4-14 Configuring the Emulator

Note

You should map all memory ranges used by your programs before
loading programs into memory. This helps safeguard against loads
which accidentally overwrite earlier loads if you follow a map/load
procedure for each memory range.

Internal RAM and SFR
The emulator uses internal RAM of emulation processor to emulate
user program. When you direct the emulator to display the contents of
internal RAM or SFR area, the emulator breaks to the monitor and the
monitor program reads the contents of memory. Therefore, execution
of user program is suspended to perform your direction. However, you
can configure the emulator so that write cycles are performed to both
internal RAM (or SFR) and emulation memory. In this case, you can
display the data written to emulation memory without suspending
program execution.
To use this feature, you need to map these area to emulation RAM
(eram). When you do this, you can display the contents of emulation
memory with "display memory" command without suspending user
program execution. You still can display the contents of internal RAM
by specifying "fcode i" syntax in "display memory" command.
For example, to see the contents of address 100 hex in internal RAM,
you can do both of the following:
display memory fcode none 100h
(This command accesses emulation memory)
display memory fcode i 100h
(This command accesses internal RAM of
emulation processor.)

Configuring the Emulator 4-15

Note

When you specify "fcode", the "fcode" becomes the new default to
display memory. That is, once you specify "fcode i", you need to
specify "fcode none" to display emulation memory.

When you don’t map the internal RAM and SFR area to emulation
RAM (when you don’t copy the contents to emulation memory), you
can access the internal RAM and SFR without specifying "fcode"
syntax.

Note

The contents of emulation memory is updated only when user program
writes data to internal RAM (or SFR). Therefore, the contents of
emulation memory may be different from the actual value of internal
RAM. Especially, you should pay a close attention when seeing flags
of SFR.

Note

When you modify memory, the emulator breaks to the monitor, and
writes data to internal RAM or SFR. Therefore, user program is
suspended when modifying internal RAM or SFR.

Emulator Pod
Configuration

To access the emulator pod configuration questions, you must answer
"yes" to the following question.

Modify emulator pod configuration?

Target memory
access size?

This question allows you to specify the types of cycles that the
emulation monitor use when accessing target system memory. When
an emulation command requests the monitor to read or write target

4-16 Configuring the Emulator

system memory locations, the monitor will either use byte or word
instructions to accomplish the read/write.

Respond to target
system interrupts?

Note

Enable watchdog
timer?

byte

Specifies that the emulator will access target system
memory by byte accesses.

word

Specifies that the emulator will access target system
memory by word accesses.

This configuration allows you to specify whether or not the emulator
responds to interrupt signals from the target system during foreground
operation.
yes

The emulator will respond to interrupt signals from
the target system.

no

The emulator will not respond to interrupt signals
from the target system.

You may need to set up switches inside the emulation pod to accept
interrupts from the target system. Refer to the manual provided with
your emulation pod.

This question allows you to enable/disable the watchdog timer interrupt.

no

Disables the watchdog timer interrupt. This may
useful in early stage of your program development.

yes

Enables the watchdog timer interrupt.

Configuring the Emulator 4-17

Debug/Trace
Configuration

The debug/trace configuration questions allows you to specify breaks
on writes to ROM, and specify that the analyzer trace
foreground/background execution, and bus release cycles. To access
the trace/debug configuration questions, you must answer "yes" to the
following question.
Modify debug/trace options?

Break processor on
write to ROM?

Trace background or
foreground
operation?

This question allows you to specify that the emulator break to the
monitor upon attempts to write to memory space mapped as ROM.
The emulator will prevent the processor from actually writing to
memory mapped as emulation ROM; however, they cannot prevent
writes to target system RAM locations which are mapped as ROM,
even though the write to ROM break is enabled.
yes

Causes the emulator to break into the emulation
monitor whenever the user program attempts to
write to a memory region mapped as ROM.

no

The emulator will not break to the monitor upon a
write to ROM. The emulator will not modify the
memory location if it is in emulation ROM.

This question allows you to specify whether the analyzer trace only
foreground emulation processor cycles, only background cycles, or
both foreground or background cycles.

foreground

Specifies that the analyzer trace only foreground
cycles. This option is specified by the default
emulator configuration.

background

Specifies that the analyzer trace only background
cycles. (This is rarely a useful setting.)

both

Specifies that the analyzer trace both foreground
and background cycles. You may wish to specify

4-18 Configuring the Emulator

this option so that all emulation processor cycles
may be viewed in the trace display.

Trace refresh cycles
by emulation
analyzer?

This question is asked only when the 7720 processor is selected in
"Micro-processor group?" configuration question.

You can direct the emulator to send refresh cycle data to emulation
analyzer or not to send it.

Trace DMA cycles by
emulation analyzer?

yes

Enables the emulator to trace refresh cycles.

no

Refresh cycles will not appear on analysis trace list.

This question is asked only when the 7720 processor is selected in
"Micro-processor group?" configuration question.
You can direct the emulator to send DMA cycle data to emulation
analyzer or not to send it.

Trace HOLD/HLDA
cycles by emulation
analyzer?

yes

When you enable tracing DMA cycles, DMA
cycles will appear as one analysis trace line.

no

DMA cycles will not appear on analysis trace list.

You can direct the emulator to send HOLD/HLDA cycle data to
emulation analyzer or not to send it.

yes

When you enable tracing HOLD/HLDA cycles,
these cycles will appear as one analysis trace line.

no

HOLD/HLDA cycles will not appear on analysis
trace list.

Configuring the Emulator 4-19

Replace 16-bit
addresses with
symbolic references?

You can direct the emulator whether or not to display symbols in 16bit
addresses in mnemonic field of memory and trace display.

no

Symbols are displayed only in 24bit addresses of
mnemonic field.

yes

Symbols are displayed both in 16 and 24bit
addresses of mnemonic field. When you select this
answer, you are asked the following question.

Data bank register value for symbolic references?
Since symbols have 24bit value, you need to specify the value of the
upper 8bit which will be used to display symbols in 16bit addresses.
The value specified in this question will be combined with the 16bit
value in mnemonic field, and symbols are displayed using the value.

Simulated I/O
Configuration

The simulated I/O feature and configuration options are described in
the Simulated I/O reference manual.

Interactive
Measurement
Configuration

The interactive measurement configuration questions are described in
the chapter on coordinated measurements in the Softkey Interface
Reference manual. Examples of coordinated measurements that can be
performed between the emulator and the emulation analyzer are found
in the
"Using the Emulator" chapter.

4-20 Configuring the Emulator

External Analyzer
Configuration

The external analyzer configuration options are described in the
Analyzer Softkey Interface User’s Guide.

Saving a
Configuration

The last configuration question allows you to save the previous
configuration specifications in a file which can be loaded back into the
emulator at a later time.
Configuration file name? 
The name of the last configuration file is shown, or no filename is
shown if you are modifying the default emulator configuration.
If you press  without specifying a filename, the
configuration is saved to a temporary file. This file is deleted when
you exit the Softkey Interface with the
"end release_system" command.
When you specify a filename, the configuration will be saved to two
files; the filename specified with extensions of ".EA" and ".EB". The
file with the ".EA" extension is the "source" copy of the file, and the
file with the ".EB" extension is the "binary" or loadable copy of the file.
Ending out of emulation (with the "end" command) saves the current
configuration, including the name of the most recently loaded
configuration file, into a "continue" file. The continue file is not
normally accessed.

Loading a
Configuration

Configuration files which have been previously saved may be loaded
with the following Softkey Interface command.
load configuration  

Configuring the Emulator 4-21

This feature is especially useful after you have exited the Softkey
Interface with the "end release_system" command; it saves you from
having to modify the default configuration and answer all the questions
again. To reload the current configuration, you can enter the following
command.
load configuration 

4-22 Configuring the Emulator

5
Using the Emulator
Introduction

In the "Getting Started" chapter, you learned how to load code into the
emulator, how to modify memory and view a register, and how to
perform a simple analyzer measurement. In this chapter, we will
discuss in more detail other features of the emulator.
This chapter discusses:
Internal RAM and SFR of 7700 Series.
Features available via "pod_command".
Debugging C Programs
Limitations and restrictions of the emulator.
This chapter shows you how to:
Use sequential trigger feature of the analyzer.
Store the contents of memory into absolute files.
Make coordinated measurements.
Use a command file.

Using the Emulator 5-1

Sample Program

In the "Getting Started" chapter, we looked at a sample program which
functioned as a primitive command interpreter. In this section, we will
use the same program.

Internal RAM and
SFR

As described in chapter 2 and chapter 4, the emulator breaks into the
monitor when displaying internal RAM or SFR. However, you can
configure the emulator so that write cycles are performed to both
internal RAM (or SFR) and emulation memory. In this case, you can
display the data written to emulation memory without suspending user
program execution. To perform this, you need to map the internal
RAM area and SFR area to emulation memory. Enter memory
mapping screen with "modify configuration" command, and map 100H
through 27FH to emulation RAM.
100h thru 27fh emulation ram 
end 

Loading the Sample
Program

The sample program is loaded with the following command.

load cmd_rds 

Running the Example

Enter the following command to cause the emulator to run the sample
program.
run from Init 
Modify the command input byte to "A" to let the program write the
message to the Destination area.
modify memory fcode i Cmd_Input byte to 41h

Notice that you need to specify "fcode i" syntax to access internal
RAM. If you specify "fcode none" syntax, the data you entered is
written to emulation memory. In this case, the program will never
write the message, since user program reads data only from internal
RAM.

5-2 Using the Emulator

Now, let’s display the message written to the destination area.
display memory fcode i Msg_Dest blocked byte

The above command displays the contents of internal RAM. Sample
program is suspended, and the monitor reads the internal RAM.
To display the data copied to emulation memory, enter the following
command.
display memory fcode none Msg_Dest 
The above command displays the contents of emulation memory.
When user program writes data to internal RAM or SFR, it is written to
emulation memory simultaneously. You can display this data in
emulation memory without suspending user program execution.

Note

The contents of emulation memory is updated only when user program
writes data to internal RAM (or SFR). Therefore, the contents of
emulation memory may be different from the actual value in internal
RAM (or SFR). Especially, you should pay a close attention when
seeing flags of SFR,

Note

Notice that user program is still suspended, when you modify internal
RAM or SFR.

Note

Once you specify "fcode", it becomes the new default to access
memory.

Using the Emulator 5-3

Features Available
via Pod
Commands

Several emulation features available in the Terminal Interface but not
in the Softkey Interface may be accessed via the following emulation
commands.

display pod_command 
pod_command ’
Some of the most notable Terminal Interface features not available in
the softkey Interface are:
Copying memory.
Searching memory for strings or numeric expressions.
Performing coverage analysis.
Refer to your Terminal Interface documentation for information on
how to perform these tasks.

Note

Be careful when using the "pod_command". The Softkey Interface,
and the configuration files in particular, assume that the configuration
of the HP 64700 pod is NOT changed except by the Softkey Interface.
Be aware that what you see in
"modify configuration" will NOT reflect the HP 64700 pod’s
configuration if you change the pod’s configuration with this
command. Also, commands which affect the communications channel
should NOT be used at all. Other commands may confuse the protocol
depending upon how they are used. The following commands are not
recommended for use with "pod_command":
stty, po, xp - Do not use, will change channel operation and hang.
echo, mac -Usage may confuse the protocol in use on the channel.
wait -Do not use, will tie up the pod, blocking access.
init, pv -Will reset pod and force end release_system.
t - Do not use, will confuse trace status polling and unload.

5-4 Using the Emulator

Debugging C
Programs

Softkey Interface has following functions to debug C programs.

Including C source lines in memory mnemonic display
Including C source lines in trace listing
Stepping C sources
Display memory in various data type
The following section describes such features.

Displaying Memory
with C Sources

You can display memory in mnemonic format with C source lines. For
example, to display memory in mnemonic format from address _main
with source lines, enter the following commands.
display memory _main mnemonic 
set source on 
You can display source lines highlighted with the following command.
set source on inverse_video on 
To display only source lines, use the following command.
set source only 
Specifying Address with Line Numbers
You can specify addresses with line numbers of C source program. For
example, to set a breakpoint to line 20 of "main.c" program, enter the
following command.
modify software_breakpoints set main.c: line
20 

Displaying Trace with
C Sources

You can include C source information in trace listing. You can use the
same command as the case of memory display. For example, to
display trace listing with source lines highlighted, enter the following
command.
display trace 
set source on inverse_video on 

Using the Emulator 5-5

Stepping C Sources

You can direct the emulator to execute a line or a number of lines at a
time. For example, to step one line from the beginning of function
main, enter the following command.
step source from _main 
To step 1 line from the current line, enter the following command.
step source 
You can specify the number of lines to be executed. To step 5 lines
from the current line, enter the following command.
step 5 source 

Displaying Memory
in Various Data Type

You can display the contents of memory in various data types. For
example, to display character type data "strings[0]" through
"strings[20], enter the following command.
display data _strings thru +20 char 
To display 16 bit integer data "int_data", enter the following command.
display data _int_data int_16 

Using a Command
File

You can use a command file to perform many functions for you,
without having to manually type each function. For example, you
might want to create a command file that loads configuration, loads
program into memory and displays memory.
To create such a command file, type "log" and press TAB key. You
will see a command line "log_commands" appears in the command
field. Next, select "to" in the softkey label, and enter the command file
name "sample.cmd". This set up a file to record all commands you
execute. The commands will be logged to the file sample.cmd in the
current directory. You can use this file as a command file to execute
these commands automatically.
Suppose that your configuration file and program are named
"cmd_rds". To load configuration:
load configuration cmd_rds 
To load the program into memory:
load cmd_rds 

5-6 Using the Emulator

To display memory C000 hex through C020 hex in mnemonic format:
display memory 0c000h thru 0c020h mnemonic
Now, to disable logging, type "log" and press TAB key, select "off",
and press Enter. The command file you created looks like this:
load configuration cmd_rds
load cmd_rds
display memory 0c000h thru 0c020h mnemonic

If you would like to modify the command file, you can use any text
editor on your host computer. To execute this command file, type
"sample.cmd", and press Enter.

Storing Memory
Contents to an
Absolute File

The "Getting Started" chapter shows you how to load absolute files
into emulation or target system memory. You can also store emulation
or target system memory to an absolute file with the following
command.
store memory 0c000h thru 0c047h to absfile

The command above causes the contents of memory locations C000
hex through C047 hex to be stored in the absolute file "absfile.X".
Notice that the ".X" extension is appended to the specified filename.

Coordinated
Measurements

For information on coordinated measurements and how to use them,
refer to the "Coordinated Measurements" chapter in the Softkey
Interface Reference manual.

Using the Emulator 5-7

Limitations,
Restrictions
Access to Internal
RAM
Trace Internal RAM

Note

Modifying internal RAM or SFR suspends user program execution.

Read data from the internal RAM or SFR is not traced correctly by the
emulation analyzer.

Write data is also not traced correctly in the following case:
The emulator is used with the M37795 emulation pod.
And:
The processor is operating in the memory expansion or
microprocessor mode with 8 bit external bus.

DMA Support

Direct memory access to emulation memory is not allowed.

Watch Dog Timer in
Background

Watch dog timer suspends count up while the emulator is running in
background monitor.

Step Command with
Foreground Monitor

Step command is not available when the emulator is used with
foreground monitor.

Step Command and
Interrupts

When an interrupt occurs while the emulator is ruuning in monitor, the
emulator fails to do the first step operation. The emulator will display
the mnemonic of the instruction which should be stepped, but the
instruction is not actually executed. The second step operation will
step the first instruction of the interrupt routine.

5-8 Using the Emulator

Emulation
Commands in
Stop/Wait Mode

Stack Address

When the 7700 microprocessor is in the stop or wait mode, emulation
commands which access memory or registers will fail. You need to
break the emulator into the monitor to use these commands. Once you
break the emulator into the monitor, the stop or wait mode will be
released.
In some versions of 7700 microprocessor, the stack can be located in
Bank FF. However, the HP 64146A/B emulator doesn’t support the
feature. The stack must be located in Bank 0.

Using the Emulator 5-9

Notes

5-10 Using the Emulator

A
Using the Foreground Monitor
Introduction

By using and modifying the optional foreground monitor, you can
provide an emulation environment which is customized to the needs of
a particular target system.
The foreground monitors are supplied with the emulation software and
can be found in the following path:
/usr/hp64000/monitor/*
The monitor programs are named fm7700b.a77.

Comparison of
Foreground and
Background
Monitors

An emulation monitor is required to service certain requests for
information about the target system and the emulation processor. For
example, when you request a register display, the emulation processor
is forced into the monitor. The monitor code has the processor dump
its registers into certain emulation memory locations, which can then
be read by the emulator system controller without further interference.

Using A Foreground Monitor A-1

Background Monitors

A background monitor is an emulation monitor which overlays the
processor’s memory space with a separate memory region. Entry into
the monitor is normally accomplished by jamming the monitor
addresses onto the processor’s address bus.
Usually, a background monitor will be easier to work with in starting a
new design. The monitor is immediately available upon powerup, and
you don’t have to worry about linking in the monitor code or allocating
space for the monitor to use the emulator. No assumptions are made
about the target system environment; therefore, you can test and debug
hardware before any target system code has been written. All of the
processor’s address space is available for target system use, since the
monitor memory is overlaid on processor memory, rather than
subtracted from processor memory. Processor resources such as
interrupts are not taken by the background monitor.
However, all background monitors sacrifice some level of support for
the target system. For example, when the emulation processor enters
the monitor code to display registers, it will not respond to target
system interrupt requests. This may pose serious problems for
complex applications that rely on the microprocessor for real-time,
non-intrusive support. Also, the background monitor code resides in
emulator firmware and can’t be modified to handle special conditions.

Foreground Monitors

A foreground monitor may be required for more complex debugging
and integration applications. A foreground monitor is a block of code
that runs in the same memory space as your program. Foreground
monitors allow the emulator to service real-time events, such as
interrupts or watchdog timers, while executing in the monitor. For
most multitasking, interrupt intensive applications, you will need to use
a foreground monitor.
You can tailor the foreground monitor to meet your needs, such as
servicing target system interrupts. However, the foreground monitor
does use part of the processor’s address space, which may cause
problems in some target systems. You must also properly configure
the emulator to use a foreground monitor (see the "Configuring the
Emulator" chapter and the examples in this appendix).

A-2 Using A Foreground Monitor

An Example Using
the Foreground
Monitor

In the following example, we will illustrate how to use a foreground
monitor with the sample program from the "Getting Started" chapter.
By using the emulation analyzer, we will also show how the emulator
switches from state to state using a foreground monitor.
For this example, we will locate the monitor at b800 hex; the sample
program will be located at c000 hex with the message table at c100 hex
and the command input, message destination, and stack locations at 27f
hex.
$ cp /usr/hp64000/monitor/fm7700b.a77 .


Assemble and Link
the Monitor

You can assemble, link and convert the foreground monitor program
with the following commands.
$ rasm77 -s fm7700b.a77 
$ link77 fm7700b 
Enter -s as command parameter.
$ m77cnvhp fm7700b 
If you haven’t already assembled ,linked, and converted the sample
program, do that now. Refer to the "Getting Started" chapter for
instructions on assembling, linking, and converting the sample program.

Modifying Location
Declaration Statement

You may need to modify the foreground monitor program to adjust it to
your needs.

Monitor Address
You can load the monitor "fm7700b.a77" at any base address on a 2K
byte boundary except internal RAM and SFR area. To relocate the
monitor, you must modify the "LOCATE_ADRS" label statement near
the top of the monitor listing to point the base address where the
monitor will be loaded. You will see the statement in the monitor
listing as follows:

Using A Foreground Monitor A-3

LOCATE_ADRS

.EQU

0B800H

PROCMODEREG

.EQU

0005EH

;start monitor on 2k boundary in bank 0
;rather than sfr/iram area
;processor mode register;s address

For example, if you want to locate the monitor at a000 hex, you may
change the address "0B800H" to "0A000H".
Processor Mode Register Address
You may need to modify the .EQU statement at the PROCMODEREG
label. This value defines the location of processor mode register. If
your processor has processor mode register at address other than 5e
hex, modify this value to appropriate value. The following list shows
the address of processor mode register.
=========================================================================
| Processor Mode
||
| Processor Mode
Processor
| Register Address || Processor
| Register Address
==================================||=====================================
7700M2
|
5e
||
7704M2
|
5e
7700S
|
5e
||
7704S1
|
5e
7700M4
|
5e
||
7720S1
|
5e
7700S4
|
5e
||
7730S2
|
5e
7702M2
|
5e
||
7732S4
|
d8
7702S
|
5e
||
7795S
|
d8
7702M4
|
5e
||
7796E4
|
d8
7702S4
|
5e
||
=========================================================================

Modifying the
Emulator
Configuration

The following assumes you are modifying the default emulator
configuration (that is, the configuration present after initial entry into
the emulator or entry after a previous exit using
"end release_system"). Enter all the default answers except those
shown below.
Modify memory configuration? yes
You must modify the memory configuration so that you can select the
foreground monitor and map memory.
Monitor type? foreground
Specifies that you will be using a foreground monitor program.

A-4 Using A Foreground Monitor

Reset map (change of monitor type requires map reset)? yes
You must answer this question as shown to change the monitor type to
foreground.
Monitor address? 0b800h
Specifies that the monitor will reside in the 2K byte block from b800
hex through bfff hex.
Monitor file name? fm7700b
Enter the name of the foreground monitor absolute file. This file will
be loaded at the end of configuration.
Mapping Memory for the Example
When you specify a foreground monitor and enter the monitor address,
all existing memory mapper terms are deleted and a term for the
monitor block will be added. Add the additional term to map memory
for the sample program and, map other area as target RAM.
0c00h0 thru 0dfffh emulation rom 
default target ram 
end 
If your processor has no internal RAM, map 0 hex through 2ff hex as
emulation RAM.
See the "Mapping Memory" section of the "Configuring the Emulator"
chapter for more information.
Modify emulation pod configuration ? yes
You need to modify the emulation pod configuration to select your
processor.
Select chip (group)? 
Select chip ? 
Select the processor you are going to emulate.

Using A Foreground Monitor A-5

Configuration file name? fmconfig
If you wish to save the configuration specified above, answer this
question as shown.

Load the Program
Code

Now it’s time to load the sample program. You can load the sample
program with the following command:
load cmd_rds 

Running User
Program

Before running the user program, you should initialize the stack pointer
by breaking the emulator out of reset.
break 
To run the sample program from address Init, enter the following
command:
run from Init 
Now you can use the emulator with the foreground monitor.

A-6 Using A Foreground Monitor

Limitations of
Foreground
Monitors

Listed below are limitations or restrictions present when using a
foreground monitor.

Step Command

Step command is not available when you are using the emulator with a
foreground monitor.

Synchronized
Measurement

You cannot perform synchronized measurements over the CMB when
using a foreground monitor. If you need to make such measurements,
select the background monitor type when configuring the emulator.

Using A Foreground Monitor A-7

Notes

A-8 Using A Foreground Monitor

B
Using the Format Converter
How to Use the
Converter

The format converter is a program that generates HP format files from
MELPS 7700 Hex format file and its symbol file. This means you can
use available language tools to create MELPS 7700 Hex format file,
then load the file into the emulator using the format converter.
To execute the converter program, use the following command:
$ m77cnvhp [-q]  
 is the name of MELPS 7700 Hex format file without
suffix. The converter program will read the MELPS 7700 Hex format
file (with .hex suffix) and the symbol file (with .sym suffix). It will
generate the following HP format files:
HP Absolute file (with .X suffix)
HP Linker symbol file (with .L suffix)
HP Assembler symbol files (with .A suffix)
When the -q option is specified, warning messages are suppressed.
Suppose that you have the following two files:
sample.hex (MELPS 7700 Hex format file)
sample.sym (Symbol file)
You can generate HP format files from these two files with the
following command:
$ m77cnvhp sample 

Note

The converter uses both .hex file and .sym file. You need to direct
your assembler and linker to generate .sym file.

Using the Converter B-1

Specifications

The following are specifications of the format converter.
Label names and Symbol names must be 15 and less
characters in length.
File name must be 14 and less characters in length.
Up to 10000 sections can be handled.
Up to 1000 functions can be handled.
If a label name or symbol name contains "?", it will be
replaced with "_".

Note

B-2 Using the Converter

When you convert files which contain no local symbols, the assembler
symbol files (.A file) won’t be generated. In this case, you will see an
error message when you load the program into the emulator. However,
this error will cause no damage on your operation.

Index
A

absolute file, loading 2-14
absolute files
storing 5-7
analyzer
7700 Series status qualifiers 2-30
configuring the external 4-21
restriction 2-31
storage qualifier 2-29
using the 2-26
assemble
assembling the sample program 2-7
assembling the getting started sample program 2-7

B

background cycles
tracing 4-18
background monitor 4-12, A-2
selecting 4-11
blocked byte memory display 2-18
breaks
break command 2-20
guarded memory accesses 4-14
software breakpoints 2-20
write to ROM 4-18

C

C program
debugging 5-5
displaying in mnemonic memory display 5-5
displaying in trace listing 5-5
caution statements
emulator cannot run without a stack pointer 4-10
internal memory must be assigned as emulation memory 4-14
pin alignment of emulator probe 3-2
real-time dependent target system circuitry 4-5
static discharge, protect emulator probe from 3-2
target power must be OFF when installing probe 3-2
cautions
turn off the emulator to connect the pod 2-2
Index-1

characterization of memory 4-13
clearing software breakpoints 2-23
clock source
external 4-3
internal 4-3
command file
creating and using 5-6
comparison of foreground/background monitors A-1
configuration
for sample program 2-12
configuration options
enable interrupt inputs 4-17
in-circuit 3-3
processor mode 4-9
configuring the emulator
for sample program 2-12
convert absolute file to HP Absolute 2-7
converter, m77cnvhp 2-7
coordinated measurements 4-20, 5-7
copy memory 5-4
coverage analysis 5-4

2-Index

D

Debugging C programs 5-5
device table file 2-9
display command
data 5-5
memory blocked 2-18
memory mnemonic 2-16
registers 2-24
symbols 2-14
trace 2-27
display data 5-6
displaying 16bit symbols 4-20
DMA controllers
external 4-14

E

emul700, command to enter the Softkey Interface 2-9, 2-32
emulation analyzer 2-26
emulation memory 5-2
loading absolute files 2-14
mapping internal RAM area 4-15
note on target accesses 4-14

RAM and ROM characterization 4-13
size of 4-13
emulation monitor 4-11
background 4-12
Emulation pod 1-4
ordering information 1-4
Emulation processor 1-4
ordering information 1-4
Emulator
before using 2-2
configuration 4-1
device table file 2-9
limitations 5-8
prerequisites 2-2
probe installation into target system 3-2
purpose 1-1
emulator configuration
break processor on write to ROM 4-18
clock selection 4-3
enable high speed access mode 4-10
enable watchdog timer 4-17
loading 4-21
monitor entry after 4-4
monitor type selection 4-11
processor mode register address 4-8
respond to target system interrupts 4-17
restrict to real-time runs 4-5
saving 4-21
select chip 4-6
set up internal RAM address 4-8
set up internal ROM address 4-8
set up internal SFR address 4-8
stack pointer 4-9
target memory access size 4-16
trace background/foreground operation 4-18
trace DMA cycles 4-19
trace HOLD/HLDA cycles 4-19
trace refresh cycles 4-19
emulator configuration
display 16bit symbols 4-20
Emulator features 1-5

Index-3

analyzer 1-6
breakpoints 1-7
clock speed 1-5
coverage measurements 1-8
emulation memory 1-5
foreground and background monitor 1-6
high speed access mode 1-5
processor reset control 1-8
register display/modify 1-7
restrict to real-time runs 1-7
single-step processor 1-7
Emulator limitations 1-9
Access to Internal RAM 1-9, 5-8
DMA support 1-9, 5-8
emulation command fails in stop/wait mode 1-10, 5-9
modifying memory 4-16
stack must be in bank 0 1-10, 5-9
step command with foreground monitor 1-9, 5-8
step fails when an interrupt exists 1-9, 5-8
trace internal RAM 1-9, 5-8
watch dog timer 1-9, 5-8
enable high speed access mode
emulator configuration 4-10
enable watchdog timer
emulator configuration 4-17
end command 2-32, 4-21
exit, Softkey Interface 2-32
external analyzer 2-26
configuration 4-21
external clock source 4-3
F

4-Index

file extensions
.EA and .EB, configuration files 4-21
foreground monitor A-2
defining processor mode register address A-4
defining the location A-3
example of using A-3
location of shipped files A-1
modify location declaration statement A-3
selecting 4-11
using the foreground monitor A-1
foreground monitor address 4-13

foreground operation
tracing 4-18
format converter B-1
G

getting started 2-1
prerequisites 2-2
global symbols
displaying 2-14
guarded memory accesses 4-14

H

hardware installation 2-2
help
on-line 2-10
pod command information 2-11
softkey driven information 2-10
high speed access mode 1-5, 4-10

I

in-circuit configuration options 3-3
in-circuit emulation 3-1
installation
hardware 2-2
software 2-2
interactive measurements 4-20
internal clock source 4-3
internal RAM 4-15, 5-2
copying to emulation memory 2-20

L

limitations of the emulator 5-8
link
linking the sample program 2-7
linking the getting started sample program 2-7
loading absolute files 2-14
loading emulator configurations 4-21
local symbols 2-22
local symbols, displaying 2-15
locked, end command option 2-32
logging of commands 5-6

M

M flag
to display memory in mnemonic format 2-16
m77cnvhp, converter 2-7
mapping memory 4-13
measurement system 2-32

Index-5

creating 2-8
initialization 2-8
memory
blocked display 2-18
characterization 4-13
copying 5-4
mapping 4-13
mnemonic display 2-16
mnemonic display and M flag, X flag 2-16
mnemonic display with C sources 5-5
mnemonic display with symbols 2-17
modifying 2-19
searching for strings or expressions 5-4
memory display
with 16bit symbols 4-20
memory mapping
maximum number of terms 4-13
sequence of map/load commands 4-15
mnemonic memory display 2-16
specify M flag and X flag 2-16
with symbols 2-17
modify command
configuration 4-1
memory 2-19
software breakpoints clear 2-23
software breakpoints set 2-22
module 2-32
module, emulation 2-8
monitor
breaking into 2-20
monitor (emulation) 4-11
background 4-12, A-2
comparison of foreground/background A-1
foreground A-2
monitor program 1-6
background 1-7
foreground 1-7
monitor type, selecting 4-11
monitors
foreground,specifying the filename 4-13

6-Index

N

nosymbols 2-14
notes
.sym file is needed to convert a program 2-7
converting files with no symbols B-2
display memory mnemonic with software breakpoints 2-23
displaying SFR 4-16, 5-3
fcode becomes the default if once specified 4-16
Files needed to convert your program B-1
function code becomes new default when specified 5-3
map memory before loading programs 4-15
memory access with step execution 2-24
modifying internal RAM suspends program execution 2-20
pod commands that should not be executed 5-4
run from transfer address 2-18
select chip 2-12
selecting internal clock forces reset 4-4
set command and its effect 2-17
setting up emulation pod for target interrupts 3-3
Setting up the pod to accept target interrupts 4-17
software breakpoint cmds. while running user code 2-21
software breakpoints not allowed in target ROM 2-21
software breakpoints only at opcode addresses 2-20
target accesses to emulation memory 4-14
target system must have clock circuit 3-3, 4-4
turn on target system before turn on the emulator 3-2
user program suspended when modifying internal RAM 5-3

O

on-line help 2-10

P

PATH, HP-UX environment variable 2-8 - 2-9
pmon, User Interface Software 2-8, 2-32
pod_command 2-11
features available with 5-4
help information 2-11
predefining stack pointer 4-9
prerequisites for using the emulator 2-2
probe cable installation 3-2
processor mode register
defining the location A-4
processor operation mode 4-9
Purpose of the Emulator 1-1

Index-7

8-Index

R

RAM
mapping emulation or target 4-13
real-time execution
restricting the emulator to 4-5
register display/modify 2-24
registers
classes 2-24
names 2-25
release_system
end command option 2-32, 4-21 - 4-22
respond to target system interrupts
emulator configuration 4-17
restrict to real-time runs
emulator configuration 4-5
permissible commands 4-5
target system dependency 4-5
ROM
mapping emulation or target 4-13
writes to 4-14
run command 2-18

S

sample program
description 2-3
for chapter 5 5-2
saving the emulator configuration 4-21
select chip
emulator configuration 4-6
set command
symbols on 2-17
set up internal RAM address
emulator configuration 4-8
set up internal ROM address
emulator configuration 4-8
set up internal SFR address
emulator configuration 4-8
set up processor mode register address
emulator configuration 4-8
SFR 4-15, 5-2
copying to emulation memory 2-20
simulated I/O 4-20
softkey driven help information 2-10
Softkey Interface

entering 2-8
exiting 2-32
on-line help 2-10
software breakpoints 2-20
clearing 2-23
enabling/disabling 2-22
setting 2-22
software installation 2-2
stack pointer 1-10, 5-9
stack pointer,defining 4-9
static discharge, protect the emulator probe from 3-2
status qualifiers (7700 Series) 2-30
step command 2-24
with C program 5-5
stop mode 1-10
storage qualifier 2-29
string delimiters 2-11
supported microprocessors 1-3
symbol
in memory display 2-17
symbols
display 16bit symbols 4-20
symbols, displaying 2-14
system overview 2-2
T

target memory
RAM and ROM characterization 4-13
target memory access size
emulator configuration 4-16
target memory, loading absolute files 2-14
target system
dependency on executing code 4-5
Terminal Interface 2-11
trace
display with C source lines 5-5
trace DMA cycles
emulator configuration 4-19
trace HOLD/HLDA cycles
emulator configuration 4-19
trace listing
with 16bit symbols 4-20
trace refresh cycles

Index-9

emulator configuration 4-19
trace, displaying the 2-27
trace, displaying with time count absolute 2-28
trace, reducing the trace depth 2-29
tracing background operation 4-18
trigger state 2-27
trigger, specifying 2-26

10-Index

U

undefined software breakpoint 2-21
user (target) memory, loading absolute files 2-14

W

wait mode 1-10
watchdog timer
enable/disable by emulator configuration 4-17
window systems 2-32
write to ROM break 4-18

X

X flag
to display memory in mnemonic format 2-16



Source Exif Data:
File Type                       : PDF
File Type Extension             : pdf
MIME Type                       : application/pdf
PDF Version                     : 1.6
Linearized                      : No
XMP Toolkit                     : Adobe XMP Core 4.2.1-c043 52.372728, 2009/01/18-15:56:37
Format                          : application/pdf
Creator                         : Hewlett-Packard Company, Colorado Springs Division
Title                           : 7700 Series Emulator Softkey Interface
Create Date                     : 1996:10:23 14:12:57Z
Modify Date                     : 2015:01:03 09:32:40-08:00
Metadata Date                   : 2015:01:03 09:32:40-08:00
Producer                        : Acrobat Distiller 2.0 for Windows
Document ID                     : uuid:615f4e88-3c68-224c-a55f-64ae26f03aa7
Instance ID                     : uuid:66c97fa5-40ab-e84c-9500-84f03df6049e
Page Layout                     : SinglePage
Page Mode                       : UseOutlines
Page Count                      : 112
Author                          : Hewlett-Packard Company, Colorado Springs Division
EXIF Metadata provided by EXIF.tools

Navigation menu