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

📄 usbout.txt

📁 支持三星原产的S3C24A0开发板
💻 TXT
📖 第 1 页 / 共 2 页
字号:
000250  e2411648          SUB      r1,r1,#0x4800000
000254  e5810018          STR      r0,[r1,#0x18]
;;;166        ClearPending(BIT_DMA);	    
000258  e3a00940          MOV      r0,#0x100000
00025c  e1c11000          BIC      r1,r1,r0
000260  e5810000          STR      r0,[r1,#0]
000264  e1c10000          BIC      r0,r1,r0
000268  e5900010          LDR      r0,[r0,#0x10]
00026c  e5810010          STR      r0,[r1,#0x10]
000270  e1a00001          MOV      r0,r1
000274  e5900010          LDR      r0,[r0,#0x10]
;;;167        
;;;168        totalDmaCount+=0x80000;
000278  e59f02a8          LDR      r0,|L1.1320|
00027c  e5900000          LDR      r0,[r0,#0]  ; totalDmaCount
000280  e2800a80          ADD      r0,r0,#0x80000
000284  e59f129c          LDR      r1,|L1.1320|
000288  e5810000          STR      r0,[r1,#0]  ; totalDmaCount
;;;169    
;;;170        if(totalDmaCount>=downloadFileSize)// is last?
00028c  e59f0294          LDR      r0,|L1.1320|
000290  e5900000          LDR      r0,[r0,#0]  ; totalDmaCount
000294  e51f10fc          LDR      r1,|L1.416|
000298  e5911000          LDR      r1,[r1,#0]  ; downloadFileSize
00029c  e1500001          CMP      r0,r1
0002a0  3a000013          BCC      |L1.756|
;;;171        {
;;;172        	totalDmaCount=downloadFileSize;
0002a4  e51f010c          LDR      r0,|L1.416|
0002a8  e5900000          LDR      r0,[r0,#0]  ; downloadFileSize
0002ac  e59f1274          LDR      r1,|L1.1320|
0002b0  e5810000          STR      r0,[r1,#0]  ; totalDmaCount
;;;173    	
;;;174        	ConfigEp3IntMode();	
0002b4  ebfffffe          BL       ConfigEp3IntMode
;;;175    
;;;176        	if(out_csr3& EPO_OUT_PKT_READY)
0002b8  e3150001          TST      r5,#1
0002bc  0a000002          BEQ      |L1.716|
;;;177        	{
;;;178       	    CLR_EP3_OUT_PKT_READY();
0002c0  e3c500b1          BIC      r0,r5,#0xb1
0002c4  e51f113c          LDR      r1,|L1.400|
0002c8  e5c10190          STRB     r0,[r1,#0x190]
;;;179    	}
;;;180            rINTMSK|=BIT_DMA;  
                  |L1.716|
0002cc  e59f0258          LDR      r0,|L1.1324|
0002d0  e5900008          LDR      r0,[r0,#8]
0002d4  e3800940          ORR      r0,r0,#0x100000
0002d8  e59f124c          LDR      r1,|L1.1324|
0002dc  e5810008          STR      r0,[r1,#8]
;;;181            rINTMSK&=~(BIT_USBD);  
0002e0  e1a00001          MOV      r0,r1
0002e4  e5900008          LDR      r0,[r0,#8]
0002e8  e3c00780          BIC      r0,r0,#0x2000000
0002ec  e5810008          STR      r0,[r1,#8]
0002f0  ea00007e          B        |L1.1264|
;;;182        }
;;;183        else
;;;184        {
;;;185        	if((totalDmaCount+0x80000)<downloadFileSize)	
                  |L1.756|
0002f4  e59f022c          LDR      r0,|L1.1320|
0002f8  e5900000          LDR      r0,[r0,#0]  ; totalDmaCount
0002fc  e2800a80          ADD      r0,r0,#0x80000
000300  e51f1168          LDR      r1,|L1.416|
000304  e5911000          LDR      r1,[r1,#0]  ; downloadFileSize
000308  e1500001          CMP      r0,r1
00030c  2a000061          BCS      |L1.1176|
;;;186        	{
;;;187    	    nextTotalDmaCount=totalDmaCount+0x80000;
000310  e59f0210          LDR      r0,|L1.1320|
000314  e5900000          LDR      r0,[r0,#0]  ; totalDmaCount
000318  e2804a80          ADD      r4,r0,#0x80000
;;;188        
;;;189        	    if((nextTotalDmaCount+0x80000)<downloadFileSize)
00031c  e2840a80          ADD      r0,r4,#0x80000
000320  e51f1188          LDR      r1,|L1.416|
000324  e5911000          LDR      r1,[r1,#0]  ; downloadFileSize
000328  e1500001          CMP      r0,r1
00032c  2a00002a          BCS      |L1.988|
;;;190        	    {
;;;191            	//for (2~n)th autoreload.	 
;;;192    		while((rDSTAT2&0xfffff)==0); //wait until autoreload occurs.
000330  e1a00000          NOP      
                  |L1.820|
000334  e59f01f4          LDR      r0,|L1.1328|
000338  e5900014          LDR      r0,[r0,#0x14]
00033c  e1a00600          MOV      r0,r0,LSL #12
000340  e1b00620          MOVS     r0,r0,LSR #12
000344  0afffffa          BEQ      |L1.820|
;;;193    		rDIDST2=((U32)downloadAddress_u+nextTotalDmaCount-8);  
000348  e51f01a4          LDR      r0,|L1.428|
00034c  e5900000          LDR      r0,[r0,#0]  ; downloadAddress_u
000350  e0800004          ADD      r0,r0,r4
000354  e2400008          SUB      r0,r0,#8
000358  e59f11d0          LDR      r1,|L1.1328|
00035c  e5810008          STR      r0,[r1,#8]
;;;194    		rDIDSTC2=(0<<1)|(0<<0);  
000360  e3a00000          MOV      r0,#0
000364  e1c11000          BIC      r1,r1,r0
000368  e581000c          STR      r0,[r1,#0xc]
;;;195        	    	rDCON2=rDCON2&~(0xfffff)|(0x80000); 
00036c  e1c10000          BIC      r0,r1,r0
000370  e5900010          LDR      r0,[r0,#0x10]
000374  e1a00a20          MOV      r0,r0,LSR #20
000378  e1a00a00          MOV      r0,r0,LSL #20
00037c  e3800a80          ORR      r0,r0,#0x80000
000380  e5810010          STR      r0,[r1,#0x10]
;;;196        	    	
;;;197        	    	while(rEP3_DMA_TTC<0xfffff)
000384  e1a00000          NOP      
                  |L1.904|
000388  e51f0200          LDR      r0,|L1.400|
00038c  e5d0024c          LDRB     r0,[r0,#0x24c]
000390  e51f1208          LDR      r1,|L1.400|
000394  e5d11250          LDRB     r1,[r1,#0x250]
000398  e0800401          ADD      r0,r0,r1,LSL #8
00039c  e51f1214          LDR      r1,|L1.400|
0003a0  e5d11254          LDRB     r1,[r1,#0x254]
0003a4  e0800801          ADD      r0,r0,r1,LSL #16
0003a8  e59f1184          LDR      r1,|L1.1332|
0003ac  e1500001          CMP      r0,r1
0003b0  2a00004e          BCS      |L1.1264|
;;;198        	    	{
;;;199        	    	    rEP3_DMA_TTC_L=0xff;
0003b4  e3a000ff          MOV      r0,#0xff
0003b8  e51f1230          LDR      r1,|L1.400|
0003bc  e5c1024c          STRB     r0,[r1,#0x24c]
;;;200        	    	    rEP3_DMA_TTC_M=0xff;
0003c0  e3a000ff          MOV      r0,#0xff
0003c4  e1c11000          BIC      r1,r1,r0
0003c8  e5c10250          STRB     r0,[r1,#0x250]
;;;201        	    	    rEP3_DMA_TTC_H=0xf;
0003cc  e3a0000f          MOV      r0,#0xf
0003d0  e1c11000          BIC      r1,r1,r0
0003d4  e5c10254          STRB     r0,[r1,#0x254]
;;;202        	    	    //0xfffff;
;;;203        	    	}
0003d8  eaffffea          B        |L1.904|
;;;204        	    }
;;;205     	    else
;;;206     	    {
;;;207    		while((rDSTAT2&0xfffff)==0); //wait until autoreload occurs.
                  |L1.988|
0003dc  e1a00000          NOP      
                  |L1.992|
0003e0  e59f0148          LDR      r0,|L1.1328|
0003e4  e5900014          LDR      r0,[r0,#0x14]
0003e8  e1a00600          MOV      r0,r0,LSL #12
0003ec  e1b00620          MOVS     r0,r0,LSR #12
0003f0  0afffffa          BEQ      |L1.992|
;;;208       	        rDIDST2=((U32)downloadAddress_u+nextTotalDmaCount-8);  
0003f4  e51f0250          LDR      r0,|L1.428|
0003f8  e5900000          LDR      r0,[r0,#0]  ; downloadAddress_u
0003fc  e0800004          ADD      r0,r0,r4
000400  e2400008          SUB      r0,r0,#8
000404  e59f1124          LDR      r1,|L1.1328|
000408  e5810008          STR      r0,[r1,#8]
;;;209          	        rDIDSTC2=(0<<1)|(0<<0);  
00040c  e3a00000          MOV      r0,#0
000410  e1c11000          BIC      r1,r1,r0
000414  e581000c          STR      r0,[r1,#0xc]
;;;210          	        rDCON2=rDCON2&~(0xfffff)|(downloadFileSize-nextTotalDmaCount); 		
000418  e1c10000          BIC      r0,r1,r0
00041c  e5900010          LDR      r0,[r0,#0x10]
000420  e1a00a20          MOV      r0,r0,LSR #20
000424  e1a00a00          MOV      r0,r0,LSL #20
000428  e51f1290          LDR      r1,|L1.416|
00042c  e5911000          LDR      r1,[r1,#0]  ; downloadFileSize
000430  e0411004          SUB      r1,r1,r4
000434  e1800001          ORR      r0,r0,r1
000438  e59f10f0          LDR      r1,|L1.1328|
00043c  e5810010          STR      r0,[r1,#0x10]
;;;211        	    	while(rEP3_DMA_TTC<0xfffff)
000440  e1a00000          NOP      
                  |L1.1092|
000444  e51f02bc          LDR      r0,|L1.400|
000448  e5d0024c          LDRB     r0,[r0,#0x24c]
00044c  e51f12c4          LDR      r1,|L1.400|
000450  e5d11250          LDRB     r1,[r1,#0x250]
000454  e0800401          ADD      r0,r0,r1,LSL #8
000458  e51f12d0          LDR      r1,|L1.400|
00045c  e5d11254          LDRB     r1,[r1,#0x254]
000460  e0800801          ADD      r0,r0,r1,LSL #16
000464  e59f10c8          LDR      r1,|L1.1332|
000468  e1500001          CMP      r0,r1
00046c  2a00001f          BCS      |L1.1264|
;;;212        	    	{
;;;213        	    	    rEP3_DMA_TTC_L=0xff;
000470  e3a000ff          MOV      r0,#0xff
000474  e51f12ec          LDR      r1,|L1.400|
000478  e5c1024c          STRB     r0,[r1,#0x24c]
;;;214        	    	    rEP3_DMA_TTC_M=0xff;
00047c  e3a000ff          MOV      r0,#0xff
000480  e1c11000          BIC      r1,r1,r0
000484  e5c10250          STRB     r0,[r1,#0x250]
;;;215        	    	    rEP3_DMA_TTC_H=0xf;
000488  e3a0000f          MOV      r0,#0xf
00048c  e1c11000          BIC      r1,r1,r0
000490  e5c10254          STRB     r0,[r1,#0x254]
;;;216        	    	    //0xfffff;
;;;217        	    	}
000494  eaffffea          B        |L1.1092|
;;;218    	    }
;;;219    	}
;;;220    	else
;;;221    	{
;;;222    	    while((rDSTAT2&0xfffff)==0); //wait until autoreload occurs.
                  |L1.1176|
000498  e1a00000          NOP      
                  |L1.1180|
00049c  e59f008c          LDR      r0,|L1.1328|
0004a0  e5900014          LDR      r0,[r0,#0x14]
0004a4  e1a00600          MOV      r0,r0,LSL #12
0004a8  e1b00620          MOVS     r0,r0,LSR #12
0004ac  0afffffa          BEQ      |L1.1180|
;;;223      	    rDIDST2=((U32)downloadAddress_u+downloadFileSize-8);  //for next autoreload.	    		
0004b0  e51f030c          LDR      r0,|L1.428|
0004b4  e5900000          LDR      r0,[r0,#0]  ; downloadAddress_u
0004b8  e51f1320          LDR      r1,|L1.416|
0004bc  e5911000          LDR      r1,[r1,#0]  ; downloadFileSize
0004c0  e0800001          ADD      r0,r0,r1
0004c4  e2400008          SUB      r0,r0,#8
0004c8  e59f1060          LDR      r1,|L1.1328|
0004cc  e5810008          STR      r0,[r1,#8]
;;;224      	    rDIDSTC2=(0<<1)|(0<<0);
0004d0  e3a00000          MOV      r0,#0
0004d4  e1c11000          BIC      r1,r1,r0
0004d8  e581000c          STR      r0,[r1,#0xc]
;;;225      	    rDCON2=rDCON2&~(0xfffff)|(0); 		
0004dc  e1c10000          BIC      r0,r1,r0
0004e0  e5900010          LDR      r0,[r0,#0x10]
0004e4  e1a00a20          MOV      r0,r0,LSR #20
0004e8  e1a00a00          MOV      r0,r0,LSL #20
0004ec  e5810010          STR      r0,[r1,#0x10]
;;;226    		//There is no 2nd autoreload. This will not be used.  	    
;;;227    	    	//rDMA_TX+=0x0; //USBD register		
;;;228    	}
;;;229        }
;;;230        rINDEX_REG=saveIndexReg;
                  |L1.1264|
0004f0  e51f0368          LDR      r0,|L1.400|
0004f4  e5c06178          STRB     r6,[r0,#0x178]
;;;231    }
0004f8  e28dd004          ADD      sp,sp,#4
0004fc  e8bd507f          LDMFD    sp!,{r0-r6,r12,lr}
000500  e25ef004          SUBS     pc,lr,#4
                          ENDP

                  ClearEp3OutPktReady PROC
;;;234    void ClearEp3OutPktReady(void)
;;;235    {
000504  e3a01003          MOV      r1,#3
;;;236        U8 out_csr3;
;;;237        rINDEX_REG=3;
000508  e51f2380          LDR      r2,|L1.400|
00050c  e5c21178          STRB     r1,[r2,#0x178]
;;;238        out_csr3=rOUT_CSR1_REG;
000510  e1c21001          BIC      r1,r2,r1
000514  e5d11190          LDRB     r1,[r1,#0x190]
000518  e1a00001          MOV      r0,r1
;;;239        CLR_EP3_OUT_PKT_READY();
00051c  e3c010b1          BIC      r1,r0,#0xb1
000520  e5c21190          STRB     r1,[r2,#0x190]
;;;240    }
000524  e12fff1e          BX       lr
                  |L1.1320|
000528  00000000          DCD      totalDmaCount
                  |L1.1324|
00052c  40200000          DCD      0x40200000
                  |L1.1328|
000530  40600000          DCD      0x40600000
                  |L1.1332|
000534  000fffff          DCD      0x000fffff
                          ENDP



                          AREA ||.bss||, NOINIT, ALIGN=0

                  ep3Buf
                  ||.bss$2||
                          % 64
                  tempBuf
                          % 65


        END

⌨️ 快捷键说明

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