-
Notifications
You must be signed in to change notification settings - Fork 0
/
lcdISR.s
executable file
·35 lines (25 loc) · 887 Bytes
/
lcdISR.s
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
; This is the LPC2468 platform-specific interrupt handler for
; LCD touch-screen interrupts. It simply saves the context of the
; current task, calls the real interrupt handler vLCD_ISRHandler()
; and then restores the context of the next task, which may
; be different from the task that was running when the interrupt
; occurred.
INCLUDE portmacro.inc
IMPORT vLCD_ISRHandler
EXPORT vLCD_ISREntry
;/* Interrupt entry must always be in ARM mode. */
ARM
AREA |.text|, CODE, READONLY
vLCD_ISREntry
PRESERVE8
; Save the context of the interrupted task.
portSAVE_CONTEXT
; Call the C handler function - defined within lcd.c.
LDR R0, =vLCD_ISRHandler
MOV LR, PC
BX R0
; Finish off by restoring the context of the task that has been chosen to
; run next - which might be a different task to that which was originally
; interrupted.
portRESTORE_CONTEXT
END