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

📄 user_test.txt

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

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

                          AREA ||.text||, CODE, READONLY

                  SwReset PROC
;;;34     void SwReset(void)
;;;35     {
000000  e3a00d40          MOV      r0,#0x1000
;;;36     rWTDAT=0x1000;
000004  e3a01453          MOV      r1,#0x53000000
000008  e5810004          STR      r0,[r1,#4]
;;;37     rWTCNT=0x1000;
00000c  e3a00d40          MOV      r0,#0x1000
000010  e3a01453          MOV      r1,#0x53000000
000014  e5810008          STR      r0,[r1,#8]
;;;38     rWTCON= (0x80<<8) | (1<<5) | (1<<0);
000018  e59f00c4          LDR      r0,|L1.228|
00001c  e3a01453          MOV      r1,#0x53000000
000020  e5810000          STR      r0,[r1,#0]
;;;39     while(1);
000024  e1a00000          NOP      
                  |L1.40|
000028  eafffffe          B        |L1.40|
;;;40     }
                          ENDP

                  User_Test PROC
;;;41     void User_Test(void)
;;;42     {
00002c  e92d4010          STMFD    sp!,{r4,lr}
;;;43     	int i;
;;;44     
;;;45     	while(1)
000030  e1a00000          NOP      
                  |L1.52|
000034  e1a00000          NOP      
;;;46     	{
;;;47     		i=0;
000038  e3a04000          MOV      r4,#0
;;;48     		Uart_Printf("\n\n");
00003c  e28f00a4          ADR      r0,|L1.232|
000040  ebfffffe          BL       Uart_Printf
;;;49     		while(1)
000044  e1a00000          NOP      
                  |L1.72|
000048  e1a00000          NOP      
;;;50     		{   //display menu
;;;51     			Uart_Printf("%2d:%s",i,func_user_test[i][1]);
00004c  e59f0098          LDR      r0,|L1.236|
000050  e0800184          ADD      r0,r0,r4,LSL #3
000054  e1a01004          MOV      r1,r4
000058  e5902004          LDR      r2,[r0,#4]
00005c  e28f008c          ADR      r0,|L1.240|
000060  ebfffffe          BL       Uart_Printf
;;;52     			i++;
000064  e2844001          ADD      r4,r4,#1
;;;53     			if((int)(func_user_test[i][0])==0)
000068  e59f007c          LDR      r0,|L1.236|
00006c  e7900184          LDR      r0,[r0,r4,LSL #3]
000070  e3500000          CMP      r0,#0
000074  1a000002          BNE      |L1.132|
;;;54     			{
;;;55     				Uart_Printf("\n");
000078  e28f0078          ADR      r0,|L1.248|
00007c  ebfffffe          BL       Uart_Printf
;;;56     				break;
000080  ea000004          B        |L1.152|
;;;57     			}
;;;58     			if((i%4)==0)
                  |L1.132|
000084  e3140003          TST      r4,#3
000088  1a000001          BNE      |L1.148|
;;;59     			Uart_Printf("\n");
00008c  e28f0064          ADR      r0,|L1.248|
000090  ebfffffe          BL       Uart_Printf
;;;60     		}
                  |L1.148|
000094  eaffffeb          B        |L1.72|
;;;61     
;;;62     		Uart_Printf("\nSelect (\"-1\" to exit) : ");
                  |L1.152|
000098  e28f005c          ADR      r0,|L1.252|
00009c  ebfffffe          BL       Uart_Printf
;;;63     		i = Uart_GetIntNum();
0000a0  ebfffffe          BL       Uart_GetIntNum
0000a4  e1a04000          MOV      r4,r0
;;;64     		if(i==-1) break;		// return.
0000a8  e3740001          CMN      r4,#1
0000ac  1a000000          BNE      |L1.180|
0000b0  ea000008          B        |L1.216|
;;;65     		if(i>=0 && (i<((sizeof(func_user_test)-1)/8)) )	// select and execute...
                  |L1.180|
0000b4  e3540000          CMP      r4,#0
0000b8  ba000005          BLT      |L1.212|
0000bc  e3540006          CMP      r4,#6
0000c0  2a000003          BCS      |L1.212|
;;;66     			( (void (*)(void)) (func_user_test[i][0]) )();
0000c4  e59f1020          LDR      r1,|L1.236|
0000c8  e7910184          LDR      r0,[r1,r4,LSL #3]
0000cc  e1a0e00f          MOV      lr,pc
0000d0  e1a0f000          MOV      pc,r0
;;;67     	}
                  |L1.212|
0000d4  eaffffd6          B        |L1.52|
;;;68     	
;;;69     	Uart_Printf("\nUser_Test program end.\n");
                  |L1.216|
0000d8  e28f0038          ADR      r0,|L1.280|
0000dc  ebfffffe          BL       Uart_Printf
;;;70     }
0000e0  e8bd8010          LDMFD    sp!,{r4,pc}
                  |L1.228|
0000e4  00008021          DCD      0x00008021
                  |L1.232|
0000e8  00000a0a          DCB      "\n\n\0\0"
                  |L1.236|
0000ec  00000000          DCD      func_user_test
                  |L1.240|
0000f0  3a643225          DCB      "%2d:"
0000f4  00007325          DCB      "%s\0\0"
                  |L1.248|
0000f8  0000000a          DCB      "\n\0\0\0"
                  |L1.252|
0000fc  6c65530a          DCB      "\nSel"
000100  20746365          DCB      "ect "
000104  312d2228          DCB      "(\"-1"
000108  6f742022          DCB      "\" to"
00010c  69786520          DCB      " exi"
000110  3a202974          DCB      "t) :"
000114  00000020          DCB      " \0\0\0"
                  |L1.280|
000118  6573550a          DCB      "\nUse"
00011c  65545f72          DCB      "r_Te"
000120  70207473          DCB      "st p"
000124  72676f72          DCB      "rogr"
000128  65206d61          DCB      "am e"
00012c  0a2e646e          DCB      "nd.\n"
000130  00000000          DCB      "\0\0\0\0"
                          ENDP



                          AREA ||.data||, DATA, ALIGN=2

                  ||.data$0||
                  func_user_test
                          DCD      User_Test1
                          DCD      ||.constdata$1||
                          DCD      User_Test2
                          DCD      ||.constdata$1||+0x11
                          DCD      Mem_Test
                          DCD      ||.constdata$1||+0x1f
                          DCD      Firm_DVS_Onoff
                          DCD      ||.constdata$1||+0x2d
                          DCD      DVS_Onoff_Man
                          DCD      ||.constdata$1||+0x3e
                          DCD      SwReset
                          DCD      ||.constdata$1||+0x51
                          DCD      0x00000000
                          DCD      0x00000000


                          AREA ||.constdata||, DATA, READONLY, ALIGN=0

                  ||.constdata$1||
                          DCB      0x75,0x73,0x65,0x72
                          DCB      0x20,0x74,0x65,0x73
                          DCB      0x74,0x20,0x31,0x28
                          DCB      0x64,0x76,0x73,0x29
                          DCB      0x00
                          DCB      0x75,0x73,0x65,0x72
                          DCB      0x20,0x74,0x65,0x73
                          DCB      0x74,0x20,0x32,0x09
                          DCB      0x20,0x00
                          DCB      0x4d,0x65,0x6d,0x6f
                          DCB      0x72,0x79,0x20,0x74
                          DCB      0x65,0x73,0x74,0x09
                          DCB      0x20,0x00
                          DCB      0x46,0x69,0x72,0x6d
                          DCB      0x5f,0x44,0x56,0x53
                          DCB      0x5f,0x4f,0x6e,0x6f
                          DCB      0x66,0x66,0x09,0x20
                          DCB      0x00
                          DCB      0x44,0x56,0x53,0x5f
                          DCB      0x4f,0x6e,0x6f,0x66
                          DCB      0x66,0x28,0x6d,0x61
                          DCB      0x6e,0x75,0x61,0x6c
                          DCB      0x29,0x20,0x00
                          DCB      0x72,0x73,0x74,0x20
                          DCB      0x20,0x20,0x20,0x20
                          DCB      0x20,0x20,0x20,0x20
                          DCB      0x20,0x20,0x20,0x20
                          DCB      0x20,0x20,0x20,0x20
                          DCB      0x20,0x20,0x20,0x00


        END

⌨️ 快捷键说明

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