⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sleep.txt

📁 SMDK2442所有设备的驱动测试程序。运行monitor程序
💻 TXT
📖 第 1 页 / 共 5 页
字号:
; generated by ARM C Compiler, ADS1.2 [Build 805]

; commandline [-errors .\err\sleep.err -O0 -asm -g+ -cpu ARM920T -fs "-IC:\Program Files\ARM\ADSv1_2\INCLUDE"]
                          CODE32

                          AREA ||.text||, CODE, READONLY

                  Eint0Int PROC
;;;52     static void __irq Eint0Int(void)
;;;53     {
                  |L1.0|
000000  e92d500f          STMFD    sp!,{r0-r3,r12,lr}
;;;54     	ClearPending(BIT_EINT0);
000004  e3a00001          MOV      r0,#1
000008  e3a0144a          MOV      r1,#0x4a000000
00000c  e5810000          STR      r0,[r1,#0]
000010  e3a00001          MOV      r0,#1
000014  e3a0144a          MOV      r1,#0x4a000000
000018  e5810010          STR      r0,[r1,#0x10]
00001c  e3a0044a          MOV      r0,#0x4a000000
000020  e5900010          LDR      r0,[r0,#0x10]
;;;55     	Uart_Printf("[WU]EINT0 interrupt is occurred for Sleep mode wake-up.\n");
000024  e28f0008          ADR      r0,|L1.52|
000028  ebfffffe          BL       Uart_Printf
;;;56     }
00002c  e8bd500f          LDMFD    sp!,{r0-r3,r12,lr}
000030  e25ef004          SUBS     pc,lr,#4
                  |L1.52|
000034  5d55575b          DCB      "[WU]"
000038  544e4945          DCB      "EINT"
00003c  6e692030          DCB      "0 in"
000040  72726574          DCB      "terr"
000044  20747075          DCB      "upt "
000048  6f207369          DCB      "is o"
00004c  72756363          DCB      "ccur"
000050  20646572          DCB      "red "
000054  20726f66          DCB      "for "
000058  65656c53          DCB      "Slee"
00005c  6f6d2070          DCB      "p mo"
000060  77206564          DCB      "de w"
000064  2d656b61          DCB      "ake-"
000068  0a2e7075          DCB      "up.\n"
00006c  00000000          DCB      "\0\0\0\0"
                          ENDP

                  Eint8_23Int PROC
;;;60     static void __irq Eint8_23Int(void)
;;;61     {
                  |L1.112|
000070  e92d500f          STMFD    sp!,{r0-r3,r12,lr}
;;;62     	rEINTPEND=(1<<11); //EINT11 sub-pending bit.	
000074  e3a00e80          MOV      r0,#0x800
000078  e3a01456          MOV      r1,#0x56000000
00007c  e58100a8          STR      r0,[r1,#0xa8]
;;;63     	ClearPending(BIT_EINT8_23);
000080  e3a00020          MOV      r0,#0x20
000084  e3a0144a          MOV      r1,#0x4a000000
000088  e5810000          STR      r0,[r1,#0]
00008c  e3a00020          MOV      r0,#0x20
000090  e3a0144a          MOV      r1,#0x4a000000
000094  e5810010          STR      r0,[r1,#0x10]
000098  e3a0044a          MOV      r0,#0x4a000000
00009c  e5900010          LDR      r0,[r0,#0x10]
;;;64     	Uart_Printf("[WU]EINT8_23 interrupt is occurred for Sleep mode wake-up.\n");
0000a0  e28f0008          ADR      r0,|L1.176|
0000a4  ebfffffe          BL       Uart_Printf
;;;65     }
0000a8  e8bd500f          LDMFD    sp!,{r0-r3,r12,lr}
0000ac  e25ef004          SUBS     pc,lr,#4
                  |L1.176|
0000b0  5d55575b          DCB      "[WU]"
0000b4  544e4945          DCB      "EINT"
0000b8  33325f38          DCB      "8_23"
0000bc  746e6920          DCB      " int"
0000c0  75727265          DCB      "erru"
0000c4  69207470          DCB      "pt i"
0000c8  636f2073          DCB      "s oc"
0000cc  72727563          DCB      "curr"
0000d0  66206465          DCB      "ed f"
0000d4  5320726f          DCB      "or S"
0000d8  7065656c          DCB      "leep"
0000dc  646f6d20          DCB      " mod"
0000e0  61772065          DCB      "e wa"
0000e4  752d656b          DCB      "ke-u"
0000e8  000a2e70          DCB      "p.\n\0"
                          ENDP

                  Eint8_23Int_100Hz PROC
;;;69     static void __irq Eint8_23Int_100Hz(void)
;;;70     {
0000ec  e92d500f          STMFD    sp!,{r0-r3,r12,lr}
;;;71     	rEINTPEND=(1<<11); //EINT11 sub-pending bit.	
0000f0  e3a00e80          MOV      r0,#0x800
0000f4  e3a01456          MOV      r1,#0x56000000
0000f8  e58100a8          STR      r0,[r1,#0xa8]
;;;72     	ClearPending(BIT_EINT8_23);
0000fc  e3a00020          MOV      r0,#0x20
000100  e3a0144a          MOV      r1,#0x4a000000
000104  e5810000          STR      r0,[r1,#0]
000108  e3a00020          MOV      r0,#0x20
00010c  e3a0144a          MOV      r1,#0x4a000000
000110  e5810010          STR      r0,[r1,#0x10]
000114  e3a0044a          MOV      r0,#0x4a000000
000118  e5900010          LDR      r0,[r0,#0x10]
;;;73     	Uart_Printf("wui\n");
00011c  e28f0008          ADR      r0,|L1.300|
000120  ebfffffe          BL       Uart_Printf
;;;74     }
000124  e8bd500f          LDMFD    sp!,{r0-r3,r12,lr}
000128  e25ef004          SUBS     pc,lr,#4
                  |L1.300|
00012c  0a697577          DCB      "wui\n"
000130  00000000          DCB      "\0\0\0\0"
                          ENDP

                  AlarmInt PROC
;;;78     static void __irq AlarmInt(void)
;;;79     {
                  |L1.308|
000134  e92d500f          STMFD    sp!,{r0-r3,r12,lr}
;;;80     	Uart_Printf("INTPND:%x, SRCPND:%x \n", rINTPND, rSRCPND);
000138  e3a0044a          MOV      r0,#0x4a000000
00013c  e5900000          LDR      r0,[r0,#0]
000140  e1a02000          MOV      r2,r0
000144  e3a0044a          MOV      r0,#0x4a000000
000148  e5900010          LDR      r0,[r0,#0x10]
00014c  e1a01000          MOV      r1,r0
000150  e28f0030          ADR      r0,|L1.392|
000154  ebfffffe          BL       Uart_Printf
;;;81     	ClearPending(BIT_RTC);
000158  e3a00440          MOV      r0,#0x40000000
00015c  e3a0144a          MOV      r1,#0x4a000000
000160  e5810000          STR      r0,[r1,#0]
000164  e3a00440          MOV      r0,#0x40000000
000168  e3a0144a          MOV      r1,#0x4a000000
00016c  e5810010          STR      r0,[r1,#0x10]
000170  e3a0044a          MOV      r0,#0x4a000000
000174  e5900010          LDR      r0,[r0,#0x10]
;;;82     	Uart_Printf("[WU]ALARM interrupt is occurred for Sleep mode wake-up.\n");
000178  e28f0020          ADR      r0,|L1.416|
00017c  ebfffffe          BL       Uart_Printf
;;;83     }
000180  e8bd500f          LDMFD    sp!,{r0-r3,r12,lr}
000184  e25ef004          SUBS     pc,lr,#4
                  |L1.392|
000188  50544e49          DCB      "INTP"
00018c  253a444e          DCB      "ND:%"
000190  53202c78          DCB      "x, S"
000194  4e504352          DCB      "RCPN"
000198  78253a44          DCB      "D:%x"
00019c  00000a20          DCB      " \n\0\0"
                  |L1.416|
0001a0  5d55575b          DCB      "[WU]"
0001a4  52414c41          DCB      "ALAR"
0001a8  6e69204d          DCB      "M in"
0001ac  72726574          DCB      "terr"
0001b0  20747075          DCB      "upt "
0001b4  6f207369          DCB      "is o"
0001b8  72756363          DCB      "ccur"
0001bc  20646572          DCB      "red "
0001c0  20726f66          DCB      "for "
0001c4  65656c53          DCB      "Slee"
0001c8  6f6d2070          DCB      "p mo"
0001cc  77206564          DCB      "de w"
0001d0  2d656b61          DCB      "ake-"
0001d4  0a2e7075          DCB      "up.\n"
0001d8  00000000          DCB      "\0\0\0\0"
                          ENDP

                  Test_InitSDRAM PROC
;;;88     //Initialize SDRAM for SDRAM self-refresh test.
;;;89     {
0001dc  e92d4010          STMFD    sp!,{r4,lr}
;;;90     	int i;
;;;91     	
;;;92     	Uart_Printf("[SDRAM Initialization]\n");
0001e0  e28f0048          ADR      r0,|L1.560|
0001e4  ebfffffe          BL       Uart_Printf
;;;93     	Uart_Printf("Fill SDRAM for self-refresh test.\n");
0001e8  e28f0058          ADR      r0,|L1.584|
0001ec  ebfffffe          BL       Uart_Printf
;;;94     	for(i=_NONCACHE_STARTADDRESS;i<(_NONCACHE_STARTADDRESS+0x400000);i+=4)
0001f0  e3a045c4          MOV      r4,#0x31000000
                  |L1.500|
0001f4  e35405c5          CMP      r4,#0x31400000
0001f8  aa000006          BGE      |L1.536|
0001fc  ea000001          B        |L1.520|
                  |L1.512|
000200  e2844004          ADD      r4,r4,#4
000204  eafffffa          B        |L1.500|
;;;95     		*((U32 *)i)=i^0x55555555;
                  |L1.520|
000208  e59f005c          LDR      r0,|L1.620|
00020c  e0240000          EOR      r0,r4,r0
000210  e5840000          STR      r0,[r4,#0]
000214  eafffff9          B        |L1.512|
;;;96     	Uart_Printf("Filling SDRAM is completed.\n");
                  |L1.536|
000218  e28f0050          ADR      r0,|L1.624|
00021c  ebfffffe          BL       Uart_Printf
;;;97     
;;;98     	*((volatile U32 *)0x33e00000)=0x0;  //for Initialize the counter in Check_SleepWakeUp_100Hz(). 
000220  e3a00000          MOV      r0,#0
000224  e59f1064          LDR      r1,|L1.656|
000228  e5810000          STR      r0,[r1,#0]
;;;99     }
00022c  e8bd8010          LDMFD    sp!,{r4,pc}
                  |L1.560|
000230  5244535b          DCB      "[SDR"
000234  49204d41          DCB      "AM I"
000238  6974696e          DCB      "niti"
00023c  7a696c61          DCB      "aliz"
000240  6f697461          DCB      "atio"
000244  000a5d6e          DCB      "n]\n\0"
                  |L1.584|
000248  6c6c6946          DCB      "Fill"
00024c  52445320          DCB      " SDR"
000250  66204d41          DCB      "AM f"
000254  7320726f          DCB      "or s"
000258  2d666c65          DCB      "elf-"
00025c  72666572          DCB      "refr"
000260  20687365          DCB      "esh "
000264  74736574          DCB      "test"
000268  00000a2e          DCB      ".\n\0\0"
                  |L1.620|
00026c  55555555          DCD      0x55555555
                  |L1.624|
000270  6c6c6946          DCB      "Fill"
000274  20676e69          DCB      "ing "
000278  41524453          DCB      "SDRA"
00027c  7369204d          DCB      "M is"
000280  6d6f6320          DCB      " com"
000284  74656c70          DCB      "plet"
000288  0a2e6465          DCB      "ed.\n"
00028c  00000000          DCB      "\0\0\0\0"
                  |L1.656|
000290  33e00000          DCD      0x33e00000
                          ENDP

                  SelectEintType PROC
;;;103    void SelectEintType(void)
;;;104    {
000294  e92d4010          STMFD    sp!,{r4,lr}
;;;105    
;;;106    	int extintMode;
;;;107    
;;;108    	Uart_Printf("1.L-level  2.H-level  3.F-edge  4.R-edge  5.B-edge\n");
000298  e28f0f41          ADR      r0,|L1.932|
00029c  ebfffffe          BL       Uart_Printf
;;;109    	Uart_Printf("Select the EINT0 trigger type:");	
0002a0  e28f0f4c          ADR      r0,|L1.984|
0002a4  ebfffffe          BL       Uart_Printf
;;;110    
;;;111    
;;;112    	extintMode=Uart_Getch();
0002a8  ebfffffe          BL       Uart_Getch
0002ac  e1a04000          MOV      r4,r0
;;;113    
;;;114    	rGPFCON=rGPFCON & ~(3<<0)|(2<<0); //PF0=EINT0
0002b0  e3a00456          MOV      r0,#0x56000000
0002b4  e5900050          LDR      r0,[r0,#0x50]
0002b8  e3c00003          BIC      r0,r0,#3
0002bc  e3800002          ORR      r0,r0,#2
0002c0  e3a01456          MOV      r1,#0x56000000
0002c4  e5810050          STR      r0,[r1,#0x50]
;;;115    	
;;;116    	switch(extintMode)
0002c8  e2442031          SUB      r0,r4,#0x31
0002cc  e3500004          CMP      r0,#4
0002d0  908ff100          ADDLS    pc,pc,r0,LSL #2
0002d4  ea000030          B        |L1.924|
0002d8  ea000003          B        |L1.748|
0002dc  ea00000a          B        |L1.780|
0002e0  ea000012          B        |L1.816|
0002e4  ea00001a          B        |L1.852|
0002e8  ea000022          B        |L1.888|
;;;117    	{
;;;118    	case '1':
;;;119    		rEXTINT0=rEXTINT0&~(7<<0)|(0x0<<0); //EINT0=low level triggered
                  |L1.748|
0002ec  e3a00456          MOV      r0,#0x56000000
0002f0  e5900088          LDR      r0,[r0,#0x88]
0002f4  e3c00007          BIC      r0,r0,#7
0002f8  e3a01456          MOV      r1,#0x56000000
0002fc  e5810088          STR      r0,[r1,#0x88]
;;;120    		Uart_Printf("L-level\n");
000300  e28f00f0          ADR      r0,|L1.1016|
000304  ebfffffe          BL       Uart_Printf
;;;121    		break;
000308  ea000024          B        |L1.928|
;;;122    	case '2':
;;;123    		rEXTINT0=rEXTINT0&~(7<<0)|(0x1<<0); //EINT0=high level triggered

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -