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

📄 iis_dual.txt

📁 支持三星原产的S3C24A0开发板
💻 TXT
📖 第 1 页 / 共 5 页
字号:
;;;253        //Init DMA Ch 2
;;;254        rDISRC2 = (U32)(playBuf[indexPlayBuf++]);
;;;255        
;;;256        rDISRCC2 = (0<<1)|(0<<0); //Src=AHB,Increment
;;;257        rDIDST2 = (U32)IISFIFO;  // Tx FIFO address
;;;258        rDIDSTC2 = (1<<1)|(1<<0); //Dst=APB,Fixed;
;;;259        rDCON2 = (1<<31)|(0<<30)|(1<<29)|(0<<28)|(0<<27)|(1<<24)|(1<<23)|(1<<22)|(1<<20)|(AUDIO_BUF_SIZE);
;;;260            //handshake,Sync=APB,IntEn,unit,single,dst=I2SSDO,HwReqMode,NoAutoReload,Halfword,
;;;261        rDMASKTRIG2 = (1<<1); 	//DMA2En
;;;262     
;;;263    
;;;264        //IIS will start to work.
;;;265    }
                  |L1.720|
0002d0  e8bd8008          LDMFD    sp!,{r3,pc}
                  |L1.724|
0002d4  e28f00a4          ADR      r0,|L1.896|           ;248
0002d8  ebfffffe          BL       _printf               ;248
0002dc  e3a00000          MOV      r0,#0                 ;249
0002e0  e51f1038          LDR      r1,|L1.688|           ;249
0002e4  e5810000          STR      r0,[r1,#0]            ;249  ; stopPlay
0002e8  e3a00001          MOV      r0,#1                 ;250
0002ec  e59f1080          LDR      r1,|L1.884|           ;250
0002f0  e5810000          STR      r0,[r1,#0]            ;250  ; audioOutActive
0002f4  e3a00000          MOV      r0,#0                 ;251
0002f8  e59f1094          LDR      r1,|L1.916|           ;251
0002fc  e5810000          STR      r0,[r1,#0]            ;251  ; indexPlayBuf
000300  e59f008c          LDR      r0,|L1.916|           ;254
000304  e5900000          LDR      r0,[r0,#0]            ;254  ; indexPlayBuf
000308  e2801001          ADD      r1,r0,#1              ;254
00030c  e59f0080          LDR      r0,|L1.916|           ;254
000310  e5902000          LDR      r2,[r0,#0]            ;254  ; indexPlayBuf
000314  e5801000          STR      r1,[r0,#0]            ;254  ; indexPlayBuf
000318  e3a0007d          MOV      r0,#0x7d              ;254
00031c  e0010290          MUL      r1,r0,r2              ;254
000320  e51f00ac          LDR      r0,|L1.636|           ;254
000324  e5900000          LDR      r0,[r0,#0]            ;254  ; playBuf
000328  e0800201          ADD      r0,r0,r1,LSL #4       ;254
00032c  e59f1064          LDR      r1,|L1.920|           ;254
000330  e5810000          STR      r0,[r1,#0]            ;254
000334  e3a00000          MOV      r0,#0                 ;256
000338  e1c11000          BIC      r1,r1,r0              ;256
00033c  e5810004          STR      r0,[r1,#4]            ;256
000340  e59f0054          LDR      r0,|L1.924|           ;257
000344  e0011000          AND      r1,r1,r0              ;257
000348  e5810008          STR      r0,[r1,#8]            ;257
00034c  e3a00003          MOV      r0,#3                 ;258
000350  e1c11000          BIC      r1,r1,r0              ;258
000354  e581000c          STR      r0,[r1,#0xc]          ;258
000358  e59f0040          LDR      r0,|L1.928|           ;259
00035c  e00110c0          AND      r1,r1,r0,ASR #1       ;259
000360  e5810010          STR      r0,[r1,#0x10]         ;259
000364  e3a00002          MOV      r0,#2                 ;261
000368  e1c11000          BIC      r1,r1,r0              ;261
00036c  e5810020          STR      r0,[r1,#0x20]         ;261
000370  eaffffd6          B        |L1.720|
                  |L1.884|
000374  00000024          DCD      ||.bss$2|| + 36
                  |L1.888|
000378  412f4e5b          DCB      "[N/A"
00037c  0000005d          DCB      "]\0\0\0"
                  |L1.896|
000380  6475415b          DCB      "[Aud"
000384  754f6f69          DCB      "ioOu"
000388  74532074          DCB      "t St"
00038c  5d747261          DCB      "art]"
000390  0000000a          DCB      "\n\0\0\0"
                  |L1.916|
000394  00000014          DCD      ||.bss$2|| + 20
                  |L1.920|
000398  40600000          DCD      0x40600000
                  |L1.924|
00039c  44700010          DCD      0x44700010
                  |L1.928|
0003a0  a1d003e8          DCD      0xa1d003e8
                          ENDP

                  AudioInStop PROC
;;;382    void AudioInStop(void)
;;;383    {
0003a4  e92d4008          STMFD    sp!,{r3,lr}
;;;384        Uart_Printf("\n[AudioIn Stop]\n");    	
0003a8  e28f0010          ADR      r0,|L1.960|
0003ac  ebfffffe          BL       _printf
;;;385        stopRec=TRUE;
0003b0  e3a00001          MOV      r0,#1
0003b4  e59f1018          LDR      r1,|L1.980|
0003b8  e5810000          STR      r0,[r1,#0]  ; stopRec
;;;386    }
0003bc  e8bd8008          LDMFD    sp!,{r3,pc}
                  |L1.960|
0003c0  75415b0a          DCB      "\n[Au"
0003c4  496f6964          DCB      "dioI"
0003c8  7453206e          DCB      "n St"
0003cc  0a5d706f          DCB      "op]\n"
0003d0  00000000          DCB      "\0\0\0\0"
                  |L1.980|
0003d4  00000020          DCD      ||.bss$2|| + 32
                          ENDP

                  AudioInStart PROC
;;;347    void AudioInStart(void)
;;;348    {
0003d8  e92d4008          STMFD    sp!,{r3,lr}
;;;349        if(audioInActive!=FALSE)
0003dc  e51f0198          LDR      r0,|L1.588|
0003e0  e5900000          LDR      r0,[r0,#0]  ; audioInActive
0003e4  e3500000          CMP      r0,#0
0003e8  0a000002          BEQ      |L1.1016|
;;;350        {
;;;351        	Uart_Printf("[N/A]");
0003ec  e24f007c          ADR      r0,|L1.888|
0003f0  ebfffffe          BL       _printf
;;;352        	return;
;;;353        }
;;;354            	
;;;355        Uart_Printf("[AudioIn Start]\n");    
;;;356        stopRec=FALSE;
;;;357        audioInActive=TRUE;	
;;;358        indexRecBuf=0;    
;;;359        
;;;360        //Init DMA Ch 0
;;;361        rDISRC0 = (U32)IISFIFO;  // Rx FIFO address
;;;362        rDISRCC0 = (1<<1)|(1<<0); //Src=APB,Fixed;
;;;363        rDIDST0 = (U32)(recBuf[indexRecBuf++]);
;;;364        rDIDSTC0 = (0<<1)|(0<<0); //DSt=AHB,Increment
;;;365        rDCON0 = (1<<31)|(0<<30)|(1<<29)|(0<<28)|(0<<27)|(2<<24)|(1<<23)|(0<<22)|(1<<20)|(AUDIO_BUF_SIZE);
;;;366            //handshake,Sync=APB,IntEn,unit,single,dst=I2SSDI,HwReqMode,AutoReload,Halfword,
;;;367        rDMASKTRIG0 = (1<<1); //DMA1En
;;;368      
;;;369        rIISFCON|=(1<<12);  //RxFifoEn
;;;370        rIISCON|=(1<<4);    //RxDmaServiceRequestEn
;;;371        
;;;372        while((rDSTAT0&0xFFFFF) == 0);   
;;;373        
;;;374        rDIDST0 = (U32)(recBuf[indexRecBuf++]);
;;;375        
;;;376        //IIS will start to work.
;;;377    }
                  |L1.1012|
0003f4  e8bd8008          LDMFD    sp!,{r3,pc}
                  |L1.1016|
0003f8  e28f0f42          ADR      r0,|L1.1288|          ;355
0003fc  ebfffffe          BL       _printf               ;355
000400  e3a00000          MOV      r0,#0                 ;356
000404  e51f1038          LDR      r1,|L1.980|           ;356
000408  e5810000          STR      r0,[r1,#0]            ;356  ; stopRec
00040c  e3a00001          MOV      r0,#1                 ;357
000410  e51f11cc          LDR      r1,|L1.588|           ;357
000414  e5810000          STR      r0,[r1,#0]            ;357  ; audioInActive
000418  e3a00000          MOV      r0,#0                 ;358
00041c  e59f10f8          LDR      r1,|L1.1308|          ;358
000420  e5810000          STR      r0,[r1,#0]            ;358  ; indexRecBuf
000424  e51f0090          LDR      r0,|L1.924|           ;361
000428  e59f10f0          LDR      r1,|L1.1312|          ;361
00042c  e5810000          STR      r0,[r1,#0]            ;361
000430  e3a00003          MOV      r0,#3                 ;362
000434  e1c11000          BIC      r1,r1,r0              ;362
000438  e5810004          STR      r0,[r1,#4]            ;362
00043c  e59f00d8          LDR      r0,|L1.1308|          ;363
000440  e5900000          LDR      r0,[r0,#0]            ;363  ; indexRecBuf
000444  e2801001          ADD      r1,r0,#1              ;363
000448  e59f00cc          LDR      r0,|L1.1308|          ;363
00044c  e5902000          LDR      r2,[r0,#0]            ;363  ; indexRecBuf
000450  e5801000          STR      r1,[r0,#0]            ;363  ; indexRecBuf
000454  e3a0007d          MOV      r0,#0x7d              ;363
000458  e0010290          MUL      r1,r0,r2              ;363
00045c  e51f01ec          LDR      r0,|L1.632|           ;363
000460  e5900000          LDR      r0,[r0,#0]            ;363  ; recBuf
000464  e0800201          ADD      r0,r0,r1,LSL #4       ;363
000468  e59f10b0          LDR      r1,|L1.1312|          ;363
00046c  e5810008          STR      r0,[r1,#8]            ;363
000470  e3a00000          MOV      r0,#0                 ;364
000474  e1c11000          BIC      r1,r1,r0              ;364
000478  e581000c          STR      r0,[r1,#0xc]          ;364
00047c  e59f00a0          LDR      r0,|L1.1316|          ;365
000480  e1c11000          BIC      r1,r1,r0              ;365
000484  e5810010          STR      r0,[r1,#0x10]         ;365
000488  e3a00002          MOV      r0,#2                 ;367
00048c  e1c11000          BIC      r1,r1,r0              ;367
000490  e5810020          STR      r0,[r1,#0x20]         ;367
000494  e2810643          ADD      r0,r1,#0x4300000      ;369
000498  e590000c          LDR      r0,[r0,#0xc]          ;369
00049c  e3800d40          ORR      r0,r0,#0x1000         ;369
0004a0  e2811643          ADD      r1,r1,#0x4300000      ;369
0004a4  e581000c          STR      r0,[r1,#0xc]          ;369
0004a8  e1a00001          MOV      r0,r1                 ;370
0004ac  e5900000          LDR      r0,[r0,#0]            ;370
0004b0  e3800010          ORR      r0,r0,#0x10           ;370
0004b4  e5810000          STR      r0,[r1,#0]            ;370
0004b8  e1a00000          NOP                            ;372
                  |L1.1212|
0004bc  e59f005c          LDR      r0,|L1.1312|          ;372
0004c0  e5900014          LDR      r0,[r0,#0x14]         ;372
0004c4  e1a00600          MOV      r0,r0,LSL #12         ;372
0004c8  e1b00620          MOVS     r0,r0,LSR #12         ;372
0004cc  0afffffa          BEQ      |L1.1212|             ;372
0004d0  e59f0044          LDR      r0,|L1.1308|          ;374
0004d4  e5900000          LDR      r0,[r0,#0]            ;374  ; indexRecBuf
0004d8  e2801001          ADD      r1,r0,#1              ;374
0004dc  e59f0038          LDR      r0,|L1.1308|          ;374
0004e0  e5902000          LDR      r2,[r0,#0]            ;374  ; indexRecBuf
0004e4  e5801000          STR      r1,[r0,#0]            ;374  ; indexRecBuf
0004e8  e3a0007d          MOV      r0,#0x7d              ;374
0004ec  e0010290          MUL      r1,r0,r2              ;374
0004f0  e51f0280          LDR      r0,|L1.632|           ;374
0004f4  e5900000          LDR      r0,[r0,#0]            ;374  ; recBuf
0004f8  e0800201          ADD      r0,r0,r1,LSL #4       ;374
0004fc  e59f101c          LDR      r1,|L1.1312|          ;374
000500  e5810008          STR      r0,[r1,#8]            ;374
000504  eaffffba          B        |L1.1012|
                  |L1.1288|
000508  6475415b          DCB      "[Aud"
00050c  6e496f69          DCB      "ioIn"
000510  61745320          DCB      " Sta"
000514  0a5d7472          DCB      "rt]\n"
000518  00000000          DCB      "\0\0\0\0"
                  |L1.1308|
00051c  00000018          DCD      ||.bss$2|| + 24
                  |L1.1312|
000520  40400000          DCD      0x40400000
                  |L1.1316|
000524  a29003e8          DCD      0xa29003e8
                          ENDP

                  AudioOutRandom PROC
;;;277    void AudioOutRandom(void)
;;;278    {
000528  e92d4008          STMFD    sp!,{r3,lr}
;;;279        static state=0;
;;;280        if( (rand()/(RAND_MAX/2000000)) < 1 )
00052c  ebfffffe          BL       rand
000530  e250ce40          SUBS     r12,r0,#0x400
000534  a25cc031          SUBGES   r12,r12,#0x31
000538  aa00001a          BGE      |L1.1448|
;;;281        {
;;;282       	switch(state++)
00053c  e59f00f8          LDR      r0,|L1.1596|
000540  e5900000          LDR      r0,[r0,#0]  ; state@AudioOutRandom_0
000544  e2801001          ADD      r1,r0,#1
000548  e59f20ec          LDR      r2,|L1.1596|
00054c  e3500000          CMP      r0,#0
000550  e5821000          STR      r1,[r2,#0]  ; state@AudioOutRandom_0
000554  0a000004          BEQ      |L1.1388|
000558  e3500001          CMP      r0,#1
00055c  0a000007          BEQ      |L1.1408|
000560  e3500002          CMP      r0,#2
000564  1a00000e          BNE      |L1.1444|
000568  ea000008          B        |L1.1424|
;;;283       	{
;;;284       	case 0:
;;;285       	    AudioOutStart();
                  |L1.1388|
00056c  ebfffffe          BL       AudioOutStart
;;;286       	    state=1;
000570  e3a00001          MOV      r0,#1
000574  e59f10c0          LDR      r1,|L1.1596|
000578  e5810000          STR      r0,[r1,#0]  ; state@AudioOutRandom_0
;;;287       	    break;
00057c  ea000009          B        |L1.1448|
;;;288       	case 1:
;;;289       	    state=2;
                  |L1.1408|
000580  e3a00002          MOV      r0,#2
000584  e59f10b0          LDR      r1,|L1.1596|
000588  e5810000          STR      r0,[r1,#0]  ; state@AudioOutRandom_0
;;;290       	    break;
00058c  ea000005          B        |L1.1448|
;;;291       	case 2:
;;;292       	    AudioOutStop();
                  |L1.1424|
000590  ebfffffe          BL       AudioOutStop
;;;293       	    state=0;
000594  e3a00000          MOV      r0,#0
000598  e59f109c          LDR      r1,|L1.1596|
00059c  e5810000          STR      r0,[r1,#0]  ; state@AudioOutRandom_0
;;;294       	    break;
0005a0  ea000000          B        |L1.1448|
;;;295       	default:
;;;296    	    break;
                  |L1.1444|
0005a4  e1a00000          NOP      
;;;297    	}
;;;298        } 
;;;299    }
                  |L1.1448|
0005a8  e8bd8008          LDMFD    sp!,{r3,pc}
                          ENDP

                  IsrAudioMute PROC
;;;449    void __irq IsrAudioMute(void)
;;;450    {
0005ac  e92d500f          STMFD    sp!,{r0-r3,r12,lr}

⌨️ 快捷键说明

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