MPC563XM Reference Manual, Rev. 1
Freescale Semiconductor
433
Preliminary—Subject to Change Without Notice
code to restore context required by EABI and disable processor recognition of interrupts
code to restore SRR0 and SRR1
rfi
vector_table_base_address:
address of ISR for interrupt with vector 0
address of ISR for interrupt with vector 1
.
.
.
address of ISR for interrupt with vector 510
address of ISR for interrupt with vector 511
ISR
x
:
code to service the interrupt event
code to clear flag bit which drives interrupt request to INTC
blr
# return to epilog
14.7.2.2
Hardware Vector Mode
This interrupt exception handler is useful with processor and system bus implementations which support
a hardware vector. This example assumes that each
interrupt_exception_handler
x
only has space for four
instructions, and therefore a branch to
interrupt_exception_handler_continued
x
is needed.
interrupt_exception_handler
x
:
b
interrupt_exception_handler_continued
x
# 4 instructions available, branch to continue
interrupt_exception_handler_continued
x
:
code to save SRR0 and SRR1
code to enable processor recognition of interrupts and save context required by EABI
bl
ISR
x
# branch to ISR for interrupt with vector
x
epilog:
lis
r3,hi(INTC_EOIR_PRC
x
)
# form INTC_EOIR_PRC
x
address
ori
r3,r3,lo(INTC_EOIR_PRC
x
)
li
r4,0x0
# form 0 to write to INTC_EOIR_PRC
x
stw
r4,0x0(r3)
# store to INTC_EOIR_PRC
x
, informing INTC to lower priority
code to restore context required by EABI and disable processor recognition of interrupts
code to restore SRR0 and SRR1
rfi
ISR
x
:
code to service the interrupt event
code to clear flag bit which drives interrupt request to INTC
blr
# branch to epilog