15.11.2012 Views

LPC2131/2132/2138 User Manual - mct.net

LPC2131/2132/2138 User Manual - mct.net

LPC2131/2132/2138 User Manual - mct.net

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Philips Semiconductors Preliminary <strong>User</strong> <strong>Manual</strong><br />

ARM-based Microcontroller<br />

;MSR spsr, r12 ;Restore SPSR from r12<br />

;STMFD sp!, {r0}<br />

;LDR r0, =VICBaseAddr<br />

;STR r1, [r0,#VICVectAddrOffset] ;Acknowledge Non Vectored irq has finished<br />

;LDMFD sp!, {r12,r14,r0} ;Restore registers<br />

;SUBS pc, r14, #4 ;Return to the interrupted instruction<br />

;user interrupt did not happen so call rm_irqhandler2. This handler<br />

;is not aware of the VIC interrupt priority hardware so trick<br />

;rm_irqhandler2 to return here<br />

STMFD sp!, {ip,pc}<br />

LDR pc, rm_irqhandler2<br />

;rm_irqhandler2 returns here<br />

MSR cpsr_c, #0x52 ;Disable irq, move to IRQ mode<br />

MSR spsr, r12 ;Restore SPSR from r12<br />

STMFD sp!, {r0}<br />

LDR r0, =VICBaseAddr<br />

STR r1, [r0,#VICVectAddrOffset] ;Acknowledge Non Vectored irq has finished<br />

LDMFD sp!, {r12,r14,r0} ;Restore registers<br />

SUBS pc, r14, #4 ;Return to the interrupted instruction<br />

END<br />

<strong>LPC2131</strong>/<strong>2132</strong>/<strong>2138</strong><br />

RealMonitor 262 November 22, 2004

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!