Interrupt Controller Module
MCF52110 ColdFire® Integrated Microcontroller Reference Manual, Rev. 1
14-8
Freescale Semiconductor
Preliminary
NOTE
A spurious interrupt may occur if an interrupt source is being masked in the
interrupt controller mask register (IMR) or a module’s interrupt mask
register while the interrupt mask in the status register (SR[I]) is set to a value
lower than the interrupt’s level. This is because by the time the status
register acknowledges this interrupt, the interrupt has been masked. A
spurious interrupt is generated because the CPU cannot determine the
interrupt source.
To avoid this situation for interrupts sources with levels 1–6, first write a
higher level interrupt mask to the status register, before setting the mask in
the IMR or the module’s interrupt mask register. After the mask is set, return
the interrupt mask in the status register to its previous value. Because level
7 interrupts cannot be disabled in the status register prior to masking, use of
the IMR or module interrupt mask registers to disable level seven interrupts
is not recommended.
14.3.3
Interrupt Force Registers (INTFRCH
n
, INTFRCL
n
)
The INTFRCH
n
and INTFRCL
n
registers, each 32 bits, provide a mechanism to allow software generation
of interrupts for each possible source for functional or debug purposes. The system design may reserve one
or more sources to allow software to self-schedule interrupts by forcing one or more of these bits (1 = force
IPSBAR
Offset: 0x0C0C (IMRL
n
)
Access: Read/write
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
R
INT_MASK[31:16]
W
Reset
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
R
INT_MASK[15:1]
MASK
ALL
W
Reset
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
Figure 14-4. Interrupt Mask Register Low (IMRL
n
)
Table 14-6. IMRL
n
Field Descriptions
Field
Description
31–1
INT_MASK
Interrupt mask. Each bit corresponds to an interrupt source. The corresponding IMRL
n
bit determines whether an
interrupt condition can generate an interrupt. The corresponding IPRL
n
bit reflects the state of the interrupt signal
even if the corresponding IMRL
n
bit is set.
0 The corresponding interrupt source is not masked
1 The corresponding interrupt source is masked
0
MASKALL
Mask all interrupts. Setting this bit forces the other 63 bits of the IMRH
n
and IMRL
n
to ones, disabling all interrupt
sources, and providing a global mask-all capability.