
MM912_634 Advance Information, Rev. 10.0
Freescale Semiconductor
180
5.30.4
Functional Description
The INT module processes all exception requests to be serviced by the CPU module. These exceptions include interrupt vector
requests and reset vector requests. Each of these exception types and their overall priority level is discussed in the subsections
below.
5.30.4.1
S12S Exception Requests
The CPU handles both reset requests and interrupt requests. A priority decoder is used to evaluate the priority of pending
interrupt requests.
5.30.4.2
Interrupt Prioritization
The INT module contains a priority decoder to determine the priority for all interrupt requests pending for the CPU. If more than
one interrupt request is pending, the interrupt request with the higher vector address wins the prioritization.
The following conditions must be met for an I bit maskable interrupt request to be processed.
1.
The local interrupt enabled bit in the peripheral module must be set.
2.
The I bit in the condition code register (CCR) of the CPU must be cleared.
3.
There is no SWI, TRAP, or X bit maskable request pending.
NOTE
All non I bit maskable interrupt requests always have higher priority than the I bit maskable
interrupt requests. If the X bit in the CCR is cleared, it is possible to interrupt an I bit
maskable interrupt by an X bit maskable interrupt. It is possible to nest non maskable
interrupt requests, e.g., by nesting SWI or TRAP calls.
Since an interrupt vector is only supplied at the time when the CPU requests it, it is possible that a higher priority interrupt request
could override the original interrupt request that caused the CPU to request the vector. In this case, the CPU will receive the
highest priority vector and the system will process this interrupt request first, before the original interrupt request is processed.
If the interrupt source is unknown (for example, in the case where an interrupt request becomes inactive after the interrupt has
been recognized, but prior to the CPU vector request), the vector address supplied to the CPU will default to that of the spurious
interrupt vector.
NOTE
Care must be taken to ensure that all interrupt requests remain active until the system
begins execution of the applicable service routine; otherwise, the exception request may not
get processed at all or the result may be a spurious interrupt request (vector at address
(vector base + 0x0080)).
5.30.4.3
Reset Exception Requests
The INT module supports three system reset exception request types (please refer to the Clock and Reset generator module for
details):
1.
Pin reset, power-on reset or illegal address reset, low voltage reset (if applicable)
2.
Clock monitor reset request
3.
COP watchdog reset request
5.30.4.4
Exception Priority
The priority (from highest to lowest) and address of all exception vectors issued by the INT module upon request by the CPU is
Table 259. Exception Vector Map and Priority
Source
0xFFFE
Pin reset, power-on reset, illegal address reset, low voltage reset (if applicable)
0xFFFC
Clock monitor reset
0xFFFA
COP watchdog reset
(Vector base + 0x00F8)
Unimplemented opcode trap
(Vector base + 0x00F6)
Software interrupt instruction (SWI) or BDM vector request