📄 nwait.txt
字号:
; generated by ARM C Compiler, ADS1.2 [Build 805]
; commandline [-errors .\err\nwait.err -O0 -asm -g+ -cpu ARM920T -fs "-IC:\Program Files\ARM\ADSv1_2\INCLUDE"]
CODE32
AREA ||.text||, CODE, READONLY
WaitRd8 PROC
;;;79 void WaitRd8(void)
;;;80 {
000000 e92d4038 STMFD sp!,{r3-r5,lr}
;;;81 U8 readVal;
;;;82 int i;
;;;83
;;;84 Uart_Printf("[nGCS4,8-bit,read,nWAIT Test].\n");
000004 e28f0090 ADR r0,|L1.156|
000008 ebfffffe BL Uart_Printf
;;;85 rBWSCON=rBWSCON & ~(0xf<<16)|(BUS8<<16)|(ENWAIT<<18); //nGCS4
00000c e3a00448 MOV r0,#0x48000000
000010 e5900000 LDR r0,[r0,#0]
000014 e3c00af0 BIC r0,r0,#0xf0000
000018 e3800a40 ORR r0,r0,#0x40000
00001c e3a01448 MOV r1,#0x48000000
000020 e5810000 STR r0,[r1,#0]
;;;86 rBANKCON4=((B4_Tacs<<13)+(B4_Tcos<<11)+(B4_Tacc<<8)+(B4_Tcoh<<6)+(B4_Tah<<4)+(B4_Tacp<<2)+(B4_PMC));
000024 e3a00f80 MOV r0,#0x200
000028 e3a01448 MOV r1,#0x48000000
00002c e5810014 STR r0,[r1,#0x14]
;;;87
;;;88 Uart_Printf("rBWSCON:%x\n", rBWSCON);
000030 e3a00448 MOV r0,#0x48000000
000034 e5900000 LDR r0,[r0,#0]
000038 e1a01000 MOV r1,r0
00003c e28f0078 ADR r0,|L1.188|
000040 ebfffffe BL Uart_Printf
;;;89 Uart_Printf("rBANKCON4:%x\n", rBANKCON4);
000044 e3a00448 MOV r0,#0x48000000
000048 e5900014 LDR r0,[r0,#0x14]
00004c e1a01000 MOV r1,r0
000050 e28f0070 ADR r0,|L1.200|
000054 ebfffffe BL Uart_Printf
;;;90
;;;91 for(i=0;i<2;i++); //wait until the bank configuration is in effect.
000058 e3a04000 MOV r4,#0
|L1.92|
00005c e3540002 CMP r4,#2
000060 aa000001 BGE |L1.108|
000064 e2844001 ADD r4,r4,#1
000068 eafffffb B |L1.92|
;;;92
;;;93 Uart_Printf("Press any key to stop...\n");
|L1.108|
00006c e28f0064 ADR r0,|L1.216|
000070 ebfffffe BL Uart_Printf
;;;94 while(1) {
000074 e1a00000 NOP
|L1.120|
000078 e1a00000 NOP
;;;95 readVal=(*(volatile U8 *)CS_nGCS4);
00007c e3a00580 MOV r0,#0x20000000
000080 e5d05000 LDRB r5,[r0,#0]
;;;96 if(Uart_GetKey()!=0) break;
000084 ebfffffe BL Uart_GetKey
000088 e3500000 CMP r0,#0
00008c 0a000000 BEQ |L1.148|
000090 ea000000 B |L1.152|
;;;97 }
|L1.148|
000094 eafffff7 B |L1.120|
;;;98 //readVal&=0xf;//data[3:0]
;;;99 //Uart_Printf("read_data=%x.\n",readVal);
;;;100 }
|L1.152|
000098 e8bd8038 LDMFD sp!,{r3-r5,pc}
|L1.156|
00009c 43476e5b DCB "[nGC"
0000a0 382c3453 DCB "S4,8"
0000a4 7469622d DCB "-bit"
0000a8 6165722c DCB ",rea"
0000ac 576e2c64 DCB "d,nW"
0000b0 20544941 DCB "AIT "
0000b4 74736554 DCB "Test"
0000b8 000a2e5d DCB "].\n\0"
|L1.188|
0000bc 53574272 DCB "rBWS"
0000c0 3a4e4f43 DCB "CON:"
0000c4 000a7825 DCB "%x\n\0"
|L1.200|
0000c8 4e414272 DCB "rBAN"
0000cc 4e4f434b DCB "KCON"
0000d0 78253a34 DCB "4:%x"
0000d4 0000000a DCB "\n\0\0\0"
|L1.216|
0000d8 73657250 DCB "Pres"
0000dc 6e612073 DCB "s an"
0000e0 656b2079 DCB "y ke"
0000e4 6f742079 DCB "y to"
0000e8 6f747320 DCB " sto"
0000ec 2e2e2e70 DCB "p..."
0000f0 0000000a DCB "\n\0\0\0"
ENDP
WaitWr8 PROC
;;;103 void WaitWr8(void)
;;;104 {
0000f4 e92d4010 STMFD sp!,{r4,lr}
;;;105 int i;
;;;106
;;;107 Uart_Printf("[nGCS4,8-bit,write,nWAIT Test].\n");
0000f8 e28f0094 ADR r0,|L1.404|
0000fc ebfffffe BL Uart_Printf
;;;108
;;;109 rBWSCON=rBWSCON & ~(0xf<<16)|(BUS8<<16)|(ENWAIT<<18); //nGCS4
000100 e3a00448 MOV r0,#0x48000000
000104 e5900000 LDR r0,[r0,#0]
000108 e3c00af0 BIC r0,r0,#0xf0000
00010c e3800a40 ORR r0,r0,#0x40000
000110 e3a01448 MOV r1,#0x48000000
000114 e5810000 STR r0,[r1,#0]
;;;110 rBANKCON4=((B4_Tacs<<13)+(B4_Tcos<<11)+(B4_Tacc<<8)+(B4_Tcoh<<6)+(B4_Tah<<4)+(B4_Tacp<<2)+(B4_PMC));
000118 e3a00f80 MOV r0,#0x200
00011c e3a01448 MOV r1,#0x48000000
000120 e5810014 STR r0,[r1,#0x14]
;;;111
;;;112 Uart_Printf("rBWSCON:%x\n", rBWSCON);
000124 e3a00448 MOV r0,#0x48000000
000128 e5900000 LDR r0,[r0,#0]
00012c e1a01000 MOV r1,r0
000130 e24f007c ADR r0,|L1.188|
000134 ebfffffe BL Uart_Printf
;;;113 Uart_Printf("rBANKCON4:%x\n", rBANKCON4);
000138 e3a00448 MOV r0,#0x48000000
00013c e5900014 LDR r0,[r0,#0x14]
000140 e1a01000 MOV r1,r0
000144 e24f0084 ADR r0,|L1.200|
000148 ebfffffe BL Uart_Printf
;;;114
;;;115 for(i=0;i<2;i++); //wait until the bank configuration is in effect.
00014c e3a04000 MOV r4,#0
|L1.336|
000150 e3540002 CMP r4,#2
000154 aa000001 BGE |L1.352|
000158 e2844001 ADD r4,r4,#1
00015c eafffffb B |L1.336|
;;;116
;;;117 Uart_Printf("Press any key to stop...\n");
|L1.352|
000160 e24f0090 ADR r0,|L1.216|
000164 ebfffffe BL Uart_Printf
;;;118 while(1) {
000168 e1a00000 NOP
|L1.364|
00016c e1a00000 NOP
;;;119 *((volatile U8 *)CS_nGCS4)=0;
000170 e3a00000 MOV r0,#0
000174 e3a01580 MOV r1,#0x20000000
000178 e5c10000 STRB r0,[r1,#0]
;;;120 if(Uart_GetKey()!=0) break;
00017c ebfffffe BL Uart_GetKey
000180 e3500000 CMP r0,#0
000184 0a000000 BEQ |L1.396|
000188 ea000000 B |L1.400|
;;;121 }
|L1.396|
00018c eafffff6 B |L1.364|
;;;122 }
|L1.400|
000190 e8bd8010 LDMFD sp!,{r4,pc}
|L1.404|
000194 43476e5b DCB "[nGC"
000198 382c3453 DCB "S4,8"
00019c 7469622d DCB "-bit"
0001a0 6972772c DCB ",wri"
0001a4 6e2c6574 DCB "te,n"
0001a8 54494157 DCB "WAIT"
0001ac 73655420 DCB " Tes"
0001b0 0a2e5d74 DCB "t].\n"
0001b4 00000000 DCB "\0\0\0\0"
ENDP
WaitRd16 PROC
;;;126 void WaitRd16(void)
;;;127 {
0001b8 e92d4038 STMFD sp!,{r3-r5,lr}
;;;128 U16 readVal;
;;;129 int i;
;;;130
;;;131 Uart_Printf("[nGCS4,16-bit,read,nWAIT Test].\n");
0001bc e28f0090 ADR r0,|L1.596|
0001c0 ebfffffe BL Uart_Printf
;;;132
;;;133 rBWSCON=rBWSCON & ~(0xf<<16)|(BUS16<<16)|(ENWAIT<<18); //nGCS4
0001c4 e3a00448 MOV r0,#0x48000000
0001c8 e5900000 LDR r0,[r0,#0]
0001cc e3c00af0 BIC r0,r0,#0xf0000
0001d0 e3800a50 ORR r0,r0,#0x50000
0001d4 e3a01448 MOV r1,#0x48000000
0001d8 e5810000 STR r0,[r1,#0]
;;;134 rBANKCON4=((B4_Tacs<<13)+(B4_Tcos<<11)+(B4_Tacc<<8)+(B4_Tcoh<<6)+(B4_Tah<<4)+(B4_Tacp<<2)+(B4_PMC));
0001dc e3a00f80 MOV r0,#0x200
0001e0 e3a01448 MOV r1,#0x48000000
0001e4 e5810014 STR r0,[r1,#0x14]
;;;135
;;;136 Uart_Printf("rBWSCON:%x\n", rBWSCON);
0001e8 e3a00448 MOV r0,#0x48000000
0001ec e5900000 LDR r0,[r0,#0]
0001f0 e1a01000 MOV r1,r0
0001f4 e24f0f50 ADR r0,|L1.188|
0001f8 ebfffffe BL Uart_Printf
;;;137 Uart_Printf("rBANKCON4:%x\n", rBANKCON4);
0001fc e3a00448 MOV r0,#0x48000000
000200 e5900014 LDR r0,[r0,#0x14]
000204 e1a01000 MOV r1,r0
000208 e24f0f52 ADR r0,|L1.200|
00020c ebfffffe BL Uart_Printf
;;;138
;;;139 for(i=0;i<2;i++); //wait until the bank configuration is in effect.
000210 e3a04000 MOV r4,#0
|L1.532|
000214 e3540002 CMP r4,#2
000218 aa000001 BGE |L1.548|
00021c e2844001 ADD r4,r4,#1
000220 eafffffb B |L1.532|
;;;140
;;;141 Uart_Printf("Press any key to stop...\n");
|L1.548|
000224 e24f0f55 ADR r0,|L1.216|
000228 ebfffffe BL Uart_Printf
;;;142 while(1) {
00022c e1a00000 NOP
|L1.560|
000230 e1a00000 NOP
;;;143 readVal=(*(volatile U16 *)CS_nGCS4);
000234 e3a00580 MOV r0,#0x20000000
000238 e1d050b0 LDRH r5,[r0,#0]
;;;144 if(Uart_GetKey()!=0) break;
00023c ebfffffe BL Uart_GetKey
000240 e3500000 CMP r0,#0
000244 0a000000 BEQ |L1.588|
000248 ea000000 B |L1.592|
;;;145 }
|L1.588|
00024c eafffff7 B |L1.560|
;;;146 //readVal&=0xf;//data[3:0]
;;;147 //Uart_Printf("read_data=%x\n",readVal);
;;;148 }
|L1.592|
000250 e8bd8038 LDMFD sp!,{r3-r5,pc}
|L1.596|
000254 43476e5b DCB "[nGC"
000258 312c3453 DCB "S4,1"
00025c 69622d36 DCB "6-bi"
000260 65722c74 DCB "t,re"
000264 6e2c6461 DCB "ad,n"
000268 54494157 DCB "WAIT"
00026c 73655420 DCB " Tes"
000270 0a2e5d74 DCB "t].\n"
000274 00000000 DCB "\0\0\0\0"
ENDP
WaitWr16 PROC
;;;151 void WaitWr16(void)
;;;152 {
000278 e92d4010 STMFD sp!,{r4,lr}
;;;153 int i;
;;;154
;;;155 Uart_Printf("[nGCS4,16-bit,write,nWAIT Test].\n");
00027c e28f0094 ADR r0,|L1.792|
000280 ebfffffe BL Uart_Printf
;;;156
;;;157 rBWSCON=rBWSCON & ~(0xf<<16)|(BUS16<<16)|(ENWAIT<<18); //nGCS4
000284 e3a00448 MOV r0,#0x48000000
000288 e5900000 LDR r0,[r0,#0]
00028c e3c00af0 BIC r0,r0,#0xf0000
000290 e3800a50 ORR r0,r0,#0x50000
000294 e3a01448 MOV r1,#0x48000000
000298 e5810000 STR r0,[r1,#0]
;;;158 rBANKCON4=((B4_Tacs<<13)+(B4_Tcos<<11)+(B4_Tacc<<8)+(B4_Tcoh<<6)+(B4_Tah<<4)+(B4_Tacp<<2)+(B4_PMC));
00029c e3a00f80 MOV r0,#0x200
0002a0 e3a01448 MOV r1,#0x48000000
0002a4 e5810014 STR r0,[r1,#0x14]
;;;159
;;;160 Uart_Printf("rBWSCON:%x\n", rBWSCON);
0002a8 e3a00448 MOV r0,#0x48000000
0002ac e5900000 LDR r0,[r0,#0]
0002b0 e1a01000 MOV r1,r0
0002b4 e24f0f80 ADR r0,|L1.188|
0002b8 ebfffffe BL Uart_Printf
;;;161 Uart_Printf("rBANKCON4:%x\n", rBANKCON4);
0002bc e3a00448 MOV r0,#0x48000000
0002c0 e5900014 LDR r0,[r0,#0x14]
0002c4 e1a01000 MOV r1,r0
0002c8 e24f0f82 ADR r0,|L1.200|
0002cc ebfffffe BL Uart_Printf
;;;162
;;;163 for(i=0;i<2;i++); //wait until the bank configuration is in effect.
0002d0 e3a04000 MOV r4,#0
|L1.724|
0002d4 e3540002 CMP r4,#2
0002d8 aa000001 BGE |L1.740|
0002dc e2844001 ADD r4,r4,#1
0002e0 eafffffb B |L1.724|
;;;164
;;;165 Uart_Printf("Press any key to stop...\n");
|L1.740|
0002e4 e24f0f85 ADR r0,|L1.216|
0002e8 ebfffffe BL Uart_Printf
;;;166 while(1)
0002ec e1a00000 NOP
|L1.752|
0002f0 e1a00000 NOP
;;;167 {
;;;168 *((volatile U16 *)CS_nGCS4)=0;
0002f4 e3a00000 MOV r0,#0
0002f8 e3a01580 MOV r1,#0x20000000
0002fc e1c100b0 STRH r0,[r1,#0]
;;;169 if(Uart_GetKey()!=0)
000300 ebfffffe BL Uart_GetKey
000304 e3500000 CMP r0,#0
000308 0a000000 BEQ |L1.784|
;;;170 break;
00030c ea000000 B |L1.788|
;;;171 }
|L1.784|
000310 eafffff6 B |L1.752|
;;;172 }
|L1.788|
000314 e8bd8010 LDMFD sp!,{r4,pc}
|L1.792|
000318 43476e5b DCB "[nGC"
00031c 312c3453 DCB "S4,1"
000320 69622d36 DCB "6-bi"
000324 72772c74 DCB "t,wr"
000328 2c657469 DCB "ite,"
00032c 4941576e DCB "nWAI"
000330 65542054 DCB "T Te"
000334 2e5d7473 DCB "st]."
000338 0000000a DCB "\n\0\0\0"
ENDP
WaitRd32 PROC
;;;174 void WaitRd32(void)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -