📄 user_test1.txt
字号:
; 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 + -