📄 idle.txt
字号:
; generated by ARM C Compiler, ADS1.2 [Build 842]
; commandline [-errors .\err\idle.err -O0 -asm -g+ -cpu 5TEJ -fs -Wd -Ec -I.\include "-IC:\Program Files\ARM\ADSv1_2\INCLUDE"]
CODE32
AREA ||.text||, CODE, READONLY
EintInt PROC
;;;38 static void __irq EintInt(void)//EINT0,1
;;;39 {
|L1.0|
000000 e92d500f STMFD sp!,{r0-r3,r12,lr}
;;;40 // rEINTMASK |= ( (BIT_EINTPEND_EINT1)|(BIT_EINTPEND_EINT0) );
;;;41 // rINTMSK |= (BIT_EINT0_2);
;;;42
;;;43 if(rEINTPEND&(1<<0)) //if EINT0
000004 e59f0078 LDR r0,|L1.132|
000008 e5900038 LDR r0,[r0,#0x38]
00000c e3100001 TST r0,#1
000010 0a000005 BEQ |L1.44|
;;;44 {
;;;45 rEINTPEND=BIT_EINTPEND_EINT0;
000014 e3a00001 MOV r0,#1
000018 e59f1064 LDR r1,|L1.132|
00001c e5810038 STR r0,[r1,#0x38]
;;;46 Uart_Printf("EINT0 for IDLE wake-up.\n");
000020 e28f0060 ADR r0,|L1.136|
000024 ebfffffe BL _printf
000028 ea00000b B |L1.92|
;;;47 }
;;;48 else if(rEINTPEND&(1<<1))//if EINT1
|L1.44|
00002c e59f0050 LDR r0,|L1.132|
000030 e5900038 LDR r0,[r0,#0x38]
000034 e3100002 TST r0,#2
000038 0a000005 BEQ |L1.84|
;;;49 {
;;;50 rEINTPEND=BIT_EINTPEND_EINT1;
00003c e3a00002 MOV r0,#2
000040 e59f103c LDR r1,|L1.132|
000044 e5810038 STR r0,[r1,#0x38]
;;;51 Uart_Printf("EINT1 for IDLE wake-up.\n");
000048 e28f0054 ADR r0,|L1.164|
00004c ebfffffe BL _printf
000050 ea000001 B |L1.92|
;;;52 }
;;;53 else
;;;54 Uart_Printf("EINT Error!!\n");
|L1.84|
000054 e28f0064 ADR r0,|L1.192|
000058 ebfffffe BL _printf
;;;55
;;;56 ClearPending(BIT_EINT0_2);
|L1.92|
00005c e3a00001 MOV r0,#1
000060 e59f1068 LDR r1,|L1.208|
000064 e5810000 STR r0,[r1,#0]
000068 e1c10000 BIC r0,r1,r0
00006c e5900010 LDR r0,[r0,#0x10]
000070 e5810010 STR r0,[r1,#0x10]
000074 e1a00001 MOV r0,r1
000078 e5900010 LDR r0,[r0,#0x10]
;;;57 }
00007c e8bd500f LDMFD sp!,{r0-r3,r12,lr}
000080 e25ef004 SUBS pc,lr,#4
|L1.132|
000084 44800000 DCD 0x44800000
|L1.136|
000088 544e4945 DCB "EINT"
00008c 6f662030 DCB "0 fo"
000090 44492072 DCB "r ID"
000094 7720454c DCB "LE w"
000098 2d656b61 DCB "ake-"
00009c 0a2e7075 DCB "up.\n"
0000a0 00000000 DCB "\0\0\0\0"
|L1.164|
0000a4 544e4945 DCB "EINT"
0000a8 6f662031 DCB "1 fo"
0000ac 44492072 DCB "r ID"
0000b0 7720454c DCB "LE w"
0000b4 2d656b61 DCB "ake-"
0000b8 0a2e7075 DCB "up.\n"
0000bc 00000000 DCB "\0\0\0\0"
|L1.192|
0000c0 544e4945 DCB "EINT"
0000c4 72724520 DCB " Err"
0000c8 2121726f DCB "or!!"
0000cc 0000000a DCB "\n\0\0\0"
|L1.208|
0000d0 40200000 DCD 0x40200000
ENDP
Eint9Int PROC
;;;59 static void __irq Eint9Int(void)//EINT9
;;;60 {
|L1.212|
0000d4 e92d500f STMFD sp!,{r0-r3,r12,lr}
;;;61 // rEINTMASK |=(BIT_EINTPEND_EINT9);
;;;62 // rINTMSK |= (BIT_EINT7_10);
;;;63
;;;64 rEINTPEND=BIT_EINTPEND_EINT9;
0000d8 e3a00f80 MOV r0,#0x200
0000dc e51f1060 LDR r1,|L1.132|
0000e0 e5810038 STR r0,[r1,#0x38]
;;;65 ClearPending(BIT_EINT7_10);
0000e4 e3a00004 MOV r0,#4
0000e8 e2411646 SUB r1,r1,#0x4600000
0000ec e5810000 STR r0,[r1,#0]
0000f0 e1c10000 BIC r0,r1,r0
0000f4 e5900010 LDR r0,[r0,#0x10]
0000f8 e5810010 STR r0,[r1,#0x10]
0000fc e1a00001 MOV r0,r1
000100 e5900010 LDR r0,[r0,#0x10]
;;;66 Uart_Printf("EINT9 for IDLE wake-up.\n");
000104 e28f0008 ADR r0,|L1.276|
000108 ebfffffe BL _printf
;;;67 }
00010c e8bd500f LDMFD sp!,{r0-r3,r12,lr}
000110 e25ef004 SUBS pc,lr,#4
|L1.276|
000114 544e4945 DCB "EINT"
000118 6f662039 DCB "9 fo"
00011c 44492072 DCB "r ID"
000120 7720454c DCB "LE w"
000124 2d656b61 DCB "ake-"
000128 0a2e7075 DCB "up.\n"
00012c 00000000 DCB "\0\0\0\0"
ENDP
AlarmInt PROC
;;;69 static void __irq AlarmInt(void)
;;;70 {
|L1.304|
000130 e92d500f STMFD sp!,{r0-r3,r12,lr}
;;;71 // rINTMSK=rINTMSK|(BIT_RTC);
;;;72 ClearPending(BIT_RTC);
000134 e3a00440 MOV r0,#0x40000000
000138 e18014c0 ORR r1,r0,r0,ASR #9
00013c e5810000 STR r0,[r1,#0]
000140 e18004c0 ORR r0,r0,r0,ASR #9
000144 e5900010 LDR r0,[r0,#0x10]
000148 e5810010 STR r0,[r1,#0x10]
00014c e1a00001 MOV r0,r1
000150 e5900010 LDR r0,[r0,#0x10]
;;;73 Uart_Printf("ALARM interrupt for IDLE wake-up.\n");
000154 e28f0008 ADR r0,|L1.356|
000158 ebfffffe BL _printf
;;;74 }
00015c e8bd500f LDMFD sp!,{r0-r3,r12,lr}
000160 e25ef004 SUBS pc,lr,#4
|L1.356|
000164 52414c41 DCB "ALAR"
000168 6e69204d DCB "M in"
00016c 72726574 DCB "terr"
000170 20747075 DCB "upt "
000174 20726f66 DCB "for "
000178 454c4449 DCB "IDLE"
00017c 6b617720 DCB " wak"
000180 70752d65 DCB "e-up"
000184 00000a2e DCB ".\n\0\0"
ENDP
ModemInt PROC
;;;76 static void __irq ModemInt(void)
;;;77 {
|L1.392|
000188 e92d500f STMFD sp!,{r0-r3,r12,lr}
;;;78 // rINTMSK=rINTMSK|(BIT_MODEM);
;;;79 ClearPending(BIT_MODEM);
00018c e3a00a80 MOV r0,#0x80000
000190 e51f10c8 LDR r1,|L1.208|
000194 e5810000 STR r0,[r1,#0]
000198 e1c10000 BIC r0,r1,r0
00019c e5900010 LDR r0,[r0,#0x10]
0001a0 e5810010 STR r0,[r1,#0x10]
0001a4 e1a00001 MOV r0,r1
0001a8 e5900010 LDR r0,[r0,#0x10]
;;;80 Uart_Printf("Modem interrupt for IDLE wake-up.\n");
0001ac e28f0008 ADR r0,|L1.444|
0001b0 ebfffffe BL _printf
;;;81 }
0001b4 e8bd500f LDMFD sp!,{r0-r3,r12,lr}
0001b8 e25ef004 SUBS pc,lr,#4
|L1.444|
0001bc 65646f4d DCB "Mode"
0001c0 6e69206d DCB "m in"
0001c4 72726574 DCB "terr"
0001c8 20747075 DCB "upt "
0001cc 20726f66 DCB "for "
0001d0 454c4449 DCB "IDLE"
0001d4 6b617720 DCB " wak"
0001d8 70752d65 DCB "e-up"
0001dc 00000a2e DCB ".\n\0\0"
ENDP
Eint9IntHard PROC
;;;83 static void __irq Eint9IntHard(void)
;;;84 {
|L1.480|
0001e0 e92d500f STMFD sp!,{r0-r3,r12,lr}
;;;85 rEINTPEND=BIT_EINTPEND_EINT9;
0001e4 e3a00f80 MOV r0,#0x200
0001e8 e51f116c LDR r1,|L1.132|
0001ec e5810038 STR r0,[r1,#0x38]
;;;86 ClearPending(BIT_EINT7_10);
0001f0 e3a00004 MOV r0,#4
0001f4 e2411646 SUB r1,r1,#0x4600000
0001f8 e5810000 STR r0,[r1,#0]
0001fc e1c10000 BIC r0,r1,r0
000200 e5900010 LDR r0,[r0,#0x10]
000204 e5810010 STR r0,[r1,#0x10]
000208 e1a00001 MOV r0,r1
00020c e5900010 LDR r0,[r0,#0x10]
;;;87
;;;88 if(m_cnt<EINT9COUNT)
000210 e59f0054 LDR r0,|L1.620|
000214 e5900000 LDR r0,[r0,#0] ; m_cnt
000218 e350000a CMP r0,#0xa
00021c aa000009 BGE |L1.584|
;;;89 {
;;;90 m_cnt++;
000220 e59f0044 LDR r0,|L1.620|
000224 e5900000 LDR r0,[r0,#0] ; m_cnt
000228 e2800001 ADD r0,r0,#1
00022c e59f1038 LDR r1,|L1.620|
000230 e5810000 STR r0,[r1,#0] ; m_cnt
;;;91 //if(m_cnt%10==0)Uart_Printf("#");
;;;92 Uart_Printf("%d ",m_cnt);
000234 e59f0030 LDR r0,|L1.620|
000238 e5901000 LDR r1,[r0,#0] ; m_cnt
00023c e28f002c ADR r0,|L1.624|
000240 ebfffffe BL _printf
000244 ea000006 B |L1.612|
;;;93 }
;;;94 else
;;;95 {
;;;96 m_flag=0;
|L1.584|
000248 e3a00000 MOV r0,#0
00024c e59f1020 LDR r1,|L1.628|
000250 e5810000 STR r0,[r1,#0] ; m_flag
;;;97 Uart_Printf("\nEINT9 final Count=%d\n",m_cnt);
000254 e59f0010 LDR r0,|L1.620|
000258 e5901000 LDR r1,[r0,#0] ; m_cnt
00025c e28f0014 ADR r0,|L1.632|
000260 ebfffffe BL _printf
;;;98 }
;;;99 }
|L1.612|
000264 e8bd500f LDMFD sp!,{r0-r3,r12,lr}
000268 e25ef004 SUBS pc,lr,#4
|L1.620|
00026c 00000000 DCD ||.bss$2||
|L1.624|
000270 00206425 DCB "%d \0"
|L1.628|
000274 00000004 DCD ||.bss$2|| + 4
|L1.632|
000278 4e49450a DCB "\nEIN"
00027c 66203954 DCB "T9 f"
000280 6c616e69 DCB "inal"
000284 756f4320 DCB " Cou"
000288 253d746e DCB "nt=%"
00028c 00000a64 DCB "d\n\0\0"
ENDP
PenDownInt PROC
;;;101 static void __irq PenDownInt(void)
;;;102 {
|L1.656|
000290 e92d500f STMFD sp!,{r0-r3,r12,lr}
;;;103 // rINTSUBMSK |= BIT_SUB_PENDN;
;;;104 // rINTMSK |= BIT_ADC_PENUP_DOWN;
;;;105
;;;106 rSUBSRCPND=BIT_SUB_PENDN;
000294 e3a00a40 MOV r0,#0x40000
000298 e51f11d0 LDR r1,|L1.208|
00029c e5810018 STR r0,[r1,#0x18]
;;;107 ClearPending(BIT_ADC_PENUP_DOWN);
0002a0 e3a00480 MOV r0,#0x80000000
0002a4 e1c11000 BIC r1,r1,r0
0002a8 e5810000 STR r0,[r1,#0]
0002ac e1c10000 BIC r0,r1,r0
0002b0 e5900010 LDR r0,[r0,#0x10]
0002b4 e5810010 STR r0,[r1,#0x10]
0002b8 e1a00001 MOV r0,r1
0002bc e5900010 LDR r0,[r0,#0x10]
;;;108 Uart_Printf("Touch screen pen-down interrupt for IDLE wake-up.\n");
0002c0 e28f0008 ADR r0,|L1.720|
0002c4 ebfffffe BL _printf
;;;109 }
0002c8 e8bd500f LDMFD sp!,{r0-r3,r12,lr}
0002cc e25ef004 SUBS pc,lr,#4
|L1.720|
0002d0 63756f54 DCB "Touc"
0002d4 63732068 DCB "h sc"
0002d8 6e656572 DCB "reen"
0002dc 6e657020 DCB " pen"
0002e0 776f642d DCB "-dow"
0002e4 6e69206e DCB "n in"
0002e8 72726574 DCB "terr"
0002ec 20747075 DCB "upt "
0002f0 20726f66 DCB "for "
0002f4 454c4449 DCB "IDLE"
0002f8 6b617720 DCB " wak"
0002fc 70752d65 DCB "e-up"
000300 00000a2e DCB ".\n\0\0"
ENDP
SetAlarmWakeUp PROC
;;;111 void SetAlarmWakeUp(int sec)
;;;112 {
000304 e3a01001 MOV r1,#1
;;;113 rRTCCON = 0x1; // R/W enable, 1/32768, Normal(merge), No reset
000308 e59f21e4 LDR r2,|L1.1268|
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -