MPC5606S Microcontroller Reference Manual, Rev. 7
Freescale Semiconductor 21
21.2 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .751
21.3 Block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .753
21.4 Modes of operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .753
21.4.1 Normal mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .753
21.4.1.1 Software vector mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .754
21.4.1.2 Hardware vector mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .754
21.4.1.3 Debug mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .754
21.4.1.4 Stop mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .755
21.5 Memory map and register description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .755
21.5.1 Module memory map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .755
21.5.2 Register description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .755
21.5.2.1 INTC Module Configuration Register (INTC_MCR) . . . . . . . . . . . . . .756
21.5.2.2 INTC Current Priority Register for Processor (INTC_CPR) . . . . . . . .756
21.5.2.3 INTC Interrupt Acknowledge Register (INTC_IACKR) . . . . . . . . . . . .758
21.5.2.4 INTC End-of-Interrupt Register (INTC_EOIR) . . . . . . . . . . . . . . . . . .759
21.5.2.5 INTC Software Set/Clear Interrupt Registers
(INTC_SSCIR0_3–INTC_SSCIR4_7) . . . . . . . . . . . . . . . . . . . . . . . . . .759
21.5.2.6 INTC Priority Select Registers (INTC_PSR0_3–INTC_PSR204_207) . . .
761
21.6 Functional description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .762
21.6.1 Interrupt Request Sources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .772
21.6.1.1 Peripheral Interrupt Requests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .773
21.6.1.2 Software configurable Interrupt Requests . . . . . . . . . . . . . . . . . . . . .773
21.6.1.3 Unique Vector for Each Interrupt Request Source . . . . . . . . . . . . . . .773
21.6.2 Priority management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .773
21.6.2.1 Current Priority and Preemption . . . . . . . . . . . . . . . . . . . . . . . . . . . . .773
21.6.2.2 Last-In First-Out (LIFO) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .774
21.6.3 Handshaking with processor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .775
21.6.3.1 Software vector mode handshaking . . . . . . . . . . . . . . . . . . . . . . . . . .775
21.6.3.2 Hardware vector mode handshaking . . . . . . . . . . . . . . . . . . . . . . . . .776
21.7 Initialization/application information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .777
21.7.1 Initialization flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .777
21.7.2 Interrupt Exception Handler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .777
21.7.2.1 Software vector mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .778
21.7.2.2 Hardware vector mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .778
21.7.3 ISR, RTOS, and task hierarchy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .779
21.7.4 Order of execution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .780
21.7.5 Priority Ceiling Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .781
21.7.5.1 Elevating Priority . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .781
21.7.5.2 Ensuring Coherency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .781
21.7.6 Selecting Priorities According to Request Rates and Deadlines . . . . . . . . . . .781
21.7.7 Software configurable interrupt requests . . . . . . . . . . . . . . . . . . . . . . . . . . . . .782
21.7.7.1 Scheduling a lower priority portion of an ISR . . . . . . . . . . . . . . . . . . .782
21.7.7.2 Scheduling an ISR on another processor . . . . . . . . . . . . . . . . . . . . . .783
21.7.8 Lowering priority within an ISR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .783