📄 bsp.lst
字号:
\ In segment CODE, align 4, keep-with-next
165 void BSP_Init (void)
166 {
\ BSP_Init:
\ 00000000 00B5 PUSH {LR}
167 BSP_IntInit();
\ 00000002 ........ _BLF BSP_IntInit,??BSP_IntInit??rT
168
169 RCC_DeInit();
\ 00000006 ........ _BLF RCC_DeInit,??RCC_DeInit??rT
170 RCC_HSEConfig(RCC_HSE_ON);
\ 0000000A 5FF48030 MOVS R0,#+65536
\ 0000000E ........ _BLF RCC_HSEConfig,??RCC_HSEConfig??rT
171 RCC_WaitForHSEStartUp();
\ 00000012 ........ _BLF RCC_WaitForHSEStartUp,??RCC_WaitForHSEStartUp??rT
172
173
174 RCC_HCLKConfig(RCC_SYSCLK_Div1);
\ 00000016 0020 MOVS R0,#+0
\ 00000018 ........ _BLF RCC_HCLKConfig,??RCC_HCLKConfig??rT
175 RCC_PCLK2Config(RCC_HCLK_Div1);
\ 0000001C 0020 MOVS R0,#+0
\ 0000001E ........ _BLF RCC_PCLK2Config,??RCC_PCLK2Config??rT
176 RCC_PCLK1Config(RCC_HCLK_Div2);
\ 00000022 5FF48060 MOVS R0,#+1024
\ 00000026 ........ _BLF RCC_PCLK1Config,??RCC_PCLK1Config??rT
177 RCC_ADCCLKConfig(RCC_PCLK2_Div6);
\ 0000002A 5FF40040 MOVS R0,#+32768
\ 0000002E ........ _BLF RCC_ADCCLKConfig,??RCC_ADCCLKConfig??rT
178 FLASH_SetLatency(FLASH_Latency_2);
\ 00000032 0220 MOVS R0,#+2
\ 00000034 ........ _BLF FLASH_SetLatency,??FLASH_SetLatency??rT
179 FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);
\ 00000038 1020 MOVS R0,#+16
\ 0000003A ........ _BLF FLASH_PrefetchBufferCmd,??FLASH_PrefetchBufferCmd??rT
180 RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_9);
\ 0000003E 5FF4E011 MOVS R1,#+1835008
\ 00000042 5FF48030 MOVS R0,#+65536
\ 00000046 ........ _BLF RCC_PLLConfig,??RCC_PLLConfig??rT
181 RCC_PLLCmd(ENABLE);
\ 0000004A 0120 MOVS R0,#+1
\ 0000004C ........ _BLF RCC_PLLCmd,??RCC_PLLCmd??rT
182
183 while (RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET) {
\ ??BSP_Init_0:
\ 00000050 3920 MOVS R0,#+57
\ 00000052 ........ _BLF RCC_GetFlagStatus,??RCC_GetFlagStatus??rT
\ 00000056 0028 CMP R0,#+0
\ 00000058 FAD0 BEQ.N ??BSP_Init_0
184 ;
185 }
186
187 RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);
\ 0000005A 0220 MOVS R0,#+2
\ 0000005C ........ _BLF RCC_SYSCLKConfig,??RCC_SYSCLKConfig??rT
188
189 while (RCC_GetSYSCLKSource() != 0x08) {
\ ??BSP_Init_1:
\ 00000060 ........ _BLF RCC_GetSYSCLKSource,??RCC_GetSYSCLKSource??rT
\ 00000064 0828 CMP R0,#+8
\ 00000066 FBD1 BNE.N ??BSP_Init_1
190 ;
191 }
192
193 BSP_ADC_Init(); /* Initialize the I/Os for the ADC controls. */
\ 00000068 ........ BL BSP_ADC_Init
194 BSP_LED_Init(); /* Initialize the I/Os for the LED controls. */
\ 0000006C ........ BL BSP_LED_Init
195 BSP_PB_Init(); /* Initialize the I/Os for the PB control. */
\ 00000070 ........ BL BSP_PB_Init
196 BSP_Joystick_Init(); /* Initialize the I/Os for the Joystick control. */
\ 00000074 ........ BL BSP_Joystick_Init
197
198 STM3210E_LCD_Init();
\ 00000078 ........ _BLF STM3210E_LCD_Init,??STM3210E_LCD_Init??rT
199 LCD_Clear(0xFFFF);
\ 0000007C .... LDR.N R0,??DataTable0 ;; 0xffff
\ 0000007E ........ _BLF LCD_Clear,??LCD_Clear??rT
200 }
\ 00000082 00BD POP {PC} ;; return
201
202
203 /*
204 *********************************************************************************************************
205 * BSP_CPU_ClkFreq()
206 *
207 * Description : Read CPU registers to determine the CPU clock frequency of the chip.
208 *
209 * Argument(s) : none.
210 *
211 * Return(s) : The CPU clock frequency, in Hz.
212 *
213 * Caller(s) : Application.
214 *
215 * Note(s) : none.
216 *********************************************************************************************************
217 */
218
\ In segment CODE, align 4, keep-with-next
219 CPU_INT32U BSP_CPU_ClkFreq (void)
220 {
\ BSP_CPU_ClkFreq:
\ 00000000 00B5 PUSH {LR}
\ 00000002 85B0 SUB SP,SP,#+20
221 RCC_ClocksTypeDef rcc_clocks;
222
223
224 RCC_GetClocksFreq(&rcc_clocks);
\ 00000004 6846 MOV R0,SP
\ 00000006 ........ _BLF RCC_GetClocksFreq,??RCC_GetClocksFreq??rT
225
226 return ((CPU_INT32U)rcc_clocks.HCLK_Frequency);
\ 0000000A 0198 LDR R0,[SP, #+4]
\ 0000000C 05B0 ADD SP,SP,#+20
\ 0000000E 00BD POP {PC} ;; return
227 }
228
229 /*
230 *********************************************************************************************************
231 *********************************************************************************************************
232 * OS CORTEX-M3 FUNCTIONS
233 *********************************************************************************************************
234 *********************************************************************************************************
235 */
236
237 /*
238 *********************************************************************************************************
239 * OS_CPU_SysTickClkFreq()
240 *
241 * Description : Get system tick clock frequency.
242 *
243 * Argument(s) : none.
244 *
245 * Return(s) : Clock frequency (of system tick).
246 *
247 * Caller(s) : BSP_Init().
248 *
249 * Note(s) : none.
250 *********************************************************************************************************
251 */
252
\ In segment CODE, align 4, keep-with-next
253 INT32U OS_CPU_SysTickClkFreq (void)
254 {
\ OS_CPU_SysTickClkFreq:
\ 00000000 00B5 PUSH {LR}
255 INT32U freq;
256
257
258 freq = BSP_CPU_ClkFreq();
259 return (freq);
\ 00000002 ........ BL BSP_CPU_ClkFreq
\ 00000006 00BD POP {PC} ;; return
260 }
261
262
263 /*
264 *********************************************************************************************************
265 *********************************************************************************************************
266 * ADC FUNCTIONS
267 *********************************************************************************************************
268 *********************************************************************************************************
269 */
270
271 /*
272 *********************************************************************************************************
273 * BSP_ADC_Init()
274 *
275 * Description : Initialize the board's ADC
276 *
277 * Argument(s) : none.
278 *
279 * Return(s) : none.
280 *
281 * Caller(s) : BSP_Init().
282 *
283 * Note(s) : none.
284 *********************************************************************************************************
285 */
286
\ In segment CODE, align 4, keep-with-next
287 static void BSP_ADC_Init (void)
288 {
\ BSP_ADC_Init:
\ 00000000 10B5 PUSH {R4,LR}
\ 00000002 86B0 SUB SP,SP,#+24
289 ADC_InitTypeDef adc_init;
290 GPIO_InitTypeDef gpio_init;
291
292
293 RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1, ENABLE);
\ 00000004 0121 MOVS R1,#+1
\ 00000006 4802 LSLS R0,R1,#+9
\ 00000008 ........ _BLF RCC_APB2PeriphClockCmd,??RCC_APB2PeriphClockCmd??rT
294 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);
\ 0000000C 0121 MOVS R1,#+1
\ 0000000E 1020 MOVS R0,#+16
\ 00000010 ........ _BLF RCC_APB2PeriphClockCmd,??RCC_APB2PeriphClockCmd??rT
295
296 gpio_init.GPIO_Pin = GPIO_Pin_4;
\ 00000014 1020 MOVS R0,#+16
\ 00000016 ADF80000 STRH R0,[SP, #+0]
297 gpio_init.GPIO_Mode = GPIO_Mode_AIN;
\ 0000001A 0024 MOVS R4,#+0
\ 0000001C 2000 MOVS R0,R4
\ 0000001E 8DF80300 STRB R0,[SP, #+3]
298 GPIO_Init(GPIOC, &gpio_init);
\ 00000022 6946 MOV R1,SP
\ 00000024 .... LDR.N R0,??DataTable14 ;; 0x40011000
\ 00000026 ........ _BLF GPIO_Init,??GPIO_Init??rT
299
300 adc_init.ADC_Mode = ADC_Mode_Independent;
\ 0000002A 0194 STR R4,[SP, #+4]
301 adc_init.ADC_ScanConvMode = DISABLE;
\ 0000002C 2000 MOVS R0,R4
\ 0000002E 8DF80800 STRB R0,[SP, #+8]
302 adc_init.ADC_ContinuousConvMode = ENABLE;
\ 00000032 0120 MOVS R0,#+1
\ 00000034 8DF80900 STRB R0,[SP, #+9]
303 adc_init.ADC_ExternalTrigConv = ADC_ExternalTrigConv_None;
\ 00000038 5FF46021 MOVS R1,#+917504
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -