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

📄 user_test1.txt

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

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

                          AREA ||.text||, CODE, READONLY

                  Sram_timing PROC
;;;30     void Sram_timing(void)
;;;31     {
000000  e92d4070          STMFD    sp!,{r4-r6,lr}
;;;32     	volatile U16 i, k;
;;;33     	U32 bk_bankcon5;
;;;34     	
;;;35     	Uart_Printf("Sram test...\n");
000004  e28f00c0          ADR      r0,|L1.204|
000008  ebfffffe          BL       Uart_Printf
;;;36     
;;;37     	bk_bankcon5 = rBANKCON5;
00000c  e3a00448          MOV      r0,#0x48000000
000010  e5900018          LDR      r0,[r0,#0x18]
000014  e1a05000          MOV      r5,r0
;;;38     
;;;39     	// Setting bankcon 5.
;;;40     	rBWSCON = (rBWSCON&~(0xf<<20)) | (1<<23) | (1<<22) |(1<<20);
000018  e3a00448          MOV      r0,#0x48000000
00001c  e5900000          LDR      r0,[r0,#0]
000020  e3c008f0          BIC      r0,r0,#0xf00000
000024  e38008d0          ORR      r0,r0,#0xd00000
000028  e3a01448          MOV      r1,#0x48000000
00002c  e5810000          STR      r0,[r1,#0]
;;;41     	rBANKCON5 = (rBANKCON5&~(0x7ff<<4)) | (Tacs<<13) | (Tcos<<11) | (Tacc<<8) | (Tcoh<<6) | (Tcah<<4) ;
000030  e3a00448          MOV      r0,#0x48000000
000034  e5900018          LDR      r0,[r0,#0x18]
000038  e3c00c70          BIC      r0,r0,#0x7000
00003c  e3c00eff          BIC      r0,r0,#0xff0
000040  e3800f80          ORR      r0,r0,#0x200
000044  e3a01448          MOV      r1,#0x48000000
000048  e5810018          STR      r0,[r1,#0x18]
;;;42     
;;;43     	Uart_Printf("rBANKCON5:%x\n", rBANKCON5);
00004c  e3a00448          MOV      r0,#0x48000000
000050  e5900018          LDR      r0,[r0,#0x18]
000054  e1a01000          MOV      r1,r0
000058  e28f007c          ADR      r0,|L1.220|
00005c  ebfffffe          BL       Uart_Printf
;;;44     	for(i=0; ; i++) {
000060  e3a00000          MOV      r0,#0
000064  e1a04000          MOV      r4,r0
                  |L1.104|
000068  ea000003          B        |L1.124|
                  |L1.108|
00006c  e2840001          ADD      r0,r4,#1
000070  e3c00b40          BIC      r0,r0,#0x10000
000074  e1a04000          MOV      r4,r0
000078  eafffffa          B        |L1.104|
;;;45     		*(U16 *) 0x28000002 = 1;
                  |L1.124|
00007c  e3a00001          MOV      r0,#1
000080  e3a015a0          MOV      r1,#0x28000000
000084  e1c100b2          STRH     r0,[r1,#2]
;;;46     		k=*(U16 *) 0x28000002;
000088  e3a005a0          MOV      r0,#0x28000000
00008c  e1d060b2          LDRH     r6,[r0,#2]
;;;47     		if(Uart_GetKey()) break;
000090  ebfffffe          BL       Uart_GetKey
000094  e3500000          CMP      r0,#0
000098  0a000000          BEQ      |L1.160|
00009c  ea000000          B        |L1.164|
;;;48     	}
                  |L1.160|
0000a0  eafffff1          B        |L1.108|
;;;49     
;;;50     	rBANKCON5 = bk_bankcon5;
                  |L1.164|
0000a4  e3a00448          MOV      r0,#0x48000000
0000a8  e5805018          STR      r5,[r0,#0x18]
;;;51     	while(1)if(Uart_GetKey()) break;;
0000ac  e1a00000          NOP      
                  |L1.176|
0000b0  e1a00000          NOP      
0000b4  ebfffffe          BL       Uart_GetKey
0000b8  e3500000          CMP      r0,#0
0000bc  0a000000          BEQ      |L1.196|
0000c0  ea000000          B        |L1.200|
                  |L1.196|
0000c4  eafffff9          B        |L1.176|
;;;52     	
;;;53     }
                  |L1.200|
0000c8  e8bd8070          LDMFD    sp!,{r4-r6,pc}
                  |L1.204|
0000cc  6d617253          DCB      "Sram"
0000d0  73657420          DCB      " tes"
0000d4  2e2e2e74          DCB      "t..."
0000d8  0000000a          DCB      "\n\0\0\0"
                  |L1.220|
0000dc  4e414272          DCB      "rBAN"
0000e0  4e4f434b          DCB      "KCON"
0000e4  78253a35          DCB      "5:%x"
0000e8  0000000a          DCB      "\n\0\0\0"
                          ENDP

                  Dclk_test PROC
;;;55     void Dclk_test(void)
;;;56     {
0000ec  e92d4070          STMFD    sp!,{r4-r6,lr}
;;;57     	U32 bk_dclkcon, bk_gphcon, bk_misccr;
;;;58     	
;;;59     	bk_dclkcon = rDCLKCON;
0000f0  e3a00456          MOV      r0,#0x56000000
0000f4  e5900084          LDR      r0,[r0,#0x84]
0000f8  e1a04000          MOV      r4,r0
;;;60     	bk_gphcon = rGPHCON;
0000fc  e3a00456          MOV      r0,#0x56000000
000100  e5900070          LDR      r0,[r0,#0x70]
000104  e1a05000          MOV      r5,r0
;;;61     	bk_misccr = rMISCCR;
000108  e3a00456          MOV      r0,#0x56000000
00010c  e5900080          LDR      r0,[r0,#0x80]
000110  e1a06000          MOV      r6,r0
;;;62     	
;;;63     	Uart_Printf("DCLK test.\n");
000114  e28f0064          ADR      r0,|L1.384|
000118  ebfffffe          BL       Uart_Printf
;;;64     	//rDCLKCON = (1<<24) | (3<<20) | (1<<17) | (1<<16); // Dclk1=Uclk/4 50% duty.
;;;65     	rDCLKCON = (0<<24) | (1<<20) | (1<<17) | (1<<16);	// Dclk1=Uclk/4 50% duty.
00011c  e3a0094c          MOV      r0,#0x130000
000120  e3a01456          MOV      r1,#0x56000000
000124  e5810084          STR      r0,[r1,#0x84]
;;;66     	rGPHCON = (rGPHCON&~(0x3<<20)) | (0x2<<20);
000128  e3a00456          MOV      r0,#0x56000000
00012c  e5900070          LDR      r0,[r0,#0x70]
000130  e3c009c0          BIC      r0,r0,#0x300000
000134  e3800980          ORR      r0,r0,#0x200000
000138  e3a01456          MOV      r1,#0x56000000
00013c  e5810070          STR      r0,[r1,#0x70]
;;;67     	rMISCCR = (rMISCCR & ~(0x7<<8)) | (0x1<<8);
000140  e3a00456          MOV      r0,#0x56000000
000144  e5900080          LDR      r0,[r0,#0x80]
000148  e3c00e70          BIC      r0,r0,#0x700
00014c  e3800f40          ORR      r0,r0,#0x100
000150  e3a01456          MOV      r1,#0x56000000
000154  e5810080          STR      r0,[r1,#0x80]
;;;68     	Uart_Printf("Press any key to stop.\n");
000158  e28f002c          ADR      r0,|L1.396|
00015c  ebfffffe          BL       Uart_Printf
;;;69     	Uart_Getch();
000160  ebfffffe          BL       Uart_Getch
;;;70     	rDCLKCON=bk_dclkcon;
000164  e3a00456          MOV      r0,#0x56000000
000168  e5804084          STR      r4,[r0,#0x84]
;;;71     	rGPHCON=bk_gphcon;
00016c  e3a00456          MOV      r0,#0x56000000
000170  e5805070          STR      r5,[r0,#0x70]
;;;72     	rMISCCR=bk_misccr;
000174  e3a00456          MOV      r0,#0x56000000
000178  e5806080          STR      r6,[r0,#0x80]
;;;73     }
00017c  e8bd8070          LDMFD    sp!,{r4-r6,pc}
                  |L1.384|
000180  4b4c4344          DCB      "DCLK"
000184  73657420          DCB      " tes"
000188  000a2e74          DCB      "t.\n\0"
                  |L1.396|
00018c  73657250          DCB      "Pres"
000190  6e612073          DCB      "s an"
000194  656b2079          DCB      "y ke"
000198  6f742079          DCB      "y to"
00019c  6f747320          DCB      " sto"
0001a0  000a2e70          DCB      "p.\n\0"
                          ENDP

                  test1 PROC
;;;77     void test1(void)
;;;78     {
0001a4  e92d4070          STMFD    sp!,{r4-r6,lr}
;;;79     	int i;
;;;80     	
;;;81     	Uart_Printf("\nUser_Test1 program...\n");
0001a8  e28f00c4          ADR      r0,|L1.628|
0001ac  ebfffffe          BL       Uart_Printf
;;;82     	
;;;83     	Uart_Printf("Current Clock information...\n");
0001b0  e28f00d4          ADR      r0,|L1.652|
0001b4  ebfffffe          BL       Uart_Printf
;;;84     
;;;85     	Calc_Clock(1);
0001b8  e3a00001          MOV      r0,#1
0001bc  ebfffffe          BL       Calc_Clock
;;;86     	
;;;87     	Uart_Printf("Register setting value\n");
0001c0  e28f00e4          ADR      r0,|L1.684|
0001c4  ebfffffe          BL       Uart_Printf
;;;88     	Uart_Printf("MDIV:PDIV:SDIV = %x:%x:%x\n", Mdiv, Pdiv, Sdiv);
0001c8  e59f00f4          LDR      r0,|L1.708|
0001cc  e5903000          LDR      r3,[r0,#0]  ; Sdiv
0001d0  e59f00f0          LDR      r0,|L1.712|
0001d4  e5902000          LDR      r2,[r0,#0]  ; Pdiv
0001d8  e59f00ec          LDR      r0,|L1.716|
0001dc  e5901000          LDR      r1,[r0,#0]  ; Mdiv
0001e0  e28f00e8          ADR      r0,|L1.720|
0001e4  ebfffffe          BL       Uart_Printf
;;;89     	Uart_Printf("HDIVN:PDIVN = %x:%x\n", Hdivn, Pdivn);
0001e8  e59f00fc          LDR      r0,|L1.748|
0001ec  e5902000          LDR      r2,[r0,#0]  ; Pdivn
0001f0  e59f00f8          LDR      r0,|L1.752|
0001f4  e5901000          LDR      r1,[r0,#0]  ; Hdivn
0001f8  e28f00f4          ADR      r0,|L1.756|
0001fc  ebfffffe          BL       Uart_Printf
;;;90     	
;;;91     	Uart_Printf("FCLK:HCLK:PCLK = %d:%d:%d kHz\n", Fclk/1000, Hclk/1000, Pclk/1000);
000200  e59f0104          LDR      r0,|L1.780|
000204  e5901000          LDR      r1,[r0,#0]  ; Pclk
000208  e3a00ffa          MOV      r0,#0x3e8
00020c  ebfffffe          BL       __rt_udiv
000210  e1a04000          MOV      r4,r0
000214  e59f00f4          LDR      r0,|L1.784|
000218  e5901000          LDR      r1,[r0,#0]  ; Hclk
00021c  e3a00ffa          MOV      r0,#0x3e8
000220  ebfffffe          BL       __rt_udiv
000224  e1a05000          MOV      r5,r0
000228  e59f00e4          LDR      r0,|L1.788|
00022c  e5901000          LDR      r1,[r0,#0]  ; Fclk
000230  e3a00ffa          MOV      r0,#0x3e8
000234  ebfffffe          BL       __rt_udiv
000238  e1a06000          MOV      r6,r0
00023c  e1a03004          MOV      r3,r4
000240  e1a02005          MOV      r2,r5
000244  e1a01000          MOV      r1,r0
000248  e28f00c8          ADR      r0,|L1.792|
00024c  ebfffffe          BL       Uart_Printf
;;;92     
;;;93     	Uart_Printf("Refresh count :%d(Must be %d)\n", rREFRESH&0x7ff, Ref_Cnt);
000250  e3a00448          MOV      r0,#0x48000000

⌨️ 快捷键说明

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