?? bsp.txt
字號(hào):
; generated by ARM/Thumb C/C++ Compiler with , RVCT3.1 [Build 914] for uVision
; commandline ArmCC [--debug -c --asm --interleave -o.\rvmdk\bsp.o --depend=.\rvmdk\bsp.d --device=DARMSTM -O1 -Otime -I. -I..\BSP -I..\..\..\..\..\uCOS-II\Ports\arm-cortex-m3\Generic\RealView -I..\..\..\..\..\uCOS-II\Source -I..\..\..\..\..\CPU\ST\STM32\inc -I..\..\..\..\..\uC-CPU -I..\..\..\..\..\uC-CPU\Arm-Cortex-M3\RealView -I..\..\..\..\..\uC-LIB -I..\..\..\..\..\uC-Probe\Target\Plugins\uCOS-II -I..\..\..\..\..\uC-Probe\Target\Communication\Generic\Source -I..\..\..\..\..\uC-Probe\Target\Communication\Generic\RS-232\Ports\ST\STM32 -I..\..\..\..\..\uC-Probe\Target\Communication\Generic\RS-232\Source -ID:\Keil\ARM\INC\ST\STM32F10x ..\BSP\bsp.c]
THUMB
AREA ||.text||, CODE, READONLY, ALIGN=2
Tmr_TickInit PROC
;;;706 static void Tmr_TickInit (void)
;;;707 {
000000 b500 PUSH {lr}
000002 b085 SUB sp,sp,#0x14
;;;708 RCC_ClocksTypeDef rcc_clocks;
;;;709 CPU_INT32U cnts;
;;;710
;;;711
;;;712 RCC_GetClocksFreq(&rcc_clocks);
000004 4668 MOV r0,sp
000006 f7fff7ff BL RCC_GetClocksFreq
;;;713
;;;714 cnts = (CPU_INT32U)rcc_clocks.HCLK_Frequency / OS_TICKS_PER_SEC;
00000a 9801 LDR r0,[sp,#4]
00000c 2164 MOVS r1,#0x64
00000e fbb0fbb0 UDIV r0,r0,r1
;;;715
;;;716 SysTick_SetReload(cnts);
000012 f7fff7ff BL SysTick_SetReload
;;;717 SysTick_CLKSourceConfig(SysTick_CLKSource_HCLK);
000016 2004 MOVS r0,#4
000018 f7fff7ff BL SysTick_CLKSourceConfig
;;;718 SysTick_CounterCmd(SysTick_Counter_Enable);
00001c 2001 MOVS r0,#1
00001e f7fff7ff BL SysTick_CounterCmd
;;;719 SysTick_ITConfig(ENABLE);
000022 2001 MOVS r0,#1
000024 f7fff7ff BL SysTick_ITConfig
;;;720 }
000028 b005 ADD sp,sp,#0x14
00002a bd00 POP {pc}
;;;721
ENDP
Joystick_Init PROC
;;;309 static void Joystick_Init (void)
;;;310 {
00002c b538 PUSH {r3-r5,lr}
;;;311 GPIO_InitTypeDef gpio_init;
;;;312
;;;313
;;;314 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD | RCC_APB2Periph_GPIOE, ENABLE);
00002e 2101 MOVS r1,#1
000030 2060 MOVS r0,#0x60
000032 f7fff7ff BL RCC_APB2PeriphClockCmd
;;;315
;;;316 /* Configure JOY_UP, JOY_SEL, JOY_DOWN */
;;;317 gpio_init.GPIO_Pin = GPIOD_JOY_UP | GPIOD_JOY_SEL | GPIOD_JOY_DOWN;
000036 f44ff44f MOV r0,#0x5100
00003a f8adf8ad STRH r0,[sp,#0]
;;;318 gpio_init.GPIO_Mode = GPIO_Mode_IN_FLOATING;
00003e 2404 MOVS r4,#4
000040 f88df88d STRB r4,[sp,#3]
;;;319 GPIO_Init(GPIOD, &gpio_init);
000044 4669 MOV r1,sp
000046 48d4 LDR r0,|L1.920|
000048 f7fff7ff BL GPIO_Init
;;;320
;;;321 /* Configure JOY_LEFT & JOY_RIGHT */
;;;322 gpio_init.GPIO_Pin = GPIOE_JOY_LEFT | GPIOE_JOY_RIGHT;
00004c 2003 MOVS r0,#3
00004e f8adf8ad STRH r0,[sp,#0]
;;;323 gpio_init.GPIO_Mode = GPIO_Mode_IN_FLOATING;
000052 f88df88d STRB r4,[sp,#3]
;;;324 GPIO_Init(GPIOE, &gpio_init);
000056 4669 MOV r1,sp
000058 48d0 LDR r0,|L1.924|
00005a f7fff7ff BL GPIO_Init
;;;325 }
00005e bd38 POP {r3-r5,pc}
;;;326
ENDP
PB_Init PROC
;;;248 static void PB_Init (void)
;;;249 {
000060 b508 PUSH {r3,lr}
;;;250 GPIO_InitTypeDef gpio_init;
;;;251
;;;252
;;;253 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);
000062 2101 MOVS r1,#1
000064 2008 MOVS r0,#8
000066 f7fff7ff BL RCC_APB2PeriphClockCmd
;;;254 gpio_init.GPIO_Pin = GPIOB_PB_KEY;
00006a f44ff44f MOV r0,#0x200
00006e f8adf8ad STRH r0,[sp,#0]
;;;255 gpio_init.GPIO_Mode = GPIO_Mode_IN_FLOATING;
000072 2004 MOVS r0,#4
000074 f88df88d STRB r0,[sp,#3]
;;;256 GPIO_Init(GPIOB, &gpio_init);
000078 4669 MOV r1,sp
00007a 48c9 LDR r0,|L1.928|
00007c f7fff7ff BL GPIO_Init
;;;257 }
000080 bd08 POP {r3,pc}
;;;258
ENDP
LED_Init PROC
;;;391 static void LED_Init (void)
;;;392 {
000082 b508 PUSH {r3,lr}
;;;393 GPIO_InitTypeDef gpio_init;
;;;394
;;;395
;;;396 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);
000084 2101 MOVS r1,#1
000086 2010 MOVS r0,#0x10
000088 f7fff7ff BL RCC_APB2PeriphClockCmd
;;;397
;;;398 gpio_init.GPIO_Pin = GPIOC_LED1 | GPIOC_LED2 | GPIOC_LED3 | GPIOC_LED4;
00008c f44ff44f MOV r0,#0x3c0
000090 f8adf8ad STRH r0,[sp,#0]
;;;399 gpio_init.GPIO_Speed = GPIO_Speed_50MHz;
000094 2003 MOVS r0,#3
000096 f88df88d STRB r0,[sp,#2]
;;;400 gpio_init.GPIO_Mode = GPIO_Mode_Out_PP;
00009a 2010 MOVS r0,#0x10
00009c f88df88d STRB r0,[sp,#3]
;;;401 GPIO_Init(GPIOC, &gpio_init);
0000a0 4669 MOV r1,sp
0000a2 48c0 LDR r0,|L1.932|
0000a4 f7fff7ff BL GPIO_Init
;;;402 }
0000a8 bd08 POP {r3,pc}
;;;403
ENDP
BSP_Init PROC
;;;149 void BSP_Init (void)
;;;150 {
0000aa b510 PUSH {r4,lr}
;;;151 RCC_DeInit();
0000ac f7fff7ff BL RCC_DeInit
;;;152 RCC_HSEConfig(RCC_HSE_ON);
0000b0 f44ff44f MOV r0,#0x10000
0000b4 f7fff7ff BL RCC_HSEConfig
;;;153 RCC_WaitForHSEStartUp();
0000b8 f7fff7ff BL RCC_WaitForHSEStartUp
;;;154
;;;155
;;;156 RCC_HCLKConfig(RCC_SYSCLK_Div1);
0000bc 2000 MOVS r0,#0
0000be f7fff7ff BL RCC_HCLKConfig
;;;157 RCC_PCLK2Config(RCC_HCLK_Div1);
0000c2 2000 MOVS r0,#0
0000c4 f7fff7ff BL RCC_PCLK2Config
;;;158 RCC_PCLK1Config(RCC_HCLK_Div2);
0000c8 f44ff44f MOV r0,#0x400
0000cc f7fff7ff BL RCC_PCLK1Config
;;;159 RCC_ADCCLKConfig(RCC_PCLK2_Div6);
0000d0 f44ff44f MOV r0,#0x8000
0000d4 f7fff7ff BL RCC_ADCCLKConfig
;;;160 FLASH_SetLatency(FLASH_Latency_2);
0000d8 2002 MOVS r0,#2
0000da f7fff7ff BL FLASH_SetLatency
;;;161 FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);
0000de 2010 MOVS r0,#0x10
0000e0 f7fff7ff BL FLASH_PrefetchBufferCmd
;;;162 RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_9);
0000e4 f44ff44f MOV r1,#0x1c0000
0000e8 f44ff44f MOV r0,#0x10000
0000ec f7fff7ff BL RCC_PLLConfig
;;;163 RCC_PLLCmd(ENABLE);
0000f0 2001 MOVS r0,#1
0000f2 f7fff7ff BL RCC_PLLCmd
|L1.246|
;;;164
;;;165 while (RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET) {
0000f6 2039 MOVS r0,#0x39
0000f8 f7fff7ff BL RCC_GetFlagStatus
0000fc 2800 CMP r0,#0
0000fe d0fa BEQ |L1.246|
;;;166 ;
;;;167 }
;;;168
;;;169 RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);
000100 2002 MOVS r0,#2
000102 f7fff7ff BL RCC_SYSCLKConfig
|L1.262|
;;;170
;;;171 while (RCC_GetSYSCLKSource() != 0x08) {
000106 f7fff7ff BL RCC_GetSYSCLKSource
00010a 2808 CMP r0,#8
00010c d1fb BNE |L1.262|
;;;172 ;
;;;173 }
;;;174
;;;175 LED_Init(); /* Initialize the I/Os for the LED controls */
00010e f7fff7ff BL LED_Init
;;;176 PB_Init(); /* Initialize the I/Os for the PB control */
000112 f7fff7ff BL PB_Init
;;;177 Joystick_Init(); /* Initialize the I/Os for the Joystick control */
000116 f7fff7ff BL Joystick_Init
;;;178
;;;179 LCD_Init();
00011a f7fff7ff BL LCD_Init
;;;180 LCD_Clear();
00011e f7fff7ff BL LCD_Clear
;;;181
;;;182
;;;183 Tmr_TickInit(); /* Initialize the uC/OS-II tick interrupt */
000122 e8bde8bd POP {r4,lr}
000126 e7fe B Tmr_TickInit
;;;184 }
;;;185
ENDP
BSP_IntDisAll PROC
;;;200 {
;;;201 CPU_IntDis();
000128 f7fff7ff B.W CPU_IntDis
;;;202 }
;;;203
ENDP
BSP_CPU_ClkFreq PROC
;;;217 CPU_INT32U BSP_CPU_ClkFreq (void)
;;;218 {
00012c b510 PUSH {r4,lr}
;;;219 static RCC_ClocksTypeDef rcc_clocks;
;;;220
;;;221
;;;222 RCC_GetClocksFreq(&rcc_clocks);
00012e 489e LDR r0,|L1.936|
000130 f7fff7ff BL RCC_GetClocksFreq
;;;223
;;;224 return ((CPU_INT32U)rcc_clocks.HCLK_Frequency);
000134 489c LDR r0,|L1.936|
000136 6840 LDR r0,[r0,#4] ; rcc_clocks@BSP_CPU_ClkFreq_0
;;;225 }
000138 bd10 POP {r4,pc}
;;;226
ENDP
PB_GetStatus PROC
;;;274 CPU_BOOLEAN PB_GetStatus (CPU_INT08U pb)
;;;275 {
00013a b510 PUSH {r4,lr}
;;;276 CPU_BOOLEAN status;
;;;277 CPU_INT32U pin;
;;;278
;;;279
;;;280 status = DEF_FALSE;
00013c 2400 MOVS r4,#0
;;;281
;;;282 switch (pb) {
00013e 2801 CMP r0,#1
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -