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

📄 iis.txt

📁 s3c24a0固件测试代码 ? ? ? ? ?啊 
💻 TXT
📖 第 1 页 / 共 5 页
字号:
;;;697    		}
;;;698    	ClearPending(BIT_EINT0_2);
                  |L1.1348|
000544  e3a00001          MOV      r0,#1
000548  e59f10f8          LDR      r1,|L1.1608|
00054c  e5810000          STR      r0,[r1,#0]
000550  e1c10000          BIC      r0,r1,r0
000554  e5900010          LDR      r0,[r0,#0x10]
000558  e5810010          STR      r0,[r1,#0x10]
00055c  e1a00001          MOV      r0,r1
000560  e5900010          LDR      r0,[r0,#0x10]
;;;699    
;;;700        rEINTMASK = 0x7ffff;
000564  e59f00e0          LDR      r0,|L1.1612|
000568  e2811646          ADD      r1,r1,#0x4600000
00056c  e5810034          STR      r0,[r1,#0x34]
;;;701        rINTMSK |= (BIT_EINT0_2);
000570  e2410646          SUB      r0,r1,#0x4600000
000574  e5900008          LDR      r0,[r0,#8]
000578  e3800001          ORR      r0,r0,#1
00057c  e2411646          SUB      r1,r1,#0x4600000
000580  e5810008          STR      r0,[r1,#8]
;;;702    //    rEINTPEND=(1<<0);
;;;703    //    ClearPending(BIT_EINT0_2);	
;;;704    
;;;705        if(mute)    //Mute
000584  e59f00c4          LDR      r0,|L1.1616|
000588  e5d00000          LDRB     r0,[r0,#0]  ; mute
00058c  e3500000          CMP      r0,#0
000590  0a00000a          BEQ      |L1.1472|
;;;706        {
;;;707            _WrL3Addr(0x14 + 0);            //DATA0 (000101xx+00)
000594  e3a00014          MOV      r0,#0x14
000598  ebfffffe          BL       _WrL3Addr
;;;708            _WrL3Data(0xa4,0);              //10,1,00,1,00 : after, no de-emp, mute, flat 
00059c  e3a01000          MOV      r1,#0
0005a0  e3a000a4          MOV      r0,#0xa4
0005a4  ebfffffe          BL       _WrL3Data
;;;709            mute = 0;
0005a8  e3a00000          MOV      r0,#0
0005ac  e59f109c          LDR      r1,|L1.1616|
0005b0  e5c10000          STRB     r0,[r1,#0]  ; mute
;;;710            Uart_Printf("=== Mute ===\n");
0005b4  e28f0098          ADR      r0,|L1.1620|
0005b8  ebfffffe          BL       _printf
0005bc  ea000009          B        |L1.1512|
;;;711        }
;;;712        else        //No mute
;;;713        {
;;;714            _WrL3Addr(0x14 + 0);            //DATA0 (000101xx+00)
                  |L1.1472|
0005c0  e3a00014          MOV      r0,#0x14
0005c4  ebfffffe          BL       _WrL3Addr
;;;715            _WrL3Data(0xa0,0);              //10,1,00,0,00 : after, no de-emp, no mute, flat 
0005c8  e3a01000          MOV      r1,#0
0005cc  e3a000a0          MOV      r0,#0xa0
0005d0  ebfffffe          BL       _WrL3Data
;;;716            mute = 1;
0005d4  e3a00001          MOV      r0,#1
0005d8  e59f1070          LDR      r1,|L1.1616|
0005dc  e5c10000          STRB     r0,[r1,#0]  ; mute
;;;717            Uart_Printf("=== No Mute ===\n");
0005e0  e28f007c          ADR      r0,|L1.1636|
0005e4  ebfffffe          BL       _printf
;;;718        }
;;;719    
;;;720        
;;;721        rEINTMASK&=~(1<<0);	
                  |L1.1512|
0005e8  e59f0028          LDR      r0,|L1.1560|
0005ec  e5900034          LDR      r0,[r0,#0x34]
0005f0  e3c00001          BIC      r0,r0,#1
0005f4  e59f101c          LDR      r1,|L1.1560|
0005f8  e5810034          STR      r0,[r1,#0x34]
;;;722        rINTMSK    &= ~(BIT_EINT0_2);	
0005fc  e2410646          SUB      r0,r1,#0x4600000
000600  e5900008          LDR      r0,[r0,#8]
000604  e3c00001          BIC      r0,r0,#1
000608  e2411646          SUB      r1,r1,#0x4600000
00060c  e5810008          STR      r0,[r1,#8]
;;;723    }
000610  e8bd500f          LDMFD    sp!,{r0-r3,r12,lr}
000614  e25ef004          SUBS     pc,lr,#4
                  |L1.1560|
000618  44800000          DCD      0x44800000
                  |L1.1564|
00061c  544e4945          DCB      "EINT"
000620  6e692031          DCB      "1 in"
000624  72726574          DCB      "terr"
000628  20747075          DCB      "upt "
00062c  6f207369          DCB      "is o"
000630  72756363          DCB      "ccur"
000634  000a6465          DCB      "ed\n\0"
                  |L1.1592|
000638  4e494572          DCB      "rEIN"
00063c  4e455054          DCB      "TPEN"
000640  78253d44          DCB      "D=%x"
000644  0000000a          DCB      "\n\0\0\0"
                  |L1.1608|
000648  40200000          DCD      0x40200000
                  |L1.1612|
00064c  0007ffff          DCD      0x0007ffff
                  |L1.1616|
000650  00000000          DCD      mute
                  |L1.1620|
000654  203d3d3d          DCB      "=== "
000658  6574754d          DCB      "Mute"
00065c  3d3d3d20          DCB      " ==="
000660  0000000a          DCB      "\n\0\0\0"
                  |L1.1636|
000664  203d3d3d          DCB      "=== "
000668  4d206f4e          DCB      "No M"
00066c  20657475          DCB      "ute "
000670  0a3d3d3d          DCB      "===\n"
000674  00000000          DCB      "\0\0\0\0"
                          ENDP

                  DMA1_IISSDO_Done PROC
;;;632    void __irq DMA1_IISSDO_Done(void)
;;;633    {
000678  e92d0007          STMFD    sp!,{r0-r2}
;;;634        int i=0;
00067c  e3a02000          MOV      r2,#0
;;;635        rSUBSRCPND = BIT_SUB_DMA1;
000680  e3a00640          MOV      r0,#0x4000000
000684  e51f1044          LDR      r1,|L1.1608|
000688  e5810018          STR      r0,[r1,#0x18]
;;;636        rSUBSRCPND;
00068c  e1c10000          BIC      r0,r1,r0
000690  e5900018          LDR      r0,[r0,#0x18]
;;;637        rSRCPND = BIT_DMA;                 //Clear pending bit
000694  e3a00940          MOV      r0,#0x100000
000698  e1c11000          BIC      r1,r1,r0
00069c  e5810000          STR      r0,[r1,#0]
;;;638        rINTPND = BIT_DMA;
0006a0  e3a00940          MOV      r0,#0x100000
0006a4  e1c11000          BIC      r1,r1,r0
0006a8  e5810010          STR      r0,[r1,#0x10]
;;;639        rINTPND;
0006ac  e1c10000          BIC      r0,r1,r0
0006b0  e5900010          LDR      r0,[r0,#0x10]
;;;640    
;;;641    //    while((rDSTAT1&0xfffff)==0) {	// Check wheather CURR_TC is updated.
;;;642    //    i++;
;;;643    //    }
;;;644    
;;;645        WrUTXH0('@');
0006b4  e3a00040          MOV      r0,#0x40
0006b8  e2811642          ADD      r1,r1,#0x4200000
0006bc  e5c10020          STRB     r0,[r1,#0x20]
;;;646    //    Uart_Printf("(i=%d) ", i);
;;;647        if(!which_Buf)
0006c0  e59f043c          LDR      r0,|L1.2820|
0006c4  e5d00000          LDRB     r0,[r0,#0]  ; which_Buf
0006c8  e3500000          CMP      r0,#0
0006cc  1a000003          BNE      |L1.1760|
;;;648            which_Buf = 1;
0006d0  e3a00001          MOV      r0,#1
0006d4  e59f1428          LDR      r1,|L1.2820|
0006d8  e5c10000          STRB     r0,[r1,#0]  ; which_Buf
0006dc  ea000002          B        |L1.1772|
;;;649        else
;;;650            which_Buf = 0;
                  |L1.1760|
0006e0  e3a00000          MOV      r0,#0
0006e4  e59f1418          LDR      r1,|L1.2820|
0006e8  e5c10000          STRB     r0,[r1,#0]  ; which_Buf
;;;651      	
;;;652    //    rDISRC1  = (int)(Buf + 0x30);				//0x11000030~(Remove header)		
;;;653    }
                  |L1.1772|
0006ec  e8bd0007          LDMFD    sp!,{r0-r2}
0006f0  e25ef004          SUBS     pc,lr,#4
                          ENDP

                  Rx_IIS_Int PROC
;;;668    void __irq Rx_IIS_Int(void)
;;;669    {
0006f4  e92d0003          STMFD    sp!,{r0,r1}
;;;670        rSUBSRCPND = BIT_SUB_RXD0;          //Clear pending bit (Requested)
0006f8  e3a00001          MOV      r0,#1
0006fc  e51f10bc          LDR      r1,|L1.1608|
000700  e5810018          STR      r0,[r1,#0x18]
;;;671        rSUBSRCPND;
000704  e1c10000          BIC      r0,r1,r0
000708  e5900018          LDR      r0,[r0,#0x18]
;;;672    
;;;673        ClearPending(BIT_UART0);
00070c  e3a00b80          MOV      r0,#0x20000
000710  e1c11000          BIC      r1,r1,r0
000714  e5810000          STR      r0,[r1,#0]
000718  e1c10000          BIC      r0,r1,r0
00071c  e5900010          LDR      r0,[r0,#0x10]
000720  e5810010          STR      r0,[r1,#0x10]
000724  e1a00001          MOV      r0,r1
000728  e5900010          LDR      r0,[r0,#0x10]
;;;674    
;;;675        *_temp ++= RdURXH0(); 
00072c  e2810642          ADD      r0,r1,#0x4200000
000730  e5d01024          LDRB     r1,[r0,#0x24]
000734  e59f03cc          LDR      r0,|L1.2824|
000738  e5900000          LDR      r0,[r0,#0]  ; _temp
00073c  e4c01001          STRB     r1,[r0],#1
000740  e59f13c0          LDR      r1,|L1.2824|
000744  e5810000          STR      r0,[r1,#0]  ; _temp
;;;676    }
000748  e8bd0003          LDMFD    sp!,{r0,r1}
00074c  e25ef004          SUBS     pc,lr,#4
                          ENDP

                  IIS_PortSetting PROC
;;;517    void IIS_PortSetting(void)
;;;518    {
000750  e51f0140          LDR      r0,|L1.1560|
;;;519        //Port Initialize
;;;520    //----------------------------------------------------------
;;;521    //   GPCON_M GROUP
;;;522    //Ports  :   GP17    GP16   GP15  
;;;523    //Signal :  L3MODE L3CLOCK L3DATA
;;;524    //Setting:   OUTPUT OUTPUT OUTPUT 
;;;525    //          [13:12]  [11:10]  [9:8]   
;;;526    //Binary :     01  ,   01    01 
;;;527    //----------------------------------------------------------      
;;;528        rGPPU  = rGPPU  & ~(0x7<<15) |(0x7<<15);       //The pull up function is disabled GPUP[17:15] 0011 1000 0000 0000 0000    
000754  e5900010          LDR      r0,[r0,#0x10]
000758  e3800be0          ORR      r0,r0,#0x38000
00075c  e51f114c          LDR      r1,|L1.1560|
000760  e5810010          STR      r0,[r1,#0x10]
;;;529        rGPCON_M = rGPCON_M & ~(0x3f<<8) |(0x15<<8);     //GPCON_M[13:8]=Output(L3MODE):Output(L3CLOCK):Output(L3DATA)
000764  e1a00001          MOV      r0,r1
000768  e5900004          LDR      r0,[r0,#4]
00076c  e3c00dfc          BIC      r0,r0,#0x3f00
000770  e3800d54          ORR      r0,r0,#0x1500
000774  e5810004          STR      r0,[r1,#4]
;;;530    
;;;531    //External INT 0
;;;532    //    rGPUP  = rGPUP  & ~(0x1<<0) |(0x1<<0);       //The pull up function is disabled GPUP[0]   
;;;533        rGPCON_L = (rGPCON_L & 0x3ffffc)|(0x2<<0);
000778  e1a00001          MOV      r0,r1
00077c  e5900008          LDR      r0,[r0,#8]
000780  e3c003f0          BIC      r0,r0,#0xc0000003
000784  e3c005ff          BIC      r0,r0,#0x3fc00000
000788  e3800002          ORR      r0,r0,#2
00078c  e5810008          STR      r0,[r1,#8]
;;;534        rEXTINTC0 = rEXTINTC0 & ~(7<<0) | (0x4<<0);     //EINT0=rising edge triggered  
000790  e1a00001          MOV      r0,r1
000794  e5900018          LDR      r0,[r0,#0x18]
000798  e3c00007          BIC      r0,r0,#7
00079c  e3800004          ORR      r0,r0,#4
0007a0  e5810018          STR      r0,[r1,#0x18]
;;;535    
;;;536    //External INT 9
;;;537    //    rGPPU  = rGPPU  & ~(0x1<<9) |(0x1<<9);       //The pull up function is disabled GPPU[9]   
;;;538    //    rGPCON_L = (rGPCON_L & 0x3ffffc)|(0x2<<0);
;;;539    //    rGPCON_L = rGPCON_L & ~(0x3<<18)|(0x2<<18);
;;;540    //    rEXTINTC1 = rEXTINTC1 & ~(0x7<<24) | (0x4<<24);     //EINT9=rising edge triggered  
;;;541    	
;;;542    //----------------------------------------------------------
;;;543    //   External Port Pull-up 
;;;544    //    rENPU = rENPU&~(1<<9) | (1<<9); //The pull up function is disabled rENPU[9]
;;;545    //    rOENinSLEEP0 = rOENinSLEEP0&~(1<<9) | (1<<9);
;;;546    
;;;547    
;;;548    }
0007a4  e12fff1e          BX       lr
                          ENDP

                  Play_Iis PROC
;;;105    void Play_Iis(void)
;;;106    {
0007a8  e92d40f8          STMFD    sp!,{r3-r7,lr}
;;;107        unsigned int save_GPCON_M, save_GPCON_L, save_GPPU;
;;;108        int Intr_Time_Arg=0;	
0007ac  e3a07000          MOV      r7,#0
;;;109    		int i;
;;;110    	
;;;111        Uart_Printf("[ IIS (Master Mode) Test (Play Using UDA1341 Codec) ]\n");
0007b0  e28f0fd5          ADR      r0,|L1.2828|
0007b4  ebfffffe          BL       _printf
;;;112        Uart_TxEmpty(0);
0007b8  e3a00000          MOV      r0,#0
0007bc  ebfffffe          BL       Uart_TxEmpty
;;;113        
;;;114        save_GPCON_M  = rGPCON_M;         
0007c0  e51f01b0          LDR      r0,|L1.1560|
0007c4  e5900004          LDR      r0,[r0,#4]
0007c8  e1a04000          MOV      r4,r0
;;;115        save_GPCON_L  = rGPCON_L;     	
0007cc  e51f01bc          LDR      r0,|L1.1560|
0007d0  e5900008          LDR      r0,[r0,#8]
0007d4  e1a05000          MOV      r5,r0
;;;116        save_GPPU = rGPPU;

⌨️ 快捷键说明

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