00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #include "asm_linkage.h"
00011
00012 .extern ClearPending
00013 .extern F_TimerTimer1IsrHook
00014 .extern F_Uart0IsrHook
00015
00016 .globl F_IsrTimer0
00017 .globl F_IsrTimer1
00018 .globl F_IsrTimer2
00019 .globl F_IsrTimer3
00020 .globl F_IsrTimer4
00021 .globl F_IsrUart0
00022
00023
00024 ENTRY(Isrs)
00025 F_IsrTimer0:
00026 stmfd r13!,{r0-r3,r12,r14}
00027 mov r0,#0x400
00028 bl ClearPending
00029 ldmfd r13!,{r0-r3,r12,r14}
00030 subs pc,r14,#4
00031
00032 F_IsrTimer1:
00033 stmfd r13!,{r0-r3,r12,r14}
00034 mov r0,#0x800
00035 bl ClearPending
00036 bl F_TimerTimer1IsrHook
00037 ldmfd r13!,{r0-r3,r12,r14}
00038 subs pc,r14,#4
00039
00040 F_IsrTimer2:
00041 stmfd r13!,{r0-r3,r12,r14}
00042 mov r0,#0x1000
00043 bl ClearPending
00044 ldmfd r13!,{r0-r3,r12,r14}
00045 subs pc,r14,#4
00046
00047 F_IsrTimer3:
00048 stmfd r13!,{r0-r3,r12,r14}
00049 mov r0,#0x2000
00050 bl ClearPending
00051 ldmfd r13!,{r0-r3,r12,r14}
00052 subs pc,r14,#4
00053
00054 F_IsrTimer4:
00055 stmfd r13!,{r0-r3,r12,r14}
00056 mov r0,#0x4000
00057 bl ClearPending
00058 ldmfd r13!,{r0-r3,r12,r14}
00059 subs pc,r14,#4
00060
00061 F_IsrUart0:
00062 stmfd r13!,{r0-r3,r12,r14}
00063 bl F_Uart0IsrHook
00064 ldmfd r13!,{r0-r3,r12,r14}
00065 subs pc,r14,#4
00066