📄 iis.txt
字号:
;;;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 + -