📄 iis_dual.txt
字号:
000b18 e3800002 ORR r0,r0,#2
000b1c e3a01456 MOV r1,#0x56000000
000b20 e5810050 STR r0,[r1,#0x50]
;;;557 rEXTINT0 = ((rEXTINT0 & ~(7<<0)) | (2<<0)); //EINT0=falling edge triggered
000b24 e3a00456 MOV r0,#0x56000000
000b28 e5900088 LDR r0,[r0,#0x88]
000b2c e3c00007 BIC r0,r0,#7
000b30 e3800002 ORR r0,r0,#2
000b34 e3a01456 MOV r1,#0x56000000
000b38 e5810088 STR r0,[r1,#0x88]
;;;558 }
000b3c e1a0f00e MOV pc,lr
ENDP
Test_IisRecPlay PROC
;;;65 void Test_IisRecPlay(void)
;;;66 {
000b40 e92d4038 STMFD sp!,{r3-r5,lr}
;;;67
;;;68 int i;
;;;69 int ranPlay=FALSE;
000b44 e3a04000 MOV r4,#0
;;;70 char key;
;;;71
;;;72 #if ADS10==TRUE
;;;73 srand(0);
000b48 e3a00000 MOV r0,#0
000b4c ebfffffe BL srand
;;;74 #endif
;;;75
;;;76 Uart_Printf("[ IIS (Master Mode,Rec&Play) Test(UDA1341) ]\n");
000b50 e28f0f65 ADR r0,|L1.3308|
000b54 ebfffffe BL Uart_Printf
;;;77 Uart_TxEmpty(1);
000b58 e3a00001 MOV r0,#1
000b5c ebfffffe BL Uart_TxEmpty
;;;78
;;;79 ChangeClockDivider(14,12); // 1:4:8
000b60 e3a0100c MOV r1,#0xc
000b64 e3a0000e MOV r0,#0xe
000b68 ebfffffe BL ChangeClockDivider
;;;80 ChangeMPllValue(233,6,0); // 361.2672MHz
000b6c e3a02000 MOV r2,#0
000b70 e3a01006 MOV r1,#6
000b74 e3a000e9 MOV r0,#0xe9
000b78 ebfffffe BL ChangeMPllValue
;;;81 Uart_Init(45158400,115200);
000b7c e59f1198 LDR r1,|L1.3356|
000b80 e59f0198 LDR r0,|L1.3360|
000b84 ebfffffe BL Uart_Init
;;;82
;;;83 IIS_PortSetting();
000b88 ebfffffe BL IIS_PortSetting
;;;84 Init1341RecPlay();
000b8c ebfffffe BL Init1341RecPlay
;;;85
;;;86 playBuf=(U16 (*)[AUDIO_BUF_SIZE])0x31000000;
000b90 e3a005c4 MOV r0,#0x31000000
000b94 e51f1924 LDR r1,|L1.632|
000b98 e5810000 STR r0,[r1,#0] ; playBuf
;;;87 recBuf=(U16 (*)[AUDIO_BUF_SIZE])(0x31000000+sizeof(U16)*AUDIO_BUF_SIZE*MAX_INDEX_AUDIO_BUF);
000b9c e59f0180 LDR r0,|L1.3364|
000ba0 e51f1934 LDR r1,|L1.628|
000ba4 e5810000 STR r0,[r1,#0] ; recBuf
;;;88
;;;89 indexPlayBuf=indexRecBuf=0;
000ba8 e3a00000 MOV r0,#0
000bac e51f169c LDR r1,|L1.1304|
000bb0 e5810000 STR r0,[r1,#0] ; indexRecBuf
000bb4 e51f182c LDR r1,|L1.912|
000bb8 e5810000 STR r0,[r1,#0] ; indexPlayBuf
;;;90 audioOutActive=audioInActive=FALSE;
000bbc e3a00000 MOV r0,#0
000bc0 e51f1980 LDR r1,|L1.584|
000bc4 e5810000 STR r0,[r1,#0] ; audioInActive
000bc8 e51f1860 LDR r1,|L1.880|
000bcc e5810000 STR r0,[r1,#0] ; audioOutActive
;;;91 stopPlay=stopRec=FALSE;
000bd0 e3a00000 MOV r0,#0
000bd4 e51f1810 LDR r1,|L1.972|
000bd8 e5810000 STR r0,[r1,#0] ; stopRec
000bdc e51f1938 LDR r1,|L1.684|
000be0 e5810000 STR r0,[r1,#0] ; stopPlay
;;;92
;;;93 //for(i=0x31000000;i<0x31100000;i+=4)*((U32 *)i)=0;
;;;94
;;;95 AudioInit();
000be4 ebfffffe BL AudioInit
;;;96 pISR_DMA1 = (U32)IsrAudioIn;
000be8 e59f0138 LDR r0,|L1.3368|
000bec e51f1a74 LDR r1,|L1.384|
000bf0 e5810f68 STR r0,[r1,#0xf68]
;;;97 pISR_DMA2 = (U32)IsrAudioOut;
000bf4 e59f0130 LDR r0,|L1.3372|
000bf8 e5810f6c STR r0,[r1,#0xf6c]
;;;98 pISR_EINT0 = (U32)IsrAudioMute;
000bfc e59f012c LDR r0,|L1.3376|
000c00 e5810f20 STR r0,[r1,#0xf20]
;;;99
;;;100
;;;101 rSRCPND = (BIT_EINT0 | BIT_DMA1 | BIT_DMA2);
000c04 e59f0128 LDR r0,|L1.3380|
000c08 e3a0144a MOV r1,#0x4a000000
000c0c e5810000 STR r0,[r1,#0]
;;;102 rINTPND = rINTPND;
000c10 e3a0044a MOV r0,#0x4a000000
000c14 e5900010 LDR r0,[r0,#0x10]
000c18 e3a0144a MOV r1,#0x4a000000
000c1c e5810010 STR r0,[r1,#0x10]
;;;103 rINTMSK = ~(BIT_EINT0 | BIT_DMA1 | BIT_DMA2);
000c20 e59f0110 LDR r0,|L1.3384|
000c24 e3a0144a MOV r1,#0x4a000000
000c28 e5810008 STR r0,[r1,#8]
;;;104
;;;105 Uart_Printf("If you want to mute or no mute push the 'EIN0' key repeatedly\n");
000c2c e28f0f42 ADR r0,|L1.3388|
000c30 ebfffffe BL Uart_Printf
;;;106 Uart_Printf("Sampling Frequency = %d Hz\n",44100);
000c34 e59f1140 LDR r1,|L1.3452|
000c38 e28f0f50 ADR r0,|L1.3456|
000c3c ebfffffe BL Uart_Printf
;;;107
;;;108
;;;109 while(1)
000c40 e1a00000 NOP
|L1.3140|
000c44 e1a00000 NOP
;;;110 {
;;;111 Uart_Printf("\n[Select Menu] (Rec Play Begin End Toggle Random)\n"
000c48 e59f014c LDR r0,|L1.3484|
000c4c ebfffffe BL Uart_Printf
;;;112 "1:R_B 2:R_E 3:PR_T 4:P_B 5:P_E 6:Copy:R->P 7:IL_B 8:IL_E 9:Exit\n");
;;;113
;;;114 while((key=Uart_GetKey())==0)
000c50 e1a00000 NOP
|L1.3156|
000c54 ebfffffe BL Uart_GetKey
000c58 e1b05000 MOVS r5,r0
000c5c 1a000003 BNE |L1.3184|
;;;115 {
;;;116 if(ranPlay==TRUE)
000c60 e3540001 CMP r4,#1
000c64 1a000000 BNE |L1.3180|
;;;117 AudioOutRandom();
000c68 ebfffffe BL AudioOutRandom
;;;118 }
|L1.3180|
000c6c eafffff8 B |L1.3156|
;;;119
;;;120 switch(key)
|L1.3184|
000c70 e2450031 SUB r0,r5,#0x31
000c74 e3500008 CMP r0,#8
000c78 908ff100 ADDLS pc,pc,r0,LSL #2
000c7c ea000018 B |L1.3300|
000c80 ea000007 B |L1.3236|
000c84 ea000008 B |L1.3244|
000c88 ea000009 B |L1.3252|
000c8c ea000009 B |L1.3256|
000c90 ea00000a B |L1.3264|
000c94 ea00000b B |L1.3272|
000c98 ea00000c B |L1.3280|
000c9c ea00000d B |L1.3288|
000ca0 ea00000e B |L1.3296|
;;;121 {
;;;122 case '1':
;;;123 AudioInStart();
|L1.3236|
000ca4 ebfffffe BL AudioInStart
;;;124 break;
000ca8 ea00000e B |L1.3304|
;;;125 case '2':
;;;126 AudioInStop();
|L1.3244|
000cac ebfffffe BL AudioInStop
;;;127 break;
000cb0 ea00000c B |L1.3304|
;;;128 case '3':
;;;129
;;;130 /*
;;;131 if(ranPlay==FALSE)
;;;132 {
;;;133 ranPlay=TRUE;
;;;134 Uart_Printf("Random Play Stop/Start begins.\n");
;;;135 }
;;;136 else
;;;137 {
;;;138 ranPlay=FALSE;
;;;139 Uart_Printf("Random Play Stop/Start ends.\n");
;;;140 }
;;;141 */
;;;142 break;
|L1.3252|
000cb4 ea00000b B |L1.3304|
;;;143 case '4':
;;;144 AudioOutStart();
|L1.3256|
000cb8 ebfffffe BL AudioOutStart
;;;145 break;
000cbc ea000009 B |L1.3304|
;;;146 case '5':
;;;147 AudioOutStop();
|L1.3264|
000cc0 ebfffffe BL AudioOutStop
;;;148 break;
000cc4 ea000007 B |L1.3304|
;;;149 case '6':
;;;150 AudioBufCopy();
|L1.3272|
000cc8 ebfffffe BL AudioBufCopy
;;;151 break;
000ccc ea000005 B |L1.3304|
;;;152 case '7':
;;;153 InterruptLatencyStart();
|L1.3280|
000cd0 ebfffffe BL InterruptLatencyStart
;;;154 break;
000cd4 ea000003 B |L1.3304|
;;;155 case '8':
;;;156 InterruptLatencyStop();
|L1.3288|
000cd8 ebfffffe BL InterruptLatencyStop
;;;157 break;
000cdc ea000001 B |L1.3304|
;;;158 case '9':
;;;159 return;
;;;160 default:
;;;161 break;
;;;162 }
;;;163 }
;;;164
;;;165 ChangeClockDivider(14,12); // 1:2:4
;;;166 ChangeMPllValue(92,1,0); // 400MHz
;;;167 Uart_Init(FCLK/8,115200);
;;;168 }
|L1.3296|
000ce0 e8bd8038 LDMFD sp!,{r3-r5,pc}
|L1.3300|
000ce4 e1a00000 NOP ;161
|L1.3304|
000ce8 eaffffd5 B |L1.3140| ;163
|L1.3308|
000cec 4949205b DCB "[ II" ;163
000cf0 4d282053 DCB "S (M" ;163
000cf4 65747361 DCB "aste" ;163
000cf8 6f4d2072 DCB "r Mo" ;163
000cfc 522c6564 DCB "de,R" ;163
000d00 50266365 DCB "ec&P" ;163
000d04 2979616c DCB "lay)" ;163
000d08 73655420 DCB " Tes" ;163
000d0c 44552874 DCB "t(UD" ;163
000d10 34333141 DCB "A134" ;163
000d14 5d202931 DCB "1) ]" ;163
000d18 0000000a DCB "\n\0\0\0" ;163
|L1.3356|
000d1c 0001c200 DCD 0x0001c200 ;163
|L1.3360|
000d20 02b11000 DCD 0x02b11000 ;163
|L1.3364|
000d24 31061a80 DCD 0x31061a80 ;163
|L1.3368|
000d28 00000000 DCD IsrAudioIn ;163
|L1.3372|
000d2c 00000000 DCD IsrAudioOut ;163
|L1.3376|
000d30 00000000 DCD IsrAudioMute ;163
|L1.3380|
000d34 000c0001 DCD 0x000c0001 ;163
|L1.3384|
000d38 fff3fffe DCD 0xfff3fffe ;163
|L1.3388|
000d3c 79206649 DCB "If y" ;163
000d40 7720756f DCB "ou w" ;163
000d44 20746e61 DCB "ant " ;163
000d48 6d206f74 DCB "to m" ;163
000d4c 20657475 DCB "ute " ;163
000d50 6e20726f DCB "or n" ;163
000d54 756d206f DCB "o mu" ;163
000d58 70206574 DCB "te p" ;163
000d5c 20687375 DCB "ush " ;163
000d60 20656874 DCB "the " ;163
000d64 4e494527 DCB "\'EIN" ;163
000d68 6b202730 DCB "0\' k" ;163
000d6c 72207965 DCB "ey r" ;163
000d70 61657065 DCB "epea" ;163
000d74 6c646574 DCB "tedl" ;163
000d78 00000a79 DCB "y\n\0\0" ;163
|L1.3452|
000d7c 0000ac44 DCD 0x0000ac44 ;163
|L1.3456|
000d80
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -