📄 bsp.txt
字号:
; generated by ARM/Thumb C/C++ Compiler with , RVCT3.1 [Build 942] for uVision
; commandline ArmCC [--debug -c --asm --interleave -o.\rvmdk\bsp.o --depend=.\rvmdk\bsp.d --device=DARMSTM --apcs=interwork -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 -IC:\Keil\ARM\INC\ST\STM32F10x ..\BSP\bsp.c]
THUMB
AREA ||.text||, CODE, READONLY, ALIGN=2
Tmr_TickInit PROC
;;;716 static void Tmr_TickInit (void)
;;;717 {
000000 b500 PUSH {lr}
000002 b085 SUB sp,sp,#0x14
;;;718 RCC_ClocksTypeDef rcc_clocks;
;;;719 CPU_INT32U cnts;
;;;720
;;;721
;;;722 RCC_GetClocksFreq(&rcc_clocks);
000004 4668 MOV r0,sp
000006 f7fffffe BL RCC_GetClocksFreq
;;;723
;;;724 cnts = (CPU_INT32U)rcc_clocks.HCLK_Frequency / OS_TICKS_PER_SEC;
00000a 9801 LDR r0,[sp,#4]
00000c 2164 MOVS r1,#0x64
00000e fbb0f0f1 UDIV r0,r0,r1
;;;725
;;;726 SysTick_SetReload(cnts);
000012 f7fffffe BL SysTick_SetReload
;;;727 SysTick_CLKSourceConfig(SysTick_CLKSource_HCLK);
000016 2004 MOVS r0,#4
000018 f7fffffe BL SysTick_CLKSourceConfig
;;;728 SysTick_CounterCmd(SysTick_Counter_Enable);
00001c 2001 MOVS r0,#1
00001e f7fffffe BL SysTick_CounterCmd
;;;729 SysTick_ITConfig(ENABLE);
000022 2001 MOVS r0,#1
000024 f7fffffe BL SysTick_ITConfig
;;;730 }
000028 b005 ADD sp,sp,#0x14
00002a bd00 POP {pc}
;;;731
ENDP
Joystick_Init PROC
;;;319 static void Joystick_Init (void)
;;;320 {
00002c b508 PUSH {r3,lr}
;;;321 GPIO_InitTypeDef gpio_init;
;;;322
;;;323
;;;324 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD , ENABLE);
00002e 2101 MOVS r1,#1
000030 2020 MOVS r0,#0x20
000032 f7fffffe BL RCC_APB2PeriphClockCmd
;;;325
;;;326 /* Configure JOY_UP, JOY_SEL, JOY_DOWN */
;;;327 gpio_init.GPIO_Pin = GPIOD_JOY_UP | GPIOD_JOY_SEL | GPIOD_JOY_DOWN|GPIOD_JOY_LEFT | GPIOD_JOY_RIGHT;
000036 f44f4078 MOV r0,#0xf800
00003a f8ad0000 STRH r0,[sp,#0]
;;;328 gpio_init.GPIO_Mode = GPIO_Mode_IN_FLOATING;
00003e 2004 MOVS r0,#4
000040 f88d0003 STRB r0,[sp,#3]
;;;329 GPIO_Init(GPIOD, &gpio_init);
000044 4669 MOV r1,sp
000046 48cd LDR r0,|L1.892|
000048 f7fffffe BL GPIO_Init
;;;330
;;;331 /* Configure JOY_LEFT & JOY_RIGHT */
;;;332 /* gpio_init.GPIO_Pin = GPIOD_JOY_LEFT | GPIOD_JOY_RIGHT;
;;;333 gpio_init.GPIO_Mode = GPIO_Mode_IN_FLOATING;
;;;334 GPIO_Init(GPIOE, &gpio_init);*/
;;;335 }
00004c bd08 POP {r3,pc}
;;;336
ENDP
PB_Init PROC
;;;253 static void PB_Init (void)
;;;254 {
00004e b508 PUSH {r3,lr}
;;;255 GPIO_InitTypeDef gpio_init;
;;;256
;;;257
;;;258 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD, ENABLE);
000050 2101 MOVS r1,#1
000052 2020 MOVS r0,#0x20
000054 f7fffffe BL RCC_APB2PeriphClockCmd
;;;259 gpio_init.GPIO_Pin = GPIOD_PB_KEY2|GPIOD_PB_KEY3;
000058 2018 MOVS r0,#0x18
00005a f8ad0000 STRH r0,[sp,#0]
;;;260 gpio_init.GPIO_Mode = GPIO_Mode_IN_FLOATING;
00005e 2004 MOVS r0,#4
000060 f88d0003 STRB r0,[sp,#3]
;;;261 GPIO_Init(GPIOD, &gpio_init);
000064 4669 MOV r1,sp
000066 48c5 LDR r0,|L1.892|
000068 f7fffffe BL GPIO_Init
;;;262 }
00006c bd08 POP {r3,pc}
;;;263
ENDP
LED_Init PROC
;;;401 static void LED_Init (void)
;;;402 {
00006e b508 PUSH {r3,lr}
;;;403 GPIO_InitTypeDef gpio_init;
;;;404
;;;405
;;;406 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);
000070 2101 MOVS r1,#1
000072 2010 MOVS r0,#0x10
000074 f7fffffe BL RCC_APB2PeriphClockCmd
;;;407
;;;408 gpio_init.GPIO_Pin = GPIOC_LED1 | GPIOC_LED2 | GPIOC_LED3 | GPIOC_LED4;
000078 20f0 MOVS r0,#0xf0
00007a f8ad0000 STRH r0,[sp,#0]
;;;409 gpio_init.GPIO_Speed = GPIO_Speed_50MHz;
00007e 2003 MOVS r0,#3
000080 f88d0002 STRB r0,[sp,#2]
;;;410 gpio_init.GPIO_Mode = GPIO_Mode_Out_PP;
000084 2010 MOVS r0,#0x10
000086 f88d0003 STRB r0,[sp,#3]
;;;411 GPIO_Init(GPIOC, &gpio_init);
00008a 4669 MOV r1,sp
00008c 48bc LDR r0,|L1.896|
00008e f7fffffe BL GPIO_Init
;;;412 }
000092 bd08 POP {r3,pc}
;;;413
ENDP
BSP_Init PROC
;;;154 void BSP_Init (void)
;;;155 {
000094 b510 PUSH {r4,lr}
;;;156 RCC_DeInit();
000096 f7fffffe BL RCC_DeInit
;;;157 RCC_HSEConfig(RCC_HSE_ON);
00009a f44f3080 MOV r0,#0x10000
00009e f7fffffe BL RCC_HSEConfig
;;;158 RCC_WaitForHSEStartUp();
0000a2 f7fffffe BL RCC_WaitForHSEStartUp
;;;159
;;;160
;;;161 RCC_HCLKConfig(RCC_SYSCLK_Div1);
0000a6 2000 MOVS r0,#0
0000a8 f7fffffe BL RCC_HCLKConfig
;;;162 RCC_PCLK2Config(RCC_HCLK_Div1);
0000ac 2000 MOVS r0,#0
0000ae f7fffffe BL RCC_PCLK2Config
;;;163 RCC_PCLK1Config(RCC_HCLK_Div2);
0000b2 f44f6080 MOV r0,#0x400
0000b6 f7fffffe BL RCC_PCLK1Config
;;;164 RCC_ADCCLKConfig(RCC_PCLK2_Div6);
0000ba f44f4000 MOV r0,#0x8000
0000be f7fffffe BL RCC_ADCCLKConfig
;;;165 FLASH_SetLatency(FLASH_Latency_2);
0000c2 2002 MOVS r0,#2
0000c4 f7fffffe BL FLASH_SetLatency
;;;166 FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);
0000c8 2010 MOVS r0,#0x10
0000ca f7fffffe BL FLASH_PrefetchBufferCmd
;;;167 RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_9);
0000ce f44f11e0 MOV r1,#0x1c0000
0000d2 f44f3080 MOV r0,#0x10000
0000d6 f7fffffe BL RCC_PLLConfig
;;;168 RCC_PLLCmd(ENABLE);
0000da 2001 MOVS r0,#1
0000dc f7fffffe BL RCC_PLLCmd
|L1.224|
;;;169
;;;170 while (RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET) {
0000e0 2039 MOVS r0,#0x39
0000e2 f7fffffe BL RCC_GetFlagStatus
0000e6 2800 CMP r0,#0
0000e8 d0fa BEQ |L1.224|
;;;171 ;
;;;172 }
;;;173
;;;174 RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);
0000ea 2002 MOVS r0,#2
0000ec f7fffffe BL RCC_SYSCLKConfig
|L1.240|
;;;175
;;;176 while (RCC_GetSYSCLKSource() != 0x08) {
0000f0 f7fffffe BL RCC_GetSYSCLKSource
0000f4 2808 CMP r0,#8
0000f6 d1fb BNE |L1.240|
;;;177 ;
;;;178 }
;;;179
;;;180 LED_Init(); /* Initialize the I/Os for the LED controls */
0000f8 f7fffffe BL LED_Init
;;;181 PB_Init(); /* Initialize the I/Os for the PB control */
0000fc f7fffffe BL PB_Init
;;;182 Joystick_Init(); /* Initialize the I/Os for the Joystick control */
000100 f7fffffe BL Joystick_Init
;;;183
;;;184 LCD_Init();
000104 f7fffffe BL LCD_Init
;;;185 LCD_Clear();
000108 f7fffffe BL LCD_Clear
;;;186
;;;187
;;;188 Tmr_TickInit(); /* Initialize the uC/OS-II tick interrupt */
00010c e8bd4010 POP {r4,lr}
000110 e7fe B Tmr_TickInit
;;;189 }
;;;190
ENDP
BSP_IntDisAll PROC
;;;205 {
;;;206 CPU_IntDis();
000112 f7ffbffe B.W CPU_IntDis
;;;207 }
;;;208
ENDP
BSP_CPU_ClkFreq PROC
;;;222 CPU_INT32U BSP_CPU_ClkFreq (void)
;;;223 {
000116 b510 PUSH {r4,lr}
;;;224 static RCC_ClocksTypeDef rcc_clocks;
;;;225
;;;226
;;;227 RCC_GetClocksFreq(&rcc_clocks);
000118 489a LDR r0,|L1.900|
00011a f7fffffe BL RCC_GetClocksFreq
;;;228
;;;229 return ((CPU_INT32U)rcc_clocks.HCLK_Frequency);
00011e 4899 LDR r0,|L1.900|
000120 6840 LDR r0,[r0,#4] ; rcc_clocks@BSP_CPU_ClkFreq_0
;;;230 }
000122 bd10 POP {r4,pc}
;;;231
ENDP
PB_GetStatus PROC
;;;279 CPU_BOOLEAN PB_GetStatus (CPU_INT08U pb)
;;;280 {
000124 b510 PUSH {r4,lr}
;;;281 CPU_BOOLEAN status;
;;;282 CPU_INT32U pin;
;;;283
;;;284
;;;285 status = DEF_FALSE;
000126 2400 MOVS r4,#0
;;;286
;;;287 switch (pb) {
000128 4601 MOV r1,r0
00012a 4894 LDR r0,|L1.892|
00012c 2901 CMP r1,#1
00012e d008 BEQ |L1.322|
000130 2902 CMP r1,#2
000132 d104 BNE |L1.318|
;;;288 case 1:
;;;289 pin = GPIO_ReadInputDataBit(GPIOD, GPIOD_PB_KEY2);
;;;290 if (pin == 0) {
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -