7-2
ColdFire CF4E Core User’s Guide
For More Information On This Product,
Go to: www.freescale.com
Overview
As shown in Figure 7-1, the CF4e processor uses the same fixed-length stack frame
as previous ColdFire Versions with additional fault status (FS) encodings to support
the MMU. In some exception types, the program counter (PC) in the exception stack
frame contains the address of the faulting instruction (fault); in others the PC
contains the next instruction to be executed (next). (Note that previous ColdFire
processors support a single stack pointer in the A7 address register.)
If the exception is caused by an FPU instruction, the PC contains the address of
either the next floating-point instruction (nextFP) if the exception is pre-instruction,
or the faulting instruction (fault) if the exception is post-instruction.
4. The processor acquires the address of the first instruction of the exception handler.
The instruction address is obtained by fetching a value from the exception table at
the address in the vector base register. The index into the table is calculated as
4 x vector_number. When the index value is generated, the vector table contents
determine the address of the first instruction of the desired handler. After the fetch
of the first opcode of the handler is initiated, exception processing terminates and
normal instruction processing continues in the handler.
The vector base register described in the
ColdFire PRM
, holds the base address of the
exception vector table in memory. The displacement of an exception vector is added to the
value in this register to access the vector table. VBR[19–0] are not implemented and are
assumed to be zero, forcing the vector table to be aligned on a 0-modulo-1-Mbyte
boundary.
ColdFire processors support a 1,024-byte vector table aligned on any 0-modulo-1 Mbyte
address boundary; see Table 7-1. The table contains 256 exception vectors, the first 64 of
which are defined by Motorola. The rest are user-defined interrupt vectors.
Table 7-1. Exception Vector Assignments
Vector Numbers Vector Offset (Hex)
Stacked Program Counter
1
Assignment
0
000
—
Initial supervisor stack pointer
1
004
—
Initial program counter
2
008
Fault
Access error
3
00C
Fault
Address error
4
010
Fault
Illegal instruction
5
014
Fault
Divide by zero
6–7
018–01C
—
Reserved
8
020
Fault
Privilege violation
9
024
Next
Trace
10
028
Fault
Unimplemented line-a opcode
11
02C
Fault
Unimplemented line-f opcode
12
030
Next
Non-PC breakpoint debug interrupt
F
Freescale Semiconductor, Inc.
n
.