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

📄 bsp.lst

📁 针对STM32F103的UCOS移植
💻 LST
📖 第 1 页 / 共 5 页
字号:
    161              FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);
   \   00000034   1020               MOVS     R0,#+16
   \   00000036   ........           _BLF     FLASH_PrefetchBufferCmd,??FLASH_PrefetchBufferCmd??rT
    162              RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_9);
   \   0000003A   5FF4E011           MOVS     R1,#+1835008
   \   0000003E   5FF48030           MOVS     R0,#+65536
   \   00000042   ........           _BLF     RCC_PLLConfig,??RCC_PLLConfig??rT
    163              RCC_PLLCmd(ENABLE);
   \   00000046   0120               MOVS     R0,#+1
   \   00000048   ........           _BLF     RCC_PLLCmd,??RCC_PLLCmd??rT
    164          
    165              while (RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET) {
   \                     ??BSP_Init_0:
   \   0000004C   3920               MOVS     R0,#+57
   \   0000004E   ........           _BLF     RCC_GetFlagStatus,??RCC_GetFlagStatus??rT
   \   00000052   0028               CMP      R0,#+0
   \   00000054   FAD0               BEQ.N    ??BSP_Init_0
    166                  ;
    167              }
    168          
    169              RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);
   \   00000056   0220               MOVS     R0,#+2
   \   00000058   ........           _BLF     RCC_SYSCLKConfig,??RCC_SYSCLKConfig??rT
    170          
    171              while (RCC_GetSYSCLKSource() != 0x08) {
   \                     ??BSP_Init_1:
   \   0000005C   ........           _BLF     RCC_GetSYSCLKSource,??RCC_GetSYSCLKSource??rT
   \   00000060   0828               CMP      R0,#+8
   \   00000062   FBD1               BNE.N    ??BSP_Init_1
    172                  ;
    173              }
    174          
    175              LED_Init();                                                 /* Initialize the I/Os for the LED      controls            */
   \   00000064   ........           BL       LED_Init
    176              PB_Init();                                                  /* Initialize the I/Os for the PB       control             */
   \   00000068   ........           BL       PB_Init
    177              Joystick_Init();                                            /* Initialize the I/Os for the Joystick control             */
   \   0000006C   ........           BL       Joystick_Init
    178          
    179              LCD_Init();
   \   00000070   ........           _BLF     LCD_Init,??LCD_Init??rT
    180              LCD_Clear();
   \   00000074   ........           _BLF     LCD_Clear,??LCD_Clear??rT
    181          
    182          
    183              Tmr_TickInit();                                             /* Initialize the uC/OS-II tick interrupt                   */
   \   00000078   ........           BL       Tmr_TickInit
    184          }
   \   0000007C   00BD               POP      {PC}             ;; return
    185          
    186          
    187          /*
    188          *********************************************************************************************************
    189          *                                     DISABLE ALL INTERRUPTS
    190          *
    191          * Description : This function disables all interrupts from the interrupt controller.
    192          *
    193          * Arguments   : None.
    194          *
    195          * Returns     : None.
    196          *********************************************************************************************************
    197          */
    198          

   \                                 In segment CODE, align 4, keep-with-next
    199          void  BSP_IntDisAll (void)
    200          {
   \                     BSP_IntDisAll:
   \   00000000   00B5               PUSH     {LR}
    201              CPU_IntDis();
   \   00000002   ........           _BLF     CPU_IntDis,??CPU_IntDis??rT
    202          }
   \   00000006   00BD               POP      {PC}             ;; return
    203          
    204          
    205          /*
    206          *********************************************************************************************************
    207          *                                      GET THE CPU CLOCK FREQUENCY
    208          *
    209          * Description: This function reads CPU registers to determine the CPU clock frequency of the chip in KHz.
    210          *
    211          * Argument(s): None.
    212          *
    213          * Returns    : The CPU clock frequency, in Hz.
    214          *********************************************************************************************************
    215          */
    216          

   \                                 In segment CODE, align 4, keep-with-next
    217          CPU_INT32U  BSP_CPU_ClkFreq (void)
    218          {
   \                     BSP_CPU_ClkFreq:
   \   00000000   10B5               PUSH     {R4,LR}
    219              static  RCC_ClocksTypeDef  rcc_clocks;
    220          
    221          
    222              RCC_GetClocksFreq(&rcc_clocks);
   \   00000002   034C               LDR.N    R4,??BSP_CPU_ClkFreq_0  ;; ??rcc_clocks
   \   00000004   2000               MOVS     R0,R4
   \   00000006   ........           _BLF     RCC_GetClocksFreq,??RCC_GetClocksFreq??rT
    223          
    224              return ((CPU_INT32U)rcc_clocks.HCLK_Frequency);
   \   0000000A   6068               LDR      R0,[R4, #+4]
   \   0000000C   10BD               POP      {R4,PC}          ;; return
   \   0000000E   00BF               Nop      
   \                     ??BSP_CPU_ClkFreq_0:
   \   00000010   ........           DC32     ??rcc_clocks
    225          }

   \                                 In segment DATA_Z, align 4, align-sorted
   \                     ??rcc_clocks:
   \   00000000                      DS8 20
    226          
    227          
    228          /*
    229          ******************************************************************************************************************************
    230          ******************************************************************************************************************************
    231          **                                       PB and LED Functions
    232          ******************************************************************************************************************************
    233          ******************************************************************************************************************************
    234          */
    235          
    236          /*
    237          *********************************************************************************************************
    238          *                                         PB INITIALIZATION
    239          *
    240          * Description : This function initializes the board's PB
    241          *
    242          * Arguments   : none
    243          *
    244          * Returns     ; none
    245          *********************************************************************************************************
    246          */
    247          

   \                                 In segment CODE, align 4, keep-with-next
    248          static  void  PB_Init (void)
    249          {
   \                     PB_Init:
   \   00000000   01B5               PUSH     {R0,LR}
    250              GPIO_InitTypeDef  gpio_init;
    251          
    252          
    253              RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);
   \   00000002   0121               MOVS     R1,#+1
   \   00000004   0820               MOVS     R0,#+8
   \   00000006   ........           _BLF     RCC_APB2PeriphClockCmd,??RCC_APB2PeriphClockCmd??rT
    254              gpio_init.GPIO_Pin  = GPIOB_PB_KEY;
   \   0000000A   5FF40070           MOVS     R0,#+512
   \   0000000E   ADF80000           STRH     R0,[SP, #+0]
    255              gpio_init.GPIO_Mode = GPIO_Mode_IN_FLOATING;
   \   00000012   0420               MOVS     R0,#+4
   \   00000014   8DF80300           STRB     R0,[SP, #+3]
    256              GPIO_Init(GPIOB, &gpio_init);
   \   00000018   6946               MOV      R1,SP
   \   0000001A   ....               LDR.N    R0,??DataTable1  ;; 0x40010c00
   \   0000001C   ........           _BLF     GPIO_Init,??GPIO_Init??rT
    257          }
   \   00000020   01BD               POP      {R0,PC}          ;; return
    258          
    259          
    260          /*
    261          *********************************************************************************************************
    262          *                                         GET 'PUSH BUTTON' STATUS
    263          *
    264          * Description : This function is used to get the status of any push button on the board.
    265          *
    266          * Arguments   : push_button    is the number of the push button to probe
    267          *                              1    probe the user push button
    268          *
    269          * Returns     : DEF_TRUE  if the push button is pressed
    270          *               DEF_FALSE if the push button is not pressed
    271          *********************************************************************************************************
    272          */
    273          

   \                                 In segment CODE, align 4, keep-with-next
    274          CPU_BOOLEAN  PB_GetStatus (CPU_INT08U pb)
    275          {
   \                     PB_GetStatus:
   \   00000000   10B5               PUSH     {R4,LR}
    276              CPU_BOOLEAN  status;
    277              CPU_INT32U   pin;
    278          
    279          
    280              status = DEF_FALSE;
   \   00000002   0024               MOVS     R4,#+0
    281          
    282              switch (pb) {
   \   00000004   0128               CMP      R0,#+1
   \   00000006   07D1               BNE.N    ??PB_GetStatus_0
    283                  case 1:
    284                       pin = GPIO_ReadInputDataBit(GPIOB, GPIOB_PB_KEY);
   \   00000008   5FF40071           MOVS     R1,#+512
   \   0000000C   ....               LDR.N    R0,??DataTable1  ;; 0x40010c00
   \   0000000E   ........           _BLF     GPIO_ReadInputDataBit,??GPIO_ReadInputDataBit??rT
    285                       if (pin == 0) {
   \   00000012   0028               CMP      R0,#+0
   \   00000014   00D1               BNE.N    ??PB_GetStatus_0
    286                           status = DEF_TRUE;
   \   00000016   0124               MOVS     R4,#+1
    287                       }
    288                       break;
    289          
    290                  default:
    291                       break;
    292              }
    293          
    294              return (status);
   \                     ??PB_GetStatus_0:
   \   00000018   2000               MOVS     R0,R4
   \   0000001A   10BD               POP      {R4,PC}          ;; return
    295          }
    296          
    297          /*
    298          *********************************************************************************************************
    299          *                                         JOYSTICK INITIALIZATION
    300          *
    301          * Description : This function initializes the board's joystick.
    302          *
    303          * Arguments   : none
    304          *
    305          * Returns     : none
    306          *********************************************************************************************************
    307          */
    308          

   \                                 In segment CODE, align 4, keep-with-next
    309          static  void  Joystick_Init (void)
    310          {
   \                     Joystick_Init:
   \   00000000   11B5               PUSH     {R0,R4,LR}
    311              GPIO_InitTypeDef  gpio_init;
    312          
    313          
    314              RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD | RCC_APB2Periph_GPIOE, ENABLE);

⌨️ 快捷键说明

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