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

📄 stone.txt

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

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

                          AREA ||.text||, CODE, READONLY

                  Test_ISram PROC
;;;19     void Test_ISram(void)
;;;20     {
                  |L1.0|
000000  e92d41ff          STMFD    sp!,{r0-r8,lr}
;;;21         U32 i, j, error=0, loop;
000004  e3a06000          MOV      r6,#0
;;;22     	U32 test_pattern[4] = {0x0, 0x55555555, 0xaaaaaaaa, 0xffffffff};
000008  e59f10e0          LDR      r1,|L1.240|
00000c  e1a0000d          MOV      r0,sp
000010  e89100ac          LDMIA    r1,{r2,r3,r5,r7}
000014  e88000ac          STMIA    r0,{r2,r3,r5,r7}
;;;23     	U32 *Stone_Addr = (void *)STONE_ADDR;
000018  e3a07440          MOV      r7,#0x40000000
;;;24     
;;;25         Uart_Printf("[Internal Stepping Stone test (%dbyte)]\n", STONE_SIZE);
00001c  e3a01d40          MOV      r1,#0x1000
000020  e28f00cc          ADR      r0,|L1.244|
000024  ebfffffe          BL       Uart_Printf
;;;26         Uart_Printf("\nTest Pattern : 0x0 , 0x55555555 , 0xaaaaaaaa , 0xffffffff\n\n");    
000028  e28f00f0          ADR      r0,|L1.288|
00002c  ebfffffe          BL       Uart_Printf
;;;27     
;;;28     
;;;29     	for(loop=0; loop<4; loop++) {
000030  e3a05000          MOV      r5,#0
                  |L1.52|
000034  e3550004          CMP      r5,#4
000038  2a00002b          BCS      |L1.236|
00003c  ea000001          B        |L1.72|
                  |L1.64|
000040  e2855001          ADD      r5,r5,#1
000044  eafffffa          B        |L1.52|
;;;30     		// write data.
;;;31     		Uart_Printf("Write [%x]...", test_pattern[loop]);    
                  |L1.72|
000048  e79d1105          LDR      r1,[sp,r5,LSL #2]
00004c  e28f0f43          ADR      r0,|L1.352|
000050  ebfffffe          BL       Uart_Printf
;;;32     	    for(i=0; i<STONE_SIZE/4; i++) *(Stone_Addr+i)=test_pattern[loop];
000054  e3a04000          MOV      r4,#0
                  |L1.88|
000058  e3540e40          CMP      r4,#0x400
00005c  2a000005          BCS      |L1.120|
000060  ea000001          B        |L1.108|
                  |L1.100|
000064  e2844001          ADD      r4,r4,#1
000068  eafffffa          B        |L1.88|
                  |L1.108|
00006c  e79d0105          LDR      r0,[sp,r5,LSL #2]
000070  e7870104          STR      r0,[r7,r4,LSL #2]
000074  eafffffa          B        |L1.100|
;;;33     
;;;34     		// Read data.		
;;;35     		Uart_Printf("Read...");
                  |L1.120|
000078  e28f00f0          ADR      r0,|L1.368|
00007c  ebfffffe          BL       Uart_Printf
;;;36     	    for(error=0, i=0; i<STONE_SIZE/4; i+=4) {
000080  e3a06000          MOV      r6,#0
000084  e3a04000          MOV      r4,#0
                  |L1.136|
000088  e3540e40          CMP      r4,#0x400
00008c  2a00000d          BCS      |L1.200|
000090  ea000001          B        |L1.156|
                  |L1.148|
000094  e2844004          ADD      r4,r4,#4
000098  eafffffa          B        |L1.136|
;;;37     		    j=*(Stone_Addr+i);
                  |L1.156|
00009c  e7978104          LDR      r8,[r7,r4,LSL #2]
;;;38     		    if(j!=test_pattern[loop]) {
0000a0  e79d0105          LDR      r0,[sp,r5,LSL #2]
0000a4  e1500008          CMP      r0,r8
0000a8  0a000005          BEQ      |L1.196|
;;;39     		        Uart_Printf("Error[AD:%x,Wr:%x,Rd:%x\n",(Stone_Addr+i),test_pattern[loop], j);
0000ac  e79d2105          LDR      r2,[sp,r5,LSL #2]
0000b0  e0871104          ADD      r1,r7,r4,LSL #2
0000b4  e1a03008          MOV      r3,r8
0000b8  e28f00b8          ADR      r0,|L1.376|
0000bc  ebfffffe          BL       Uart_Printf
;;;40     		        error++;
0000c0  e2866001          ADD      r6,r6,#1
;;;41     		    }
;;;42     	    }
                  |L1.196|
0000c4  eafffff2          B        |L1.148|
;;;43     		if(error==0) Uart_Printf("OK!\n");
                  |L1.200|
0000c8  e3560000          CMP      r6,#0
0000cc  1a000002          BNE      |L1.220|
0000d0  e28f00bc          ADR      r0,|L1.404|
0000d4  ebfffffe          BL       Uart_Printf
0000d8  ea000002          B        |L1.232|
;;;44     		else Uart_Printf("Error(%d)!\n", error);
                  |L1.220|
0000dc  e1a01006          MOV      r1,r6
0000e0  e28f00b4          ADR      r0,|L1.412|
0000e4  ebfffffe          BL       Uart_Printf
;;;45     	}
                  |L1.232|
0000e8  eaffffd4          B        |L1.64|
;;;46     
;;;47     
;;;48     }                  |L1.236|
0000ec  e8bd81ff          LDMFD    sp!,{r0-r8,pc}
                  |L1.240|
0000f0  00000000          DCD      ||.constdata$1||
                  |L1.244|
0000f4  746e495b          DCB      "[Int"
0000f8  616e7265          DCB      "erna"
0000fc  7453206c          DCB      "l St"
000100  69707065          DCB      "eppi"
000104  5320676e          DCB      "ng S"
000108  656e6f74          DCB      "tone"
00010c  73657420          DCB      " tes"
000110  25282074          DCB      "t (%"
000114  74796264          DCB      "dbyt"
000118  0a5d2965          DCB      "e)]\n"
00011c  00000000          DCB      "\0\0\0\0"
                  |L1.288|
000120  7365540a          DCB      "\nTes"
000124  61502074          DCB      "t Pa"
000128  72657474          DCB      "tter"
00012c  203a206e          DCB      "n : "
000130  20307830          DCB      "0x0 "
000134  7830202c          DCB      ", 0x"
000138  35353535          DCB      "5555"
00013c  35353535          DCB      "5555"
000140  30202c20          DCB      " , 0"
000144  61616178          DCB      "xaaa"
000148  61616161          DCB      "aaaa"
00014c  202c2061          DCB      "a , "
000150  66667830          DCB      "0xff"
000154  66666666          DCB      "ffff"
000158  0a0a6666          DCB      "ff\n\n"
00015c  00000000          DCB      "\0\0\0\0"
                  |L1.352|
000160  74697257          DCB      "Writ"
000164  255b2065          DCB      "e [%"
000168  2e2e5d78          DCB      "x].."
00016c  0000002e          DCB      ".\0\0\0"
                  |L1.368|
000170  64616552          DCB      "Read"
000174  002e2e2e          DCB      "...\0"
                  |L1.376|
000178  6f727245          DCB      "Erro"
00017c  44415b72          DCB      "r[AD"
000180  2c78253a          DCB      ":%x,"
000184  253a7257          DCB      "Wr:%"
000188  64522c78          DCB      "x,Rd"
00018c  0a78253a          DCB      ":%x\n"
000190  00000000          DCB      "\0\0\0\0"
                  |L1.404|
000194  0a214b4f          DCB      "OK!\n"
000198  00000000          DCB      "\0\0\0\0"
                  |L1.412|
00019c  6f727245          DCB      "Erro"
0001a0  64252872          DCB      "r(%d"
0001a4  000a2129          DCB      ")!\n\0"
                          ENDP



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

                  ||.constdata$1||
                          DCD      0x00000000
                          DCD      0x55555555
                          DCD      0xaaaaaaaa
                          DCD      0xffffffff


        END

⌨️ 快捷键说明

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