Interrupt Controller Modules
Freescale Semiconductor
17-19
5. Enable the interrupt requests, by clearing the appropriate bits in the IMR and lowering the interrupt
mask level in the core’s status register (SR[I]) to an appropriate level.
17.4.1
Interrupt Service Routines
This section focuses on the interaction of the interrupt masking functionality with the service routine.
presents a timing diagram showing various phases during the execution of an interrupt
service routine with the controller level masking functionality enabled. The time scale in this diagram is
not
meant to be accurate.
Figure 17-14. Interrupt Service Routine and Masking
Consider the events depicted in each segment (A – F) of the above diagram.
In A, an interrupt request is asserted, which is then signalled to the core.
As B begins, the interrupt request is recognized, and the core begins interrupt exception processing. During
the core’s exception processing, the IACK cycle performs and the interrupt controller returns the
appropriate vector number. As the interrupt acknowledge read performs, the vector number returns to the
core. The contents of the CLMASK register load into the SLMASK register, and the CLMASK register
updates to the level of the acknowledge interrupt. Additionally, the processor raises the interrupt mask in
the status register (SR[I]) to match the level of the acknowledged request. At the end of the core’s
exception processing, control passes to the interrupt service routine (ISR), shown as the beginning of
segment C.
During C, the initial portion of the ISR executes. Near the end of this segment, the ISR accesses the
peripheral to negate the interrupt request source. At the conclusion of segment C, the SR[I] field can be
lowered to re-enable interrupts with a priority greater than the original request.
The bulk of the interrupt service routine executes in segment D, with interrupts enabled. Near the end of
the service routine, the SR[I] field is again raised to the original acknowledged level, preparing to perform
the context switch.
A
B
C
D
E
F
Interrupt
Core
SR[I]
CLMASK
SLMASK
Interrupts
Request
Activity
Enabled
n Disabled
Interrupt Service Routine
n
n
0xF
0xF
0xF
n
iack
swiack
Note: Not to scale
Summary of Contents for MCF54455
Page 33: ...xxviii Freescale Semiconductor ...
Page 67: ...Freescale Semiconductor 1 ...
Page 125: ...Freescale Semiconductor 1 ...
Page 145: ...Enhanced Multiply Accumulate Unit EMAC 5 21 Freescale Semiconductor ...
Page 173: ...Cache 6 28 Freescale Semiconductor ...
Page 179: ...Static RAM SRAM 7 6 Freescale Semiconductor ...
Page 207: ...Power Management 9 16 Freescale Semiconductor ...
Page 323: ...Reset Controller Module 13 8 Freescale Semiconductor ...
Page 389: ...Pin Multiplexing and Control 16 44 Freescale Semiconductor ...
Page 575: ...PCI Bus Controller 22 58 Freescale Semiconductor ...
Page 600: ...Advanced Technology Attachment ATA Freescale Semiconductor 23 25 ...
Page 601: ...Freescale Semiconductor 1 ...
Page 842: ...I2 C Interface Freescale Semiconductor 33 16 ...
Page 843: ...Freescale Semiconductor 1 ...
Page 921: ...Revision History A 6 Freescale Semiconductor ...