Pentium and Pentium w/MMX Emulation Control Interface

Pentium and Pentium w/MMX Emulation Control Interface
Help Volume
© 1995-2002 Agilent Technologies. All rights reserved.
Emulation: Pentium(R) and
Pentium(R) w/MMX(TM)
Technology
Using the Pentium® Emulation Control Interface
The Pentium® Emulation Control Interface works with an emulation
module or emulation probe to give you an emulation interface for
target systems that use Intel® Pentium® Processors and Intel®
Pentium® Processors with MMX™Technology. Also, with a Pentium®
analysis probe and a logic analyzer, you can make coordinated trace
measurements.
•
“At a Glance” on page 10
•
“Connecting the Emulator to the Target System” on page 11
•
“Configuring the Emulator” on page 13
•
“Controlling Processor Execution” on page 18
•
“Using Breakpoints” on page 19
•
“Displaying and Modifying Registers” on page 22
•
“Displaying and Modifying Memory” on page 24
•
“Displaying and Modifying I/O” on page 29
•
“Downloading an Executable to the Target System” on page 31
•
“Coordinating Trace Measurements” on page 37
See Also
“Disconnecting from the Emulator” on page 58
“Error/Status Messages” on page 49
“To Use the Command Line Interface” on page 43
“Managing Run Control Tool Windows” on page 42
“Testing Target System Memory” on page 59
Main System Help (see the Agilent Technologies 16700A/B-Series Logic
Analysis System help volume)
2
Using the Pentium® Emulation Control Interface
Glossary of Terms (see page 79)
Related Help
Setting Up and Starting the Emulation Control Interface (see the
Emulation: Setting Up help volume)
Pentium® is a U.S. registered trademark of Intel Corporation.
MMX™is a U.S. registered trademark of Intel Corporation.
3
Using the Pentium® Emulation Control Interface
4
Contents
Using the Pentium® Emulation Control Interface
1 Using the Pentium® Emulation Control Interface
At a Glance
10
Connecting the Emulator to the Target System
To Connect the Emulator Directly to a Target System
To connect the emulator to the analysis probe 12
Configuring the Emulator
11
13
"Trigger Out" Port: 13
"Break In" Port: 14
Break on Processor Read/Write to Debug Registers:
Branch Trace Messaging: 15
When Processor Inits: 15
When Processor Resets: 16
To save configuration settings 16
To restore saved configuration settings 17
Controlling Processor Execution
Using Breakpoints
11
15
18
19
To set breakpoints 19
To clear breakpoints 20
Displaying and Modifying Registers
To display registers 22
To modify register contents
22
23
Displaying and Modifying Memory
24
To display memory 24
To modify a memory location 25
To fill a range of memory locations 25
To display memory in mnemonic format 26
5
Contents
Displaying and Modifying I/O
29
Downloading an Executable to the Target System
To access a file from the logic analysis system
To choose a file format 32
Error messages while downloading files 33
Details of the Motorola S-record format 34
Details of the Intel extended hex format 35
Coordinating Trace Measurements
37
To break execution on a trigger 37
To trigger an analyzer on a break 38
To omit monitor cycles from the trace
To open windows 39
To close windows 41
39
Managing Run Control Tool Windows
To use the Status/Error Log window 42
To Use the Command Line Interface 43
6
42
31
31
Contents
Error/Status Messages
49
Address must be for protected mode 50
Address must be for real mode 50
Break has been processed - running user program 50
Break has been processed - running user program 51
Breakpoint dr…:linear address … 51
Cannot translate protected-mode addresses in real mode 51
Cannot use NULL segment selector 51
INIT caused break - debug registers restored 51
INIT caused break - debug registers restored 52
IO address must be physical 52
IO address out of range 52
I/O port access size not supported 52
Jtag failed 52
Must be in monitor to access descriptor information 53
No Target Power 53
Page fault 53
Processor is not ready 53
RESET deassertion caused break - debug registers restored 53
RESET deassertion caused break - debug registers restored 54
RPL of CS selector < DPL of segment descriptor 54
Read of register occurred 54
Segment limit violation 54
Segment not present 54
Segment selector exceeds GDT (or LDT) limit 55
Selector does not refer to GDT entry 55
Selector does not refer to a LDT 55
Selector points to invalid descriptor 55
Unable to break 55
To update firmware
56
Disconnecting from the Emulator
58
7
Contents
Testing Target System Memory
59
Memory Test: 61
To perform the Basic Pattern test 62
How the Basic Pattern test works 63
To perform the Address Pattern test 64
How the Address Pattern test works 65
To perform the Rotate Pattern test 65
How the Rotate Pattern test works 67
To perform the Walking Ones test 68
How the Walking Ones test works 68
To perform the Walking Zeros test 69
How the Walking Zeros test works 70
To perform the Oscilloscope Read test 70
How the Oscilloscope Read test works 71
To perform the Oscilloscope Write test 71
How the Oscilloscope Write test works 72
Memory Range 73
Data Value 73
Options 73
To open the Memory Test window 74
Recommended Test Procedure 74
Glossary
Index
8
1
Using the Pentium® Emulation
Control Interface
9
Chapter 1: Using the Pentium® Emulation Control Interface
At a Glance
At a Glance
•
Logic Analysis System Contains measurement modules such as the
16550A State/Timing Logic Analyzer Module. Contains the Emulation
Control Interface that controls the emulation module or emulation probe.
•
Analysis Probe The E2457A provides convenient connections for state
analysis and inverse assembled trace listings of the Intel Pentium
Processor and the Intel Pentium Processor with MMX Technology.
•
Emulation module or emulation probe Connects to a debug port designed
into your target system or to the analysis probe interface. The Target
Interface Module (TIM) connects the standard signal lines from the
emulation module or emulation probe (emulator) to specific pins on the
cable when it is connected to the debug port. The emulator accesses the
debugging facilities built into the Intel Pentium Processor to give you
control over processor execution and easy access to processor registers,
target system memory, and I/O.
•
Target System Your system using the Intel Pentium Processor.
10
Chapter 1: Using the Pentium® Emulation Control Interface
Connecting the Emulator to the Target System
Connecting the Emulator to the Target System
You can connect the emulation module or emulation probe directly to a
socket on the target system, or you can connect it using a socket built
into the analysis probe.
•
“To Connect the Emulator Directly to a Target System” on page 11
•
“To connect the emulator to the analysis probe” on page 12
To Connect the Emulator Directly to a Target
System
If a Debug Port has been designed into the target system (as described
in Intel's Pentium® Family User's Manual, Volume 1: Data Book),
you can connect the emulator to it.
The E3491B Pentium Emulator comes with cables for both 20-pin and
30-pin Debug Port connectors; however, only the first 20 pins are
supported. In other words, the emulator does not support the dual
processor capability of a 30-pin Debug Port.
To connect the emulator to a target system:
1. Turn OFF power to the target system.
2. Turn OFF power to the emulator.
3. Plug one end of the 50-pin cable into the emulator.
4. Plug the other end of the 50-pin cable into the target interface module.
5. Refer to the user's guide for your emulation probe or processor solution to
select the appropriate target connector. At the time this online help
module was written, the user's guide was titled, "E3491B Pentium
Processor Probe Installation and Service Guide."
6. Choose either the 20-line or 30-line cable, whichever is appropriate for the
target system's Debug Port connector.
7. Plug one end of the selected cable into the emulator. (The connectors are
11
Chapter 1: Using the Pentium® Emulation Control Interface
Connecting the Emulator to the Target System
keyed so there is only one way to plug them in.)
8. Plug the other end of the cable into the target system's Debug Port
connector.
9. Turn ON power to the emulator.
10. Turn ON power to the target system.
See Also
The manual for your emulation probe or processor solution.
To connect the emulator to the analysis probe
A Debug Port has been designed into the analysis probe interface for
the Intel Pentium processor (E2457A for 735&\90 and 815&\100). You
can connect the emulator to this Debug Port.
The Setup Assistant can guide you through the process of connecting
both the analysis probe and the emulator.
If you are not using the Setup Assistant, here is a summary of the steps
to connect the emulator to the analysis probe:
1. Turn OFF power to the target system, logic analysis system, and emulator.
2. Connect the analysis probe to the target system as described in the
Analysis Probe Interface User's Guide or the processor solution manual.
3. Plug one end of the 20-line cable into the target interface module (TIM).
(The connectors are keyed so there is only one way to plug them in.)
4. Plug the other end of the cable into the analysis probe interface's Debug
Port connector.
5. Turn ON power to the emulator.
6. Turn ON power to the logic analysis system.
7. Turn ON power to the target system.
See Also
The Setup Assistant.
The manual for your emulation probe or processor solution.
12
Chapter 1: Using the Pentium® Emulation Control Interface
Configuring the Emulator
Configuring the Emulator
To change an emulator configuration option
1. Open the Setup window.
2. Make the appropriate selections for the emulator configuration options
you wish to change.
The emulator configuration options are:
•
“"Break In" Port:” on page 14
•
“"Trigger Out" Port:” on page 13
•
“When Processor Resets:” on page 16
•
“When Processor Inits:” on page 15
•
“Break on Processor Read/Write to Debug Registers:” on page 15
•
“Branch Trace Messaging:” on page 15
3. When you have finished changing emulator configuration options, select
File and then select Close.
See Also
•
“To save configuration settings” on page 16
•
“To restore saved configuration settings” on page 17
•
The manual for your emulator or processor solution.
"Trigger Out" Port:
The Trigger Out port can be used to tell devices external to the
emulation probe when processor execution is in the monitor.
You can use this port to qualify a logic analyzer clock, so that monitor
cycles are not captured.
You can also use this port to signal the target system, for example, so
that watchdog timers don't time-out when processor execution is in the
13
Chapter 1: Using the Pentium® Emulation Control Interface
Configuring the Emulator
monitor.
The Trigger Out Port options are:
Always High
Output is always high.
Always Low
Output is always low.
High On Break
Output is high when processor execution is in the monitor.
Low On Break
Output is low when processor execution is in the monitor.
NOTE:
If you are using the emulation module, this same functionality can be set up in
the Group Run Arming Tree of the Intermodule window.
"Break In" Port:
The Break In port allows devices external to the emulation probe (for
example, a logic analyzer's trigger output) to stop user program
execution.
Disabled
Rising or falling edges on this port have no effect on the emulation probe.
Break On Rising Edge
Rising edges on this port will cause processor execution to break into the
monitor.
Break On Falling Edge
Falling edges on this port will cause processor execution to break into the
monitor.
14
Chapter 1: Using the Pentium® Emulation Control Interface
Configuring the Emulator
NOTE:
If you are using the emulation module, this same functionality can be set up in
the Group Run Arming Tree of the Intermodule window.
Break on Processor Read/Write to Debug
Registers:
Yes
Any program reads or writes to the debug registers will
cause a break. The actual read or write will not be
performed.
No
Any program reads or writes to the debug registers do not
cause a break. The read or write completes successfully.
Branch Trace Messaging:
Disabled
No Branch Trace Message special cycles are generated.
One Cycle
The Branch Trace Message cycle is the address for the
instruction causing the taken branch.
Two Cycles
The Branch Trace Message cycles are the address for the
instruction causing the taken branch and the target
address.
When Processor Inits:
This configuration option specifies how the emulator behaves when the
Pentium processor's INIT input signal is asserted (without the
processor's RESET input signal being asserted).
Restore Debug Registers, Break
An INIT without RESET will break into monitor. Debug registers will be
restored.
Do Not Restore Debug Registers, Run
15
Chapter 1: Using the Pentium® Emulation Control Interface
Configuring the Emulator
An INIT without RESET will not break into monitor. Debug registers will
not be restored. But the user program will begin running.
Restore Debug Registers, Run
An INIT without RESET will break into monitor. Debug registers will be
restored, and the user program will begin running.
When Processor Resets:
This configuration option specifies how the emulator behaves when the
Pentium processor's RESET input signal is asserted.
Restore Debug Registers, Break
A RESET will break into monitor. Debug registers will be restored.
Do Not Restore Debug Registers, Run
A RESET will not break into monitor. Debug registers will not be restored.
But the user program will begin running.
Restore Debug Registers, Run
A RESET will break into monitor. Debug registers will be restored, and the
user program will begin running.
Notes:
1. These actions occur only when RESET is deasserted.
2. Selecting Reset in the Run Control window or typing "rst" in the Command
Line Interface window asserts RESET continuously until another button or
command causes RESET to be deasserted.
To save configuration settings
You can save emulation configuration settings as part of a logic analysis
system configuration file. This saves all workspace configurations,
including the emulation module and emulation probe configuration
settings.
16
Chapter 1: Using the Pentium® Emulation Control Interface
Configuring the Emulator
See Also
Saving a New Configuration File (see the Agilent Technologies 16700A/BSeries Logic Analysis System help volume)
To restore saved configuration settings
If you saved emulation configuration settings as part of a logic analysis
system configuration file, you can restore them by loading the
configuration file. This restores all workspace configurations, including
the emulation module and emulation probe configuration settings.
See Also
Loading Configuration Files (see the Agilent Technologies 16700A/BSeries Logic Analysis System help volume)
17
Chapter 1: Using the Pentium® Emulation Control Interface
Controlling Processor Execution
Controlling Processor Execution
Pentium execution is controlled using the Run Control window.
•
To run the program, select Run.
•
To stop program execution, select Break.
•
To reset the processor, select Reset.
•
To step a single instruction, select Step.
The status line, which appears under the run control buttons, shows
the current status of the emulator. It shows whether:
•
the processor is reset,
•
the processor is running the user program,
•
the processor is running in monitor (in other words, executing the debug
exception routine that provides the emulator's capability),
•
there is no power to the target system, or
•
the target system reset line is active.
18
Chapter 1: Using the Pentium® Emulation Control Interface
Using Breakpoints
Using Breakpoints
This window gives you high-level access to the Pentium debug
registers.
•
“To set breakpoints” on page 19
•
“To clear breakpoints” on page 20
Debug Extensions On enables or disables I/O breakpoints. For more
information on breakpoint options, see “To set breakpoints” on
page 19.
Read Breakpoints causes the register values to read from the
processor again.
For more detailed information on the Pentium Debug Registers, refer
to the "Debugging" chapter in Intel's Pentium® Family User's
Manual, Volume 3: Architecture and Programming Manual.
To set breakpoints
1. Open the Breakpoint/Debug Registers window.
2. Select the button next to one of the four breakpoints.
19
Chapter 1: Using the Pentium® Emulation Control Interface
Using Breakpoints
3. Enter the address (see page 27) of the breakpoint in the Linear or
Logical Address field.
NOTE:
When Pentium processor paging is disabled, linear addresses are also physical
addresses. In this case, the physical addresses you see in the Memory
Disassembly window or in logic analyzer traces can be used as breakpoint
addresses.
When paging is enabled, linear addresses are not physical addresses. In this
case, you can use the logic analyzer to break on physical addresses (see “To
break execution on a trigger” on page 37).
4. Select whether to Break On Instruction Execution, Data Writes, I/O
Reads or Writes if Debug Extensions On is selected, or Data Reads or
Writes but not instruction fetches.
Undefined, which only appears when Debug Extensions On is not
selected, is only intended to show you when the breakpoint type bits have
an undefined setting.
5. Select the appropriate Access Size: Byte, Word, or Long (1, 2, or 4 bytes).
Undefined is only intended to show you when the access size bits have an
undefined setting.
6. Select whether the breakpoint is to be Enabled Globally, Locally, or Both.
Locally enabled breakpoints are for setting breakpoints in a single task. A
task switch will clear these breakpoints.
Typically, breakpoints are enabled Globally.
When you choose to break on Instruction Execution, the appropriate
access size to choose is Byte.
See Also
“Addresses” on page 27
To clear breakpoints
1. Open the Breakpoint/Debug Registers window.
2. Select the button next to the breakpoint you wish to clear.
20
Chapter 1: Using the Pentium® Emulation Control Interface
Using Breakpoints
A breakpoint is set when the button is in:
A breakpoint is cleared when the button is out:
21
Chapter 1: Using the Pentium® Emulation Control Interface
Displaying and Modifying Registers
Displaying and Modifying Registers
The Register window lets you display and modify the contents of
processor registers.
•
“To display registers” on page 22
•
“To modify register contents” on page 23
The Emulation Control Interface displays groups (also called "classes")
of related registers.
To display registers
•
To add a group of registers to the display, select the group from the
Groups menu.
•
To remove a group of registers from the display, select the group from the
Groups menu.
•
To move a group to the bottom of the display, remove the group then add it
again.
•
To read the register values from the processor, select Read Registers.
22
Chapter 1: Using the Pentium® Emulation Control Interface
Displaying and Modifying Registers
The Registers window will be updated as the processor runs. If you
want to disable this automatic updating, change Freeze Window (No)
to Freeze Window (Yes) in the Update menu.
To modify register contents
1. Display the group of registers that contains the register whose contents
you wish to modify.
2. Select the value field you wish to modify. The underline cursor indicates
the field that has been selected.
3. Type the new register value.
The new value is actually written as soon as:
•
you press the Enter (or Return) key, or
•
the mouse pointer leaves the entry field.
23
Chapter 1: Using the Pentium® Emulation Control Interface
Displaying and Modifying Memory
Displaying and Modifying Memory
•
“To display memory” on page 24
•
“To modify a memory location” on page 25
•
“To fill a range of memory locations” on page 25
•
“To display memory in mnemonic format” on page 26
•
“Addresses” on page 27
To display memory
1. Open the Memory window.
2. Specify the display format by selecting the appropriate Access Size and
Base of Data options.
3. Enter the address (see page 27) you wish to read in the Read from field,
and select Apply.
24
Chapter 1: Using the Pentium® Emulation Control Interface
Displaying and Modifying Memory
To modify a memory location
1. Open the Memory window.
2. Select Memory Write....
3. Enter the address (see page 27) of the location in the Start Address field.
4. Enter a length of 1. (Entering a larger value will fill multiple memory
locations with the value.)
5. Enter the value that you want to write in the Data field.
6. Specify the size of the memory location and the format of the value you
wish to enter by selecting the appropriate Access Size and Base of Data
options.
7. Select Apply.
To fill a range of memory locations
1. Open the Memory window.
2. Select Memory Write....
3. Specify the size of the memory locations and the format of the value you
wish to enter by selecting the appropriate Access Size and Base of Data
options.
4. Enter the address (see page 27) of the first location in the Start Address
field, enter the number of addresses to be written with the value in the
Length field.
5. Enter the value that you want to write in the Data field.
6. Select Apply.
25
Chapter 1: Using the Pentium® Emulation Control Interface
Displaying and Modifying Memory
To display memory in mnemonic format
•
Open the Memory Disassembly window.
Memory is disassembled beginning at the current instruction pointer value.
The line corresponding to the instruction pointer will be highlighted.
To display memory beginning at another address
1. Enter the first address (see page 27) to disassemble in the Starting
Address field.
2. Select the appropriate Data Column Width and Default Size options.
3. Select Apply.
The address format displayed will match the format of the address you
entered in the Starting Address field.
26
Chapter 1: Using the Pentium® Emulation Control Interface
Displaying and Modifying Memory
Scrolling
Page Forward and Page Back let you scroll the displayed memory
locations. You cannot page back beyond the starting address.
Instruction pointer
tracking
If you step the processor or run and then stop, the highlighted line will
track the current instruction pointer. The address format displayed will
match the Default Address Mode setting.
If you do not want the highlighted line to track the instruction pointer,
select Freeze Window (No) in the Update menu.
Addresses
Enter addresses in any of the following formats:
•
Physical mode
Example: 0123ABCD
•
Linear mode
Example: 0123ABCD@L
•
Real mode (segment:offset)
Example: 0123:ABCD
27
Chapter 1: Using the Pentium® Emulation Control Interface
Displaying and Modifying Memory
•
Selector::offset
Example: 0123::ABCDEF89
•
GDT:LDT:offset
Example: 0123:4567:ABCDEF89
See Also
The Intel Pentium Family Developer's Manual.
28
Chapter 1: Using the Pentium® Emulation Control Interface
Displaying and Modifying I/O
Displaying and Modifying I/O
To display I/O locations
1. Open the I/O window.
2. Specify the display format by selecting the appropriate Access Size and
Base of Data options.
3. Use the Access Space option to select whether to display memory-mapped
I/O or actual I/O space.
4. Enter the address you wish to read in the Read from field, and select
Apply.
If the Access Space option is set to I/O (actual I/O space), the address
must by a physical address less than 64K. If the Access Space option is set
to Memory (memory-mapped I/O space), the address mode can be
physical, linear, or logical (see page 27).
Clear Buffer empties the contents of the I/O window.
29
Chapter 1: Using the Pentium® Emulation Control Interface
Displaying and Modifying I/O
To modify an I/O location
1. Open the I/O window.
2. Specify the size of the I/O location and the format of the value you wish to
enter by selecting the appropriate Access Size and Base of Data options.
3. Use the Access Space option to select whether to modify memory-mapped
I/O or actual I/O space.
4. Enter the value that you want to write in the Write field, enter the address
of the location in the to field, and select Apply.
If the Access Space option is set to I/O (actual I/O space), the address
must by a physical address less than 64K. If the Access Space option is set
to Memory (memory-mapped I/O space), the address mode can be
physical, linear, or logical (see page 27).
30
Chapter 1: Using the Pentium® Emulation Control Interface
Downloading an Executable to the Target System
Downloading an Executable to the Target
System
Use the Load Executable window to load executables (or other data)
into your target system.
1. Save the executable where the logic analysis system can read it (see
page 31).
2. Open (see page 39) the Load Executable window.
3. Select the format (see page 32) of the file.
4. Change the Access Size option, if necessary.
5. Enter the name of the file to load.
6. Select Apply.
When the file has been successfully loaded, "Load completed" message will
be displayed.
NOTE:
To improve downloading speed, choose the largest Access Size under Load
Options in the Load Executable window. When this help file was written, 8
bytes was the largest Access Size.
See Also
•
“To access a file from the logic analysis system” on page 31
•
“To choose a file format” on page 32
•
“Error messages while downloading files” on page 33
To access a file from the logic analysis system
You need to save the executable file where the logic analysis system
can read it.
If you will be downloading many files, you should NFS-mount the file
system (see the Agilent Technologies 16700A/B-Series Logic
Analysis System help volume) of the computer where you are
31
Chapter 1: Using the Pentium® Emulation Control Interface
Downloading an Executable to the Target System
compiling your program. If you do this, you can directly access your
executable, regardless of how big it is, as soon as it is compiled or
assembled. Mounting the file system may require the help of a system
administrator.
You can also copy the file (see the Agilent Technologies 16700A/BSeries Logic Analysis System help volume) from a floppy disk to the
hard disk of the logic analysis system. If the file is too big to fit on the
floppy disk, use PKZIP to compress the file, then uncompress (see the
Agilent Technologies 16700A/B-Series Logic Analysis System help
volume) the file using the File Manager.
To choose a file format
You can choose one of the following file formats:
•
Motorola S-records Most compilers for Motorola microprocessors can
generate Motorola S-records. (see page 34) This file format represents the
binary data as hexadecimal numbers in a ASCII file. Each record in the file
includes a load address for the data in the record.
•
Intel Extended Hex The Intel extended hex (see page 35) format
represents binary data as hexadecimal numbers in a ASCII file. Each
record in the file includes a load address for the data in the record.
•
Plain binary If you choose Plain binary, the data in the file will be copied
directly to the target system. Because plain binary files contain no
information about where to load the file in memory, you must enter a start
address.
•
ELF Object Many compilers generate ELF Object files. This option will
allow statically linked ELF images to be loaded into the target memory.
Dynamically linked ELF shared libraries cannot be loaded with this option.
If your executable is not in one of these formats, recompile,
reassemble, or relink your program with the appropriate options to
generate one of these formats.
See Also
•
“Details of the Motorola S-record format” on page 34
•
“Details of the Intel extended hex format” on page 35
32
Chapter 1: Using the Pentium® Emulation Control Interface
Downloading an Executable to the Target System
Error messages while downloading files
•
Bad Load Address The start address which you entered for the plain
binary file is invalid.
•
Checksum errors found in non-data records. Checksum errors were found
in one or more non-data records, but no errors were found in the data
records. The data records were loaded.
•
ELF file has no object image to load. Load not completed. This means we
found a valid ELF Object file, but the target image was not included with
the file. With no target image, we had nothing to load.
•
File could not be opened. The executable file could not be opened. Check
that the file exists, that the file permissions allow reading, and that the file
is a data file and not a directory.
•
File not in Intel Extended Hex file format. Load not completed, check
format selection. Check that you have selected the correct file format
button. If you still get this message, compare the file to the description in
“Details of the Intel extended hex format” on page 35.
•
File not in Motorola S-Record file format. Load not completed, check
format selection. Check that you have selected the correct file format
button. If you still get this message, compare the file to the description in
“Details of the Motorola S-record format” on page 34.
•
Load Failed: binary data load exceeds memory boundary. If the plain
binary file were to be loaded at the the start address which you entered,
some of the data would be written past the end of memory. Check the start
address, then check that the file has a size that will fit in your target
system's memory.
•
Load failed: Checksum Errors found in data record(s). Checksum errors
were found in one or more data records. The load was aborted: target
memory is unchanged. Generate a new executable file.
•
Load Failed: ELF file has a format problem. ELF file has been altered in
some way that we can no longer recognize it as an ELF file.
•
Load Failed: Refer to Status/Error Log window. The Status/Error Log
window will contain additional information about the errors that occurred.
33
Chapter 1: Using the Pentium® Emulation Control Interface
Downloading an Executable to the Target System
Details of the Motorola S-record format
An S-Record file has the following format:
[$$[module_record]
symbol records
$$[module_record]
symbol records
$$]
header_record
data_records
record_count_record
terminator_record
Each record in the file consists of
•
Record type (2 characters)
•
S0 - Header record
•
S1,S2,S3 - Data record
•
S5 - Record count
•
S7,S8,S9 - Terminator
•
Record length, in bytes, not including the record type field (2 characters)
•
Load address (2-8 characters)
•
The data, represented in hexadecimal. (length determined by the record
length field)
•
Checksum, calculated as the 1's complement of all bytes in the record, not
including the record type field (2 characters)
When downloading a file, anything before the header (such as any
module or symbol records) is ignored. All optional records are ignored.
Example
Here is an example of an S-Record file:
S00600004844521B
S20700665400B24C40
S20500665F45F0
S21400600033FC000A0000B24C202F00046C0622006D
...
34
Chapter 1: Using the Pentium® Emulation Control Interface
Downloading an Executable to the Target System
S2060066424E758E
S50300728A
S80400624455
Details of the Intel extended hex format
Each record in the file consists of
•
A colon (:) (1 character)
•
Number of bytes in the data field (2 characters)
•
Load address (4 characters)
•
Record type (2 characters)
•
00 Data
•
01 End of file
•
02 Extended segment address (bits 4-19 of a segment base address)
•
03 Start segment address
•
04 Extended linear address (the upper 2 bytes of a data load address)
•
05 Start linear address
•
The data, represented in hexadecimal. (length determined by the record
length field) For the extended address record types, the data consists of 4
characters representing the appropriate bits of the address.
•
Checksum, calculated as the 2's complement of the sum of all of the bytes
in the record after the colon (2 characters)
When downloading a file, only record types 00, 01, 02, and 04 are
parsed. Any additional records (such as any module or symbol records)
before the data records are ignored.
Example
Here is an example of a data record followed by an end of file record:
:20000000F00100230B340C4510561B6720782B892CAB30BC40CD4CD
E50EF60F06C01701290
:20002000AC230101112321453167418951AB61CDF1EF7121D001C01
F08F9090F18F7190660
35
Chapter 1: Using the Pentium® Emulation Control Interface
Downloading an Executable to the Target System
:2000400028F5290438F3390248F1490058FC590D68FE690F78FA790
988109812A834B865A7
:20006000C867D889E89A8180A1E0E0ABE1464B00AB00AB21AB32AB4
3AB54AB65AB76AB874B
:20008000AB98AB299C309C819CF29CE39CC49CB59CD69CA79C18BBF
F9B38EC0CEC0DEC0EC1
:2000A000EC0FEC86EC8AEC8BEC8CEC8DEC87EC08EC04EC00EC01EC0
2EC03EC06EC07EC8F88
:0A01A0000000D7200000D780030004
:00000001FF
36
Chapter 1: Using the Pentium® Emulation Control Interface
Coordinating Trace Measurements
Coordinating Trace Measurements
If you are using a logic analyzer (and perhaps an analysis probe) along
with an emulation probe to debug your target system, you can
coordinate the logic analyzer trace measurements with the execution
of your target processor.
•
“To break execution on a trigger” on page 37
•
“To trigger an analyzer on a break” on page 38
•
“To omit monitor cycles from the trace” on page 39
To break execution on a trigger
With an emulation module
1. Create a logic analyzer trigger.
2. In the Intermodule Window (see the Agilent Technologies 16700A/BSeries Logic Analysis System help volume), select the emulation module
icon and then select the analyzer that is intended to trigger it.
3. Select Run in the logic analyzer window to start the trace measurement.
4. Start processor execution, if necessary.
When the trigger occurs, processor execution should break into the
monitor.
With an emulation probe
1. Connect the trigger output to the emulator's "Break In" port.
2. Configure the "Break In" port to either break on rising or falling edge
signals (see “Configuring the Emulator” on page 13). When using the
trigger output of the logic analysis system, configure the emulator to break
on a rising edge signal.
3. Start the trace measurement. When the trigger occurs, processor
execution should break into the monitor.
37
Chapter 1: Using the Pentium® Emulation Control Interface
Coordinating Trace Measurements
4. Start processor execution.
This type of coordination lets you break processor execution on more
specific conditions than are provided by the debug register
breakpoints. For example, you can trigger and break on the write of a
particular value to a particular address.
See Also
•
To enable or disable emulator break on trigger (see the Listing Display
Tool help volume).
•
To trigger after, about, or before a source line (see the Listing Display
Tool help volume).
•
The processor solution manual for your processor (if available).
To trigger an analyzer on a break
If you want to trace execution that occurs before a break:
With an emulation module
1. Set the logic analyzer to trigger on anystate.
2. Set the trigger point to center or end.
3. In the Intermodule Window (see the Agilent Technologies 16700A/BSeries Logic Analysis System help volume), select on the logic analyzer
you want to trigger, then select the emulation module.
The logic analyzer is now set to trigger on a processor halt.
4. Wait for the Run Control window to show that the processor has stopped.
NOTE:
The logic analyzer will store states up until the processor stops, but will
continue running. When the processor stops, you may see a "slow clock"
message, or the logic analyzer display may not change at all.
5. In the logic analyzer window, select Stop to complete the measurement.
With an emulation probe
1. Connect the emulation probe's "Trigger Out" port to the analyzer's input
port.
38
Chapter 1: Using the Pentium® Emulation Control Interface
Coordinating Trace Measurements
2. Configure the "Trigger Out" port to either be high or low when processor
execution is in the monitor (see “Configuring the Emulator” on page 13).
3. Configure the logic analyzer's input port. For example, if "Trigger Out" is
low when in the monitor, configure the analyzer to look for a falling edge.
4. Set up the analyzer to trigger on the input signal (storing states that occur
before the trigger).
5. Start the trace measurement.
6. Start processor execution. When the break occurs, the analyzer should
trigger.
To omit monitor cycles from the trace
If you have an emulation probe, you can omit monitor cycles from a
logic analyzer trace by using the "Trigger Out" port signal as an
analyzer clock qualifier. That is, the analyzer is only clocked when
processor execution is outside the monitor.
1. Connect the emulation probe's "Trigger Out" port to the analyzer's clock
qualifier input.
2. Configure the "Trigger Out" port to either be high or low when processor
execution is in the monitor (see “Configuring the Emulator” on page 13).
3. Configure the logic analyzer's clock qualifier input. For example, if "Trigger
Out" is low when in the monitor, configure the analyzer to clock only when
the qualifier input is high.
4. Set up and start analyzer trace measurements normally. The processor
must be executing user code (not executing in the monitor) in order for
data to be clocked into the analyzer.
To open windows
The Emulation Control Interface gives you several ways to open new
windows:
39
Chapter 1: Using the Pentium® Emulation Control Interface
Coordinating Trace Measurements
Opening windows from the Emulation Control Interface icon
1. Move the mouse cursor over the Emulation Control Interface icon in the
system window or in the workspace window.
2. Press and hold the right mouse button.
3. Move the mouse cursor over the menu selection for the window you wish
to open.
4. Release the right mouse button.
Opening windows from the Window menu
•
In any emulation window menu bar, select Window.
•
Select the emulator.
•
Select the window you want to open.
Creating and naming new windows
You can open several copies of certain windows, such as the Memory
window.
1. In the menu bar, select File then select New Window. The new window
will be given a number, such as Memory <<3>>.
2. (Optional) In the new window, select File then select Rename. Enter a
new name for the window and select OK.
The new window can be opened from the Emulation Control Interface
icon or from the Window menu.
40
Chapter 1: Using the Pentium® Emulation Control Interface
Coordinating Trace Measurements
To close windows
•
In the menu bar, select File then select Close.
Auto-close
You can turn on Auto-close so that when you select a new window from
the Window menu, the current window will be closed. To turn on Autoclose, select Window in the menu bar, then select Auto-Close [ON].
Deleting windows
When you create a new window using File->New, the window will still
be listed in the Window menu after you have closed it. To delete the
window from the list, open the window then select File->Delete.
41
Chapter 1: Using the Pentium® Emulation Control Interface
Managing Run Control Tool Windows
Managing Run Control Tool Windows
•
“To open windows” on page 39
•
“To close windows” on page 41
•
“To use the Status/Error Log window” on page 42
To use the Status/Error Log window
The Status/Error Log window is the central repository for error and
status messages.
To specify when the Status/Error Log window appears:
1. Open the Status/Error Log window.
2. If you want the Status/Error Log window to automatically appear every
time an error or status message occurs, select Yes for Popup dialog upon
receiving error/status message?. If you only want the Status/Error Log
window to appear when you open it, select No.
3. Close the Status/Error Log window.
Clear Messages empties the contents of the Status/Error Log window.
See Also
“Error/Status Messages” on page 49
42
Chapter 1: Using the Pentium® Emulation Control Interface
Managing Run Control Tool Windows
To Use the Command Line Interface
1. Open the Command Line window.
2. Enter commands in the Command Input field.
The help command provides command syntax and other information. For
example, for help on the m command, enter the help m command.
Enter comments by beginning a line with the # character.
3. Each line begins with a status prompt, such as M> or U>.
•
M> indicates your target system is in the background debug mode, not
running user code.
•
U> indicates your target system is running user program code.
For definitions of all of the status prompts you might see in the Command
Line window, type, help proc.
The command line interface is useful, for example, for creating scripts
that initialize the target system to a known state. For example, scripts
can set initial register or memory values or write an I/O sequence.
Playback Script will execute commands that have been saved in a
script file.
Edit Script opens a simple text editor that lets you enter and save a
sequence of commands in a file.
Clear Buffer clears the Command Output buffer.
Memory Test... displays the Memory Test window where you can
evaluate your target system memory hardware.
Use the up and down arrow keys to scroll through a list of the last 20
commands which you have entered.
Use the log (see page 45) command to save command line output to a
file.
Example
To create a script that reads a range of memory addresses, writes
43
Chapter 1: Using the Pentium® Emulation Control Interface
Managing Run Control Tool Windows
22334455 to those addresses, and then reads the memory address
range again:
1. Select Edit Script.
2. In the Text Editor window, enter the commands:
3. Select the File->Save command from the menu bar, enter the name of
your file in the File Selection dialog, and select OK.
4. Close the Text Editor window.
To play back the script just created:
1. Select Playback Script.
2. Select the name of the emulator configuration settings script file in the File
Selection dialog, and select OK.
The output will look similar to the following:
44
Chapter 1: Using the Pentium® Emulation Control Interface
Managing Run Control Tool Windows
Limitations
See Also
•
Some of the commands listed when you type help are not available. In
particular, the pv and init commands cannot be used.
•
In demo mode, commands entered in this window (including the help
command) have no effect.
•
“To save command line output in a log file” on page 45
•
“To create a script from a log file” on page 46
•
“To cancel a command in the Command Line window” on page 46
•
“Timeouts in the Command Line window” on page 47
•
“Commands not available in the Command Line window” on page 47
•
“Testing Target System Memory” on page 59
To save command line output in a log file
1. In the Command Line window, enter the log filename command.
Enter the full path for the log file.
2. Enter commands or playback a script. The commands and their output will
45
Chapter 1: Using the Pentium® Emulation Control Interface
Managing Run Control Tool Windows
be saved to the file.
3. To stop logging to the file, enter the log off command.
Example
To save the values of all of the registers to the file "reglog01.log" enter:
log /logic/mylogs/reglog01.log
reg
log off
To create a script from a log file
1. Select Edit Script.
2. Select File->Load Script, then choose the log file.
3. Edit the text to remove:
•
the ">" prompt
•
the output of the command
•
the "Logging to" line
•
the "Logging turned off" line
4. Save the script.
To cancel a command in the Command Line window
Select the Cancel button in the Busy dialog to cancel the currently
executing command.
Commands that create no output cannot be cancelled and will cause
the connection to the emulator to timeout (see page 47).
If you use the rep command to write a loop, make sure that there is a
command in the loop which will generate some output.
For example, rep 0 {m 0..100=0} will repetitively write 0 to the
entire memory range 0..100. Because the m address=value command
produces no output, the command cannot be cancelled. By changing
the command to rep 0 {m 0..100=0;echo .} a dot is written
after every complete write of the range 0..100 and you will be able to
46
Chapter 1: Using the Pentium® Emulation Control Interface
Managing Run Control Tool Windows
cancel the command.
Timeouts in the Command Line window
Timeout is one minute.
Every command must generate output that occurs at a rate of at least
once a minute. Faster rates of output are desirable. For example, the
command w 70 (wait 70 seconds) will cause the system to timeout
and should not be used. In addition, commands like m 0..10000=0
which fill large segments of memory may cause the system to timeout.
Use Memory Fill in the Memory Window to fill memory.
Commands not available in the Command Line window
Some of the commands listed when you type help in the Command
Line window are not available.
The unavailable commands are:
•
cf_var
•
cfsave
•
cl
•
dump
•
end
•
init
•
lan
•
load
•
mo
•
po
•
pv
•
sio
•
sioget
•
sioput
47
Chapter 1: Using the Pentium® Emulation Control Interface
Managing Run Control Tool Windows
•
slist
•
start
•
stty
•
ureg
48
Chapter 1: Using the Pentium® Emulation Control Interface
Error/Status Messages
Error/Status Messages
Select the messages below for additional information on some of the
error/status messages that can occur when using the run control tool.
Some of these messages can appear in either the Error/Status Log
window or in the Command Line Interface window; others will appear
only in the Command Line Interface window as the result of a
command entered there.
Address must be for protected mode (see page 50)
Address must be for real mode (see page 50)
Break has been processed - running user program (see page 51)
Breakpoint dr…:linear address …(see page 51)
Cannot translate protected-mode addresses in real mode (see page 51)
Cannot use NULL segment selector (see page 51)
INIT caused break - debug registers restored (see page 52)
I/O port access size not supported (see page 52)
IO address must be physical (see page 52)
IO address out of range (see page 52)
Jtag failed (see page 52)
Must be in monitor to access descriptor information (see page 53)
No Target Power (see page 53)
Page fault (see page 53)
Processor is not ready (see page 53)
RESET deassertion caused break - debug registers restored (see page 54)
Read of register occurred (see page 54)
RPL of CS selector <DPL of segment descriptor (see page 54)
Segment limit violation (see page 54)
49
Chapter 1: Using the Pentium® Emulation Control Interface
Error/Status Messages
Segment not present (see page 54)
Segment selector exceeds GDT (or LDT) limit (see page 55)
Selector does not refer to GDT entry (see page 55)
Selector does not refer to a LDT (see page 55)
Selector points to invalid descriptor (see page 55)
Unable to break (see page 55)
See Also
“To use the Status/Error Log window” on page 42
Address must be for protected mode
This error occurs when running in protected mode if you specify an
address, as part of a run or step command, that is not a protectedmode address.
Address must be for real mode
This error occurs when running in real mode if you specify an address,
as part of a run or step command, that is not a real-mode address.
Break has been processed - running user
program
If you have set the "Action on RESET:" configuration option to "Break,"
this message appears after you enter the run command to override the
break setting (usually after you enter the reset command).
50
Chapter 1: Using the Pentium® Emulation Control Interface
Error/Status Messages
Break has been processed - running user
program
If you have set the "Action on RESET:" configuration option to "Break,"
this message appears after you enter the run command to override the
break setting (usually after you enter the reset command).
Breakpoint dr…:linear address …
This message shows which hardware breakpoint was hit.
Cannot translate protected-mode addresses in
real mode
Protected mode addresses (selector::offset or GDT:LDT:offset) cannot
be specified when the processor is running in real mode.
Cannot use NULL segment selector
A selector in a selector::offset address or a GDT:LDT:offset address
cannot be 0.
INIT caused break - debug registers restored
This message appears when you have set the "Action on INIT without
RESET:" configuration option to "Break" and an INIT leading edge
causes a break.
51
Chapter 1: Using the Pentium® Emulation Control Interface
Error/Status Messages
INIT caused break - debug registers restored
This message appears when you have set the "Action on INIT without
RESET:" configuration option to "Break" and an INIT leading edge
causes a break.
IO address must be physical
This message appears if you enter an I/O address that is not in physical
format. I/O addresses are limited to 64K physical.
IO address out of range
IO addresses are limited to a physical address between 0 and 64K.
I/O port access size not supported
This message occurs if -a8 (or something larger) is used as part of an io
command in the Command Line Interface window.
Jtag failed
This error occurs if a JTAG command was not executed correctly.
This probably indicates that there is not a good connection between
the processor and the Pentium Emulator, or that the processor needs
to be reset.
52
Chapter 1: Using the Pentium® Emulation Control Interface
Error/Status Messages
Must be in monitor to access descriptor
information
This error appears when a request (such as displaying memory at a
selector::offset address) requires accessing information from a
descriptor table while the target program is running. Break into the
monitor and perform the action again.
No Target Power
This message occurs if the target power is disengaged during an
attempt to submit a JTAG instruction.
Page fault
This error occurs if a memory request generates an access attempt to a
page of memory that is no longer available (that is, the page present bit
of the page table entry is clear).
Processor is not ready
This message occurs if the PRDY signal is not asserted (according to
the emulator) when it would ordinarily have to be.
RESET deassertion caused break - debug
registers restored
This message appears when you have set the "Action on RESET:"
configuration option to "Break" and a RESET deassertion causes a
break.
53
Chapter 1: Using the Pentium® Emulation Control Interface
Error/Status Messages
RESET deassertion caused break - debug
registers restored
This message appears when you have set the "Action on RESET:"
configuration option to "Break" and a RESET deassertion causes a
break.
RPL of CS selector < DPL of segment
descriptor
The RPL (Requestor Privilege Level) bits in the selector are greater
than (of a lesser privilege than) the DPL bits specified in the segment
descriptor.
Read of register occurred
This message indicates that certain registers were not read
successfully during the processing of a break.
Segment limit violation
The offset in either a segment:offset or GDT:LDT:offset address is out
of range of the limit for the specified selector.
Segment not present
This error occurs if the specified segment descriptor is marked as not
present, and is therefore not available.
54
Chapter 1: Using the Pentium® Emulation Control Interface
Error/Status Messages
Segment selector exceeds GDT (or LDT) limit
This error occurs if the specified selector is out of range for either the
GDT or the specified LDT.
Selector does not refer to GDT entry
This error occurs if the entry in the GDT pointed to by the specified
selector (in a selector::offset address or a GDT:LDT:offset address)
could not be interpreted.
Selector does not refer to a LDT
This error occurs if the specified GDT:LDT:offset address specified was
incorrect. The entry in the GDT pointed to by the specified selector
could not be interpreted as a reference to a LDT.
Selector points to invalid descriptor
This error occurs if the entry in the GDT pointed to by the specified
selector (in a selector::offset address or a GDT:LDT:offset address)
could not be interpreted.
Unable to break
This message appears when the emulator does not detect a "running in
monitor" condition when that condition is called for. This probably
indicates that the processor needs to be reset.
55
Chapter 1: Using the Pentium® Emulation Control Interface
To update firmware
To update firmware
Update the firmware if:
•
The emulation module or emulation probe is being connected to a new
analysis probe or TIM, or
•
The emulation module was not shipped already installed in the logic
analysis system, or
•
You have an updated version of the firmware.
To install firmware from a CD-ROM to the hard disk
•
Follow the instructions printed on the CD-ROM jacket.
This will install the firmware onto the logic analysis system hard disk.
Continue with either the "To update emulation module firmware" or the
"To update emulation probe firmware" instructions.
To update emulation module firmware
1. End any emulation sessions that may be running. Remove any emulation
module icons from the workspace in the Workspace window.
2. Install the firmware onto the logic analysis system's hard disk, if necessary.
3. In the system window, select the emulation module and select Update
Firmware.
4. In the Update Firmware window, select the firmware version to load.
Select the Additional Information button to display additional
information about the firmware you selected.
56
Chapter 1: Using the Pentium® Emulation Control Interface
To update firmware
5. Select Update Firmware.
To update emulation probe firmware
1. End any emulation sessions that may be running.
2. Install the firmware onto the logic analysis system's hard disk, if necessary.
3. In the workspace window, drag the emulation probe icon onto the
workspace.
4. Select the emulation probe icon and select Update Firmware....
5. In the Update Firmware window, enter the LAN name or address of the
emulation probe.
6. In the Update Firmware window, select the firmware version to load.
Select the Additional Information button to display additional
information about the firmware you selected.
7. Select Update Firmware.
8. Cycle power on the emulation probe.
To display the current firmware version
•
Select Display Current Version to see what firmware version is already
installed in your emulation module or emulation probe.
To install firmware from another source
If you obtained firmware from another source, such as from an ftp
server or a World Wide Web site: //www.agilent.com/find/sw-updates
•
Follow the instructions provided with the firmware, OR
•
Copy the firmware files into /logic/run_cntrl/firmware on the logic analysis
system hard disk. Be sure to copy all of the files which begin with the
product number of the firmware for your microprocessor.
57
Chapter 1: Using the Pentium® Emulation Control Interface
Disconnecting from the Emulator
Disconnecting from the Emulator
1. Select the Emulation Module icon or Emulation Control Interface icon and
then select Disconnect from Emulator.
2. In the Connect - Emulator window, select Disconnect from Emulator.
58
Chapter 1: Using the Pentium® Emulation Control Interface
Testing Target System Memory
Testing Target System Memory
Many times when a system under test fails to operate as expected, you
will need to determine whether the failure is in the hardware or the
software. These tests verify operation of the memory hardware in the
system under test.
To Test Target System Memory
1. Open the Memory Test window (see page 74).
2. Specify the Memory Test (see page 61) to be performed.
3. Specify the Memory Range (see page 73) to be tested.
4. Specify the Data Value (see page 73) to be used when performing the test.
5. Specify the Options (see page 73), number of times the test is to be
repeated and type of error message information to be presented during the
test.
6. Open the Command Line window if it's not already open.
7. Select the Execute Test button.
8. View test results in the Command Line window.
The Command Input line in the Command Line window will show the
equivalent terminal interface command during each test.
The Busy dialog box appears while the test executes. It also shows the
equivalent terminal interface command during each test. A Cancel
button in the Busy dialog box can be used to stop a test in progress.
To check untested memory hardware, follow the “Recommended Test
Procedure” on page 74.
Example
The following example writes the value "55555555" to addresses 1000
through 1fff (hexadecimal). Then it compares the values in memory
with the values that were written. Next, the test writes the compliment
"aaaaaaaa" to the same range of addresses and compares the new
59
Chapter 1: Using the Pentium® Emulation Control Interface
Testing Target System Memory
values in memory with the values that were written.
1. Open the Command Line window and select the Memory Test button.
2. In the Memory Test window, specify the memory test shown below.
3. Select the Execute Test button.
4. View the test results in the Command Line window.
See Also
•
60
“Recommended Test Procedure” on page 74
Chapter 1: Using the Pentium® Emulation Control Interface
Testing Target System Memory
Memory Test:
The Memory Test feature of the Emulation Control Interface can
perform seven different types of tests. Use these tests to find problems
in address lines, data lines, and data storage. Use these tests in
combination because no single test can perform a complete evaluation
of the target system memory.
Basic Pattern
•
Use this test to validate data read-write lines.
•
“To perform the Basic Pattern test” on page 62
•
“How the Basic Pattern test works” on page 63
Address Pattern
•
Use this test to validate address read-write lines.
•
“To perform the Address Pattern test” on page 64
•
“How the Address Pattern test works” on page 65
Rotate Pattern
•
Use this test to validate data read-write lines, and test voltage and ground
bounce.
•
“To perform the Rotate Pattern test” on page 65
•
“How the Rotate Pattern test works” on page 67
Walking Ones
•
Use this test to validate individual storage bits in memory.
•
“To perform the Walking Ones test” on page 68
•
“How the Walking Ones test works” on page 68
Walking Zeros
•
Use this test to validate individual storage bits in memory.
•
“To perform the Walking Zeros test” on page 69
61
Chapter 1: Using the Pentium® Emulation Control Interface
Testing Target System Memory
•
“How the Walking Zeros test works” on page 70
Oscilloscope Read
•
Use this test to generate the signals associated with reading from memory
so they can be viewed on an oscilloscope.
•
“To perform the Oscilloscope Read test” on page 70
•
“How the Oscilloscope Read test works” on page 71
Oscilloscope Write
•
Use this test to generate the signals associated with writing to memory so
they can be viewed on an oscilloscope.
•
“To perform the Oscilloscope Write test” on page 71
•
“How the Oscilloscope Write test works” on page 72
To perform the Basic Pattern test
1. Open the Memory Test dialog box from either the Memory window or the
Command Line window.
2. In the Memory Test dialog box, select the Basic Pattern Memory Test.
3. Type in the Memory Range to be tested.
4. Select the Access Size to be written, and type in the Pattern to be written.
5. Set Repetitions to 1. This causes the test to be performed one time.
6. Set Verbosity to Ten Errors. This is the recommended verbosity for the
first test in a series of tests.
7. Select the Execute Test button.
8. When the test is complete, the Command Line window will show the test
results. Error messages will be shown if any errors were found during the
test.
This test verifies that the data lines of the selected memory range are
without error. This test also checks the individual memory locations in
the memory range specified.
62
Chapter 1: Using the Pentium® Emulation Control Interface
Testing Target System Memory
Consistent errors such as a particular bit incorrect every four bytes
typically indicate a problem with the data lines. Random or sparse
errors may indicate hardware data memory errors—check individual
locations with the Walking Ones and Walking Zeros tests.
This test will halt and generate an error message if your Memory Range
specification causes this test to be performed outside the range of valid
memory in your target system.
This test will not halt but it will generate an error message if it is run on
ROM or on locations with data line or location errors.
You can open a memory window on your logic analyzer to view the
memory content. Expect to see the pattern and the compliment of the
pattern that was specified.
NOTE:
This test will not always detect errors in the address lines. For example, if a bit
in the address lines is stuck high or low, the Pattern Test will write to a
different location in memory. Then the read from memory for comparison will
also be made from that different location so the data will be correct. Use the
Address Pattern test with this test to completely evaluate the memory range.
See Also:
•
“How the Basic Pattern test works” on page 63
•
“If problems were found by the Basic Pattern test” on page 75
How the Basic Pattern test works
This test writes the Pattern and the compliment of the Pattern to the
Memory Range, and then compares the values in memory with what
was written. The compliment of the Pattern and then the Pattern are
then written, read, and compared.
Example:
00000000
00000002
00000004
00000008
First
Write/Read
Second
Write/Read
5555
AAAA
5555
AAAA
AAAA
5555
AAAA
5555
63
Chapter 1: Using the Pentium® Emulation Control Interface
Testing Target System Memory
The Basic Pattern test finds data bits in memory that are stuck high or
low. It also detects data lines that may be tied to power ground, or not
connected at all.
To perform the Address Pattern test
1. Open the Memory Test dialog box from either the Memory window or the
Command Line window.
2. In the Memory Test dialog box, select the Address Pattern Memory Test.
3. Type in the Memory Range to be tested.
4. Select the Access Size to be tested.
5. Set Repetitions to 1. This causes the test to be performed one time.
6. Set Verbosity to Ten Errors. This is the recommended verbosity for the
first test in a series of tests.
7. Select the Execute Test button.
8. When the test is complete, the Command Line window will show the test
results. Error messages will be shown if any errors were found during the
test.
This test verifies that the address lines of the selected memory range
are without error.
This test does not ensure that the data lines or individual data locations
are without error. If a bit is stuck in a memory location, but is stuck in
the written value, the stuck bit will not be detected.
You can view the memory in an analyzer memory window. You should
see direct correlation between each address and the data stored at that
address.
Consistent errors typically indicate problems in the address lines. This
is especially likely if the results of the Basic Pattern test were without
errors.
Errors in specific memory locations may indicate errors in the memory
hardware instead of the address lines.
64
Chapter 1: Using the Pentium® Emulation Control Interface
Testing Target System Memory
See Also:
•
“How the Address Pattern test works” on page 65
•
“If problems were found by the Address Pattern test” on page 76
How the Address Pattern test works
This test writes the address of each memory location as data to each
location. The data is then read back to see if it matches the addresses.
The pattern written to the memory is generated at the start of the test
and is dependent upon the start address, access size, and the number
of bytes in the memory range.
Depending on the last Access Size selected, subsets of the addresses
may be written to memory. For example, if the last access size was 1
byte, address 00000001 will have 01 written to it, and address
00000002 will have 02 written to it.
For example, the data written in address 00001000 will look like this,
depending on the last Access Size.
1 Byte = 00001000
00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f
2 Byte = 00001000
1000 1002 1004 1006 1008 100a 100c 100e
4 Byte = 00001000
00001000 00001004 00001008 0000100c
8 Byte = 00001000
0000000000001000 0000000000001008
The upper four bytes of an 8 Byte access size are not tested for a 4
Byte address. The upper four bytes will always be zeros. Use a smaller
access size to test these locations with the Address Pattern test.
Unless the access size is 1 Byte, the odd bits of the memory locations
will not be tested. Use the Basic Pattern test to check the odd bits.
To perform the Rotate Pattern test
1. Open the Memory Test dialog box from either the Memory window or the
Command Line window.
2. In the Memory Test dialog box, select the Rotate Pattern Memory Test.
65
Chapter 1: Using the Pentium® Emulation Control Interface
Testing Target System Memory
3. Type in the Memory Range to be tested.
4. Select the Access Size to be written, and type in the Pattern to be written.
A good pattern to use is 01, 0001, or 00000001.
5. Set Repetitions to 1. This causes the test to be performed one time.
6. Set Verbosity to Ten Errors. This is the recommended verbosity for the
first test in a series of tests.
7. Select the Execute Test button.
8. When the test is complete, the Command Line window will show the test
results. Error messages will be shown if any errors were found during the
test.
This test can be used to test voltage and ground bounce problems
associated with the selected memory range. This test verifies that the
data lines of the selected memory range are without error. This test
also checks the individual memory locations in the memory range
specified.
Consistent errors such as a particular bit incorrect every four bytes
typically indicate a problem with the data lines. Random or sparse
errors may indicate hardware data memory errors—check individual
locations with the Walking Ones and Walking Zeros tests.
This test will halt and generate an error message if your Memory Range
specification causes this test to be performed outside the range of valid
memory in your target system.
This test will not halt but it will generate an error message if it is run on
ROM or on locations with data line or location errors.
You can open a memory window on your logic analyzer to view the
memory content. Expect to see the pattern and the compliment of the
pattern that was specified.
See Also:
•
66
“How the Rotate Pattern test works” on page 67
Chapter 1: Using the Pentium® Emulation Control Interface
Testing Target System Memory
How the Rotate Pattern test works
This test writes the Pattern and the compliment of the Pattern to the
Memory Range, and then compares the values in memory with what
was written. Next, the rotated Pattern and the rotated compliment of
the Pattern are written, read, and compared. Now the Pattern is
rotated again, and again it is written, read, and compared. This
continues until the rotations of the pattern return it to its original
arrangement. That constitutes one Repetition of the Rotate Pattern
test.
Example:
Address
First
Write/Read
Second
Write/Read
Third
Write/Read
01
FE
02
FD
04
FB
08
F7
10
FE
02
FD
04
FB
08
F7
10
EF
02
FD
04
FB
08
F7
10
EF
20
00000000
00000001
00000002
00000003
00000004
00000005
00000006
00000007
00000008
Larger Access Size selections take more time because they require
more patterns to be written to all locations (2-byte Access Size
requires writing 32 patterns, and 4-byte Access Size requires writing
64 patterns).
The Access Size you select will affect the appearance of memory when
you view memory after a test. When a test is complete, memory
contains the last set of patterns that was written to it. For example,
consider the following listing from a Rotate Pattern test that was
performed one time with an Access Size of 2 bytes, and an initial
pattern of 0001.
What you see below is the 32nd set of patterns written to memory
during the test.
00000000
00000010
00000020
00000030
00000040
00000050
00000060
7fff
fff7
ff7f
f7ff
7fff
fff7
ff7f
0001
0010
0100
1000
0001
0010
0100
fffe
ffef
feff
efff
fffe
ffef
feff
0002
0020
0200
2000
0002
0020
0200
fffd
ffdf
fdff
dfff
fffd
ffdf
fdff
0004
0040
0400
4000
0004
0040
0400
fffb
ffbf
fbff
bfff
fffb
ffbf
fbff
0008
0080
0800
8000
0008
0080
0800
67
Chapter 1: Using the Pentium® Emulation Control Interface
Testing Target System Memory
00000070
f7ff 1000 efff 2000 dfff 4000 bfff 8000
The Rotate Pattern test finds data bits in memory that are stuck high or
low. It also detects data lines that may be tied to power ground, or not
connected at all. This test more than any other in this set of tests will
detect problems with voltage and ground bounce associated with the
selected memory range.
To perform the Walking Ones test
1. Open the Memory Test dialog box from either the Memory window or the
Command Line window.
2. In the Memory Test dialog box, select the Walking Ones Memory Test.
3. Type in the Memory Range to be tested.
4. Select the Access Size to be tested.
5. Set Repetitions to 1. This causes the test to be performed one time.
6. Set Verbosity to Ten Errors. This is the recommended verbosity for the
first test in a series of tests.
7. Select the Execute Test button.
8. When the test is complete, the Command Line window will show the test
results. Error messages will be shown if any errors were found during the
test. You can also select the Memory window to see the content of memory.
The Walking Ones test finds data bits stuck in logical "0".
See Also:
•
“How the Walking Ones test works” on page 68
How the Walking Ones test works
This test cycles "1" through each bit position in memory, and checks
results. It does this by writing and then reading a pattern sequence of
ones and zeros from all memory locations in the range.
For example, the hexadecimal values 01, 02, 04, ... are written to each
68
Chapter 1: Using the Pentium® Emulation Control Interface
Testing Target System Memory
location in the Memory Range.
Address
00000000
00000001
00000002
00000003
00000004
NOTE:
1st 2nd 3rd 4th 5th 6th 7th 8th
01 02 04 08 10 20 40 80
02 04 08 10 20 40 80 01
04 08 10 20 40 80 01 02
08 10 20 40 80 01 02 04
10 20 40 80 01 02 04 08
1st, 2nd, 3rd, etc. are the first, second, third, etc. complete passes through the
memory.
Larger Access Size selections take more time because they require
more patterns to be written to all locations (2-byte Access Size
requires writing 16 patterns, and 4-byte Access Size requires writing
32 patterns).
Example of 2-byte Access Size writing 16 patterns:
Address
00000000
00000001
00000002
00000003
00000004
1st
0001
0002
0004
0008
0010
2nd
0002
0004
0008
0010
0020
3rd
0004
0008
0010
0020
0040
4th
0008
0010
0020
0040
0080
5th
0010
0020
0040
0080
0100
6th
0020
0040
0080
0100
0200
7th
0040
0080
0100
0200
0400
8th
0080
0100
0200
0400
0800
9th
0100
0200
0400
0800
1000
...
...
...
...
...
...
16th
8000
0001
0002
0004
0008
This test finds data bits stuck in logical "0".
To perform the Walking Zeros test
1. Open the Memory Test dialog box from either the Memory window or the
Command Line window.
2. In the Memory Test dialog box, select the Walking Zeros Memory Test.
3. Type in the Memory Range to be tested.
4. Select the Access Size to be tested.
5. Set Repetitions to 1. This causes the test to be performed one time.
6. Set Verbosity to Ten Errors. This is the recommended verbosity for the
first test in a series of tests.
7. Select the Execute Test button.
8. When the test is complete, the Command Line window will show the test
69
Chapter 1: Using the Pentium® Emulation Control Interface
Testing Target System Memory
results. Error messages will be shown if any errors were found during the
test. You can also select the Memory window to see the content of memory.
The Walking Zeros test finds data bits stuck in logical "1".
See Also:
•
“How the Walking Zeros test works” on page 70
How the Walking Zeros test works
This test cycles "0" through each bit position in memory, and checks
results.
For example, the hex values FE, FD, FB, ... are written to each location
in the Memory Range.
Address
00000000
00000001
00000002
00000003
00000004
NOTE:
1st 2nd 3rd 4th 5th 6th 7th 8th
FE FD FB F7 EF DF BF 7F
FD FB F7 EF DF BF 7F FE
FB F7 EF DF BF 7F FE FD
F7 EF DF BF 7F FE FD FB
EF DF BF 7F FE FD FB F7
1st, 2nd, 3rd, etc. are the first, second, third complete pass through the
memory.
Larger Access Size selections take more time because they require
more patterns to be written to all locations (2-byte Access Size
requires writing 16 patterns, and 4-byte Access Size requires writing
32 patterns).
Example of 2-byte Access Size writing 16 patterns:
Address
00000000
00000001
00000002
00000003
00000004
1st
FFFE
FFFD
FFFB
FFF7
FFEF
2nd
FFFD
FFFB
FFF7
FFEF
FFDF
3rd
FFFB
FFF7
FFEF
FFDF
FFBF
4th
FFF7
FFEF
FFDF
FFBF
FF7F
5th
FFEF
FFDF
FFBF
FF7F
FEFF
6th
FFDF
FFBF
FF7F
FEFF
FDFF
7th
FFBF
FF7F
FEFF
FDFF
FBFF
8th
FF7F
FEFF
FDFF
FBFF
F7FF
9th
FEFF
FDFF
FBFF
F7FF
EFFF
...
...
...
...
...
...
16th
7FFF
FFFE
FFFD
FFFB
FFF7
This test finds data bits stuck in logical "1".
To perform the Oscilloscope Read test
1. Connect your oscilloscope to view signals on the lines to be tested. These
70
Chapter 1: Using the Pentium® Emulation Control Interface
Testing Target System Memory
will be the signals generated to perform read transactions from the
memory in your target system.
2. Open the Memory Test dialog box from either the Memory window or the
Command Line window.
3. In the Memory Test dialog box, select the Oscilloscope Read Memory
Test.
4. Type in the Memory Range to be read.
5. Select the Access Size to be read.
6. Set Repetitions to 0. This repeats the test continuously until you cancel
the test.
7. Set Verbosity to Summary Only.
8. Select the Execute Test button.
9. When you have finished using your oscilloscope to view the read-frommemory signals, select the Cancel button in the Busy dialog box that
appears on screen.
You will see an error message if your test attempts to read memory
addresses outside the range of available memory.
See Also:
•
“How the Oscilloscope Read test works” on page 71
How the Oscilloscope Read test works
This test repetitively reads the present content from the Memory
Range for the number of Repetitions specified, typically reads
continuously until cancelled.
The Oscilloscope Read test does not print or store the data it has read.
To perform the Oscilloscope Write test
1. Connect your oscilloscope to view signals on the lines to be tested. These
will be the signals generated to perform write transactions to the memory
71
Chapter 1: Using the Pentium® Emulation Control Interface
Testing Target System Memory
in your target system.
2. Open the Memory Test dialog box from either the Memory window or the
Command Line window.
3. In the Memory Test dialog box, select the Oscilloscope Write Memory
Test.
4. Type in the Memory Range to be written.
5. Select the Access Size to be written, and type in the Pattern to be written.
6. Set Repetitions to 0. This repeats the test continuously until you cancel
the test.
7. Set Verbosity to Summary Only.
8. Select the Execute Test button.
9. When you have finished using your oscilloscope to view the write-tomemory signals, select the Cancel button in the Busy dialog box that
appears on screen.
You will see an error message if your test attempts to write to memory
addresses outside the range of available memory.
See Also:
•
“How the Oscilloscope Write test works” on page 72
How the Oscilloscope Write test works
•
This test repetitively writes your selected Pattern to the Memory Range
for the number of Repetitions specified, typically continuously until
cancelled.
•
If your pattern is larger than the access size, it will be truncated to fit. If
your pattern is smaller than the access size, it will be zero-padded to fit.
•
This test does not generate error messages for unsuccessful write
transactions, such as writes to ROM.
•
If desired, you can open a memory window in the logic analyzer and view
the memory where the pattern was written. If the memory is ROM or if it
contains errors, it may not contain the pattern that was written.
72
Chapter 1: Using the Pentium® Emulation Control Interface
Testing Target System Memory
Memory Range
A memory test can be performed in one range of memory addresses in
your system under test.
1. Type the lowest address value of the range to be tested in the Starting
Address text box.
2. Type the highest address value of the range in the Ending Address text
box.
NOTE:
If you wish to test only one location, enter the address in both the Starting
Address and Ending Address text boxes.
Data Value
•
Access Size: Specify the desired memory access size. If you are performing
the Address Pattern test, the Access Size you choose will affect the value
that is written to each memory location.
If you are performing the Walking Ones, Walking Zeros, or Rotate Pattern
test, larger access sizes will take more time because more patterns will be
written to the memory locations.
•
Pattern: Specify the pattern (in hexadecimal) to be used when performing
the Oscilloscope Write, Basic Pattern, or Rotate Pattern test.
Options
•
Repetitions: Enter the number of times you want the memory test to be
repeated in the Repetitions text box. The maximum number of Repetitions
is 10,000.
If you enter Repetitions: 0, the test activity will run continuously until you
select the Cancel button in the Busy dialog box. This is the normal
selection when performing the Oscilloscope Read or Oscilloscope Write
test.
73
Chapter 1: Using the Pentium® Emulation Control Interface
Testing Target System Memory
•
Verbosity: Select the type of error message presentation desired in the
Verbosity selection box. The available options are:
Summary Only
Show no error messages during the tests. At the end of the last
repetition, show a summary of the errors that were found during
the tests.
Repetition Summary
Show no error messages during the tests. At the end of each
repetition, show a summary of the errors that were found.
Ten Errors
Show error messages for the first ten errors found during each
repetition. Then complete the repetition, but show no more error
messages. At the end of the tests, show a summary of the errors
that were found.
All Errors
Show a complete error message each time an error condition is
found. At the end of the tests, show a summary of the errors that
were found.
To open the Memory Test window
There are two ways to open the Memory Test window.
•
Open the Command Line window and select the Memory Test button.
•
Open the Memory window and select the Memory Test button.
Recommended Test Procedure
Two types of tests are offered for testing target memory: oscilloscope
tests, and memory functionality tests.
74
Chapter 1: Using the Pentium® Emulation Control Interface
Testing Target System Memory
Oscilloscope Tests
1. Connect the oscilloscope to view activity on the bits of interest.
2. Start an Oscilloscope Read (see page 70) or Oscilloscope Write (see
page 71) test, as desired.
The test activity will be written onto the bits you specified
continuously until you cancel the test.
Use both the Oscilloscope Read test and the Oscilloscope Write test to
thoroughly check the connections of interest.
Memory Functionality Tests
1. Run the Basic Pattern (see page 62) test on the entire Memory Range.
Result:
•
No Problems. Perform the Address Pattern (see page 64) test next.
•
Problems found. Refer to “If problems were found by the Basic Pattern
test” on page 75.
2. Run the Address Pattern (see page 64) test on the entire Memory Range.
Result:
•
No Problems.
•
Problems found. Refer to “If problems were found by the Address
Pattern test” on page 76.
If no problems were found by the Basic Pattern test and the Address
Pattern test above, you can ignore the rest of the tests. The memory in
your system has been tested thoroughly and it is good.
If problems were found by the Basic Pattern test
Below are two examples of problems found by the Basic Pattern test:
•
If there is a consistent error, such as:
Starting: Basic Pattern Test
Error: 1 at address 00000200:
Read
5557 (0101 0101 0101 0111)
Expected 5555 (0101 0101 0101 0101)
75
Chapter 1: Using the Pentium® Emulation Control Interface
Testing Target System Memory
Error: 2 at
Read
Expected
Error: 3 at
Read
Expected
Error: ...
Read
Expected
address 00000204:
5557 (0101 0101 0101
5555 (0101 0101 0101
address 00000208:
5557 (0101 0101 0101
5555 (0101 0101 0101
0111)
0101)
0111)
0101)
...
...
Assume the data line bit associated with the error is stuck high. This could
happen if the suspected data line bit were soldered to power.
NOTE:
For an additional test of suspected memory, perform the Walking Ones (see
page 68) and Walking Zeros (see page 69) tests on the problem memory
range.
•
If there are random errors, such as indicated by the following output:
Starting: Basic Pattern Test
Error: 1 at address 00000200:
Read
8000 (1000 0000 0000 0000)
Expected 0000 (0000 0000 0000 0000)
Error: 2 at address 000004a2:
Read
efff (1110 1111 1111 1111)
Expected ffff (1111 1111 1111 1111)
Repetition: 1 - FAILED found 2 errors
Completed: Basic Pattern Test
Summary: 1 of 1 - FAILED (2 errors total)
From the above listing, we assume there are two location errors in
memory. At location 200, there is a bit stuck high. At location 4a0, there is
bit stuck low. Use the Walking Ones and Walking Zeros tests to verify the
errors.
There is one bit stuck high at location 200 so the Walking Zeros test will
print one error message when it tests this location. Use the Walking Ones
test to isolate the bit that is stuck low at location 4a0. Again, this will print
only one error message.
See Also:
•
“If problems were found by the Address Pattern test” on page 76
If problems were found by the Address Pattern test
You may see no errors in the Basic Pattern test, but errors in the
Address Pattern test. For example, you might see the following result
in the Address Pattern test:
76
Chapter 1: Using the Pentium® Emulation Control Interface
Testing Target System Memory
Error: 1 at
Read
Expected
Error: 2 at
Read
Expected
address 00000000:
0020 (0000 0000 0010
0000 (0000 0000 0000
address 00000002:
0022 (0000 0000 0010
0002 (0000 0000 0000
0000)
0000)
0010)
0010)
You would see that the data stored at locations 00 through 0f is the data
that should be at locations 20 through 2f. This indicates an address line
problem. Address bit 5 must be stuck low because the addresses that
should have been written to the range 20 through 2f were written
instead to 00 through 0f.
NOTE:
Random errors typically do not indicate address line errors. Use the Walking
Ones (see page 68) and Walking Zeros (see page 69) tests to check the
locations of random errors.
See Also:
•
“If problems were found by the Basic Pattern test” on page 75
77
Chapter 1: Using the Pentium® Emulation Control Interface
Testing Target System Memory
78
Glossary
absolute Denotes the time period
or count of states between a captured
state and the trigger state. An
absolute count of -10 indicates the
state was captured ten states before
the trigger state was captured.
acquisition Denotes one complete
cycle of data gathering by a
measurement module. For example,
if you are using an analyzer with
128K memory depth, one complete
acquisition will capture and store
128K states in acquisition memory.
analysis probe A probe connected
to a microprocessor or standard bus
in the device under test. An analysis
probe provides an interface between
the signals of the microprocessor or
standard bus and the inputs of the
logic analyzer. Also called a
preprocessor.
analyzer 1 In a logic analyzer with
two machines, refers to the machine
that is on by default. The default
name is Analyzer<N>, where N is
the slot letter.
analyzer 2 In a logic analyzer with
two machines, refers to the machine
that is off by default. The default
name is Analyzer<N2>, where N is
the slot letter.
arming An instrument tool must be
armed before it can search for its
trigger condition. Typically,
instruments are armed immediately
when Run or Group Run is selected.
You can set up one instrument to arm
another using the Intermodule
Window. In these setups, the second
instrument cannot search for its
trigger condition until it receives the
arming signal from the first
instrument. In some analyzer
instruments, you can set up one
analyzer machine to arm the other
analyzer machine in the Trigger
Window.
asterisk (*) See edge terms,
glitch, and labels.
bits Bits represent the physical logic
analyzer channels. A bit is a channel
that has or can be assigned to a label.
A bit is also a position in a label.
card This refers to a single
instrument intended for use in the
Agilent Technologies 16700A/Bseries mainframes. One card fills one
slot in the mainframe. A module may
comprise a single card or multiple
cards cabled together.
channel The entire signal path from
the probe tip, through the cable and
module, up to the label grouping.
click When using a mouse as the
79
Glossary
pointing device, to click an item,
position the cursor over the item.
Then quickly press and release the
left mouse button.
clock channel A logic analyzer
channel that can be used to carry the
clock signal. When it is not needed
for clock signals, it can be used as a
data channel, except in the Agilent
Technologies 16517A.
context record A context record is
a small segment of analyzer memory
that stores an event of interest along
with the states that immediately
preceded it and the states that
immediately followed it.
context store If your analyzer can
perform context store
measurements, you will see a button
labeled Context Store under the
Trigger tab. Typical context store
measurements are used to capture
writes to a variable or calls to a
subroutine, along with the activity
preceding and following the events. A
context store measurement divides
analyzer memory into a series of
context records. If you have a 64K
analyzer memory and select a 16state context, the analyzer memory is
divided into 4K 16-state context
records. If you have a 64K analyzer
memory and select a 64-state
context, the analyzer memory will be
80
divided into 1K 64-state records.
count The count function records
periods of time or numbers of state
transactions between states stored in
memory. You can set up the analyzer
count function to count occurrences
of a selected event during the trace,
such as counting how many times a
variable is read between each of the
writes to the variable. The analyzer
can also be set up to count elapsed
time, such as counting the time spent
executing within a particular function
during a run of your target program.
cross triggering Using intermodule
capabilities to have measurement
modules trigger each other. For
example, you can have an external
instrument arm a logic analyzer,
which subsequently triggers an
oscilloscope when it finds the trigger
state.
data channel A channel that
carries data. Data channels cannot be
used to clock logic analyzers.
data field A data field in the pattern
generator is the data value associated
with a single label within a particular
data vector.
data set A data set is made up of all
labels and data stored in memory of
any single analyzer machine or
Glossary
instrument tool. Multiple data sets
can be displayed together when
sourced into a single display tool. The
Filter tool is used to pass on partial
data sets to analysis or display tools.
debug mode See monitor.
delay The delay function sets the
horizontal position of the waveform
on the screen for the oscilloscope and
timing analyzer. Delay time is
measured from the trigger point in
seconds or states.
demo mode An emulation control
session which is not connected to a
real target system. All windows can
be viewed, but the data displayed is
simulated. To start demo mode,
select Start User Session from the
Emulation Control Interface and
enter the demo name in the
Processor Probe LAN Name field.
Select the Help button in the Start
User Session window for details.
deskewing To cancel or nullify the
effects of differences between two
different internal delay paths for a
signal. Deskewing is normally done
by routing a single test signal to the
inputs of two different modules, then
adjusting the Intermodule Skew so
that both modules recognize the
signal at the same time.
device under test The system
under test, which contains the
circuitry you are probing. Also known
as a target system.
don't care For terms, a "don't care"
means that the state of the signal
(high or low) is not relevant to the
measurement. The analyzer ignores
the state of this signal when
determining whether a match occurs
on an input label. "Don't care" signals
are still sampled and their values can
be displayed with the rest of the data.
Don't cares are represented by the X
character in numeric values and the
dot (.) in timing edge specifications.
dot (.) See edge terms, glitch,
labels, and don't care.
double-click When using a mouse
as the pointing device, to double-click
an item, position the cursor over the
item, and then quickly press and
release the left mouse button twice.
drag and drop Using a Mouse:
Position the cursor over the item, and
then press and hold the left mouse
button. While holding the left mouse
button down, move the mouse to
drag the item to a new location. When
the item is positioned where you
want it, release the mouse button.
81
Glossary
Using the Touchscreen:
Position your finger over the item,
then press and hold finger to the
screen. While holding the finger
down, slide the finger along the
screen dragging the item to a new
location. When the item is positioned
where you want it, release your
finger.
edge mode In an oscilloscope, this
is the trigger mode that causes a
trigger based on a single channel
edge, either rising or falling.
edge terms Logic analyzer trigger
resources that allow detection of
transitions on a signal. An edge term
can be set to detect a rising edge,
falling edge, or either edge. Some
logic analyzers can also detect no
edge or a glitch on an input signal.
Edges are specified by selecting
arrows. The dot (.) ignores the bit.
The asterisk (*) specifies a glitch on
the bit.
emulation module A module
within the logic analysis system
mainframe that provides an
emulation connection to the debug
port of a microprocessor. An E5901A
emulation module is used with a
target interface module (TIM) or an
analysis probe. An E5901B emulation
module is used with an E5900A
emulation probe.
82
emulation probe The stand-alone
equivalent of an emulation module.
Most of the tasks which can be
performed using an emulation
module can also be performed using
an emulation probe connected to
your logic analysis system via a LAN.
emulator An emulation module or
an emulation probe.
Ethernet address See link-level
address.
events Events are the things you
are looking for in your target system.
In the logic analyzer interface, they
take a single line. Examples of events
are Label1 = XX and Timer 1 > 400
ns.
filter expression The filter
expression is the logical OR
combination of all of the filter terms.
States in your data that match the
filter expression can be filtered out or
passed through the Pattern Filter.
filter term A variable that you
define in order to specify which
states to filter out or pass through.
Filter terms are logically OR'ed
together to create the filter
expression.
Format The selections under the
logic analyzer Format tab tell the
Glossary
logic analyzer what data you want to
collect, such as which channels
represent buses (labels) and what
logic threshold your signals use.
frame The Agilent Technologies or
16700A/B-series logic analysis system
mainframe. See also logic analysis
system.
gateway address An IP address
entered in integer dot notation. The
default gateway address is 0.0.0.0,
which allows all connections on the
local network or subnet. If
connections are to be made across
networks or subnets, this address
must be set to the address of the
gateway machine.
glitch A glitch occurs when two or
more transitions cross the logic
threshold between consecutive
timing analyzer samples. You can
specify glitch detection by choosing
the asterisk (*) for edge terms under
the timing analyzer Trigger tab.
grouped event A grouped event is
a list of events that you have
grouped, and optionally named. It can
be reused in other trigger sequence
levels. Only available in Agilent
Technologies 16715A or higher logic
analyzers.
held value A value that is held until
the next sample. A held value can
exist in multiple data sets.
immediate mode In an
oscilloscope, the trigger mode that
does not require a specific trigger
condition such as an edge or a
pattern. Use immediate mode when
the oscilloscope is armed by another
instrument.
interconnect cable Short name for
module/probe interconnect cable.
intermodule bus The intermodule
bus (IMB) is a bus in the frame that
allows the measurement modules to
communicate with each other. Using
the IMB, you can set up one
instrument to arm another. Data
acquired by instruments using the
IMB is time-correlated.
intermodule Intermodule is a term
used when multiple instrument tools
are connected together for the
purpose of one instrument arming
another. In such a configuration, an
arming tree is developed and the
group run function is designated to
start all instrument tools. Multiple
instrument configurations are done in
the Intermodule window.
internet address Also called
Internet Protocol address or IP
address. A 32-bit network address. It
83
Glossary
is usually represented as decimal
numbers separated by periods; for
example, 192.35.12.6. Ask your LAN
administrator if you need an internet
address.
labels Labels are used to group and
identify logic analyzer channels. A
label consists of a name and an
associated bit or group of bits. Labels
are created in the Format tab.
line numbers A line number (Line
#s) is a special use of symbols. Line
numbers represent lines in your
source file, typically lines that have
no unique symbols defined to
represent them.
link-level address Also referred to
as the Ethernet address, this is the
unique address of the LAN interface.
This value is set at the factory and
cannot be changed. The link-level
address of a particular piece of
equipment is often printed on a label
above the LAN connector. An
example of a link-level address in
hexadecimal: 0800090012AB.
local session A local session is
when you run the logic analysis
system using the local display
connected to the product hardware.
logic analysis system The Agilent
Technologies 16700A/B-series
84
mainframes, and all tools designed to
work with it. Usually used to mean
the specific system and tools you are
working with right now.
machine Some logic analyzers allow
you to set up two measurements at
the same time. Each measurement is
handled by a different machine. This
is represented in the Workspace
window by two icons, differentiated
by a 1 and a 2 in the upper right-hand
corner of the icon. Logic analyzer
resources such as pods and trigger
terms cannot be shared by the
machines.
markers Markers are the green and
yellow lines in the display that are
labeled x, o, G1, and G2. Use them to
measure time intervals or sample
intervals. Markers are assigned to
patterns in order to find patterns or
track sequences of states in the data.
The x and o markers are local to the
immediate display, while G1 and G2
are global between time correlated
displays.
master card In a module, the
master card controls the data
acquisition or output. The logic
analysis system references the
module by the slot in which the
master card is plugged. For example,
a 5-card Agilent Technologies 16555D
would be referred to as Slot C:
Glossary
machine because the master card is
in slot C of the mainframe. The other
cards of the module are called
expansion cards.
menu bar The menu bar is located
at the top of all windows. Use it to
select File operations, tool or system
Options, and tool or system level
Help.
message bar The message bar
displays mouse button functions for
the window area or field directly
beneath the mouse cursor. Use the
mouse and message bar together to
prompt yourself to functions and
shortcuts.
module/probe interconnect cable
The module/probe interconnect cable
connects an E5901B emulation
module to an E5900B emulation
probe. It provides power and a serial
connection. A LAN connection is also
required to use the emulation probe.
module An instrument that uses a
single timebase in its operation.
Modules can have from one to five
cards functioning as a single
instrument. When a module has more
than one card, system window will
show the instrument icon in the slot
of the master card.
monitor When using the Emulation
Control Interface, running the
monitor means the processor is in
debug mode (that is, executing the
debug exception) instead of
executing the user program.
panning The action of moving the
waveform along the timebase by
varying the delay value in the Delay
field. This action allows you to
control the portion of acquisition
memory that will be displayed on the
screen.
pattern mode In an oscilloscope,
the trigger mode that allows you to
set the oscilloscope to trigger on a
specified combination of input signal
levels.
pattern terms Logic analyzer
resources that represent single states
to be found on labeled sets of bits; for
example, an address on the address
bus or a status on the status lines.
period (.) See edge terms, glitch,
labels, and don't care.
pod pair A group of two pods
containing 16 channels each, used to
physically connect data and clock
signals from the unit under test to the
analyzer. Pods are assigned by pairs
in the analyzer interface. The number
of pod pairs available is determined
85
Glossary
by the channel width of the
instrument.
pod See pod pair
point To point to an item, move the
mouse cursor over the item, or
position your finger over the item.
preprocessor See analysis probe.
primary branch The primary
branch is indicated in the Trigger
sequence step dialog box as either
the Then find or Trigger on
selection. The destination of the
primary branch is always the next
state in the sequence, except for the
Agilent Technologies 16517A. The
primary branch has an optional
occurrence count field that can be
used to count a number of
occurrences of the branch condition.
See also secondary branch.
probe A device to connect the
various instruments of the logic
analysis system to the target system.
There are many types of probes and
the one you should use depends on
the instrument and your data
requirements. As a verb, "to probe"
means to attach a probe to the target
system.
processor probe See emulation
probe.
86
range terms Logic analyzer
resources that represent ranges of
values to be found on labeled sets of
bits. For example, range terms could
identify a range of addresses to be
found on the address bus or a range
of data values to be found on the data
bus. In the trigger sequence, range
terms are considered to be true when
any value within the range occurs.
relative Denotes time period or
count of states between the current
state and the previous state.
remote display A remote display is
a display other than the one
connected to the product hardware.
Remote displays must be identified to
the network through an address
location.
remote session A remote session is
when you run the logic analyzer using
a display that is located away from
the product hardware.
right-click When using a mouse for
a pointing device, to right-click an
item, position the cursor over the
item, and then quickly press and
release the right mouse button.
sample A data sample is a portion of
a data set, sometimes just one point.
When an instrument samples the
target system, it is taking a single
Glossary
measurement as part of its data
acquisition cycle.
Sampling Use the selections under
the logic analyzer Sampling tab to tell
the logic analyzer how you want to
make measurements, such as State
vs. Timing.
secondary branch The secondary
branch is indicated in the Trigger
sequence step dialog box as the Else
on selection. The destination of the
secondary branch can be specified as
any other active sequence state. See
also primary branch.
session A session begins when you
start a local session or remote
session from the session manager,
and ends when you select Exit from
the main window. Exiting a session
returns all tools to their initial
configurations.
skew Skew is the difference in
channel delays between
measurement channels. Typically,
skew between modules is caused by
differences in designs of
measurement channels, and
differences in characteristics of the
electronic components within those
channels. You should adjust
measurement modules to eliminate
as much skew as possible so that it
does not affect the accuracy of your
measurements.
state measurement In a state
measurement, the logic analyzer is
clocked by a signal from the system
under test. Each time the clock signal
becomes valid, the analyzer samples
data from the system under test.
Since the analyzer is clocked by the
system, state measurements are
synchronous with the test system.
store qualification Store
qualification is only available in a
state measurement, not timing
measurements. Store qualification
allows you to specify the type of
information (all samples, no samples,
or selected states) to be stored in
memory. Use store qualification to
prevent memory from being filled
with unwanted activity such as noops or wait-loops. To set up store
qualification, use the While storing
field in a logic analyzer trigger
sequence dialog.
subnet mask A subnet mask blocks
out part of an IP address so that the
networking software can determine
whether the destination host is on a
local or remote network. It is usually
represented as decimal numbers
separated by periods; for example,
255.255.255.0. Ask your LAN
administrator if you need a the
subnet mask for your network.
87
Glossary
symbols Symbols represent
patterns and ranges of values found
on labeled sets of bits. Two kinds of
symbols are available:
•
Object file symbols - Symbols
from your source code, and
symbols generated by your
compiler. Object file symbols may
represent global variables,
functions, labels, and source line
numbers.
•
User-defined symbols - Symbols
you create.
Symbols can be used as pattern and
range terms for:
•
Searches in the listing display.
•
Triggering in logic analyzers and
in the source correlation trigger
setup.
•
Qualifying data in the filter tool
and system performance analysis
tool set.
system administrator The system
administrator is a person who
manages your system, taking care of
such tasks as adding peripheral
devices, adding new users, and doing
system backup. In general, the
system administrator is the person
you go to with questions about
implementing your software.
88
target system The system under
test, which contains the
microprocessor you are probing.
terms Terms are variables that can
be used in trigger sequences. A term
can be a single value on a label or set
of labels, any value within a range of
values on a label or set of labels, or a
glitch or edge transition on bits
within a label or set of labels.
TIM A TIM (Target Interface
Module) makes connections between
the cable from the emulation module
or emulation probe and the cable to
the debug port on the system under
test.
time-correlated Time correlated
measurements are measurements
involving more than one instrument
in which all instruments have a
common time or trigger reference.
timer terms Logic analyzer
resources that are used to measure
the time the trigger sequence
remains within one sequence step, or
a set of sequence steps. Timers can
be used to detect when a condition
lasts too long or not long enough.
They can be used to measure pulse
duration, or duration of a wait loop. A
single timer term can be used to
delay trigger until a period of time
after detection of a significant event.
Glossary
timing measurement In a timing
measurement, the logic analyzer
samples data at regular intervals
according to a clock signal internal to
the timing analyzer. Since the
analyzer is clocked by a signal that is
not related to the system under test,
timing measurements capture traces
of electrical activity over time. These
measurements are asynchronous
with the test system.
tool icon Tool icons that appear in
the workspace are representations of
the hardware and software tools
selected from the toolbox. If they are
placed directly over a current
measurement, the tools automatically
connect to that measurement. If they
are placed on an open area of the
main window, you must connect them
to a measurement using the mouse.
toolbox The Toolbox is located on
the left side of the main window. It is
used to display the available
hardware and software tools. As you
add new tools to your system, their
icons will appear in the Toolbox.
tools A tool is a stand-alone piece of
functionality. A tool can be an
instrument that acquires data, a
display for viewing data, or a postprocessing analysis helper. Tools are
represented as icons in the main
window of the interface.
trace See acquisition.
trigger sequence A trigger
sequence is a sequence of events that
you specify. The logic analyzer
compares this sequence with the
samples it is collecting to determine
when to trigger.
trigger specification A trigger
specification is a set of conditions
that must be true before the
instrument triggers.
trigger Trigger is an event that
occurs immediately after the
instrument recognizes a match
between the incoming data and the
trigger specification. Once trigger
occurs, the instrument completes its
acquisition, including any store
qualification that may be specified.
workspace The workspace is the
large area under the message bar and
to the right of the toolbox. The
workspace is where you place the
different instrument, display, and
analysis tools. Once in the workspace,
the tool icons graphically represent a
complete picture of the
measurements.
zooming In the oscilloscope or
timing analyzer, to expand and
contract the waveform along the time
base by varying the value in the s/Div
89
Glossary
field. This action allows you to select
specific portions of a particular
waveform in acquisition memory that
will be displayed on the screen. You
can view any portion of the waveform
record in acquisition memory.
90
Index
A
aborting a command, 46
access size, 29
access size for breakpoints, 19
access size, memory, 24
access space, 29
Address must be for protected
mode, 50
Address must be for real mode, 50
address pattern test, how it works,
65
address, breakpoint, 19
addresses, 27
analysis probe interface, 10, 12
analysis probe, connecting the
emulator to the, 12
B
base of data, 29
base of data, emulation, 24
basic pattern test, how it works, 63
branch trace messaging, enabling/
disabling, 15
Break has been processed - running
user program, 50, 51
Break In port, 14
break into monitor, 18
break on external trigger, 37
break on program reads or writes to
debug registers, 15
break, triggering an analyzer on a,
38
Breakpoint dr: linear address, 51
Breakpoint/Debug Registers,
refreshing the display, 19
breakpoints, 19
breakpoints, clearing, 20
breakpoints, globally enabled, 19
breakpoints, locally enabled, 19
breakpoints, restoration on INIT
without RESET, 15
breakpoints, restoration on
RESET, 16
breakpoints, setting, 19
breaks, more specific than debug
registers, 37
byte access size, 19
C
cancelling a command, 46
Cannot translate protected-mode
addresses in real mode, 51
Cannot use NULL segment
selector, 51
Clear Buffer button, 29
command line interface, cancelling
a command, 46
command line interface,
commands, 47
command line interface, creating
script from log file, 46
command line interface, log file, 45
command line interface, loops, 46
command line interface, time out,
47
command line interface, using the,
43
command line interface, wait
command, 47
common tasks in the Run Control
Tool interface, 42
configuration options (emulator),
changing, 13
coordinated trace measurements,
making, 37
D
data reads or writes, break on, 19
data writes, break on, 19
debug extensions, 19
debug registers, break on program
reads or program writes to, 15
debug registers, refreshing the
display, 19
disassembled mnemonic memory
display, 26
download executable, 31
E
E2457A, 10, 12
E3491B, 10
Edit Script button, 43
emulation module, at a glance, 10
emulation module, processor
personality, 56
emulation probe, at a glance, 10
emulator, 10
emulator configuration options,
changing, 13
emulator, configuring the, 13
emulator, connecting emulator to
target, 11
emulator, connecting to a target
system, 11
emulator, connecting to the
analysis probe, 12
emulator, disconnecting from, 58
error log, emulation, 42
error messages, 49
example memory test, 59
executable, downloading, 31
execution, controlling, 18
F
files, downloading, 31
filling memory, 25
firmware, updating emulation
module or probe, 56
format, addresses, 27
G
glance, at a, 10
globally enabled breakpoints, 19
groups of registers, 22
91
Index
I
I/O port access size not supported,
52
I/O reads or writes, break on, 19
I/O space, 29
I/O space, memory-mapped, 29
I/O, displaying and modifying, 29
if problems were found by the
address pattern test, 76
if problems were found by the basic
pattern test, 75
INIT caused break - debug registers
restored, 51, 52
INIT without RESET, specifying
action on, 15
instruction execution, break on, 19
IO address must be physical, 52
IO address out of range, 52
J
Jtag failed, 52
L
linear address, breakpoint, 19
load, executable, 31
locally enabled breakpoints, 19
logic analysis, 37
logic analysis system, 10
long access size, 19
loops, command line interface, 46
M
memory test runs longer than
expected, 73
memory test, memory view
unexpected, 73
Memory Write window, 25
memory, displaying, 24
memory, displaying and modifying,
24
92
memory, displaying in mnemonic
format, 26
memory, filling a range of locations,
25
memory, modifying, 25
memory-mapped I/O space, 29
messages, emulation error/status,
42
messages, error, 49
mnemonic memory display, 26
modes, addressing, 27
monitor, 18
monitor cycles, omitting from
trace, 39
monitor, break into on Break In
port signal, 14
monitor, break into on external
trigger, 37
monitor, INIT without RESET and
breaks into, 15
monitor, RESET and breaks into,
16
monitor, trigger analyzer on break
into, 38
monitor, Trigger Out port when in,
13
MPC Pentium emulation, at a
glance, 10
Must be in monitor to access
descriptor information, 53
N
No Target Power, 53
number bases, 29
O
options (emulator configuration),
changing, 13
oscilloscope read test, how it
works, 71
oscilloscope write test, how it
works, 72
P
Page fault, 53
paging and linear addresses, 19
Pentium emulator, configuring the,
13
Pentium execution, controlling, 18
physical addresses, 19
Playback Script button, 43
power to the target system, 18
processor execution, controlling,
18
Processor is not ready, 53
program reads or writes to debug
registers, break on, 15
Q
qualified clock (logic analyzer), 13
R
Read Breakpoints button, 19
Read of register occurred, 54
Read Registers button, 22
Refresh button in Breakpoint/
Debug Registers window, 19
Refresh button in register
windows, 22
registers (debug), break on
program reads or writes to, 15
registers, displaying, 22
registers, displaying and
modifying, 22
registers, modifying contents, 23
registers, refreshing the display, 22
RESET deassertion caused break debug registers restored, 53,
54
reset processor, 18
RESET, specifying action on, 16
rotate pattern test, how it works,
67
RPL of CS selector &, 54
run control, 18
Index
Run Control Tool interface,
windows, 42
Run Control Tool windows,
opening, 39
S
scripts, command line interface, 43
Segment limit violation, 54
Segment not present, 54
Segment selector exceeds GDT (or
LDT) limit, 55
selecting error message style in
memory tests, 73
selecting memory range to be
tested, 73
selecting the data value used in a
memory test, 73
Selector does not refer to a LDT, 55
Selector does not refer to GDT
entry, 55
Selector points to invalid
descriptor, 55
session, ending emulation, 58
single-step through instruction
execution, 18
slow clock message, after emulator
break, 38
space, space, 29
specifying number of memory tests
to be performed, 73
status line, 18
status messages, 49
status messages, emulation, 42
step through instruction
execution, 18
T
target system, 10
target system, connecting emulator
to, 11
target system, connecting the
emulator to a, 11
target system, power to, 18
testing target memory,
recommended procedure, 74
testing target system memory, 59
text editor, 43
to open the Memory Test window,
74
to perform the address pattern
test, 64
to perform the basic pattern
memory test, 62
to perform the oscilloscope read
test, 70
to perform the oscilloscope write
test, 71
to perform the rotate pattern test,
65
to perform the walking ones test,
68
to perform the walking zeros test,
69
trace measurements, coordinating,
37
trace, omitting monitor cycles, 39
Trigger Out port, 13
trigger output, 14
trigger, on emulation break, 38
types of memory tests, 61
windows, closing emulation, 41
windows, opening and closing, 42
word access size, 19
U
Unable to break, 55
unavailable commands, 47
W
wait command, 47
walking ones test, how it works, 68
walking zeros test, how it works, 70
watchdog timers in target systems,
13
windows (in the Run Control Tool),
opening, 39
windows, cloning, 40
93
Index
94
Publication Number: 5988-9080EN
January 1, 2003
s1
Was this manual useful for you? yes no
Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Download PDF

advertising