⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bsp.txt

📁 ucos2.86版本结合STM板极支持包
💻 TXT
📖 第 1 页 / 共 3 页
字号:
; 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

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -