bsp.lst

来自「stm32+ucos-ii」· LST 代码 · 共 982 行 · 第 1/4 页

LST
982
字号
    182          }
   \   00000028   01BD               POP      {R0,PC}          ;; return
    183          
    184          
    185          /*
    186          *********************************************************************************************************
    187          *                                            BSP_CPU_ClkFreq()
    188          *
    189          * Description : Read CPU registers to determine the CPU clock frequency of the chip.
    190          *
    191          * Argument(s) : none.
    192          *
    193          * Return(s)   : The CPU clock frequency, in Hz.
    194          *
    195          * Caller(s)   : Application.
    196          *
    197          * Note(s)     : none.
    198          *********************************************************************************************************
    199          */
    200          

   \                                 In section .text, align 2, keep-with-next
    201          CPU_INT32U  BSP_CPU_ClkFreq (void)
    202          {
   \                     BSP_CPU_ClkFreq:
   \   00000000   00B5               PUSH     {LR}
   \   00000002   85B0               SUB      SP,SP,#+20
    203              RCC_ClocksTypeDef  rcc_clocks;
    204          
    205          
    206              RCC_GetClocksFreq(&rcc_clocks);
   \   00000004   00A8               ADD      R0,SP,#+0
   \   00000006   ........           BL       RCC_GetClocksFreq
    207          
    208              return ((CPU_INT32U)rcc_clocks.HCLK_Frequency);
   \   0000000A   0198               LDR      R0,[SP, #+4]
   \   0000000C   05B0               ADD      SP,SP,#+20
   \   0000000E   00BD               POP      {PC}             ;; return
    209          }
    210          
    211          
    212          /*
    213          *********************************************************************************************************
    214          *********************************************************************************************************
    215          *                                              LED FUNCTIONS
    216          *********************************************************************************************************
    217          *********************************************************************************************************
    218          */
    219          
    220          /*
    221          *********************************************************************************************************
    222          *                                             BSP_LED_Init()
    223          *
    224          * Description : Initialize the I/O for the LEDs
    225          *
    226          * Argument(s) : none.
    227          *
    228          * Return(s)   : none.
    229          *
    230          * Caller(s)   : BSP_Init().
    231          *
    232          * Note(s)     : none.
    233          *********************************************************************************************************
    234          */
    235          

   \                                 In section .text, align 2, keep-with-next
    236          static  void  BSP_LED_Init (void)
    237          {
   \                     BSP_LED_Init:
   \   00000000   80B5               PUSH     {R7,LR}
    238              GPIO_InitTypeDef  gpio_init;
    239          
    240          
    241              RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD, ENABLE);
   \   00000002   0121               MOVS     R1,#+1
   \   00000004   2020               MOVS     R0,#+32
   \   00000006   ........           BL       RCC_APB2PeriphClockCmd
    242          
    243              gpio_init.GPIO_Pin   = BSP_GPIOD_LEDS;
   \   0000000A   1C20               MOVS     R0,#+28
   \   0000000C   ADF80000           STRH     R0,[SP, #+0]
    244              gpio_init.GPIO_Speed = GPIO_Speed_50MHz;
   \   00000010   0320               MOVS     R0,#+3
   \   00000012   8DF80200           STRB     R0,[SP, #+2]
    245              gpio_init.GPIO_Mode  = GPIO_Mode_Out_PP;
   \   00000016   1020               MOVS     R0,#+16
   \   00000018   8DF80300           STRB     R0,[SP, #+3]
    246          
    247              GPIO_Init(GPIOD, &gpio_init);
   \   0000001C   00A9               ADD      R1,SP,#+0
   \   0000001E   ....               LDR.N    R0,??DataTable6_2  ;; 0x40011400
   \   00000020   ........           BL       GPIO_Init
    248          }
   \   00000024   01BD               POP      {R0,PC}          ;; return
    249          
    250          
    251          /*
    252          *********************************************************************************************************
    253          *                                             BSP_LED_On()
    254          *
    255          * Description : Turn ON any or all the LEDs on the board.
    256          *
    257          * Argument(s) : led     The ID of the LED to control:
    258          *
    259          *                       0    turns ON ALL the LEDs
    260          *                       1    turns ON user LED1  on the board
    261          *                       2    turns ON user LED2  on the board
    262          *                       3    turns ON user LED3  on the board
    263          *
    264          * Return(s)   : none.
    265          *
    266          * Caller(s)   : Application.
    267          *
    268          * Note(s)     : none.
    269          *********************************************************************************************************
    270          */
    271          

   \                                 In section .text, align 2, keep-with-next
    272          void  BSP_LED_On (CPU_INT08U led)
    273          {
   \                     BSP_LED_On:
   \   00000000   10B5               PUSH     {R4,LR}
   \   00000002   0400               MOVS     R4,R0
    274              switch (led) {
   \   00000004   E4B2               UXTB     R4,R4            ;; ZeroExt  R4,R4,#+24,#+24
   \   00000006   002C               CMP      R4,#+0
   \   00000008   05D0               BEQ.N    ??BSP_LED_On_0
   \   0000000A   022C               CMP      R4,#+2
   \   0000000C   0DD0               BEQ.N    ??BSP_LED_On_1
   \   0000000E   07D3               BCC.N    ??BSP_LED_On_2
   \   00000010   032C               CMP      R4,#+3
   \   00000012   0FD0               BEQ.N    ??BSP_LED_On_3
   \   00000014   13E0               B.N      ??BSP_LED_On_4
    275                  case 0:
    276                       GPIO_SetBits(GPIOD, BSP_GPIOD_LEDS);
   \                     ??BSP_LED_On_0:
   \   00000016   1C21               MOVS     R1,#+28
   \   00000018   ....               LDR.N    R0,??DataTable6_2  ;; 0x40011400
   \   0000001A   ........           BL       GPIO_SetBits
    277                       break;
   \   0000001E   0EE0               B.N      ??BSP_LED_On_5
    278          
    279                  case 1:
    280                       GPIO_SetBits(GPIOD, BSP_GPIOD_LED1);
   \                     ??BSP_LED_On_2:
   \   00000020   0421               MOVS     R1,#+4
   \   00000022   ....               LDR.N    R0,??DataTable6_2  ;; 0x40011400
   \   00000024   ........           BL       GPIO_SetBits
    281                       break;
   \   00000028   09E0               B.N      ??BSP_LED_On_5
    282          
    283                  case 2:
    284                       GPIO_SetBits(GPIOD, BSP_GPIOD_LED2);
   \                     ??BSP_LED_On_1:
   \   0000002A   0821               MOVS     R1,#+8
   \   0000002C   ....               LDR.N    R0,??DataTable6_2  ;; 0x40011400
   \   0000002E   ........           BL       GPIO_SetBits
    285                       break;
   \   00000032   04E0               B.N      ??BSP_LED_On_5
    286          
    287                  case 3:
    288                       GPIO_SetBits(GPIOD, BSP_GPIOD_LED3);
   \                     ??BSP_LED_On_3:
   \   00000034   1021               MOVS     R1,#+16
   \   00000036   ....               LDR.N    R0,??DataTable6_2  ;; 0x40011400
   \   00000038   ........           BL       GPIO_SetBits
    289                       break;
   \   0000003C   FFE7               B.N      ??BSP_LED_On_5
    290          
    291                  default:
    292                       break;
    293              }
    294          }
   \                     ??BSP_LED_On_4:
   \                     ??BSP_LED_On_5:
   \   0000003E   10BD               POP      {R4,PC}          ;; return
    295          
    296          
    297          /*
    298          *********************************************************************************************************
    299          *                                              BSP_LED_Off()
    300          *
    301          * Description : Turn OFF any or all the LEDs on the board.
    302          *
    303          * Argument(s) : led     The ID of the LED to control:
    304          *
    305          *                       0    turns OFF ALL the LEDs
    306          *                       1    turns OFF user LED1  on the board
    307          *                       2    turns OFF user LED2  on the board
    308          *                       3    turns OFF user LED3  on the board
    309          *
    310          * Return(s)   : none.
    311          *
    312          * Caller(s)   : Application.
    313          *
    314          * Note(s)     : none.
    315          *********************************************************************************************************
    316          */
    317          

   \                                 In section .text, align 2, keep-with-next
    318          void  BSP_LED_Off (CPU_INT08U led)
    319          {
   \                     BSP_LED_Off:
   \   00000000   10B5               PUSH     {R4,LR}
   \   00000002   0400               MOVS     R4,R0
    320              switch (led) {
   \   00000004   E4B2               UXTB     R4,R4            ;; ZeroExt  R4,R4,#+24,#+24
   \   00000006   002C               CMP      R4,#+0
   \   00000008   05D0               BEQ.N    ??BSP_LED_Off_0
   \   0000000A   022C               CMP      R4,#+2
   \   0000000C   0DD0               BEQ.N    ??BSP_LED_Off_1
   \   0000000E   07D3               BCC.N    ??BSP_LED_Off_2
   \   00000010   032C               CMP      R4,#+3
   \   00000012   0FD0               BEQ.N    ??BSP_LED_Off_3
   \   00000014   13E0               B.N      ??BSP_LED_Off_4
    321                  case 0:
    322                       GPIO_ResetBits(GPIOD, BSP_GPIOD_LEDS);
   \                     ??BSP_LED_Off_0:
   \   00000016   1C21               MOVS     R1,#+28
   \   00000018   ....               LDR.N    R0,??DataTable6_2  ;; 0x40011400
   \   0000001A   ........           BL       GPIO_ResetBits
    323                       break;
   \   0000001E   0EE0               B.N      ??BSP_LED_Off_5
    324          
    325                  case 1:
    326                       GPIO_ResetBits(GPIOD, BSP_GPIOD_LED1);
   \                     ??BSP_LED_Off_2:
   \   00000020   0421               MOVS     R1,#+4
   \   00000022   ....               LDR.N    R0,??DataTable6_2  ;; 0x40011400
   \   00000024   ........           BL       GPIO_ResetBits
    327                       break;
   \   00000028   09E0               B.N      ??BSP_LED_Off_5
    328          
    329                  case 2:
    330                       GPIO_ResetBits(GPIOD, BSP_GPIOD_LED2);
   \                     ??BSP_LED_Off_1:
   \   0000002A   0821               MOVS     R1,#+8
   \   0000002C   ....               LDR.N    R0,??DataTable6_2  ;; 0x40011400
   \   0000002E   ........           BL       GPIO_ResetBits
    331                       break;
   \   00000032   04E0               B.N      ??BSP_LED_Off_5
    332          
    333                  case 3:

⌨️ 快捷键说明

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