📄 sleep.txt
字号:
; generated by ARM C Compiler, ADS1.2 [Build 805]
; commandline [-errors .\err\sleep.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
;;;19 static void __irq EintInt(void)//EINT0,1
;;;20 {
|L1.0|
000000 e92d500f STMFD sp!,{r0-r3,r12,lr}
;;;21 rEINTMASK |= ( (BIT_EINTPEND_EINT1)|(BIT_EINTPEND_EINT0) );
000004 e59f00a0 LDR r0,|L1.172|
000008 e5900034 LDR r0,[r0,#0x34]
00000c e3800003 ORR r0,r0,#3
000010 e59f1094 LDR r1,|L1.172|
000014 e5810034 STR r0,[r1,#0x34]
;;;22 rINTMSK |= (BIT_EINT0_2);
000018 e2410646 SUB r0,r1,#0x4600000
00001c e5900008 LDR r0,[r0,#8]
000020 e3800001 ORR r0,r0,#1
000024 e2411646 SUB r1,r1,#0x4600000
000028 e5810008 STR r0,[r1,#8]
;;;23
;;;24 if(rEINTPEND&(1<<0))
00002c e2810646 ADD r0,r1,#0x4600000
000030 e5900038 LDR r0,[r0,#0x38]
000034 e3100001 TST r0,#1
000038 0a000005 BEQ |L1.84|
;;;25 {
;;;26 rEINTPEND=BIT_EINTPEND_EINT0;
00003c e3a00001 MOV r0,#1
000040 e2811646 ADD r1,r1,#0x4600000
000044 e5810038 STR r0,[r1,#0x38]
;;;27 Uart_Printf("__isr EINT0 for SLEEP wake-up.\n\n");
000048 e28f0060 ADR r0,|L1.176|
00004c ebfffffe BL _printf
000050 ea00000b B |L1.132|
;;;28 }
;;;29 else if(rEINTPEND&(1<<1))
|L1.84|
000054 e59f0050 LDR r0,|L1.172|
000058 e5900038 LDR r0,[r0,#0x38]
00005c e3100002 TST r0,#2
000060 0a000005 BEQ |L1.124|
;;;30 {
;;;31 rEINTPEND=BIT_EINTPEND_EINT1;
000064 e3a00002 MOV r0,#2
000068 e59f103c LDR r1,|L1.172|
00006c e5810038 STR r0,[r1,#0x38]
;;;32 Uart_Printf("__isr EINT1 for SLEEP wake-up.\n\n");
000070 e28f005c ADR r0,|L1.212|
000074 ebfffffe BL _printf
000078 ea000001 B |L1.132|
;;;33 }
;;;34 else
;;;35 Uart_Printf("__isr EINT Error!!\n\n");
|L1.124|
00007c e28f0074 ADR r0,|L1.248|
000080 ebfffffe BL _printf
;;;36
;;;37 ClearPending(BIT_EINT0_2);
|L1.132|
000084 e3a00001 MOV r0,#1
000088 e59f1080 LDR r1,|L1.272|
00008c e5810000 STR r0,[r1,#0]
000090 e1c10000 BIC r0,r1,r0
000094 e5900010 LDR r0,[r0,#0x10]
000098 e5810010 STR r0,[r1,#0x10]
00009c e1a00001 MOV r0,r1
0000a0 e5900010 LDR r0,[r0,#0x10]
;;;38 }
0000a4 e8bd500f LDMFD sp!,{r0-r3,r12,lr}
0000a8 e25ef004 SUBS pc,lr,#4
|L1.172|
0000ac 44800000 DCD 0x44800000
|L1.176|
0000b0 73695f5f DCB "__is"
0000b4 49452072 DCB "r EI"
0000b8 2030544e DCB "NT0 "
0000bc 20726f66 DCB "for "
0000c0 45454c53 DCB "SLEE"
0000c4 61772050 DCB "P wa"
0000c8 752d656b DCB "ke-u"
0000cc 0a0a2e70 DCB "p.\n\n"
0000d0 00000000 DCB "\0\0\0\0"
|L1.212|
0000d4 73695f5f DCB "__is"
0000d8 49452072 DCB "r EI"
0000dc 2031544e DCB "NT1 "
0000e0 20726f66 DCB "for "
0000e4 45454c53 DCB "SLEE"
0000e8 61772050 DCB "P wa"
0000ec 752d656b DCB "ke-u"
0000f0 0a0a2e70 DCB "p.\n\n"
0000f4 00000000 DCB "\0\0\0\0"
|L1.248|
0000f8 73695f5f DCB "__is"
0000fc 49452072 DCB "r EI"
000100 4520544e DCB "NT E"
000104 726f7272 DCB "rror"
000108 0a0a2121 DCB "!!\n\n"
00010c 00000000 DCB "\0\0\0\0"
|L1.272|
000110 40200000 DCD 0x40200000
ENDP
Eint9Int PROC
;;;40 static void __irq Eint9Int(void)
;;;41 {
|L1.276|
000114 e92d500f STMFD sp!,{r0-r3,r12,lr}
;;;42 rEINTMASK |=(BIT_EINTPEND_EINT9);
000118 e51f0074 LDR r0,|L1.172|
00011c e5900034 LDR r0,[r0,#0x34]
000120 e3800f80 ORR r0,r0,#0x200
000124 e51f1080 LDR r1,|L1.172|
000128 e5810034 STR r0,[r1,#0x34]
;;;43 rINTMSK |= (BIT_EINT7_10);
00012c e2410646 SUB r0,r1,#0x4600000
000130 e5900008 LDR r0,[r0,#8]
000134 e3800004 ORR r0,r0,#4
000138 e2411646 SUB r1,r1,#0x4600000
00013c e5810008 STR r0,[r1,#8]
;;;44
;;;45 rEINTPEND=BIT_EINTPEND_EINT9;
000140 e3a00f80 MOV r0,#0x200
000144 e2811646 ADD r1,r1,#0x4600000
000148 e5810038 STR r0,[r1,#0x38]
;;;46 ClearPending(BIT_EINT7_10);
00014c e3a00004 MOV r0,#4
000150 e2411646 SUB r1,r1,#0x4600000
000154 e5810000 STR r0,[r1,#0]
000158 e1c10000 BIC r0,r1,r0
00015c e5900010 LDR r0,[r0,#0x10]
000160 e5810010 STR r0,[r1,#0x10]
000164 e1a00001 MOV r0,r1
000168 e5900010 LDR r0,[r0,#0x10]
;;;47 Uart_Printf("__isr EINT9 for SLEEP wake-up.\n\n");
00016c e28f0008 ADR r0,|L1.380|
000170 ebfffffe BL _printf
;;;48 }
000174 e8bd500f LDMFD sp!,{r0-r3,r12,lr}
000178 e25ef004 SUBS pc,lr,#4
|L1.380|
00017c 73695f5f DCB "__is"
000180 49452072 DCB "r EI"
000184 2039544e DCB "NT9 "
000188 20726f66 DCB "for "
00018c 45454c53 DCB "SLEE"
000190 61772050 DCB "P wa"
000194 752d656b DCB "ke-u"
000198 0a0a2e70 DCB "p.\n\n"
00019c 00000000 DCB "\0\0\0\0"
ENDP
Eint11Int PROC
;;;50 static void __irq Eint11Int(void)
;;;51 {
|L1.416|
0001a0 e92d500f STMFD sp!,{r0-r3,r12,lr}
;;;52 //This routine is not serveced....
;;;53 rEINTMASK |= (BIT_EINTPEND_EINT11);
0001a4 e51f0100 LDR r0,|L1.172|
0001a8 e5900034 LDR r0,[r0,#0x34]
0001ac e3800e80 ORR r0,r0,#0x800
0001b0 e51f110c LDR r1,|L1.172|
0001b4 e5810034 STR r0,[r1,#0x34]
;;;54 rINTMSK |= (BIT_EINT11_14);
0001b8 e2410646 SUB r0,r1,#0x4600000
0001bc e5900008 LDR r0,[r0,#8]
0001c0 e3800008 ORR r0,r0,#8
0001c4 e2411646 SUB r1,r1,#0x4600000
0001c8 e5810008 STR r0,[r1,#8]
;;;55 ClearPending(BIT_EINT11_14);
0001cc e3a00008 MOV r0,#8
0001d0 e1c11000 BIC r1,r1,r0
0001d4 e5810000 STR r0,[r1,#0]
0001d8 e1c10000 BIC r0,r1,r0
0001dc e5900010 LDR r0,[r0,#0x10]
0001e0 e5810010 STR r0,[r1,#0x10]
0001e4 e1a00001 MOV r0,r1
0001e8 e5900010 LDR r0,[r0,#0x10]
;;;56
;;;57 rEINTPEND=BIT_EINTPEND_EINT11;
0001ec e3a00e80 MOV r0,#0x800
0001f0 e2811646 ADD r1,r1,#0x4600000
0001f4 e5810038 STR r0,[r1,#0x38]
;;;58 Uart_Printf("It seems strange that the EINT11 wake the S3C24A0 up.\n");
0001f8 e28f0008 ADR r0,|L1.520|
0001fc ebfffffe BL _printf
;;;59 }
000200 e8bd500f LDMFD sp!,{r0-r3,r12,lr}
000204 e25ef004 SUBS pc,lr,#4
|L1.520|
000208 73207449 DCB "It s"
00020c 736d6565 DCB "eems"
000210 72747320 DCB " str"
000214 65676e61 DCB "ange"
000218 61687420 DCB " tha"
00021c 68742074 DCB "t th"
000220 49452065 DCB "e EI"
000224 3131544e DCB "NT11"
000228 6b617720 DCB " wak"
00022c 68742065 DCB "e th"
000230 33532065 DCB "e S3"
000234 41343243 DCB "C24A"
000238 70752030 DCB "0 up"
00023c 00000a2e DCB ".\n\0\0"
ENDP
AlarmInt PROC
;;;61 static void __irq AlarmInt(void)
;;;62 {
|L1.576|
000240 e92d500f STMFD sp!,{r0-r3,r12,lr}
;;;63 //This routine is not serveced....
;;;64 rINTMSK=rINTMSK|(BIT_RTC);
000244 e51f013c LDR r0,|L1.272|
000248 e5900008 LDR r0,[r0,#8]
00024c e3800440 ORR r0,r0,#0x40000000
000250 e51f1148 LDR r1,|L1.272|
000254 e5810008 STR r0,[r1,#8]
;;;65 ClearPending(BIT_RTC);
000258 e3a00440 MOV r0,#0x40000000
00025c e18014c0 ORR r1,r0,r0,ASR #9
000260 e5810000 STR r0,[r1,#0]
000264 e18004c0 ORR r0,r0,r0,ASR #9
000268 e5900010 LDR r0,[r0,#0x10]
00026c e5810010 STR r0,[r1,#0x10]
000270 e1a00001 MOV r0,r1
000274 e5900010 LDR r0,[r0,#0x10]
;;;66 Uart_Printf("It seems strange that the Alarm wake the S3C24A0 up.\n");
000278 e28f0008 ADR r0,|L1.648|
00027c ebfffffe BL _printf
;;;67 }
000280 e8bd500f LDMFD sp!,{r0-r3,r12,lr}
000284 e25ef004 SUBS pc,lr,#4
|L1.648|
000288 73207449 DCB "It s"
00028c 736d6565 DCB "eems"
000290 72747320 DCB " str"
000294 65676e61 DCB "ange"
000298 61687420 DCB " tha"
00029c 68742074 DCB "t th"
0002a0 6c412065 DCB "e Al"
0002a4 206d7261 DCB "arm "
0002a8 656b6177 DCB "wake"
0002ac 65687420 DCB " the"
0002b0 43335320 DCB " S3C"
0002b4 30413432 DCB "24A0"
0002b8 2e707520 DCB " up."
0002bc 0000000a DCB "\n\0\0\0"
ENDP
Eint9Int_Hard PROC
;;;69 static void __irq Eint9Int_Hard(void)
;;;70 {
|L1.704|
0002c0 e92d500f STMFD sp!,{r0-r3,r12,lr}
;;;71 /*EINT 9(Function Generator)*/
;;;72 //This test needs External Function Generator to generate INT request
;;;73 rEINTMASK=rEINTMASK|(BIT_EINTPEND_EINT9);
0002c4 e51f0220 LDR r0,|L1.172|
0002c8 e5900034 LDR r0,[r0,#0x34]
0002cc e3800f80 ORR r0,r0,#0x200
0002d0 e51f122c LDR r1,|L1.172|
0002d4 e5810034 STR r0,[r1,#0x34]
;;;74 rINTMSK=rINTMSK|(BIT_EINT7_10);
0002d8 e2410646 SUB r0,r1,#0x4600000
0002dc e5900008 LDR r0,[r0,#8]
0002e0 e3800004 ORR r0,r0,#4
0002e4 e2411646 SUB r1,r1,#0x4600000
0002e8 e5810008 STR r0,[r1,#8]
;;;75
;;;76 rEINTPEND=BIT_EINTPEND_EINT9;
0002ec e3a00f80 MOV r0,#0x200
0002f0 e2811646 ADD r1,r1,#0x4600000
0002f4 e5810038 STR r0,[r1,#0x38]
;;;77 ClearPending(BIT_EINT7_10);
0002f8 e3a00004 MOV r0,#4
0002fc e2411646 SUB r1,r1,#0x4600000
000300 e5810000 STR r0,[r1,#0]
000304 e1c10000 BIC r0,r1,r0
000308 e5900010 LDR r0,[r0,#0x10]
00030c e5810010 STR r0,[r1,#0x10]
000310 e1a00001 MOV r0,r1
000314 e5900010 LDR r0,[r0,#0x10]
;;;78
;;;79 Uart_Printf(".");
000318 e28f0030 ADR r0,|L1.848|
00031c ebfffffe BL _printf
;;;80
;;;81 rINTMSK=rINTMSK&~(BIT_EINT7_10);
000320 e51f0218 LDR r0,|L1.272|
000324 e5900008 LDR r0,[r0,#8]
000328 e3c00004 BIC r0,r0,#4
00032c e51f1224 LDR r1,|L1.272|
000330 e5810008 STR r0,[r1,#8]
;;;82 rEINTMASK=rEINTMASK&~(BIT_EINTPEND_EINT9);
000334 e2810646 ADD r0,r1,#0x4600000
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -