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

📄 iis_dual.txt

📁 SMDK2442所有设备的驱动测试程序。运行monitor程序
💻 TXT
📖 第 1 页 / 共 5 页
字号:
;;;252        //Init DMA Ch 2
;;;253        rDISRC2 = (U32)(playBuf[indexPlayBuf++]);
;;;254        
;;;255        rDISRCC2 = (0<<1)|(0<<0); //Src=AHB,Increment
;;;256        rDIDST2 = (U32)IISFIFO;  // Tx FIFO address
;;;257        rDIDSTC2 = (1<<1)|(1<<0); //Dst=APB,Fixed;
;;;258        rDCON2 = (1<<31)|(0<<30)|(1<<29)|(0<<28)|(0<<27)|(0<<24)|(1<<23)|(1<<22)|(1<<20)|(AUDIO_BUF_SIZE);
;;;259            //handshake,Sync=APB,IntEn,unit,single,dst=I2SSDO,HwReqMode,NoAutoReload,Halfword,
;;;260        rDMASKTRIG2 = (1<<1); 	//DMA2En
;;;261     
;;;262    
;;;263        //IIS will start to work.
;;;264    }
                  |L1.716|
0002cc  e8bd8008          LDMFD    sp!,{r3,pc}
                  |L1.720|
0002d0  e28f00a4          ADR      r0,|L1.892|           ;247
0002d4  ebfffffe          BL       Uart_Printf           ;247
0002d8  e3a00000          MOV      r0,#0                 ;248
0002dc  e51f1038          LDR      r1,|L1.684|           ;248
0002e0  e5810000          STR      r0,[r1,#0]            ;248  ; stopPlay
0002e4  e3a00001          MOV      r0,#1                 ;249
0002e8  e59f1080          LDR      r1,|L1.880|           ;249
0002ec  e5810000          STR      r0,[r1,#0]            ;249  ; audioOutActive
0002f0  e3a00000          MOV      r0,#0                 ;250
0002f4  e59f1094          LDR      r1,|L1.912|           ;250
0002f8  e5810000          STR      r0,[r1,#0]            ;250  ; indexPlayBuf
0002fc  e59f008c          LDR      r0,|L1.912|           ;253
000300  e5900000          LDR      r0,[r0,#0]            ;253  ; indexPlayBuf
000304  e2801001          ADD      r1,r0,#1              ;253
000308  e59f0080          LDR      r0,|L1.912|           ;253
00030c  e5902000          LDR      r2,[r0,#0]            ;253  ; indexPlayBuf
000310  e5801000          STR      r1,[r0,#0]            ;253  ; indexPlayBuf
000314  e3a0007d          MOV      r0,#0x7d              ;253
000318  e0010290          MUL      r1,r0,r2              ;253
00031c  e51f00ac          LDR      r0,|L1.632|           ;253
000320  e5900000          LDR      r0,[r0,#0]            ;253  ; playBuf
000324  e0800201          ADD      r0,r0,r1,LSL #4       ;253
000328  e3a0144b          MOV      r1,#0x4b000000        ;253
00032c  e5810080          STR      r0,[r1,#0x80]         ;253
000330  e3a00000          MOV      r0,#0                 ;255
000334  e3a0144b          MOV      r1,#0x4b000000        ;255
000338  e5810084          STR      r0,[r1,#0x84]         ;255
00033c  e59f0050          LDR      r0,|L1.916|           ;256
000340  e3a0144b          MOV      r1,#0x4b000000        ;256
000344  e5810088          STR      r0,[r1,#0x88]         ;256
000348  e3a00003          MOV      r0,#3                 ;257
00034c  e3a0144b          MOV      r1,#0x4b000000        ;257
000350  e581008c          STR      r0,[r1,#0x8c]         ;257
000354  e59f003c          LDR      r0,|L1.920|           ;258
000358  e3a0144b          MOV      r1,#0x4b000000        ;258
00035c  e5810090          STR      r0,[r1,#0x90]         ;258
000360  e3a00002          MOV      r0,#2                 ;260
000364  e3a0144b          MOV      r1,#0x4b000000        ;260
000368  e58100a0          STR      r0,[r1,#0xa0]         ;260
00036c  eaffffd6          B        |L1.716|
                  |L1.880|
000370  00000028          DCD      ||.bss$2|| + 40
                  |L1.884|
000374  412f4e5b          DCB      "[N/A"
000378  0000005d          DCB      "]\0\0\0"
                  |L1.892|
00037c  6475415b          DCB      "[Aud"
000380  754f6f69          DCB      "ioOu"
000384  74532074          DCB      "t St"
000388  5d747261          DCB      "art]"
00038c  0000000a          DCB      "\n\0\0\0"
                  |L1.912|
000390  00000018          DCD      ||.bss$2|| + 24
                  |L1.916|
000394  55000010          DCD      0x55000010
                  |L1.920|
000398  a0d003e8          DCD      0xa0d003e8
                          ENDP

                  AudioInStop PROC
;;;386    void AudioInStop(void)
;;;387    {
00039c  e92d4008          STMFD    sp!,{r3,lr}
;;;388        Uart_Printf("\n[AudioIn Stop]\n");    	
0003a0  e28f0010          ADR      r0,|L1.952|
0003a4  ebfffffe          BL       Uart_Printf
;;;389        stopRec=TRUE;
0003a8  e3a00001          MOV      r0,#1
0003ac  e59f1018          LDR      r1,|L1.972|
0003b0  e5810000          STR      r0,[r1,#0]  ; stopRec
;;;390    }
0003b4  e8bd8008          LDMFD    sp!,{r3,pc}
                  |L1.952|
0003b8  75415b0a          DCB      "\n[Au"
0003bc  496f6964          DCB      "dioI"
0003c0  7453206e          DCB      "n St"
0003c4  0a5d706f          DCB      "op]\n"
0003c8  00000000          DCB      "\0\0\0\0"
                  |L1.972|
0003cc  00000024          DCD      ||.bss$2|| + 36
                          ENDP

                  AudioInStart PROC
;;;351    void AudioInStart(void)
;;;352    {
0003d0  e92d4008          STMFD    sp!,{r3,lr}
;;;353        if(audioInActive!=FALSE)
0003d4  e51f0194          LDR      r0,|L1.584|
0003d8  e5900000          LDR      r0,[r0,#0]  ; audioInActive
0003dc  e3500000          CMP      r0,#0
0003e0  0a000002          BEQ      |L1.1008|
;;;354        {
;;;355        	Uart_Printf("[N/A]");
0003e4  e24f0078          ADR      r0,|L1.884|
0003e8  ebfffffe          BL       Uart_Printf
;;;356        	return;
;;;357        }
;;;358            	
;;;359        Uart_Printf("[AudioIn Start]\n");    
;;;360        stopRec=FALSE;
;;;361        audioInActive=TRUE;	
;;;362        indexRecBuf=0;    
;;;363        
;;;364        //Init DMA Ch 1
;;;365        rDISRC1 = (U32)IISFIFO;  // Rx FIFO address
;;;366        rDISRCC1 = (1<<1)|(1<<0); //Src=APB,Fixed;
;;;367        rDIDST1 = (U32)(recBuf[indexRecBuf++]);
;;;368        rDIDSTC1 = (0<<1)|(0<<0); //DSt=AHB,Increment
;;;369        rDCON1 = (1<<31)|(0<<30)|(1<<29)|(0<<28)|(0<<27)|(2<<24)|(1<<23)|(0<<22)|(1<<20)|(AUDIO_BUF_SIZE);
;;;370            //handshake,Sync=APB,IntEn,unit,single,dst=I2SSDI,HwReqMode,AutoReload,Halfword,
;;;371        rDMASKTRIG1 = (1<<1); //DMA1En
;;;372      
;;;373        rIISFCON|=(1<<12);  //RxFifoEn
;;;374        rIISCON|=(1<<4);    //RxDmaServiceRequestEn
;;;375        
;;;376        while((rDSTAT1&0xFFFFF) == 0);   
;;;377        
;;;378        rDIDST1 = (U32)(recBuf[indexRecBuf++]);
;;;379        
;;;380        //IIS will start to work.
;;;381    }
                  |L1.1004|
0003ec  e8bd8008          LDMFD    sp!,{r3,pc}
                  |L1.1008|
0003f0  e28f0f43          ADR      r0,|L1.1284|          ;359
0003f4  ebfffffe          BL       Uart_Printf           ;359
0003f8  e3a00000          MOV      r0,#0                 ;360
0003fc  e51f1038          LDR      r1,|L1.972|           ;360
000400  e5810000          STR      r0,[r1,#0]            ;360  ; stopRec
000404  e3a00001          MOV      r0,#1                 ;361
000408  e51f11c8          LDR      r1,|L1.584|           ;361
00040c  e5810000          STR      r0,[r1,#0]            ;361  ; audioInActive
000410  e3a00000          MOV      r0,#0                 ;362
000414  e59f10fc          LDR      r1,|L1.1304|          ;362
000418  e5810000          STR      r0,[r1,#0]            ;362  ; indexRecBuf
00041c  e51f0090          LDR      r0,|L1.916|           ;365
000420  e3a0144b          MOV      r1,#0x4b000000        ;365
000424  e5810040          STR      r0,[r1,#0x40]         ;365
000428  e3a00003          MOV      r0,#3                 ;366
00042c  e3a0144b          MOV      r1,#0x4b000000        ;366
000430  e5810044          STR      r0,[r1,#0x44]         ;366
000434  e59f00dc          LDR      r0,|L1.1304|          ;367
000438  e5900000          LDR      r0,[r0,#0]            ;367  ; indexRecBuf
00043c  e2801001          ADD      r1,r0,#1              ;367
000440  e59f00d0          LDR      r0,|L1.1304|          ;367
000444  e5902000          LDR      r2,[r0,#0]            ;367  ; indexRecBuf
000448  e5801000          STR      r1,[r0,#0]            ;367  ; indexRecBuf
00044c  e3a0007d          MOV      r0,#0x7d              ;367
000450  e0010290          MUL      r1,r0,r2              ;367
000454  e51f01e8          LDR      r0,|L1.628|           ;367
000458  e5900000          LDR      r0,[r0,#0]            ;367  ; recBuf
00045c  e0800201          ADD      r0,r0,r1,LSL #4       ;367
000460  e3a0144b          MOV      r1,#0x4b000000        ;367
000464  e5810048          STR      r0,[r1,#0x48]         ;367
000468  e3a00000          MOV      r0,#0                 ;368
00046c  e3a0144b          MOV      r1,#0x4b000000        ;368
000470  e581004c          STR      r0,[r1,#0x4c]         ;368
000474  e59f00a0          LDR      r0,|L1.1308|          ;369
000478  e3a0144b          MOV      r1,#0x4b000000        ;369
00047c  e5810050          STR      r0,[r1,#0x50]         ;369
000480  e3a00002          MOV      r0,#2                 ;371
000484  e3a0144b          MOV      r1,#0x4b000000        ;371
000488  e5810060          STR      r0,[r1,#0x60]         ;371
00048c  e3a00455          MOV      r0,#0x55000000        ;373
000490  e590000c          LDR      r0,[r0,#0xc]          ;373
000494  e3800d40          ORR      r0,r0,#0x1000         ;373
000498  e3a01455          MOV      r1,#0x55000000        ;373
00049c  e581000c          STR      r0,[r1,#0xc]          ;373
0004a0  e3a00455          MOV      r0,#0x55000000        ;374
0004a4  e5900000          LDR      r0,[r0,#0]            ;374
0004a8  e3800010          ORR      r0,r0,#0x10           ;374
0004ac  e3a01455          MOV      r1,#0x55000000        ;374
0004b0  e5810000          STR      r0,[r1,#0]            ;374
0004b4  e1a00000          NOP                            ;376
                  |L1.1208|
0004b8  e3a0044b          MOV      r0,#0x4b000000        ;376
0004bc  e5900054          LDR      r0,[r0,#0x54]         ;376
0004c0  e1a00600          MOV      r0,r0,LSL #12         ;376
0004c4  e1b00620          MOVS     r0,r0,LSR #12         ;376
0004c8  0afffffa          BEQ      |L1.1208|             ;376
0004cc  e59f0044          LDR      r0,|L1.1304|          ;378
0004d0  e5900000          LDR      r0,[r0,#0]            ;378  ; indexRecBuf
0004d4  e2801001          ADD      r1,r0,#1              ;378
0004d8  e59f0038          LDR      r0,|L1.1304|          ;378
0004dc  e5902000          LDR      r2,[r0,#0]            ;378  ; indexRecBuf
0004e0  e5801000          STR      r1,[r0,#0]            ;378  ; indexRecBuf
0004e4  e3a0007d          MOV      r0,#0x7d              ;378
0004e8  e0010290          MUL      r1,r0,r2              ;378
0004ec  e51f0280          LDR      r0,|L1.628|           ;378
0004f0  e5900000          LDR      r0,[r0,#0]            ;378  ; recBuf
0004f4  e0800201          ADD      r0,r0,r1,LSL #4       ;378
0004f8  e3a0144b          MOV      r1,#0x4b000000        ;378
0004fc  e5810048          STR      r0,[r1,#0x48]         ;378
000500  eaffffb9          B        |L1.1004|
                  |L1.1284|
000504  6475415b          DCB      "[Aud"
000508  6e496f69          DCB      "ioIn"
00050c  61745320          DCB      " Sta"
000510  0a5d7472          DCB      "rt]\n"
000514  00000000          DCB      "\0\0\0\0"
                  |L1.1304|
000518  0000001c          DCD      ||.bss$2|| + 28
                  |L1.1308|
00051c  a29003e8          DCD      0xa29003e8
                          ENDP

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

⌨️ 快捷键说明

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