📄 iis.txt
字号:
000c38 ebfffffe BL Uart_Printf
;;;370 sel = Uart_GetIntNum();
000c3c ebfffffe BL Uart_GetIntNum
000c40 e1a04000 MOV r4,r0
;;;371
;;;372 switch(sel)
000c44 e3540000 CMP r4,#0
000c48 0a000002 BEQ |L1.3160|
000c4c e3540001 CMP r4,#1
000c50 1a000077 BNE |L1.3636|
000c54 ea00005c B |L1.3532|
;;;373 {
;;;374 case 0 :
;;;375 //IIS Pre-scaler Setting
;;;376 rIISPSR = (5<<5) + 5;
|L1.3160|
000c58 e3a000a5 MOV r0,#0xa5
000c5c e3a01455 MOV r1,#0x55000000
000c60 e5810008 STR r0,[r1,#8]
;;;377 rIISMOD = (0<<9);
000c64 e3a00000 MOV r0,#0
000c68 e3a01455 MOV r1,#0x55000000
000c6c e5810004 STR r0,[r1,#4]
;;;378
;;;379 ChangeClockDivider(13,12); //FCLK:HCLK:PCLK =295MHz:98.33MHz:49.2MHz
000c70 e3a0100c MOV r1,#0xc
000c74 e3a0000d MOV r0,#0xd
000c78 ebfffffe BL ChangeClockDivider
;;;380 ChangeMPllValue(97,1,2); //295Mhz
000c7c e3a02002 MOV r2,#2
000c80 e3a01001 MOV r1,#1
000c84 e3a00061 MOV r0,#0x61
000c88 ebfffffe BL ChangeMPllValue
;;;381 Delay(100);
000c8c e3a00064 MOV r0,#0x64
000c90 ebfffffe BL Delay
;;;382
;;;383 Calc_Clock(0);
000c94 e3a00000 MOV r0,#0
000c98 ebfffffe BL Calc_Clock
;;;384
;;;385 UPDATE_REFRESH(Hclk);
000c9c e59f0238 LDR r0,|L1.3804|
000ca0 e5900000 LDR r0,[r0,#0] ; Hclk
000ca4 ebfffffe BL _ffltu
000ca8 e1a05000 MOV r5,r0
000cac ebfffffe BL _f2d
000cb0 e88d0003 STMIA sp,{r0,r1}
000cb4 e28f0f89 ADR r0,|L1.3808|
000cb8 e890000c LDMIA r0,{r2,r3}
000cbc e59d0000 LDR r0,[sp,#0]
000cc0 ebfffffe BL _dmul
000cc4 e58d0008 STR r0,[sp,#8]
000cc8 e58d100c STR r1,[sp,#0xc]
000ccc e28f0f85 ADR r0,|L1.3816|
000cd0 e890000c LDMIA r0,{r2,r3}
000cd4 e59d0008 LDR r0,[sp,#8]
000cd8 ebfffffe BL _ddiv
000cdc e58d0010 STR r0,[sp,#0x10]
000ce0 e58d1014 STR r1,[sp,#0x14]
000ce4 ebfffffe BL _dfixu
000ce8 e2600001 RSB r0,r0,#1
000cec e2800e80 ADD r0,r0,#0x800
000cf0 e3a01448 MOV r1,#0x48000000
000cf4 e5911024 LDR r1,[r1,#0x24]
000cf8 e1a015a1 MOV r1,r1,LSR #11
000cfc e1a01581 MOV r1,r1,LSL #11
000d00 e1800001 ORR r0,r0,r1
000d04 e3a01448 MOV r1,#0x48000000
000d08 e5810024 STR r0,[r1,#0x24]
;;;386
;;;387 Uart_Init(Pclk, 115200);
000d0c e59f11dc LDR r1,|L1.3824|
000d10 e59f01dc LDR r0,|L1.3828|
000d14 e5900000 LDR r0,[r0,#0] ; Pclk
000d18 ebfffffe BL Uart_Init
;;;388 Uart_Select(1);
000d1c e3a00001 MOV r0,#1
000d20 ebfffffe BL Uart_Select
;;;389 Uart_TxEmpty(1);
000d24 e3a00001 MOV r0,#1
000d28 ebfffffe BL Uart_TxEmpty
;;;390 Delay(0); //calibrate Delay()
000d2c e3a00000 MOV r0,#0
000d30 ebfffffe BL Delay
;;;391
;;;392 //In case PCLK = 50 MHz, IIS Codec CLK = 50/(5+1) = 8.34MHz
;;;393 Uart_Printf("\nIIS Master CLK(PCLK) = %4.2f MHz", (float)Pclk/MEGA);
000d34 e59f01b8 LDR r0,|L1.3828|
000d38 e5900000 LDR r0,[r0,#0] ; Pclk
000d3c ebfffffe BL _ffltu
000d40 e1a06000 MOV r6,r0
000d44 e59f11ac LDR r1,|L1.3832|
000d48 ebfffffe BL _fdiv
000d4c e1a05000 MOV r5,r0
000d50 ebfffffe BL _f2d
000d54 e58d0010 STR r0,[sp,#0x10]
000d58 e58d1014 STR r1,[sp,#0x14]
000d5c e1a02001 MOV r2,r1
000d60 e1a01000 MOV r1,r0
000d64 e28f0f64 ADR r0,|L1.3836|
000d68 ebfffffe BL Uart_Printf
;;;394 IIS_Codec_CLK = (float)Pclk/6;
000d6c e59f0180 LDR r0,|L1.3828|
000d70 e5900000 LDR r0,[r0,#0] ; Pclk
000d74 ebfffffe BL _ffltu
000d78 e1a05000 MOV r5,r0
000d7c e59f119c LDR r1,|L1.3872|
000d80 ebfffffe BL _fdiv
000d84 e51f160c LDR r1,|L1.1920|
000d88 e5810000 STR r0,[r1,#0] ; IIS_Codec_CLK
;;;395 Uart_Printf("\nIIS Codec CLK = %4.2f MHz", IIS_Codec_CLK/MEGA);
000d8c e59f1164 LDR r1,|L1.3832|
000d90 e51f0618 LDR r0,|L1.1920|
000d94 e5900000 LDR r0,[r0,#0] ; IIS_Codec_CLK
000d98 ebfffffe BL _fdiv
000d9c e1a05000 MOV r5,r0
000da0 ebfffffe BL _f2d
000da4 e58d0010 STR r0,[sp,#0x10]
000da8 e58d1014 STR r1,[sp,#0x14]
000dac e1a02001 MOV r2,r1
000db0 e1a01000 MOV r1,r0
000db4 e28f0f5a ADR r0,|L1.3876|
000db8 ebfffffe BL Uart_Printf
;;;396
;;;397 IIS_MasterClk_Sel = 0;
000dbc e3a00000 MOV r0,#0
000dc0 e51f164c LDR r1,|L1.1916|
000dc4 e5c10000 STRB r0,[r1,#0] ; IIS_MasterClk_Sel
;;;398 break;
000dc8 ea000033 B |L1.3740|
;;;399
;;;400 case 1 :
;;;401 rIISMOD = (1<<9);
|L1.3532|
000dcc e3a00f80 MOV r0,#0x200
000dd0 e3a01455 MOV r1,#0x55000000
000dd4 e5810004 STR r0,[r1,#4]
;;;402 Uart_Printf("\nIIS Master CLK(MPLLin) = %4.2f MHz", (float)FIN/MEGA);
000dd8 e28f0f58 ADR r0,|L1.3904|
000ddc e8900006 LDMIA r0,{r1,r2}
000de0 e28f0f58 ADR r0,|L1.3912|
000de4 ebfffffe BL Uart_Printf
;;;403 IIS_Codec_CLK = (float)FIN;
000de8 e59f017c LDR r0,|L1.3948|
000dec e51f1674 LDR r1,|L1.1920|
000df0 e5810000 STR r0,[r1,#0] ; IIS_Codec_CLK
;;;404 Uart_Printf("\nIIS Codec CLK = %4.2f MHz", IIS_Codec_CLK/MEGA);
000df4 e59f10fc LDR r1,|L1.3832|
000df8 e51f0680 LDR r0,|L1.1920|
000dfc e5900000 LDR r0,[r0,#0] ; IIS_Codec_CLK
000e00 ebfffffe BL _fdiv
000e04 e1a05000 MOV r5,r0
000e08 ebfffffe BL _f2d
000e0c e58d0010 STR r0,[sp,#0x10]
000e10 e58d1014 STR r1,[sp,#0x14]
000e14 e1a02001 MOV r2,r1
000e18 e1a01000 MOV r1,r0
000e1c e28f0f40 ADR r0,|L1.3876|
000e20 ebfffffe BL Uart_Printf
;;;405
;;;406 IIS_MasterClk_Sel = 1;
000e24 e3a00001 MOV r0,#1
000e28 e51f16b4 LDR r1,|L1.1916|
000e2c e5c10000 STRB r0,[r1,#0] ; IIS_MasterClk_Sel
;;;407 break;
000e30 ea000019 B |L1.3740|
;;;408
;;;409 default :
;;;410 rIISMOD = (1<<9);
|L1.3636|
000e34 e3a00f80 MOV r0,#0x200
000e38 e3a01455 MOV r1,#0x55000000
000e3c e5810004 STR r0,[r1,#4]
;;;411 Uart_Printf("\nIIS Master CLK(MPLLin) = %4.2f MHz", (float)FIN/MEGA);
000e40 e28f00f8 ADR r0,|L1.3904|
000e44 e8900006 LDMIA r0,{r1,r2}
000e48 e28f00f8 ADR r0,|L1.3912|
000e4c ebfffffe BL Uart_Printf
;;;412 IIS_Codec_CLK = (float)FIN;
000e50 e59f0114 LDR r0,|L1.3948|
000e54 e51f16dc LDR r1,|L1.1920|
000e58 e5810000 STR r0,[r1,#0] ; IIS_Codec_CLK
;;;413 Uart_Printf("\nIIS Codec CLK = %4.2f MHz", IIS_Codec_CLK/MEGA);
000e5c e59f1094 LDR r1,|L1.3832|
000e60 e51f06e8 LDR r0,|L1.1920|
000e64 e5900000 LDR r0,[r0,#0] ; IIS_Codec_CLK
000e68 ebfffffe BL _fdiv
000e6c e1a05000 MOV r5,r0
000e70 ebfffffe BL _f2d
000e74 e58d0010 STR r0,[sp,#0x10]
000e78 e58d1014 STR r1,[sp,#0x14]
000e7c e1a02001 MOV r2,r1
000e80 e1a01000 MOV r1,r0
000e84 e28f0098 ADR r0,|L1.3876|
000e88 ebfffffe BL Uart_Printf
;;;414
;;;415 IIS_MasterClk_Sel = 1;
000e8c e3a00001 MOV r0,#1
000e90 e51f171c LDR r1,|L1.1916|
000e94 e5c10000 STRB r0,[r1,#0] ; IIS_MasterClk_Sel
;;;416 break;
000e98 e1a00000 NOP
;;;417 }
;;;418 }
|L1.3740|
000e9c e28dd018 ADD sp,sp,#0x18
000ea0 e8bd8070 LDMFD sp!,{r4-r6,pc}
|L1.3748|
000ea4 6c65530a DCB "\nSel"
000ea8 20746365 DCB "ect "
000eac 20534949 DCB "IIS "
000eb0 7473614d DCB "Mast"
000eb4 43207265 DCB "er C"
000eb8 6b636f6c DCB "lock"
000ebc 756f5320 DCB " Sou"
000ec0 0a656372 DCB "rce\n"
000ec4 00000000 DCB "\0\0\0\0"
|L1.3784|
000ec8 43503a30 DCB "0:PC"
000ecc 202c4b4c DCB "LK, "
000ed0 504d3a31 DCB "1:MP"
000ed4 6e694c4c DCB "LLin"
000ed8 0000000a DCB "\n\0\0\0"
|L1.3804|
000edc 00000000 DCD Hclk
|L1.3808|
000ee0 33333333 DCFD 0x401f333333333333 ; 7.8
000ee4 401f3333
|L1.3816|
000ee8 00000000 DCFD 0x412e848000000000 ; 1000000.0
000eec 412e8480
|L1.3824|
000ef0 0001c200 DCD 0x0001c200
|L1.3828|
000ef4 00000000 DCD Pclk
|L1.3832|
000ef8 49742400 DCD 0x49742400
|L1.3836|
000efc 5349490a DCB "\nIIS"
000f00 73614d20 DCB " Mas"
000f04 20726574 DCB "ter "
000f08 284b4c43 DCB "CLK("
000f0c 4b4c4350 DCB "PCLK"
000f10 203d2029 DCB ") = "
000f14 322e3425 DCB "%4.2"
000f18 484d2066 DCB "f MH"
000f1c 0000007a DCB "z\0\0\0"
|L1.3872|
000f20 40c00000 DCD 0x40c00000
|L1.3876|
000f24 5349490a DCB "\nIIS"
000f28 646f4320 DCB " Cod"
000f2c 43206365 DCB "ec C"
000f30 3d204b4c DCB "LK ="
000f34 2e342520 DCB " %4."
000f38 4d206632 DCB "2f M"
000f3c 00007a48 DCB "Hz\0\0"
|L1.3904|
000f40 e0000000 DCFD 0x4030ef34e0000000
000f44 4030ef34
|L1.3912|
000f48 5349490a DCB "\nIIS"
000f4c 73614d20 DCB " Mas"
000f50 20726574 DCB "ter "
000f54 284b4c43 DCB "CLK("
000f58 4c4c504d DCB "MPLL"
000f5c 20296e69 DCB "in) "
000f60 3425203d DCB "= %4"
000f64 2066322e DCB ".2f "
000f68 007a484d DCB "MHz\0"
|L1.3948|
000f6c 4b813300 DCD 0x4b813300
ENDP
IIS_Port_Init PROC
;;;163 void IIS_Port_Init(void)
;;;164 {
000f70 e3a00456 MOV r0,#0x56000000
;;;165 save_B = rGPBCON;
000f74 e5900010 LDR r0,[r0,#0x10]
000f78 e51f1a64 LDR r1,|L1.1308|
000f7c e5810000 STR r0,[r1,#0] ; save_B
;;;166 save_E = rGPECON;
000f80 e3a00456 MOV r0,#0x56000000
000f84 e5900040 LDR r0,[r0,#0x40]
000f88 e51f1a70 LDR r1,|L1.1312|
000f8c e5810000 STR r0,[r1,#0] ; save_E
;;;167 save_PB = rGPBUP;
000f90 e3a00456 MOV r0,#0x56000000
000f94 e5900018 LDR r0,[r0,#0x18]
000f98 e51f1a7c LDR r1,|L1.1316|
000f9c e5810000 STR r0,[r1,#0] ; save_PB
;;;168 save_PE = rGPEUP;
000fa0 e3a00456 MOV r0,#0x56000000
000fa4 e5900048 LDR r0,[r0,#0x48]
000fa8 e51f1a88 LDR r1,|L1.1320|
000fac e5810000 STR r0,[r1,#0] ; save_PE
;;;169
;;;170
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -