📄 rccu.lst
字号:
\ 00000040 0100A0E3 MOV R0,#+1
\ 00000044 0050B0E1 MOVS R5,R0
127 Mul = 1;
\ 00000048 0100A0E3 MOV R0,#+1
\ 0000004C 0060B0E1 MOVS R6,R0
\ 00000050 380000EA B ??RCCU_FrequencyValue_6
128 }
129 else
130 { CurrentRCLK = RCCU_RCLKClockSource ();
\ ??RCCU_FrequencyValue_5:
\ 00000054 ........ BL RCCU_RCLKClockSource
\ 00000058 0070B0E1 MOVS R7,R0
131 switch ( CurrentRCLK ){
\ 0000005C 0700B0E1 MOVS R0,R7
\ 00000060 030050E3 CMP R0,#+3
\ 00000064 3300008A BHI ??RCCU_FrequencyValue_6
\ 00000068 011F8FE2 ADR R1,??RCCU_FrequencyValue_0
\ 0000006C 0010D1E7 LDRB R1,[R1, R0]
\ 00000070 01F18FE0 ADD PC,PC,R1, LSL #+2
\ ??RCCU_FrequencyValue_0:
\ 00000074 0A00052A DC8 +10,+0,+5,+42
132 case RCCU_CLOCK2_16 : Div = 16;
\ ??RCCU_FrequencyValue_7:
\ 00000078 1000A0E3 MOV R0,#+16
\ 0000007C 0050B0E1 MOVS R5,R0
133 Mul = 1;
\ 00000080 0100A0E3 MOV R0,#+1
\ 00000084 0060B0E1 MOVS R6,R0
\ 00000088 2A0000EA B ??RCCU_FrequencyValue_6
134 break;
135 case RCCU_CLOCK2 : Div = 1;
\ ??RCCU_FrequencyValue_8:
\ 0000008C 0100A0E3 MOV R0,#+1
\ 00000090 0050B0E1 MOVS R5,R0
136 Mul = 1;
\ 00000094 0100A0E3 MOV R0,#+1
\ 00000098 0060B0E1 MOVS R6,R0
\ 0000009C 250000EA B ??RCCU_FrequencyValue_6
137 break;
138 case RCCU_PLL1_Output :{Mul=(RCCU->PLL1CR & RCCU_MX_Mask ) >> RCCU_MX_Index;
\ ??RCCU_FrequencyValue_9:
\ 000000A0 1800A0E3 MOV R0,#+24
\ 000000A4 A00480E3 ORR R0,R0,#0xA0000000
\ 000000A8 000090E5 LDR R0,[R0, #+0]
\ 000000AC 300010E2 ANDS R0,R0,#0x30
\ 000000B0 2002B0E1 LSRS R0,R0,#+4
\ 000000B4 0060B0E1 MOVS R6,R0
139 switch ( Mul )
\ 000000B8 0600B0E1 MOVS R0,R6
\ 000000BC FF0010E2 ANDS R0,R0,#0xFF ;; Zero extend
\ 000000C0 030050E3 CMP R0,#+3
\ 000000C4 0E00008A BHI ??RCCU_FrequencyValue_10
\ 000000C8 011F8FE2 ADR R1,??RCCU_FrequencyValue_1
\ 000000CC 0010D1E7 LDRB R1,[R1, R0]
\ 000000D0 01F18FE0 ADD PC,PC,R1, LSL #+2
\ ??RCCU_FrequencyValue_1:
\ 000000D4 00030609 DC8 +0,+3,+6,+9
140 {case 0: Mul = 20; break;
\ ??RCCU_FrequencyValue_11:
\ 000000D8 1400A0E3 MOV R0,#+20
\ 000000DC 0060B0E1 MOVS R6,R0
\ 000000E0 070000EA B ??RCCU_FrequencyValue_10
141 case 1: Mul = 12; break;
\ ??RCCU_FrequencyValue_12:
\ 000000E4 0C00A0E3 MOV R0,#+12
\ 000000E8 0060B0E1 MOVS R6,R0
\ 000000EC 040000EA B ??RCCU_FrequencyValue_10
142 case 2: Mul = 28; break;
\ ??RCCU_FrequencyValue_13:
\ 000000F0 1C00A0E3 MOV R0,#+28
\ 000000F4 0060B0E1 MOVS R6,R0
\ 000000F8 010000EA B ??RCCU_FrequencyValue_10
143 case 3: Mul = 16; break;
\ ??RCCU_FrequencyValue_14:
\ 000000FC 1000A0E3 MOV R0,#+16
\ 00000100 0060B0E1 MOVS R6,R0
144 }
145 Div = ( RCCU->PLL1CR & RCCU_DX_Mask ) + 1;
\ ??RCCU_FrequencyValue_10:
\ 00000104 1800A0E3 MOV R0,#+24
\ 00000108 A00480E3 ORR R0,R0,#0xA0000000
\ 0000010C 000090E5 LDR R0,[R0, #+0]
\ 00000110 070010E2 ANDS R0,R0,#0x7
\ 00000114 010090E2 ADDS R0,R0,#+1
\ 00000118 0050B0E1 MOVS R5,R0
146 break;}
\ 0000011C 050000EA B ??RCCU_FrequencyValue_6
147 case RCCU_RTC_CLOCK : Mul = 1;
\ ??RCCU_FrequencyValue_15:
\ 00000120 0100A0E3 MOV R0,#+1
\ 00000124 0060B0E1 MOVS R6,R0
148 Div = 1;
\ 00000128 0100A0E3 MOV R0,#+1
\ 0000012C 0050B0E1 MOVS R5,R0
149 Tmp = RCCU_RTC_Osc;
\ 00000130 800CA0E3 MOV R0,#+32768
\ 00000134 0080B0E1 MOVS R8,R0
150 break;}}
151
152 switch ( Internal_Clk ){
\ ??RCCU_FrequencyValue_6:
\ 00000138 0400B0E1 MOVS R0,R4
\ 0000013C 020040E2 SUB R0,R0,#+2
\ 00000140 020050E3 CMP R0,#+2
\ 00000144 1700008A BHI ??RCCU_FrequencyValue_16
\ 00000148 011F8FE2 ADR R1,??RCCU_FrequencyValue_2
\ 0000014C 0010D1E7 LDRB R1,[R1, R0]
\ 00000150 01F18FE0 ADD PC,PC,R1, LSL #+2
\ ??RCCU_FrequencyValue_2:
\ 00000154 00060F00 DC8 +0,+6,+15,+0
153 case RCCU_MCLK :{Div <<= PCU->MDIVR & RCCU_FACT_Mask;
\ ??RCCU_FrequencyValue_17:
\ 00000158 4000A0E3 MOV R0,#+64
\ 0000015C A00480E3 ORR R0,R0,#0xA0000000
\ 00000160 B000D0E1 LDRH R0,[R0, #+0]
\ 00000164 030010E2 ANDS R0,R0,#0x3
\ 00000168 1550B0E1 LSLS R5,R5,R0
154 break;}
\ 0000016C 0D0000EA B ??RCCU_FrequencyValue_16
155 case RCCU_PCLK :{Div <<=(PCU->PDIVR & RCCU_FACT2_Mask ) >> RCCU_FACT2_Index;
\ ??RCCU_FrequencyValue_18:
\ 00000170 4400A0E3 MOV R0,#+68
\ 00000174 A00480E3 ORR R0,R0,#0xA0000000
\ 00000178 B000D0E1 LDRH R0,[R0, #+0]
\ 0000017C 0008A0E1 MOV R0,R0, LSL #+16
\ 00000180 2008B0E1 MOVS R0,R0, LSR #+16
\ 00000184 C00F10E2 ANDS R0,R0,#0x300
\ 00000188 4004B0E1 ASRS R0,R0,#+8
\ 0000018C 1550B0E1 LSLS R5,R5,R0
156 break;}
\ 00000190 040000EA B ??RCCU_FrequencyValue_16
157 case RCCU_FCLK :{Div <<= PCU->PDIVR & 0x3;
\ ??RCCU_FrequencyValue_19:
\ 00000194 4400A0E3 MOV R0,#+68
\ 00000198 A00480E3 ORR R0,R0,#0xA0000000
\ 0000019C B000D0E1 LDRH R0,[R0, #+0]
\ 000001A0 030010E2 ANDS R0,R0,#0x3
\ 000001A4 1550B0E1 LSLS R5,R5,R0
158 break;}}
159
160 return (Tmp * Mul) / Div;
\ ??RCCU_FrequencyValue_16:
\ 000001A8 FF6016E2 ANDS R6,R6,#0xFF ;; Zero extend
\ 000001AC 960810E0 MULS R0,R6,R8
\ 000001B0 FF5015E2 ANDS R5,R5,#0xFF ;; Zero extend
\ 000001B4 0510B0E1 MOVS R1,R5
\ 000001B8 ........ _BLF ??divu32_a,??rA??divu32_a
\ 000001BC 0100B0E1 MOVS R0,R1
\ 000001C0 F081BDE8 POP {R4-R8,PC} ;; return
161 }
162
163 /******************* (C) COPYRIGHT 2006 STMicroelectronics *****END OF FILE****/
Maximum stack usage in bytes:
Function CSTACK
-------- ------
RCCU_Div2Status 0
RCCU_FrequencyValue 24
RCCU_PLL1Config 16
RCCU_RCLKClockSource 0
RCCU_RCLKSourceConfig 0
Segment part sizes:
Function/Label Bytes
-------------- -----
RCCU_Div2Status 32
RCCU_PLL1Config 164
RCCU_RCLKSourceConfig 328
RCCU_RCLKClockSource 80
RCCU_FrequencyValue 452
Others 24
1 080 bytes in segment CODE
1 024 bytes of CODE memory (+ 56 bytes shared)
Errors: none
Warnings: none
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -