?? bsp_periph.lst
字號:
124 case BSP_PERIPH_ID_FLITF:
125 case BSP_PERIPH_ID_CRC:
126 case BSP_PERIPH_ID_OTGFS:
127 case BSP_PERIPH_ID_ETHMAC:
128 case BSP_PERIPH_ID_ETHMACTX:
129 return (clk_freq);
\ ??BSP_PeriphClkFreqGet_0:
\ 00000056 2800 MOVS R0,R5
\ 00000058 1EE0 B.N ??BSP_PeriphClkFreqGet_4
130
131 case BSP_PERIPH_ID_AFIO:
132 case BSP_PERIPH_ID_IOPA:
133 case BSP_PERIPH_ID_IOPB:
134 case BSP_PERIPH_ID_IOPC:
135 case BSP_PERIPH_ID_IOPD:
136 case BSP_PERIPH_ID_IOPE:
137 case BSP_PERIPH_ID_ADC1:
138 case BSP_PERIPH_ID_ADC2:
139 case BSP_PERIPH_ID_TIM1:
140 case BSP_PERIPH_ID_SPI1:
141 case BSP_PERIPH_ID_USART1:
142 clk_div = (BSP_PERIPH_REG_RCC_CFGR & 0x00003800) >> 11;
\ ??BSP_PeriphClkFreqGet_1:
\ 0000005A .... LDR.N R0,??DataTable2 ;; 0x40021004
\ 0000005C 0068 LDR R0,[R0, #+0]
\ 0000005E C0F3C220 UBFX R0,R0,#+11,#+3
\ 00000062 0600 MOVS R6,R0
143 if (clk_div < 4) {
\ 00000064 042E CMP R6,#+4
\ 00000066 01D2 BCS.N ??BSP_PeriphClkFreqGet_5
144 return (clk_freq);
\ 00000068 2800 MOVS R0,R5
\ 0000006A 15E0 B.N ??BSP_PeriphClkFreqGet_4
145 }
146 clk_div = (clk_div - 3) << 1;
\ ??BSP_PeriphClkFreqGet_5:
\ 0000006C F01E SUBS R0,R6,#+3
\ 0000006E 4600 LSLS R6,R0,#+1
147 clk_freq /= clk_div;
\ 00000070 B5FBF6F5 UDIV R5,R5,R6
148 return (clk_freq);
\ 00000074 2800 MOVS R0,R5
\ 00000076 0FE0 B.N ??BSP_PeriphClkFreqGet_4
149
150 case BSP_PERIPH_ID_TIM2:
151 case BSP_PERIPH_ID_TIM3:
152 case BSP_PERIPH_ID_TIM4:
153 case BSP_PERIPH_ID_TIM5:
154 case BSP_PERIPH_ID_TIM6:
155 case BSP_PERIPH_ID_TIM7:
156 case BSP_PERIPH_ID_WWDG:
157 case BSP_PERIPH_ID_SPI2:
158 case BSP_PERIPH_ID_SPI3:
159 case BSP_PERIPH_ID_USART2:
160 case BSP_PERIPH_ID_USART3:
161 case BSP_PERIPH_ID_USART4:
162 case BSP_PERIPH_ID_USART5:
163 case BSP_PERIPH_ID_I2C1:
164 case BSP_PERIPH_ID_I2C2:
165 case BSP_PERIPH_ID_CAN1:
166 case BSP_PERIPH_ID_CAN2:
167 case BSP_PERIPH_ID_BKP:
168 case BSP_PERIPH_ID_PWR:
169 case BSP_PERIPH_ID_DAC:
170 clk_div = (BSP_PERIPH_REG_RCC_CFGR & 0x00000700) >> 8;
\ ??BSP_PeriphClkFreqGet_2:
\ 00000078 .... LDR.N R0,??DataTable2 ;; 0x40021004
\ 0000007A 0068 LDR R0,[R0, #+0]
\ 0000007C C0F30220 UBFX R0,R0,#+8,#+3
\ 00000080 0600 MOVS R6,R0
171 if (clk_div < 4) {
\ 00000082 042E CMP R6,#+4
\ 00000084 01D2 BCS.N ??BSP_PeriphClkFreqGet_6
172 return (clk_freq);
\ 00000086 2800 MOVS R0,R5
\ 00000088 06E0 B.N ??BSP_PeriphClkFreqGet_4
173 }
174 clk_div = (clk_div - 3) << 1;
\ ??BSP_PeriphClkFreqGet_6:
\ 0000008A F01E SUBS R0,R6,#+3
\ 0000008C 4600 LSLS R6,R0,#+1
175 clk_freq /= clk_div;
\ 0000008E B5FBF6F5 UDIV R5,R5,R6
176 return (clk_freq);
\ 00000092 2800 MOVS R0,R5
\ 00000094 00E0 B.N ??BSP_PeriphClkFreqGet_4
177 }
178
179 return ((CPU_INT32U)0);
\ ??BSP_PeriphClkFreqGet_3:
\ 00000096 0020 MOVS R0,#+0
\ ??BSP_PeriphClkFreqGet_4:
\ 00000098 70BD POP {R4-R6,PC} ;; return
180 }
181
182
183 /*
184 *********************************************************************************************************
185 * BSP_PeriphEn()
186 *
187 * Description : Enable clock for peripheral.
188 *
189 * Argument(s) : pwr_clk_id Power/clock ID.
190 *
191 * Return(s) : none.
192 *
193 * Caller(s) : Application.
194 *
195 * Note(s) : none.
196 *********************************************************************************************************
197 */
198
\ In section .text, align 2, keep-with-next
199 void BSP_PeriphEn (CPU_DATA pwr_clk_id)
200 {
201 switch (pwr_clk_id) {
\ BSP_PeriphEn:
\ 00000000 0100 MOVS R1,R0
\ 00000002 0029 CMP R1,#+0
\ 00000004 0229 CMP R1,#+2
\ 00000006 21D9 BLS.N ??BSP_PeriphEn_0
\ 00000008 091F SUBS R1,R1,#+4
\ 0000000A 1FD0 BEQ.N ??BSP_PeriphEn_0
\ 0000000C 891E SUBS R1,R1,#+2
\ 0000000E 1DD0 BEQ.N ??BSP_PeriphEn_0
\ 00000010 891F SUBS R1,R1,#+6
\ 00000012 1BD0 BEQ.N ??BSP_PeriphEn_0
\ 00000014 891E SUBS R1,R1,#+2
\ 00000016 0129 CMP R1,#+1
\ 00000018 18D9 BLS.N ??BSP_PeriphEn_0
\ 0000001A 1239 SUBS R1,R1,#+18
\ 0000001C 1ED0 BEQ.N ??BSP_PeriphEn_1
\ 0000001E 891E SUBS R1,R1,#+2
\ 00000020 0429 CMP R1,#+4
\ 00000022 1BD9 BLS.N ??BSP_PeriphEn_1
\ 00000024 C91F SUBS R1,R1,#+7
\ 00000026 0329 CMP R1,#+3
\ 00000028 18D9 BLS.N ??BSP_PeriphEn_1
\ 0000002A 491F SUBS R1,R1,#+5
\ 0000002C 16D0 BEQ.N ??BSP_PeriphEn_1
\ 0000002E 1239 SUBS R1,R1,#+18
\ 00000030 0529 CMP R1,#+5
\ 00000032 1DD9 BLS.N ??BSP_PeriphEn_2
\ 00000034 0B39 SUBS R1,R1,#+11
\ 00000036 1BD0 BEQ.N ??BSP_PeriphEn_2
\ 00000038 C91E SUBS R1,R1,#+3
\ 0000003A 0129 CMP R1,#+1
\ 0000003C 18D9 BLS.N ??BSP_PeriphEn_2
\ 0000003E C91E SUBS R1,R1,#+3
\ 00000040 0529 CMP R1,#+5
\ 00000042 15D9 BLS.N ??BSP_PeriphEn_2
\ 00000044 0839 SUBS R1,R1,#+8
\ 00000046 0429 CMP R1,#+4
\ 00000048 12D9 BLS.N ??BSP_PeriphEn_2
\ 0000004A 1AE0 B.N ??BSP_PeriphEn_3
202 case BSP_PERIPH_ID_DMA1:
203 case BSP_PERIPH_ID_DMA2:
204 case BSP_PERIPH_ID_SRAM:
205 case BSP_PERIPH_ID_FLITF:
206 case BSP_PERIPH_ID_CRC:
207 case BSP_PERIPH_ID_OTGFS:
208 case BSP_PERIPH_ID_ETHMAC:
209 case BSP_PERIPH_ID_ETHMACTX:
210 BSP_PERIPH_REG_RCC_AHBENR |= DEF_BIT(pwr_clk_id);
\ ??BSP_PeriphEn_0:
\ 0000004C .... LDR.N R1,??DataTable2_1 ;; 0x40021014
\ 0000004E 0968 LDR R1,[R1, #+0]
\ 00000050 0122 MOVS R2,#+1
\ 00000052 8240 LSLS R2,R2,R0
\ 00000054 1143 ORRS R1,R2,R1
\ 00000056 .... LDR.N R2,??DataTable2_1 ;; 0x40021014
\ 00000058 1160 STR R1,[R2, #+0]
211 break;
\ 0000005A 12E0 B.N ??BSP_PeriphEn_3
212
213 case BSP_PERIPH_ID_AFIO:
214 case BSP_PERIPH_ID_IOPA:
215 case BSP_PERIPH_ID_IOPB:
216 case BSP_PERIPH_ID_IOPC:
217 case BSP_PERIPH_ID_IOPD:
218 case BSP_PERIPH_ID_IOPE:
219 case BSP_PERIPH_ID_ADC1:
220 case BSP_PERIPH_ID_ADC2:
221 case BSP_PERIPH_ID_TIM1:
222 case BSP_PERIPH_ID_SPI1:
223 case BSP_PERIPH_ID_USART1:
224 BSP_PERIPH_REG_RCC_APB2ENR |= DEF_BIT(pwr_clk_id - 32);
\ ??BSP_PeriphEn_1:
\ 0000005C .... LDR.N R1,??DataTable2_2 ;; 0x40021018
\ 0000005E 0968 LDR R1,[R1, #+0]
\ 00000060 0122 MOVS R2,#+1
\ 00000062 0300 MOVS R3,R0
\ 00000064 203B SUBS R3,R3,#+32
\ 00000066 9A40 LSLS R2,R2,R3
\ 00000068 1143 ORRS R1,R2,R1
\ 0000006A .... LDR.N R2,??DataTable2_2 ;; 0x40021018
\ 0000006C 1160 STR R1,[R2, #+0]
225 break;
\ 0000006E 08E0 B.N ??BSP_PeriphEn_3
226
227 case BSP_PERIPH_ID_TIM2:
228 case BSP_PERIPH_ID_TIM3:
229 case BSP_PERIPH_ID_TIM4:
230 case BSP_PERIPH_ID_TIM5:
231 case BSP_PERIPH_ID_TIM6:
232 case BSP_PERIPH_ID_TIM7:
233 case BSP_PERIPH_ID_WWDG:
234 case BSP_PERIPH_ID_SPI2:
235 case BSP_PERIPH_ID_SPI3:
236 case BSP_PERIPH_ID_USART2:
237 case BSP_PERIPH_ID_USART3:
238 case BSP_PERIPH_ID_USART4:
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -