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

📄 extdmam.txt

📁 s3c24a0固件测试代码 ? ? ? ? ?啊 
💻 TXT
📖 第 1 页 / 共 3 页
字号:
0002d4  e3a00000          MOV      r0,#0
0002d8  e51f11fc          LDR      r1,|L1.228|
0002dc  e5810004          STR      r0,[r1,#4]
;;;167    			rDIDST0=d_addr;
0002e0  e1c10000          BIC      r0,r1,r0
0002e4  e5805008          STR      r5,[r0,#8]
;;;168    			rDIDSTC0=(0<<1)|(0<<0);
0002e8  e3a00000          MOV      r0,#0
0002ec  e1c11000          BIC      r1,r1,r0
0002f0  e581000c          STR      r0,[r1,#0xc]
;;;169    			//rDCON0=((unsigned)1<<31)|(0<<30)|(1<<29)|(extDMAburst<<28)|(1<<27)|(0<<24)|(1<<23)|(0<<22)|(extDMAdsz<<20)|(extDMAtc); // Handshake Whole
;;;170    			//rDCON0=((unsigned)1<<31)|(0<<30)|(0<<29)|(extDMAburst<<28)|(0<<27)|(0<<24)|(1<<23)|(0<<22)|(extDMAdsz<<20)|(extDMAtc); // Handshake single, auto-reload
;;;171    			rDCON0=((unsigned)1<<31)|(0<<30)|(1<<29)|(extDMAburst<<28)|(0<<27)|(0<<24)|(1<<23)|(1<<22)|(extDMAdsz<<20)|(extDMAtc); // Handshake single, Whole, auto-reload
0002f4  e59f01e0          LDR      r0,|L1.1244|
0002f8  e5900000          LDR      r0,[r0,#0]  ; extDMAburst
0002fc  e1a00e00          MOV      r0,r0,LSL #28
000300  e59f11d0          LDR      r1,|L1.1240|
000304  e5911000          LDR      r1,[r1,#0]  ; extDMAdsz
000308  e1800a01          ORR      r0,r0,r1,LSL #20
00030c  e59f11cc          LDR      r1,|L1.1248|
000310  e5911000          LDR      r1,[r1,#0]  ; extDMAtc
000314  e1800001          ORR      r0,r0,r1
000318  e3800480          ORR      r0,r0,#0x80000000
00031c  e3800583          ORR      r0,r0,#0x20c00000
000320  e51f1244          LDR      r1,|L1.228|
000324  e5810010          STR      r0,[r1,#0x10]
;;;172    			//rDCON0=((unsigned)0<<31)|(1<<30)|(0<<29)|(extDMAburst<<28)|(0<<27)|(0<<24)|(1<<23)|(1<<22)|(extDMAdsz<<20)|(extDMAtc); // Demand single
;;;173    			rDMASKTRIG0=(0<<2)|(1<<1)|(0<<0);
000328  e3a00002          MOV      r0,#2
00032c  e1c11000          BIC      r1,r1,r0
000330  e5810020          STR      r0,[r1,#0x20]
;;;174    			break;			
000334  ea00001b          B        |L1.936|
;;;175    		case 1:
;;;176    			rDISRC1=s_addr;
                  |L1.824|
000338  e59f01f4          LDR      r0,|L1.1332|
00033c  e5807000          STR      r7,[r0,#0]
;;;177    			rDISRCC1=(0<<1)|(0<<0);
000340  e3a00000          MOV      r0,#0
000344  e59f11e8          LDR      r1,|L1.1332|
000348  e5810004          STR      r0,[r1,#4]
;;;178    			rDIDST1=d_addr;
00034c  e1c10000          BIC      r0,r1,r0
000350  e5805008          STR      r5,[r0,#8]
;;;179    			rDIDSTC1=(0<<1)|(0<<0);
000354  e3a00000          MOV      r0,#0
000358  e1c11000          BIC      r1,r1,r0
00035c  e581000c          STR      r0,[r1,#0xc]
;;;180    			rDCON1=((unsigned)1<<31)|(1<<30)|(1<<29)|(extDMAburst<<28)|(0<<27)|(0<<24)|(1<<23)|(1<<22)|(extDMAdsz<<20)|(extDMAtc);
000360  e59f0174          LDR      r0,|L1.1244|
000364  e5900000          LDR      r0,[r0,#0]  ; extDMAburst
000368  e1a00e00          MOV      r0,r0,LSL #28
00036c  e59f1164          LDR      r1,|L1.1240|
000370  e5911000          LDR      r1,[r1,#0]  ; extDMAdsz
000374  e1800a01          ORR      r0,r0,r1,LSL #20
000378  e59f1160          LDR      r1,|L1.1248|
00037c  e5911000          LDR      r1,[r1,#0]  ; extDMAtc
000380  e1800001          ORR      r0,r0,r1
000384  e38004c0          ORR      r0,r0,#0xc0000000
000388  e3800583          ORR      r0,r0,#0x20c00000
00038c  e59f11a0          LDR      r1,|L1.1332|
000390  e5810010          STR      r0,[r1,#0x10]
;;;181    			rDMASKTRIG1=(0<<2)|(1<<1)|(0<<0);
000394  e3a00002          MOV      r0,#2
000398  e1c11000          BIC      r1,r1,r0
00039c  e5810020          STR      r0,[r1,#0x20]
;;;182    			break;
0003a0  ea000000          B        |L1.936|
;;;183    		default:
;;;184    			break;
                  |L1.932|
0003a4  e1a00000          NOP      
;;;185    		}
;;;186    
;;;187    	//while(ExtdmaDone==0);
;;;188    	//while((rDSTAT0&0xfffff)!=0);
;;;189    	//rDMASKTRIG0|=(1<<2);
;;;190    
;;;191    	//Uart_Printf("DMA transfer done.\n");
;;;192    
;;;193    	//rINTMSK |= BIT_ALLMSK;
;;;194    	//rINTSUBMSK|=BIT_SUB_ALLMSK;
;;;195    /*
;;;196    	for(i=d_addr;i<d_addr+trscount;i+=4)
;;;197    	{
;;;198    		Uart_Printf("destination data = %x\n",*((U32 *)i));
;;;199    		if((s_addr+i-d_addr) == *((U32 *)i))
;;;200    			Uart_Printf("DMA test result ............O.K\n");
;;;201    		//memSum1+=*((U32 *)i);
;;;202    	}
;;;203    */
;;;204    
;;;205    /*    for(i=0;i<trscount;i++)
;;;206        {
;;;207    		if(*((U8 *)(i+d_addr))==*((U8 *)(i+s_addr))) Uart_Printf("ok\n");
;;;208    		Uart_Printf("destination data = %x\n",*((U8 *)(d_addr+i)));
;;;209       	}
;;;210    */
;;;211    
;;;212    	//Uart_Printf("memSum0=%x,memSum1=%x\n",memSum0,memSum1);
;;;213    	
;;;214    /*
;;;215    	if(memSum0==memSum1)
;;;216    		Uart_Printf("DMA test result ............O.K\n");
;;;217    	else
;;;218    		Uart_Printf("DMA test result : ERROR.\n");
;;;219    */
;;;220    	//rDMASKTRIG0|=(1<<2);
;;;221    
;;;222    
;;;223    	//while(1)
;;;224    	//{
;;;225    		while(ExtdmaDone==0);
                  |L1.936|
0003a8  e1a00000          NOP      
                  |L1.940|
0003ac  e51f0364          LDR      r0,|L1.80|
0003b0  e5900000          LDR      r0,[r0,#0]  ; ExtdmaDone
0003b4  e3500000          CMP      r0,#0
0003b8  0afffffb          BEQ      |L1.940|
;;;226    		//while(rDSTAT0&0x1fffff);
;;;227    		ExtdmaDone	=0;
0003bc  e3a00000          MOV      r0,#0
0003c0  e51f1378          LDR      r1,|L1.80|
0003c4  e5810000          STR      r0,[r1,#0]  ; ExtdmaDone
;;;228    		Uart_Printf("rDSTAT0=0x%x\n", rDSTAT0);
0003c8  e51f02ec          LDR      r0,|L1.228|
0003cc  e5900014          LDR      r0,[r0,#0x14]
0003d0  e1a01000          MOV      r1,r0
0003d4  e28f0f57          ADR      r0,|L1.1336|
0003d8  ebfffffe          BL       _printf
;;;229    		//rDMASKTRIG0|=(1<<2);
;;;230    		//while((rDMASKTRIG0&(1<<1) ));
;;;231    		Uart_Printf("rDSTAT0=0x%x\n", rDSTAT0);
0003dc  e51f0300          LDR      r0,|L1.228|
0003e0  e5900014          LDR      r0,[r0,#0x14]
0003e4  e1a01000          MOV      r1,r0
0003e8  e28f0f52          ADR      r0,|L1.1336|
0003ec  ebfffffe          BL       _printf
;;;232    		//rDMASKTRIG0|=(1<<2);
;;;233    
;;;234    
;;;235    
;;;236    
;;;237    
;;;238    	    for(i=0;i<32;i++)
0003f0  e3a04000          MOV      r4,#0
                  |L1.1012|
0003f4  e3540020          CMP      r4,#0x20
0003f8  2a00000a          BCS      |L1.1064|
0003fc  ea000001          B        |L1.1032|
                  |L1.1024|
000400  e2844001          ADD      r4,r4,#1
000404  eafffffa          B        |L1.1012|
;;;239        	{
;;;240    			if(*((U8 *)(i+d_addr))!=*((U8 *)(i+s_addr))) Uart_Printf("Error occured at 0x%x\n", i);
                  |L1.1032|
000408  e7d40005          LDRB     r0,[r4,r5]
00040c  e7d41007          LDRB     r1,[r4,r7]
000410  e1500001          CMP      r0,r1
000414  0a000002          BEQ      |L1.1060|
000418  e1a01004          MOV      r1,r4
00041c  e28f0f49          ADR      r0,|L1.1352|
000420  ebfffffe          BL       _printf
;;;241       		}
                  |L1.1060|
000424  eafffff5          B        |L1.1024|
;;;242    
;;;243    		
;;;244    /*	
;;;245        	for(i=0;i<trscount;i++)
;;;246        	{
;;;247    			*((U8 *)(i+d_addr)) = 0xff;
;;;248       		}
;;;249    */	
;;;250    		//rINTSUBMSK&=~(BIT_SUB_DMA0);
;;;251    		//rINTMSK &= ~(BIT_DMA);
;;;252    	//}
;;;253    		rDMASKTRIG0|=(1<<2);
                  |L1.1064|
000428  e51f034c          LDR      r0,|L1.228|
00042c  e5900020          LDR      r0,[r0,#0x20]
000430  e3800004          ORR      r0,r0,#4
000434  e51f1358          LDR      r1,|L1.228|
000438  e5810020          STR      r0,[r1,#0x20]
;;;254    		rDMASKTRIG0&=~(1<<1);
00043c  e1a00001          MOV      r0,r1
000440  e5900020          LDR      r0,[r0,#0x20]
000444  e3c00002          BIC      r0,r0,#2
000448  e5810020          STR      r0,[r1,#0x20]
;;;255    		Uart_Printf("rDSTAT0=0x%x\n", rDSTAT0);
00044c  e1a00001          MOV      r0,r1
000450  e5900014          LDR      r0,[r0,#0x14]
000454  e1a01000          MOV      r1,r0
000458  e28f00d8          ADR      r0,|L1.1336|
00045c  ebfffffe          BL       _printf
;;;256    
;;;257    
;;;258    		rDISRC0=0x0;
000460  e3a00000          MOV      r0,#0
000464  e51f1388          LDR      r1,|L1.228|
000468  e5810000          STR      r0,[r1,#0]
;;;259    		rDISRCC0=0x0;
00046c  e3a00000          MOV      r0,#0
000470  e1c11000          BIC      r1,r1,r0
000474  e5810004          STR      r0,[r1,#4]
;;;260    		rDIDST0=0x0;
000478  e3a00000          MOV      r0,#0
00047c  e1c11000          BIC      r1,r1,r0
000480  e5810008          STR      r0,[r1,#8]
;;;261    		rDIDSTC0=0x0;
000484  e3a00000          MOV      r0,#0
000488  e1c11000          BIC      r1,r1,r0
00048c  e581000c          STR      r0,[r1,#0xc]
;;;262    ////////////////////////////////////////////////////////////////		
;;;263    		rDCON0=0x0;
000490  e3a00000          MOV      r0,#0
000494  e1c11000          BIC      r1,r1,r0
000498  e5810010          STR      r0,[r1,#0x10]
;;;264    		rDSTAT0=0x0;
00049c  e3a00000          MOV      r0,#0
0004a0  e1c11000          BIC      r1,r1,r0
0004a4  e5810014          STR      r0,[r1,#0x14]
;;;265    ///////////////////////////////////////////////////////////////		
;;;266    		rDMASKTRIG0=0x0;
0004a8  e3a00000          MOV      r0,#0
0004ac  e1c11000          BIC      r1,r1,r0
0004b0  e5810020          STR      r0,[r1,#0x20]
;;;267    		rGPCON_U=0x0;
0004b4  e3a00000          MOV      r0,#0
0004b8  e2811644          ADD      r1,r1,#0x4400000
0004bc  e5810000          STR      r0,[r1,#0]
;;;268    		Uart_Printf("rDSTAT0=0x%x\n", rDSTAT0);
0004c0  e2410644          SUB      r0,r1,#0x4400000
0004c4  e5900014          LDR      r0,[r0,#0x14]
0004c8  e1a01000          MOV      r1,r0
0004cc  e28f0064          ADR      r0,|L1.1336|
0004d0  ebfffffe          BL       _printf
;;;269    			
;;;270    
;;;271    		
;;;272    
;;;273    }
0004d4  e8bd8ff8          LDMFD    sp!,{r3-r11,pc}
                  |L1.1240|
0004d8  00000004          DCD      ||.bss$2|| + 4
                  |L1.1244|
0004dc  00000000          DCD      ||.bss$2||
                  |L1.1248|
0004e0  00000008          DCD      ||.bss$2|| + 8
                  |L1.1252|
0004e4  253d6863          DCB      "ch=%"
0004e8  00000a78          DCB      "x\n\0\0"
                  |L1.1260|
0004ec  00000000          DCD      DmaX0Done
                  |L1.1264|
0004f0  13fff000          DCD      0x13fff000
                  |L1.1268|
0004f4  00000000          DCD      DmaX1Done
                  |L1.1272|
0004f8  25414d44          DCB      "DMA%"
0004fc  74732064          DCB      "d st"
000500  0a747261          DCB      "art\n"
000504  00000000          DCB      "\0\0\0\0"
                  |L1.1288|
000508  44747865          DCB      "extD"
00050c  7562414d          DCB      "MAbu"
000510  3a747372          DCB      "rst:"
000514  202c7825          DCB      "%x, "
000518  44747865          DCB      "extD"
00051c  7364414d          DCB      "MAds"
000520  78253a7a          DCB      "z:%x"
000524  7865202c          DCB      ", ex"
000528  414d4474          DCB      "tDMA"
00052c  253a6374          DCB      "tc:%"
000530  00000a78          DCB      "x\n\0\0"
                  |L1.1332|
000534  40500000          DCD      0x40500000
                  |L1.1336|
000538  54534472          DCB      "rDST"
00053c  3d305441          DCB      "AT0="
000540  78257830          DCB      "0x%x"
000544  0000000a          DCB      "\n\0\0\0"
                  |L1.1352|
000548  6f727245          DCB      "Erro"
00054c  636f2072          DCB      "r oc"
000550  65727563          DCB      "cure"
000554  74612064          DCB      "d at"
000558  25783020          DCB      " 0x%"
00055c  00000a78          DCB      "x\n\0\0"
                          ENDP

                  Test_extDMA PROC
;;;86     void Test_extDMA(void)
;;;87     {	
000560  e92d4008          STMFD    sp!,{r3,lr}
;;;88     //ch-0
;;;89     	//extM2M_test(0, _NONCACHE_STARTADDRESS, _NONCACHE_STARTADDRESS + 0x80000);
;;;90     	extM2M_test(0, 0x0, _NONCACHE_STARTADDRESS + 0x80000);
000564  e59f21e4          LDR      r2,|L1.1872|
000568  e3a01000          MOV      r1,#0
00056c  e3a00000          MOV      r0,#0
000570  ebfffffe          BL       extM2M_test
;;;91     //ch-1
;;;92     	//extM2M_test(1, _NONCACHE_STARTADDRESS, _NONCACHE_STARTADDRESS + 0x80000);
;;;93     }
000574  e8bd8008          LDMFD    sp!,{r3,pc}

⌨️ 快捷键说明

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