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

📄 iis.txt

📁 s3c24a0固件测试代码 ? ? ? ? ?啊 
💻 TXT
📖 第 1 页 / 共 5 页
字号:
0007d8  e51f01c8          LDR      r0,|L1.1560|
0007dc  e5900010          LDR      r0,[r0,#0x10]
0007e0  e1a06000          MOV      r6,r0
;;;117    
;;;118        IIS_PortSetting();
0007e4  ebfffffe          BL       IIS_PortSetting
;;;119        //Uart_Printf("rGPCON_M,rGPPU 0x%x 0x%x\n",rGPCON_M,rGPPU);
;;;120    	
;;;121        pISR_UART0 = (unsigned)Rx_IIS_Int;
0007e8  e59f0354          LDR      r0,|L1.2884|
0007ec  e59f1354          LDR      r1,|L1.2888|
0007f0  e5810f64          STR      r0,[r1,#0xf64]
;;;122        pISR_DMA  = (unsigned)DMA1_IISSDO_Done;
0007f4  e59f0350          LDR      r0,|L1.2892|
0007f8  e5810f70          STR      r0,[r1,#0xf70]
;;;123        pISR_EINT0_2= (unsigned)IIS_Muting;
0007fc  e59f034c          LDR      r0,|L1.2896|
000800  e5810f20          STR      r0,[r1,#0xf20]
;;;124    
;;;125        rEINTPEND = 0xffffff;
000804  e3e004ff          MVN      r0,#0xff000000
000808  e51f11f8          LDR      r1,|L1.1560|
00080c  e5810038          STR      r0,[r1,#0x38]
;;;126        rSRCPND = BIT_EINT0_2; //to clear the previous pending states
000810  e3a00001          MOV      r0,#1
000814  e2411646          SUB      r1,r1,#0x4600000
000818  e5810000          STR      r0,[r1,#0]
;;;127        rINTPND = BIT_EINT0_2;
00081c  e3a00001          MOV      r0,#1
000820  e1c11000          BIC      r1,r1,r0
000824  e5810010          STR      r0,[r1,#0x10]
;;;128        
;;;129        rEINTMASK=~(1<<0);	
000828  e3e00001          MVN      r0,#1
00082c  e2811646          ADD      r1,r1,#0x4600000
000830  e5810034          STR      r0,[r1,#0x34]
;;;130        rINTMSK    = ~(BIT_EINT0_2 | BIT_UART0 | BIT_DMA);
000834  e2400948          SUB      r0,r0,#0x120000
000838  e2411646          SUB      r1,r1,#0x4600000
00083c  e5810008          STR      r0,[r1,#8]
;;;131        rINTSUBMSK = ~(BIT_SUB_RXD0|BIT_SUB_DMA1);
000840  e3e00341          MVN      r0,#0x4000001
000844  e0011000          AND      r1,r1,r0
000848  e581001c          STR      r0,[r1,#0x1c]
;;;132       
;;;133        //Non-cacheable area = 0x11000000 ~ 0x13cf0000
;;;134        Buf   = (unsigned char *)IIS_BUFFER;
00084c  e3a00544          MOV      r0,#0x11000000
000850  e59f12fc          LDR      r1,|L1.2900|
000854  e5810000          STR      r0,[r1,#0]  ; Buf
;;;135        _temp = Buf;
000858  e59f02f4          LDR      r0,|L1.2900|
00085c  e5900000          LDR      r0,[r0,#0]  ; Buf
000860  e59f12a0          LDR      r1,|L1.2824|
000864  e5810000          STR      r0,[r1,#0]  ; _temp
;;;136    
;;;137        Uart_Printf("Download the PCM(no ADPCM) file by DNW serial port(With header)!!\n");
000868  e59f02e8          LDR      r0,|L1.2904|
00086c  ebfffffe          BL       _printf
;;;138        Uart_Printf("Download address is %xh\n", Buf);
000870  e59f02dc          LDR      r0,|L1.2900|
000874  e5901000          LDR      r1,[r0,#0]  ; Buf
000878  e28f0fb7          ADR      r0,|L1.2908|
00087c  ebfffffe          BL       _printf
;;;139        while(((unsigned int)_temp - (unsigned int)Buf) < 4)
000880  e1a00000          NOP      
                  |L1.2180|
000884  e59f027c          LDR      r0,|L1.2824|
000888  e5900000          LDR      r0,[r0,#0]  ; _temp
00088c  e59f12c0          LDR      r1,|L1.2900|
000890  e5911000          LDR      r1,[r1,#0]  ; Buf
000894  e0400001          SUB      r0,r0,r1
000898  e3500004          CMP      r0,#4
00089c  2a000008          BCS      |L1.2244|
;;;140        {
;;;141           Led_Display(0);
0008a0  e3a00000          MOV      r0,#0
0008a4  ebfffffe          BL       Led_Display
;;;142           Delay(1500);
0008a8  e59f02c8          LDR      r0,|L1.2936|
0008ac  ebfffffe          BL       Delay
;;;143           Led_Display(15);
0008b0  e3a0000f          MOV      r0,#0xf
0008b4  ebfffffe          BL       Led_Display
;;;144           Delay(1500);
0008b8  e59f02b8          LDR      r0,|L1.2936|
0008bc  ebfffffe          BL       Delay
;;;145        }
0008c0  eaffffef          B        |L1.2180|
;;;146        size = *(Buf) | *(Buf + 1)<<8 | *(Buf + 2)<<16 | *(Buf + 3)<<24;
                  |L1.2244|
0008c4  e59f0288          LDR      r0,|L1.2900|
0008c8  e5900000          LDR      r0,[r0,#0]  ; Buf
0008cc  e5d00000          LDRB     r0,[r0,#0]
0008d0  e59f127c          LDR      r1,|L1.2900|
0008d4  e5911000          LDR      r1,[r1,#0]  ; Buf
0008d8  e5d11001          LDRB     r1,[r1,#1]
0008dc  e1800401          ORR      r0,r0,r1,LSL #8
0008e0  e59f126c          LDR      r1,|L1.2900|
0008e4  e5911000          LDR      r1,[r1,#0]  ; Buf
0008e8  e5d11002          LDRB     r1,[r1,#2]
0008ec  e1800801          ORR      r0,r0,r1,LSL #16
0008f0  e59f125c          LDR      r1,|L1.2900|
0008f4  e5911000          LDR      r1,[r1,#0]  ; Buf
0008f8  e5d11003          LDRB     r1,[r1,#3]
0008fc  e1800c01          ORR      r0,r0,r1,LSL #24
000900  e59f1274          LDR      r1,|L1.2940|
000904  e5810000          STR      r0,[r1,#0]  ; size
;;;147        Uart_Printf("\nNow, Downloading... [ File Size : %7d(      0)]",size);
000908  e59f026c          LDR      r0,|L1.2940|
00090c  e5901000          LDR      r1,[r0,#0]  ; size
000910  e28f0f9a          ADR      r0,|L1.2944|
000914  ebfffffe          BL       _printf
;;;148        while(((unsigned int)_temp - (unsigned int)Buf) < size){
000918  e1a00000          NOP      
                  |L1.2332|
00091c  e59f01e4          LDR      r0,|L1.2824|
000920  e5900000          LDR      r0,[r0,#0]  ; _temp
000924  e59f1228          LDR      r1,|L1.2900|
000928  e5911000          LDR      r1,[r1,#0]  ; Buf
00092c  e0400001          SUB      r0,r0,r1
000930  e59f1244          LDR      r1,|L1.2940|
000934  e5911000          LDR      r1,[r1,#0]  ; size
000938  e1500001          CMP      r0,r1
00093c  2a000009          BCS      |L1.2408|
;;;149    	  Uart_Printf("\b\b\b\b\b\b\b\b%7d)",(unsigned int)_temp - (unsigned int)Buf);
000940  e59f01c0          LDR      r0,|L1.2824|
000944  e5900000          LDR      r0,[r0,#0]  ; _temp
000948  e59f2204          LDR      r2,|L1.2900|
00094c  e5922000          LDR      r2,[r2,#0]  ; Buf
000950  e0401002          SUB      r1,r0,r2
000954  e28f0f96          ADR      r0,|L1.2996|
000958  ebfffffe          BL       _printf
;;;150    		Delay(5000);
00095c  e59f0260          LDR      r0,|L1.3012|
000960  ebfffffe          BL       Delay
;;;151        }
000964  eaffffec          B        |L1.2332|
;;;152        Uart_Printf("\b\b\b\b\b\b\b\b%7d)]\n",(unsigned int)_temp - (unsigned int)Buf);
                  |L1.2408|
000968  e59f0198          LDR      r0,|L1.2824|
00096c  e5900000          LDR      r0,[r0,#0]  ; _temp
000970  e59f21dc          LDR      r2,|L1.2900|
000974  e5922000          LDR      r2,[r2,#0]  ; Buf
000978  e0401002          SUB      r1,r0,r2
00097c  e28f0f91          ADR      r0,|L1.3016|
000980  ebfffffe          BL       _printf
;;;153    
;;;154        rINTSUBMSK |= BIT_SUB_RXD0;
000984  e51f0344          LDR      r0,|L1.1608|
000988  e590001c          LDR      r0,[r0,#0x1c]
00098c  e3800001          ORR      r0,r0,#1
000990  e51f1350          LDR      r1,|L1.1608|
000994  e581001c          STR      r0,[r1,#0x1c]
;;;155        rINTMSK  |= BIT_UART0;
000998  e1a00001          MOV      r0,r1
00099c  e5900008          LDR      r0,[r0,#8]
0009a0  e3800b80          ORR      r0,r0,#0x20000
0009a4  e5810008          STR      r0,[r1,#8]
;;;156        size = *(Buf + 0x2c) | *(Buf + 0x2d)<<8 | *(Buf + 0x2e)<<16 | *(Buf + 0x2f)<<24;
0009a8  e59f01a4          LDR      r0,|L1.2900|
0009ac  e5900000          LDR      r0,[r0,#0]  ; Buf
0009b0  e5d0002c          LDRB     r0,[r0,#0x2c]
0009b4  e59f1198          LDR      r1,|L1.2900|
0009b8  e5911000          LDR      r1,[r1,#0]  ; Buf
0009bc  e5d1102d          LDRB     r1,[r1,#0x2d]
0009c0  e1800401          ORR      r0,r0,r1,LSL #8
0009c4  e59f1188          LDR      r1,|L1.2900|
0009c8  e5911000          LDR      r1,[r1,#0]  ; Buf
0009cc  e5d1102e          LDRB     r1,[r1,#0x2e]
0009d0  e1800801          ORR      r0,r0,r1,LSL #16
0009d4  e59f1178          LDR      r1,|L1.2900|
0009d8  e5911000          LDR      r1,[r1,#0]  ; Buf
0009dc  e5d1102f          LDRB     r1,[r1,#0x2f]
0009e0  e1800c01          ORR      r0,r0,r1,LSL #24
0009e4  e59f1190          LDR      r1,|L1.2940|
0009e8  e5810000          STR      r0,[r1,#0]  ; size
;;;157        size = (size>>1)<<1;	//for 44B0X
0009ec  e59f0188          LDR      r0,|L1.2940|
0009f0  e5900000          LDR      r0,[r0,#0]  ; size
0009f4  e1a000a0          MOV      r0,r0,LSR #1
0009f8  e1a00080          MOV      r0,r0,LSL #1
0009fc  e59f1178          LDR      r1,|L1.2940|
000a00  e5810000          STR      r0,[r1,#0]  ; size
;;;158        fs   = *(Buf + 0x1c) | *(Buf + 0x1d)<<8 | *(Buf + 0x1e)<<16 | *(Buf + 0x1f)<<24;
000a04  e59f0148          LDR      r0,|L1.2900|
000a08  e5900000          LDR      r0,[r0,#0]  ; Buf
000a0c  e5d0001c          LDRB     r0,[r0,#0x1c]
000a10  e59f113c          LDR      r1,|L1.2900|
000a14  e5911000          LDR      r1,[r1,#0]  ; Buf
000a18  e5d1101d          LDRB     r1,[r1,#0x1d]
000a1c  e1800401          ORR      r0,r0,r1,LSL #8
000a20  e59f112c          LDR      r1,|L1.2900|
000a24  e5911000          LDR      r1,[r1,#0]  ; Buf
000a28  e5d1101e          LDRB     r1,[r1,#0x1e]
000a2c  e1800801          ORR      r0,r0,r1,LSL #16
000a30  e59f111c          LDR      r1,|L1.2900|
000a34  e5911000          LDR      r1,[r1,#0]  ; Buf
000a38  e5d1101f          LDRB     r1,[r1,#0x1f]
000a3c  e1800c01          ORR      r0,r0,r1,LSL #24
000a40  e59f1190          LDR      r1,|L1.3032|
000a44  e5810000          STR      r0,[r1,#0]  ; fs
;;;159    
;;;160        Uart_Printf("Sample Size = 0x%x\n",size/2);
000a48  e59f012c          LDR      r0,|L1.2940|
000a4c  e5900000          LDR      r0,[r0,#0]  ; size
000a50  e1a010a0          MOV      r1,r0,LSR #1
000a54  e28f0f60          ADR      r0,|L1.3036|
000a58  ebfffffe          BL       _printf
;;;161        Uart_Printf("Sampling Frequency = %d Hz\n",fs);
000a5c  e59f0174          LDR      r0,|L1.3032|
000a60  e5901000          LDR      r1,[r0,#0]  ; fs
000a64  e28f0f61          ADR      r0,|L1.3056|
000a68  ebfffffe          BL       _printf
;;;162        Uart_Printf("\n[ Now play the wave file .....]\n");
000a6c  e28f0f66          ADR      r0,|L1.3084|
000a70  ebfffffe          BL       _printf
;;;163        Uart_Printf("If you want to mute or no mute push the 'EIN0' key repeatedly\n");
000a74  e28f0f6d          ADR      r0,|L1.3120|
000a78  ebfffffe          BL       _printf
;;;164    
;;;165        // Modified function test(2410->2440->24A0)
;;;166        //Uart_Printf("Select Autoreload Interrupt occuring time\n");
;;;167        //Uart_Printf("(0:When TC=0, 1:After autoreload is perfomed) : ");
;;;168        //Intr_Time_Arg = Uart_GetIntNum();
;;;169    	
;;;170        Init1341(PLAY);
000a7c  e3a00000          MOV      r0,#0
000a80  ebfffffe          BL       Init1341
;;;171    
;;;172          //DMA1 Initialize
;;;173        rDISRC1  = (int)(Buf + 0x30);               //0x11000030~(Remove WAV. header)      
000a84  e59f00c8          LDR      r0,|L1.2900|
000a88  e5900000          LDR      r0,[r0,#0]  ; Buf
000a8c  e2800030          ADD      r0,r0,#0x30
000a90  e59f11d8          LDR      r1,|L1.3184|
000a94  e5810000          STR      r0,[r1,#0]
;;;174        rDISRCC1 = (0<<1) + (0<<0);                 //The source is in the system bus(AHB), Increment      
000a98  e3a00000          MOV      r0,#0
000a9c  e1c11000          BIC      r1,r1,r0
000aa0  e5810004          STR      r0,[r1,#4]
;;;175        rDIDST1  = ((U32)IISFIFO);                  //IISFIFO    
000aa4  e59f01c8          LDR      r0,|L1.3188|
000aa8  e0011000          AND      r1,r1,r0
000aac  e5810008          STR      r0,[r1,#8]
;;;176        rDIDSTC1 = (Intr_Time_Arg<<2) + (1<<1) + (1<<0);                 //The destination is in the peripheral bus(APB), Fixed  
000ab0  e3a00003          MOV      r0,#3
000ab4  e0800107          ADD      r0,r0,r7,LSL #2
000ab8  e581000c          STR      r0,[r1,#0xc]
;;;177        rDCON1   = (1<<31)+(0<<30)+(1<<29)+(0<<28)+(0<<27)+(2<<24)+(1<<23)+(0<<22)+(1<<20)+(size/2);
000abc  e59f00b8          LDR      r0,|L1.2940|
000ac0  e5900000          LDR      r0,[r0,#0]  ; size
000ac4  e59f11ac          LDR      r1,|L1.3192|
000ac8  e08100a0          ADD      r0,r1,r0,LSR #1
000acc  e59f119c          LDR      r1,|L1.3184|
000ad0  e5810010          STR      r0,[r1,#0x10]
;;;178          //Handshake[31], Sync PCLK[30], CURR_TC Interrupt Request[29], Single Tx[28], Single service[27], 
;;;179          //I2SSDO[26:24], DMA source selected[23],Auto-reload[22], Half-word[21:20], size/2[19:0]
;;;180          
;;;181        rDMASKTRIG1 = (0<<2) + (1<<1) + (0<<0);          //No-stop[2], DMA2 channel On[1], No-sw trigger[0] 
000ad4  e3a00002          MOV      r0,#2
000ad8  e1c11000          BIC      r1,r1,r0
000adc  e5810020          STR      r0,[r1,#0x20]
;;;182    
;;;183          //IIS 384fs Initialize
;;;184        if(fs==44100)               //16.9344MHz(384fs)
000ae0  e59f00f0          LDR      r0,|L1.3032|
000ae4  e5900000          LDR      r0,[r0,#0]  ; fs
000ae8  e240ccac          SUB      r12,r0,#0xac00
000aec  e25cc044          SUBS     r12,r12,#0x44
000af0  1a000061          BNE      |L1.3196|
;;;185        {
;;;186            rIISPSR = (2<<5) + 2;   //Prescaler A,B=2 <- FCLK 203.2128MHz(1:2:4)  <- (PCLK = 50.8032MHz)/3 = 16.9344MHz      
000af4  e3a00042          MOV      r0,#0x42
000af8  e1811a00          ORR      r1,r1,r0,LSL #20
000afc  e5810008          STR      r0,[r1,#8]
000b00  ea000065          B        |L1.3228|
                  |L1.2820|
000b04  00000000          DCD      which_Buf
                  |L1.2824|
000b08  0000001c          DCD      ||.bss$2|| + 28
                  |L1.2828|
000b0c  4949205b          DCB      "[ II"
000b10  4d282053          DCB      "S (M"
000b14  65747361          DCB      "aste"
000b18  6f4d2072          DCB      "r Mo"
000b1c  20296564          DCB      "de) "
000b20  74736554          DCB      "Test"
000b24  6c502820          DCB      " (Pl"
000b28  55207961          DCB      "ay U"
000b2c  676e6973          DCB      "sing"
000b30  41445520          DCB      " UDA"

⌨️ 快捷键说明

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