HP MC68040 User Manual page 661

Emulator, graphical user interface
Table of Contents

Advertisement

Verifying Operation Of The Emulator In Your Target System
h>tl
Line
addr,H
68040 Mnemonic
-----
--------
------------------------------------------
-16
00000008
-15
0000000c
-14
00000010
-13
00000014
-12
00000018
-11
000000ee
-10
000000ea
-9
000000ec
-8
00000010
-7
000000e8
-6
000000e4
-5
000000e2
-4
000000de
-3
000000e0
-2
0000000c
-1
000000dc
h>
A double bus fault occurs when the processor encounters an exception that prevents
processing of a previous exception. An example of a double bus fault is shown
above. This original exception occured because the target system tried to execute
an illegal instruction. During processing of the illegal instruction exception, the
processor encountered another exception.
This exception was an address error caused because the vector supplied for the
illegal instruction handler was odd. The double bus fault occured when the vector
supplied for the address error handler was also odd. Other things that can cause a
double bus fault are bus errors that occur during exception stacking or vector fetch.
Keep in mind that bus errors can happen because the the target system asserts TEA
or because of an access violation caused by the MMU.
Once you have found the cause of the double bus fault, you need to determine the
root cause of the problem. In some cases, the exception is a normal part of
execution, but the subsequent faults indicate a problem. In some cases, the first
fault indicates a problem directly, such as when the program has already
malfunctioned, and the fault is caused by an unintentional accesses.
At this point, the problem is to find the faulty bus cycle that eventually caused a
recognizable problem. The same situation exists if the processor stops execution at
an address that should not have been executed, or if a program is simply running
code incorrectly.
Chapter 18: Connecting the Emulator to a Target System
$4AFC0000
sprog long read
$000BADAD
sprog long read
$000BADAD
sprog long read
$00000000
sprog long read
$00000000
sprog long read
$----0010
sdata word write
$----0000
sdata word write
$0008----
sdata word write
$000BADAD
sdata long read
$2700----
sdata word write
$000BADAC
sdata long write
$----200C
sdata word write
$----0000
sdata word write
$0008----
sdata word write
$000BADAD
sdata long read
$2700----
sdata word write
<- illegal inst
<- illegal inst stack
<- odd vector
<- address error stack
<- odd vector
631

Advertisement

Table of Contents
loading

This manual is also suitable for:

Ec040Lc04064783a64783b

Table of Contents