Chapter 8 Interrupt Controller (CF1_INTC)

type determines whether the program counter placed in the exception stack frame defines the location of the faulting instruction (fault) or the address of the next instruction to be executed (next). For interrupts, the stacked PC is always the address of the next instruction to be executed.

The processor calculates the address of the first instruction of the exception handler. By definition, the exception vector table is aligned on a 1-Mbyte boundary. This instruction address is generated by fetching a 32-bit exception vector from the table located at the address defined in the vector base register (VBR). The index into the exception table is calculated as (4 ⋅ vector number). After the exception vector has been fetched, the contents of the vector serves as a 32-bit pointer to the address of the first instruction of the desired handler. After the instruction fetch for the first opcode of the handler has been initiated, exception processing terminates and normal instruction processing continues in the handler.

All ColdFire processors support a 1024-byte vector table aligned on any 1-Mbyte address boundary. For the V1 ColdFire core, the only practical locations for the vector table are based at 0x(00)00_0000 in the flash or 0x(00)80_0000 in the RAM. The table contains 256 exception vectors; the first 64 are reserved for internal processor exceptions, and the remaining 192 are user-defined interrupt vectors. For the V1 ColdFire core, the table is partially populated with the first 64 reserved for internal processor exceptions, while vectors 64 – 102 are reserved for the peripheral I/O requests and the seven software interrupts. The IRQ assignments are device-specific as they depend on the exact set of peripherals for any given device.

A simplified V1 ColdFire exception vector table is shown in Table 8-2.

Table 8-2. V1 ColdFire Exception Vector Table

Vector

Vector

Stacked

 

Program

Assignment

Number(s)

Offset (Hex)

Counter

 

 

 

 

 

 

 

 

0

0x000

Initial supervisor stack pointer

 

 

 

 

1

0x004

Initial program counter

 

 

 

 

2–63

0x008–0x0FC

Reserved for internal CPU

 

 

 

exceptions

 

 

 

 

64

0x100

Next

IRQ_pin

 

 

 

 

65

0x104

Next

Low_voltage

 

 

 

 

66

0x108

Next

TPM1_ch0

 

 

 

 

67

0x10C

Next

TPM1_ch1

 

 

 

 

68

0x110

Next

TPM1_ch2

 

 

 

 

69

0x114

Next

TPM1_ovfl

 

 

 

 

70

0x118

Next

TPM2_ch0

 

 

 

 

71

0x11C

Next

TPM2_ch1

 

 

 

 

72

0x120

Next

TPM2_ch2

 

 

 

 

73

0x124

Next

TPM2_ovfl

 

 

 

 

74

0x128

Next

SPI2

 

 

 

 

75

0x12C

Next

SPI1

 

 

 

 

76

0x130

Next

SCI1_err

 

 

 

 

 

MCF51QE128 MCU Series Reference Manual, Rev. 3

 

 

Freescale Semiconductor

175

 

Get the latest version from freescale.com

Page 175
Image 175
Freescale Semiconductor MCF51QE128RM manual V1 ColdFire Exception Vector Table