📄 idle.txt
字号:
00030c e5c21040 STRB r1,[r2,#0x40]
;;;114 rBCDYEAR = TESTYEAR; // '00
000310 e3a01003 MOV r1,#3
000314 e1c22001 BIC r2,r2,r1
000318 e5c21088 STRB r1,[r2,#0x88]
;;;115 rBCDMON = TESTMONTH; // December
00031c e3a01012 MOV r1,#0x12
000320 e1c22001 BIC r2,r2,r1
000324 e5c21084 STRB r1,[r2,#0x84]
;;;116 rBCDDAY = TESTDAY; // SUN:1 MON:2 TUE:3 WED:4 THU:5 FRI:6 SAT:7
000328 e3a01006 MOV r1,#6
00032c e1c22001 BIC r2,r2,r1
000330 e5c21080 STRB r1,[r2,#0x80]
;;;117 rBCDDATE = TESTDATE; // 31th
000334 e3a01031 MOV r1,#0x31
000338 e1c22001 BIC r2,r2,r1
00033c e5c2107c STRB r1,[r2,#0x7c]
;;;118 rBCDHOUR = TESTHOUR; // 23 hours
000340 e3a01023 MOV r1,#0x23
000344 e1c22001 BIC r2,r2,r1
000348 e5c21078 STRB r1,[r2,#0x78]
;;;119 rBCDMIN = TESTMIN; // 59 minutes
00034c e3a01059 MOV r1,#0x59
000350 e1c22001 BIC r2,r2,r1
000354 e5c21074 STRB r1,[r2,#0x74]
;;;120 rBCDSEC = TESTSEC; // 59 seconds
000358 e3a01059 MOV r1,#0x59
00035c e1c22001 BIC r2,r2,r1
000360 e5c21070 STRB r1,[r2,#0x70]
;;;121
;;;122 rALMYEAR=TESTYEAR2 ; // '01.01.01.Saturday 00:00:09
000364 e3a01004 MOV r1,#4
000368 e1c22001 BIC r2,r2,r1
00036c e5c21068 STRB r1,[r2,#0x68]
;;;123 rALMMON =TESTMONTH2;
000370 e3a01001 MOV r1,#1
000374 e1c22001 BIC r2,r2,r1
000378 e5c21064 STRB r1,[r2,#0x64]
;;;124 rALMDATE=TESTDATE2;
00037c e3a01001 MOV r1,#1
000380 e1c22001 BIC r2,r2,r1
000384 e5c21060 STRB r1,[r2,#0x60]
;;;125 rALMHOUR=TESTHOUR2;
000388 e3a01000 MOV r1,#0
00038c e1c22001 BIC r2,r2,r1
000390 e5c2105c STRB r1,[r2,#0x5c]
;;;126 rALMMIN =(TESTMIN2+0);
000394 e3a01000 MOV r1,#0
000398 e1c22001 BIC r2,r2,r1
00039c e5c21058 STRB r1,[r2,#0x58]
;;;127 rALMSEC =(TESTSEC2+sec);
0003a0 e1c21001 BIC r1,r2,r1
0003a4 e5c10054 STRB r0,[r1,#0x54]
;;;128
;;;129 rRTCALM=0x7f;
0003a8 e3a0107f MOV r1,#0x7f
0003ac e1c22001 BIC r2,r2,r1
0003b0 e5c21050 STRB r1,[r2,#0x50]
;;;130 rRTCCON=0x0; // R/W disable, 1/32768, Normal(merge), No reset
0003b4 e3a01000 MOV r1,#0
0003b8 e1c22001 BIC r2,r2,r1
0003bc e5c21040 STRB r1,[r2,#0x40]
;;;131 }
0003c0 e12fff1e BX lr
ENDP
SetTouchWakeUp PROC
;;;133 void SetTouchWakeUp(void)
;;;134 {
0003c4 e92d4008 STMFD sp!,{r3,lr}
;;;135 rADCTSC=0xd0; //Pull up Enable
0003c8 e3a000d0 MOV r0,#0xd0
0003cc e59f1124 LDR r1,|L1.1272|
0003d0 e5810004 STR r0,[r1,#4]
;;;136 Delay(1);
0003d4 e3a00001 MOV r0,#1
0003d8 ebfffffe BL Delay
;;;137 rADCTSC=0xd3; //Waiting for interrupt mode
0003dc e3a000d3 MOV r0,#0xd3
0003e0 e59f1110 LDR r1,|L1.1272|
0003e4 e5810004 STR r0,[r1,#4]
;;;138 //rADCDLY=0x0;
;;;139 }
0003e8 e8bd8008 LDMFD sp!,{r3,pc}
ENDP
SetModemWakeUp PROC
;;;142 void SetModemWakeUp(void)
;;;143 {
0003ec e59f0108 LDR r0,|L1.1276|
;;;144 rINT2AP=0x3ff; //AP side INT ready
0003f0 e59f1108 LDR r1,|L1.1280|
0003f4 e5810000 STR r0,[r1,#0]
;;;145 }
0003f8 e12fff1e BX lr
ENDP
SelectEintType PROC
;;;148 void SelectEintType(void)
;;;149 {
0003fc e92d4010 STMFD sp!,{r4,lr}
;;;150 int extintMode;
;;;151 Uart_Printf("1.L-level 2.H-level 3.F-edge 4.R-edge 5.B-edge\n");
000400 e28f00fc ADR r0,|L1.1284|
000404 ebfffffe BL _printf
;;;152 Uart_Printf("Select the EINT0 trigger type:");
000408 e28f0f4a ADR r0,|L1.1336|
00040c ebfffffe BL _printf
;;;153 extintMode=Uart_Getch();
000410 ebfffffe BL Uart_Getch
000414 e1a04000 MOV r4,r0
;;;154
;;;155 switch(extintMode)
000418 e2440031 SUB r0,r4,#0x31
00041c e3500004 CMP r0,#4
000420 908ff100 ADDLS pc,pc,r0,LSL #2
000424 ea000030 B |L1.1260|
000428 ea000003 B |L1.1084|
00042c ea00000a B |L1.1116|
000430 ea000012 B |L1.1152|
000434 ea00001a B |L1.1188|
000438 ea000022 B |L1.1224|
;;;156 {
;;;157 case '1':
;;;158 rEXTINTC0=( rEXTINTC0 & ~(7<<0) ) | (0<<0); //EINT0=low level triggered
|L1.1084|
00043c e51f03c0 LDR r0,|L1.132|
000440 e5900018 LDR r0,[r0,#0x18]
000444 e3c00007 BIC r0,r0,#7
000448 e51f13cc LDR r1,|L1.132|
00044c e5810018 STR r0,[r1,#0x18]
;;;159 Uart_Printf("L-level\n");
000450 e28f0f40 ADR r0,|L1.1368|
000454 ebfffffe BL _printf
;;;160 break;
000458 ea000024 B |L1.1264|
;;;161 case '2':
;;;162 rEXTINTC0=( rEXTINTC0 & ~(7<<0) ) | (1<<0); //EINT0=high level triggered
|L1.1116|
00045c e51f03e0 LDR r0,|L1.132|
000460 e5900018 LDR r0,[r0,#0x18]
000464 e3c00007 BIC r0,r0,#7
000468 e3800001 ORR r0,r0,#1
00046c e51f13f0 LDR r1,|L1.132|
000470 e5810018 STR r0,[r1,#0x18]
;;;163 Uart_Printf("H-level\n");
000474 e28f00e8 ADR r0,|L1.1380|
000478 ebfffffe BL _printf
;;;164 break;
00047c ea00001b B |L1.1264|
;;;165 case '3':
;;;166 rEXTINTC0=( rEXTINTC0 & ~(7<<0) ) | (2<<0); //EINT0=falling edge triggered
|L1.1152|
000480 e51f0404 LDR r0,|L1.132|
000484 e5900018 LDR r0,[r0,#0x18]
000488 e3c00007 BIC r0,r0,#7
00048c e3800002 ORR r0,r0,#2
000490 e51f1414 LDR r1,|L1.132|
000494 e5810018 STR r0,[r1,#0x18]
;;;167 Uart_Printf("F-edge\n");
000498 e28f00d0 ADR r0,|L1.1392|
00049c ebfffffe BL _printf
;;;168 break;
0004a0 ea000012 B |L1.1264|
;;;169 case '4':
;;;170 rEXTINTC0=( rEXTINTC0 & ~(7<<0) ) | (4<<0); //EINT0=rising edge triggered
|L1.1188|
0004a4 e51f0428 LDR r0,|L1.132|
0004a8 e5900018 LDR r0,[r0,#0x18]
0004ac e3c00007 BIC r0,r0,#7
0004b0 e3800004 ORR r0,r0,#4
0004b4 e51f1438 LDR r1,|L1.132|
0004b8 e5810018 STR r0,[r1,#0x18]
;;;171 Uart_Printf("R-edge\n");
0004bc e28f00b4 ADR r0,|L1.1400|
0004c0 ebfffffe BL _printf
;;;172 break;
0004c4 ea000009 B |L1.1264|
;;;173 case '5':
;;;174 rEXTINTC0=( rEXTINTC0 & ~(7<<0) ) | (6<<0); //EINT0=both edge triggered
|L1.1224|
0004c8 e51f044c LDR r0,|L1.132|
0004cc e5900018 LDR r0,[r0,#0x18]
0004d0 e3c00007 BIC r0,r0,#7
0004d4 e3800006 ORR r0,r0,#6
0004d8 e51f145c LDR r1,|L1.132|
0004dc e5810018 STR r0,[r1,#0x18]
;;;175 Uart_Printf("B-edge\n");
0004e0 e28f0048 ADR r0,|L1.1328|
0004e4 ebfffffe BL _printf
;;;176 break;
0004e8 ea000000 B |L1.1264|
;;;177 default:
;;;178 break;
|L1.1260|
0004ec e1a00000 NOP
;;;179 }
;;;180 }
|L1.1264|
0004f0 e8bd8010 LDMFD sp!,{r4,pc}
|L1.1268|
0004f4 44200000 DCD 0x44200000
|L1.1272|
0004f8 45800000 DCD 0x45800000
|L1.1276|
0004fc 000003ff DCD 0x000003ff
|L1.1280|
000500 41180000 DCD 0x41180000
|L1.1284|
000504 2d4c2e31 DCB "1.L-"
000508 6576656c DCB "leve"
00050c 3220206c DCB "l 2"
000510 6c2d482e DCB ".H-l"
000514 6c657665 DCB "evel"
000518 2e332020 DCB " 3."
00051c 64652d46 DCB "F-ed"
000520 20206567 DCB "ge "
000524 2d522e34 DCB "4.R-"
000528 65676465 DCB "edge"
00052c 2e352020 DCB " 5."
|L1.1328|
000530 64652d42 DCB "B-ed"
000534 000a6567 DCB "ge\n\0"
|L1.1336|
000538 656c6553 DCB "Sele"
00053c 74207463 DCB "ct t"
000540 45206568 DCB "he E"
000544 30544e49 DCB "INT0"
000548 69727420 DCB " tri"
00054c 72656767 DCB "gger"
000550 70797420 DCB " typ"
000554 00003a65 DCB "e:\0\0"
|L1.1368|
000558 656c2d4c DCB "L-le"
00055c 0a6c6576 DCB "vel\n"
000560 00000000 DCB "\0\0\0\0"
|L1.1380|
000564 656c2d48 DCB "H-le"
000568 0a6c6576 DCB "vel\n"
00056c 00000000 DCB "\0\0\0\0"
|L1.1392|
000570 64652d46 DCB "F-ed"
000574 000a6567 DCB "ge\n\0"
|L1.1400|
000578 64652d52 DCB "R-ed"
00057c 000a6567 DCB "ge\n\0"
ENDP
Test_IdleMode PROC
;;;188 void Test_IdleMode(void)
;;;189 {
000580 e92d4010 STMFD sp!,{r4,lr}
;;;190 int i;
;;;191
;;;192 Uart_Printf("[IDLE Mode Test]\n");
000584 e28f0fbb ADR r0,|L1.2168|
000588 ebfffffe BL _printf
;;;193 Uart_Printf("Check the current cunsumption.\n");
00058c e28f0fbe ADR r0,|L1.2188|
000590 ebfffffe BL _printf
;;;194
;;;195 #if USE_RTC_ALARM
;;;196 Uart_Printf("After 10 seconds, S3C24A0X will wake up by RTC alarm interrupt.\n");
000594 e59f0310 LDR r0,|L1.2220|
000598 ebfffffe BL _printf
;;;197 #endif
;;;198
;;;199 Uart_Printf("S3C24A0X will wake up by EINT0, 1, 9, 11, Stylus down or Modem int.\n");
00059c e59f030c LDR r0,|L1.2224|
0005a0 ebfffffe BL _printf
;;;200
;;;201 //PWR_Lcd_Tft_16Bit_240320_On();
;;;202 //PWR_StartIIS();
;;;203 //PWR_StartTimer();
;;;204
;;;205 rGPCON_L = ( rGPCON_L & ~((3<<18)|(3<<2)|3) ) | (2<<18)|(2<<2)|2; //GP0,1,9=EINT0,1,9
0005a4 e51f0528 LDR r0,|L1.132|
0005a8 e5900008 LDR r0,[r0,#8]
0005ac e3c00ac0 BIC r0,r0,#0xc0000
0005b0 e3c0000f BIC r0,r0,#0xf
0005b4 e3800a80 ORR r0,r0,#0x80000
0005b8 e380000a ORR r0,r0,#0xa
0005bc e51f1540 LDR r1,|L1.132|
0005c0 e5810008 STR r0,[r1,#8]
;;;206 rGPCON_M = ( rGPCON_M & ~(0x3) ) | 0x2; //GP11=EINT11
0005c4 e1a00001 MOV r0,r1
0005c8 e5900004 LDR r0,[r0,#4]
0005cc e3c00003 BIC r0,r0,#3
0005d0 e3800002 ORR r0,r0,#2
0005d4 e5810004 STR r0,[r1,#4]
;;;207
;;;208 #if CHOOSE_EINT0_TYPE
;;;209 SelectEintType();
;;;210 #else
;;;211 rEXTINTC0=( rEXTINTC0 & ~(7<<0) ) | (2<<0); //EINT0= falling edge triggered
0005d8 e1a00001 MOV r0,r1
0005dc e5900018 LDR r0,[r0,#0x18]
0005e0 e3c00007 BIC r0,r0,#7
0005e4 e3800002 ORR r0,r0,#2
0005e8 e5810018 STR r0,[r1,#0x18]
;;;212 #endif
;;;213
;;;214 rEXTINTC0=( rEXTINTC0 & ~(7<<4) ) | (0<<4); //EINT1= low level triggered
0005ec e1a00001 MOV r0,r1
0005f0 e5900018 LDR r0,[r0,#0x18]
0005f4 e3c00070 BIC r0,r0,#0x70
0005f8 e5810018 STR r0,[r1,#0x18]
;;;215 rEXTINTC1=( rEXTINTC1 & ~(7<<24) )| (2<<24);//EINT9= falling edge triggered
0005fc e1a00001 MOV r0,r1
000600 e590001c LDR r0,[r0,#0x1c]
000604 e3c00670 BIC r0,r0,#0x7000000
000608 e3800780 ORR r0,r0,#0x2000000
00060c e581001c STR r0,[r1,#0x1c]
;;;216 rEXTINTC2=( rEXTINTC2 & ~(7<<0) ) | (2<<0); //EINT11=falling edge triggered
000610 e1a00001 MOV r0,r1
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -