📄 rccu.lst
字号:
148 }
149 else
150 { CurrentRCLK = RCCU_RCLKClockSource ();
\ ??RCCU_FrequencyValue_3:
\ 00000020 ........ BL RCCU_RCLKClockSource
151 switch ( CurrentRCLK ){
\ 00000024 0028 CMP R0,#+0
\ 00000026 09D0 BEQ ??RCCU_FrequencyValue_6
\ 00000028 0128 CMP R0,#+0x1
\ 0000002A 04D0 BEQ ??RCCU_FrequencyValue_7
\ 0000002C 0228 CMP R0,#+0x2
\ 0000002E F4D0 BEQ ??RCCU_FrequencyValue_4
\ 00000030 0328 CMP R0,#+0x3
\ 00000032 1DD0 BEQ ??RCCU_FrequencyValue_8
\ 00000034 1FE0 B ??RCCU_FrequencyValue_5
152 case RCCU_CLOCK2_16 : Div = 16;
\ ??RCCU_FrequencyValue_7:
\ 00000036 1025 MOV R5,#+0x10
153 Mul = 1;
\ 00000038 0126 MOV R6,#+0x1
\ 0000003A 1CE0 B ??RCCU_FrequencyValue_5
154 break;
155 case RCCU_CLOCK2 : Div = 1;
156 Mul = 1;
157 break;
158 case RCCU_PLL1_Output :{Mul=(RCCU->PLL1CR & RCCU_MX_Mask ) >> RCCU_MX_Index;
\ ??RCCU_FrequencyValue_6:
\ 0000003C .... LDR R0,??DataTable7 ;; 0xa0000018
\ 0000003E 0268 LDR R2,[R0, #+0]
\ 00000040 3023 MOV R3,#+0x30
\ 00000042 1340 AND R3,R2
\ 00000044 1E09 LSR R6,R3,#+0x4
159 switch ( Mul )
\ 00000046 321C MOV R2,R6
\ 00000048 06D0 BEQ ??RCCU_FrequencyValue_9
\ 0000004A 012A CMP R2,#+0x1
\ 0000004C 06D0 BEQ ??RCCU_FrequencyValue_10
\ 0000004E 022A CMP R2,#+0x2
\ 00000050 06D0 BEQ ??RCCU_FrequencyValue_11
\ 00000052 032A CMP R2,#+0x3
\ 00000054 06D0 BEQ ??RCCU_FrequencyValue_12
\ 00000056 06E0 B ??RCCU_FrequencyValue_13
160 {case 0: Mul = 20; break;
\ ??RCCU_FrequencyValue_9:
\ 00000058 1426 MOV R6,#+0x14
\ 0000005A 04E0 B ??RCCU_FrequencyValue_13
161 case 1: Mul = 12; break;
\ ??RCCU_FrequencyValue_10:
\ 0000005C 0C26 MOV R6,#+0xC
\ 0000005E 02E0 B ??RCCU_FrequencyValue_13
162 case 2: Mul = 28; break;
\ ??RCCU_FrequencyValue_11:
\ 00000060 1C26 MOV R6,#+0x1C
\ 00000062 00E0 B ??RCCU_FrequencyValue_13
163 case 3: Mul = 16; break;
\ ??RCCU_FrequencyValue_12:
\ 00000064 1026 MOV R6,#+0x10
164 }
165 Div = ( RCCU->PLL1CR & RCCU_DX_Mask ) + 1;
\ ??RCCU_FrequencyValue_13:
\ 00000066 0068 LDR R0,[R0, #+0]
\ 00000068 4507 LSL R5,R0,#+0x1D
\ 0000006A 6D0F LSR R5,R5,#+0x1D
\ 0000006C 6D1C ADD R5,R5,#+0x1
166 break;}
\ 0000006E 02E0 B ??RCCU_FrequencyValue_5
167 case RCCU_RTC_CLOCK : Mul = 1;
\ ??RCCU_FrequencyValue_8:
\ 00000070 0126 MOV R6,#+0x1
168 Div = 1;
\ 00000072 3D1C MOV R5,R7
169 Tmp = RCCU_RTC_Osc;
\ 00000074 FC03 LSL R4,R7,#+0xF
170 break;}}
171
172 switch ( Internal_Clk ){
\ ??RCCU_FrequencyValue_5:
\ 00000076 0320 MOV R0,#+0x3
\ 00000078 1349 LDR R1,??RCCU_FrequencyValue_1+0x8 ;; 0xa0000044
\ 0000007A 6A46 MOV R2,SP
\ 0000007C 1278 LDRB R2,[R2, #+0]
\ 0000007E 022A CMP R2,#+0x2
\ 00000080 04D0 BEQ ??RCCU_FrequencyValue_14
\ 00000082 032A CMP R2,#+0x3
\ 00000084 04D0 BEQ ??RCCU_FrequencyValue_15
\ 00000086 042A CMP R2,#+0x4
\ 00000088 08D0 BEQ ??RCCU_FrequencyValue_16
\ 0000008A 0AE0 B ??RCCU_FrequencyValue_17
173 case RCCU_MCLK :{Div <<= PCU->MDIVR & RCCU_FACT_Mask;
\ ??RCCU_FrequencyValue_14:
\ 0000008C 0F49 LDR R1,??RCCU_FrequencyValue_1+0xC ;; 0xa0000040
\ 0000008E 05E0 B ??RCCU_FrequencyValue_16
174 break;}
175 case RCCU_PCLK :{Div <<=(PCU->PDIVR & RCCU_FACT2_Mask ) >> RCCU_FACT2_Index;
\ ??RCCU_FrequencyValue_15:
\ 00000090 0888 LDRH R0,[R1, #+0]
\ 00000092 C021 MOV R1,#+0xC0
\ 00000094 8900 LSL R1,R1,#+0x2 ;; #+0x300
\ 00000096 0140 AND R1,R0
\ 00000098 0812 ASR R0,R1,#+0x8
\ 0000009A 01E0 B ??RCCU_FrequencyValue_18
176 break;}
177 case RCCU_FCLK :{Div <<= PCU->PDIVR & 0x3;
\ ??RCCU_FrequencyValue_16:
\ 0000009C 0988 LDRH R1,[R1, #+0]
\ 0000009E 0840 AND R0,R1
\ ??RCCU_FrequencyValue_18:
\ 000000A0 8540 LSL R5,R0
178 break;}}
179
180 return (Tmp * Mul) / Div;
\ ??RCCU_FrequencyValue_17:
\ 000000A2 3606 LSL R6,R6,#+0x18
\ 000000A4 360E LSR R6,R6,#+0x18
\ 000000A6 7443 MUL R4,R6
\ 000000A8 201C MOV R0,R4
\ 000000AA 2D06 LSL R5,R5,#+0x18
\ 000000AC 2D0E LSR R5,R5,#+0x18
\ 000000AE 291C MOV R1,R5
\ 000000B0 ........ _BLF ??divu32_t,??rT??divu32_t
\ 000000B4 081C MOV R0,R1
\ 000000B6 01B0 ADD SP,#+0x4
\ 000000B8 F0BC POP {R4-R7}
\ 000000BA 02BC POP {R1}
\ 000000BC 0847 BX R1 ;; return
\ 000000BE C046 NOP
\ ??RCCU_FrequencyValue_1:
\ 000000C0 80841E00 DC32 0x1e8480
\ 000000C4 00093D00 DC32 0x3d0900
\ 000000C8 440000A0 DC32 0xa0000044
\ 000000CC 400000A0 DC32 0xa0000040
181 }
\ In segment CODE, align 4, keep-with-next
\ ??DataTable5:
\ 00000000 4C0000A0 DC32 0xa000004c
\ In segment CODE, align 4, keep-with-next
\ ??DataTable6:
\ 00000000 080000A0 DC32 0xa0000008
\ In segment CODE, align 4, keep-with-next
\ ??DataTable7:
\ 00000000 180000A0 DC32 0xa0000018
182
183 /******************* (C) COPYRIGHT 2003 STMicroelectronics *****END OF FILE****/
Maximum stack usage in bytes:
Function CSTACK
-------- ------
RCCU_FrequencyValue 24
RCCU_PLL1Config 4
RCCU_PLL2Config 4
RCCU_RCLKClockSource 4
RCCU_RCLKSourceConfig 20
RCCU_USBClockSource 4
Segment part sizes:
Function/Label Bytes
-------------- -----
RCCU_PLL1Config 30
RCCU_PLL2Config 36
RCCU_RCLKSourceConfig 130
RCCU_RCLKClockSource 42
RCCU_USBClockSource 26
RCCU_FrequencyValue 208
??DataTable5 4
??DataTable6 4
??DataTable7 4
Others 64
548 bytes in segment CODE
484 bytes of CODE memory (+ 64 bytes shared)
Errors: none
Warnings: none
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -