?? bsp.txt
字號:
;;;551
;;;552
;;;553 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);
00015e 2101 MOVS r1,#1
000160 2008 MOVS r0,#8
000162 f7fff7ff BL RCC_APB2PeriphClockCmd
;;;554
;;;555 gpio_init.GPIO_Pin = BSP_GPIOC_LED1 | BSP_GPIOC_LED2 ;
000166 f44ff44f MOV r0,#0x300
00016a f8adf8ad STRH r0,[sp,#0]
;;;556 gpio_init.GPIO_Speed = GPIO_Speed_50MHz;
00016e 2003 MOVS r0,#3
000170 f88df88d STRB r0,[sp,#2]
;;;557 gpio_init.GPIO_Mode = GPIO_Mode_Out_PP;
000174 2010 MOVS r0,#0x10
000176 f88df88d STRB r0,[sp,#3]
;;;558 GPIO_Init(GPIOB, &gpio_init);
00017a 4669 MOV r1,sp
00017c 4890 LDR r0,|L1.960|
00017e f7fff7ff BL GPIO_Init
;;;559 }
000182 bd08 POP {r3,pc}
;;;560
ENDP
BSP_ADC_Init PROC
;;;372 static void BSP_ADC_Init (void)
;;;373 {
000184 b530 PUSH {r4,r5,lr}
000186 b087 SUB sp,sp,#0x1c
;;;374 ADC_InitTypeDef adc_init;
;;;375 GPIO_InitTypeDef gpio_init;
;;;376
;;;377
;;;378 RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1, ENABLE);
000188 2101 MOVS r1,#1
00018a 0248 LSLS r0,r1,#9
00018c f7fff7ff BL RCC_APB2PeriphClockCmd
;;;379 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);
000190 2101 MOVS r1,#1
000192 2008 MOVS r0,#8
000194 f7fff7ff BL RCC_APB2PeriphClockCmd
;;;380
;;;381 GPIO_StructInit(&gpio_init);
000198 a801 ADD r0,sp,#4
00019a f7fff7ff BL GPIO_StructInit
;;;382 gpio_init.GPIO_Pin = GPIO_Pin_0;
00019e 2501 MOVS r5,#1
0001a0 f8adf8ad STRH r5,[sp,#4]
;;;383 gpio_init.GPIO_Mode = GPIO_Mode_AIN;
0001a4 2400 MOVS r4,#0
0001a6 f88df88d STRB r4,[sp,#7]
;;;384 GPIO_Init(GPIOB, &gpio_init);
0001aa a901 ADD r1,sp,#4
0001ac 4884 LDR r0,|L1.960|
0001ae f7fff7ff BL GPIO_Init
;;;385
;;;386 adc_init.ADC_Mode = ADC_Mode_Independent;
0001b2 9402 STR r4,[sp,#8]
;;;387 adc_init.ADC_ScanConvMode = DISABLE;
0001b4 f88df88d STRB r4,[sp,#0xc]
;;;388 adc_init.ADC_ContinuousConvMode = ENABLE;
0001b8 f88df88d STRB r5,[sp,#0xd]
;;;389 adc_init.ADC_ExternalTrigConv = ADC_ExternalTrigConv_None;
0001bc f44ff44f MOV r0,#0xe0000
0001c0 9004 STR r0,[sp,#0x10]
;;;390 adc_init.ADC_DataAlign = ADC_DataAlign_Right;
0001c2 9405 STR r4,[sp,#0x14]
;;;391 adc_init.ADC_NbrOfChannel = 1;
0001c4 f88df88d STRB r5,[sp,#0x18]
;;;392 ADC_Init(ADC1, &adc_init);
0001c8 4c7e LDR r4,|L1.964|
0001ca a902 ADD r1,sp,#8
0001cc 4620 MOV r0,r4
0001ce f7fff7ff BL ADC_Init
;;;393
;;;394 ADC_RegularChannelConfig(ADC1, ADC_Channel_8, 1, ADC_SampleTime_13Cycles5);
0001d2 2302 MOVS r3,#2
0001d4 2201 MOVS r2,#1
0001d6 2108 MOVS r1,#8
0001d8 4620 MOV r0,r4
0001da f7fff7ff BL ADC_RegularChannelConfig
;;;395 ADC_Cmd(ADC1, ENABLE);
0001de 2101 MOVS r1,#1
0001e0 4620 MOV r0,r4
0001e2 f7fff7ff BL ADC_Cmd
;;;396 ADC_SoftwareStartConvCmd(ADC1, ENABLE);
0001e6 2101 MOVS r1,#1
0001e8 4620 MOV r0,r4
0001ea f7fff7ff BL ADC_SoftwareStartConvCmd
;;;397 }
0001ee b007 ADD sp,sp,#0x1c
0001f0 bd30 POP {r4,r5,pc}
;;;398
ENDP
BSP_Init PROC
;;;197 void BSP_Init (void)
;;;198 {
0001f2 b51f PUSH {r0-r4,lr}
;;;199 USART_InitTypeDef USART_InitStructure;
;;;200 /* USARTx configuration ------------------------------------------------------*/
;;;201 /* USARTx configured as follow:
;;;202 - BaudRate = 115200 baud
;;;203 - Word Length = 8 Bits
;;;204 - One Stop Bit
;;;205 - No parity
;;;206 - Hardware flow control disabled (RTS and CTS signals)
;;;207 - Receive and transmit enabled
;;;208 */
;;;209 USART_InitStructure.USART_BaudRate = 9600;
0001f4 f44ff44f MOV r0,#0x2580
0001f8 9000 STR r0,[sp,#0]
;;;210 USART_InitStructure.USART_WordLength = USART_WordLength_8b;
0001fa 2000 MOVS r0,#0
0001fc f8adf8ad STRH r0,[sp,#4]
;;;211 USART_InitStructure.USART_StopBits = USART_StopBits_1;
000200 f8adf8ad STRH r0,[sp,#6]
;;;212 USART_InitStructure.USART_Parity = USART_Parity_No ;
000204 f8adf8ad STRH r0,[sp,#8]
;;;213 USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;
000208 f8adf8ad STRH r0,[sp,#0xc]
;;;214 USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;
00020c 200c MOVS r0,#0xc
00020e f8adf8ad STRH r0,[sp,#0xa]
;;;215
;;;216 RCC_DeInit();
000212 f7fff7ff BL RCC_DeInit
;;;217 RCC_HSEConfig(RCC_HSE_ON);
000216 f44ff44f MOV r4,#0x10000
00021a 4620 MOV r0,r4
00021c f7fff7ff BL RCC_HSEConfig
;;;218 RCC_WaitForHSEStartUp();
000220 f7fff7ff BL RCC_WaitForHSEStartUp
;;;219
;;;220 RCC_HCLKConfig(RCC_SYSCLK_Div1);
000224 2000 MOVS r0,#0
000226 f7fff7ff BL RCC_HCLKConfig
;;;221 RCC_PCLK2Config(RCC_HCLK_Div1);
00022a 2000 MOVS r0,#0
00022c f7fff7ff BL RCC_PCLK2Config
;;;222 RCC_PCLK1Config(RCC_HCLK_Div2);
000230 11a0 ASRS r0,r4,#6
000232 f7fff7ff BL RCC_PCLK1Config
;;;223 RCC_ADCCLKConfig(RCC_PCLK2_Div6);
000236 1060 ASRS r0,r4,#1
000238 f7fff7ff BL RCC_ADCCLKConfig
;;;224
;;;225 RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE);
00023c 2101 MOVS r1,#1
00023e 0388 LSLS r0,r1,#14
000240 f7fff7ff BL RCC_APB2PeriphClockCmd
;;;226 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
000244 2101 MOVS r1,#1
000246 2004 MOVS r0,#4
000248 f7fff7ff BL RCC_APB2PeriphClockCmd
;;;227
;;;228 FLASH_SetLatency(FLASH_Latency_2);
00024c 2002 MOVS r0,#2
00024e f7fff7ff BL FLASH_SetLatency
;;;229 FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);
000252 2010 MOVS r0,#0x10
000254 f7fff7ff BL FLASH_PrefetchBufferCmd
;;;230
;;;231 RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_9);
000258 f44ff44f MOV r1,#0x1c0000
00025c 4620 MOV r0,r4
00025e f7fff7ff BL RCC_PLLConfig
;;;232 RCC_PLLCmd(ENABLE);
000262 2001 MOVS r0,#1
000264 f7fff7ff BL RCC_PLLCmd
|L1.616|
;;;233
;;;234 while (RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET) {
000268 2039 MOVS r0,#0x39
00026a f7fff7ff BL RCC_GetFlagStatus
00026e 2800 CMP r0,#0
000270 d0fa BEQ |L1.616|
;;;235 ;
;;;236 }
;;;237
;;;238 RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);
000272 2002 MOVS r0,#2
000274 f7fff7ff BL RCC_SYSCLKConfig
|L1.632|
;;;239
;;;240 while (RCC_GetSYSCLKSource() != 0x08) {
000278 f7fff7ff BL RCC_GetSYSCLKSource
00027c 2808 CMP r0,#8
00027e d1fb BNE |L1.632|
;;;241 ;
;;;242 }
;;;243
;;;244
;;;245 /*
;;;246 SCU_AHBPeriphClockConfig(__VIC,ENABLE);
;;;247
;;;248 //VIC_DeInit();
;;;249 VIC_Config(UART1_ITLine, VIC_IRQ, 15);
;;;250 VIC_ITCmd(UART1_ITLine, ENABLE);
;;;251 */
;;;252
;;;253
;;;254 BSP_ADC_Init(); /* Initialize the I/Os for the ADC controls. */
000280 f7fff7ff BL BSP_ADC_Init
;;;255 BSP_LED_Init(); /* Initialize the I/Os for the LED controls. */
000284 f7fff7ff BL BSP_LED_Init
;;;256 BSP_PB_Init(); /* Initialize the I/Os for the PB control. */
000288 f7fff7ff BL BSP_PB_Init
;;;257 // BSP_Joystick_Init(); /* Initialize the I/Os for the Joystick control. */
;;;258 GPIO_Configuration();
00028c f7fff7ff BL GPIO_Configuration
;;;259 USART_Init(USART1,&USART_InitStructure);
000290 4c47 LDR r4,|L1.944|
000292 4669 MOV r1,sp
000294 4620 MOV r0,r4
000296 f7fff7ff BL USART_Init
;;;260 USART_Cmd(USART1, ENABLE);
00029a 2101 MOVS r1,#1
00029c 4620 MOV r0,r4
00029e f7fff7ff BL USART_Cmd
;;;261 UART2_int();
0002a2 f7fff7ff BL UART2_int
;;;262 }
0002a6 bd1f POP {r0-r4,pc}
;;;263
ENDP
BSP_CPU_ClkFreq PROC
;;;305 CPU_INT32U BSP_CPU_ClkFreq (void)
;;;306 {
0002a8 b500 PUSH {lr}
0002aa b085 SUB sp,sp,#0x14
;;;307 RCC_ClocksTypeDef rcc_clocks;
;;;308
;;;309
;;;310 RCC_GetClocksFreq(&rcc_clocks);
0002ac 4668 MOV r0,sp
0002ae f7fff7ff BL RCC_GetClocksFreq
;;;311
;;;312 return ((CPU_INT32U)rcc_clocks.HCLK_Frequency);
0002b2 9801 LDR r0,[sp,#4]
;;;313 }
0002b4 b005 ADD sp,sp,#0x14
0002b6 bd00 POP {pc}
;;;314
ENDP
OS_CPU_SysTickClkFreq PROC
;;;343
;;;344 freq = BSP_CPU_ClkFreq();
0002b8 e7fe B BSP_CPU_ClkFreq
;;;345 return (freq);
;;;346 }
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -