bsp_periph.lst

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

LST
639
字号
    124                  case BSP_PERIPH_ID_FLITF:
    125                  case BSP_PERIPH_ID_CRC:
    126                  case BSP_PERIPH_ID_OTGFS:
    127                  case BSP_PERIPH_ID_ETHMAC:
    128                  case BSP_PERIPH_ID_ETHMACTX:   
    129                       return (clk_freq);
   \                     ??BSP_PeriphClkFreqGet_0:
   \   00000056   2800               MOVS     R0,R5
   \   00000058   1EE0               B.N      ??BSP_PeriphClkFreqGet_4
    130          
    131                  case BSP_PERIPH_ID_AFIO:
    132                  case BSP_PERIPH_ID_IOPA:
    133                  case BSP_PERIPH_ID_IOPB:
    134                  case BSP_PERIPH_ID_IOPC:
    135                  case BSP_PERIPH_ID_IOPD:
    136                  case BSP_PERIPH_ID_IOPE:
    137                  case BSP_PERIPH_ID_ADC1:
    138                  case BSP_PERIPH_ID_ADC2:
    139                  case BSP_PERIPH_ID_TIM1:
    140                  case BSP_PERIPH_ID_SPI1:
    141                  case BSP_PERIPH_ID_USART1:
    142                       clk_div = (BSP_PERIPH_REG_RCC_CFGR & 0x00003800) >> 11;
   \                     ??BSP_PeriphClkFreqGet_1:
   \   0000005A   ....               LDR.N    R0,??DataTable2  ;; 0x40021004
   \   0000005C   0068               LDR      R0,[R0, #+0]
   \   0000005E   C0F3C220           UBFX     R0,R0,#+11,#+3
   \   00000062   0600               MOVS     R6,R0
    143                       if (clk_div < 4) {
   \   00000064   042E               CMP      R6,#+4
   \   00000066   01D2               BCS.N    ??BSP_PeriphClkFreqGet_5
    144                           return (clk_freq);
   \   00000068   2800               MOVS     R0,R5
   \   0000006A   15E0               B.N      ??BSP_PeriphClkFreqGet_4
    145                       }
    146                       clk_div   = (clk_div - 3) << 1;
   \                     ??BSP_PeriphClkFreqGet_5:
   \   0000006C   F01E               SUBS     R0,R6,#+3
   \   0000006E   4600               LSLS     R6,R0,#+1
    147                       clk_freq /= clk_div;
   \   00000070   B5FBF6F5           UDIV     R5,R5,R6
    148                       return (clk_freq);
   \   00000074   2800               MOVS     R0,R5
   \   00000076   0FE0               B.N      ??BSP_PeriphClkFreqGet_4
    149          
    150                  case BSP_PERIPH_ID_TIM2:
    151                  case BSP_PERIPH_ID_TIM3:
    152                  case BSP_PERIPH_ID_TIM4:
    153                  case BSP_PERIPH_ID_TIM5:
    154                  case BSP_PERIPH_ID_TIM6:
    155                  case BSP_PERIPH_ID_TIM7:
    156                  case BSP_PERIPH_ID_WWDG:
    157                  case BSP_PERIPH_ID_SPI2:
    158                  case BSP_PERIPH_ID_SPI3:
    159                  case BSP_PERIPH_ID_USART2:
    160                  case BSP_PERIPH_ID_USART3:
    161                  case BSP_PERIPH_ID_USART4:
    162                  case BSP_PERIPH_ID_USART5:
    163                  case BSP_PERIPH_ID_I2C1:
    164                  case BSP_PERIPH_ID_I2C2:
    165                  case BSP_PERIPH_ID_CAN1:
    166                  case BSP_PERIPH_ID_CAN2:
    167                  case BSP_PERIPH_ID_BKP:
    168                  case BSP_PERIPH_ID_PWR:
    169                  case BSP_PERIPH_ID_DAC:
    170                       clk_div = (BSP_PERIPH_REG_RCC_CFGR & 0x00000700) >> 8;
   \                     ??BSP_PeriphClkFreqGet_2:
   \   00000078   ....               LDR.N    R0,??DataTable2  ;; 0x40021004
   \   0000007A   0068               LDR      R0,[R0, #+0]
   \   0000007C   C0F30220           UBFX     R0,R0,#+8,#+3
   \   00000080   0600               MOVS     R6,R0
    171                       if (clk_div < 4) {
   \   00000082   042E               CMP      R6,#+4
   \   00000084   01D2               BCS.N    ??BSP_PeriphClkFreqGet_6
    172                           return (clk_freq);
   \   00000086   2800               MOVS     R0,R5
   \   00000088   06E0               B.N      ??BSP_PeriphClkFreqGet_4
    173                       }
    174                       clk_div   = (clk_div - 3) << 1;
   \                     ??BSP_PeriphClkFreqGet_6:
   \   0000008A   F01E               SUBS     R0,R6,#+3
   \   0000008C   4600               LSLS     R6,R0,#+1
    175                       clk_freq /= clk_div;
   \   0000008E   B5FBF6F5           UDIV     R5,R5,R6
    176                       return (clk_freq);
   \   00000092   2800               MOVS     R0,R5
   \   00000094   00E0               B.N      ??BSP_PeriphClkFreqGet_4
    177              }
    178          
    179              return ((CPU_INT32U)0);
   \                     ??BSP_PeriphClkFreqGet_3:
   \   00000096   0020               MOVS     R0,#+0
   \                     ??BSP_PeriphClkFreqGet_4:
   \   00000098   70BD               POP      {R4-R6,PC}       ;; return
    180          }
    181          
    182          
    183          /*
    184          *********************************************************************************************************
    185          *                                             BSP_PeriphEn()
    186          *
    187          * Description : Enable clock for peripheral.
    188          *
    189          * Argument(s) : pwr_clk_id      Power/clock ID.
    190          *
    191          * Return(s)   : none.
    192          *
    193          * Caller(s)   : Application.
    194          *
    195          * Note(s)     : none.
    196          *********************************************************************************************************
    197          */
    198          

   \                                 In section .text, align 2, keep-with-next
    199          void  BSP_PeriphEn (CPU_DATA  pwr_clk_id)
    200          {
    201              switch (pwr_clk_id) {
   \                     BSP_PeriphEn:
   \   00000000   0100               MOVS     R1,R0
   \   00000002   0029               CMP      R1,#+0
   \   00000004   0229               CMP      R1,#+2
   \   00000006   21D9               BLS.N    ??BSP_PeriphEn_0
   \   00000008   091F               SUBS     R1,R1,#+4
   \   0000000A   1FD0               BEQ.N    ??BSP_PeriphEn_0
   \   0000000C   891E               SUBS     R1,R1,#+2
   \   0000000E   1DD0               BEQ.N    ??BSP_PeriphEn_0
   \   00000010   891F               SUBS     R1,R1,#+6
   \   00000012   1BD0               BEQ.N    ??BSP_PeriphEn_0
   \   00000014   891E               SUBS     R1,R1,#+2
   \   00000016   0129               CMP      R1,#+1
   \   00000018   18D9               BLS.N    ??BSP_PeriphEn_0
   \   0000001A   1239               SUBS     R1,R1,#+18
   \   0000001C   1ED0               BEQ.N    ??BSP_PeriphEn_1
   \   0000001E   891E               SUBS     R1,R1,#+2
   \   00000020   0429               CMP      R1,#+4
   \   00000022   1BD9               BLS.N    ??BSP_PeriphEn_1
   \   00000024   C91F               SUBS     R1,R1,#+7
   \   00000026   0329               CMP      R1,#+3
   \   00000028   18D9               BLS.N    ??BSP_PeriphEn_1
   \   0000002A   491F               SUBS     R1,R1,#+5
   \   0000002C   16D0               BEQ.N    ??BSP_PeriphEn_1
   \   0000002E   1239               SUBS     R1,R1,#+18
   \   00000030   0529               CMP      R1,#+5
   \   00000032   1DD9               BLS.N    ??BSP_PeriphEn_2
   \   00000034   0B39               SUBS     R1,R1,#+11
   \   00000036   1BD0               BEQ.N    ??BSP_PeriphEn_2
   \   00000038   C91E               SUBS     R1,R1,#+3
   \   0000003A   0129               CMP      R1,#+1
   \   0000003C   18D9               BLS.N    ??BSP_PeriphEn_2
   \   0000003E   C91E               SUBS     R1,R1,#+3
   \   00000040   0529               CMP      R1,#+5
   \   00000042   15D9               BLS.N    ??BSP_PeriphEn_2
   \   00000044   0839               SUBS     R1,R1,#+8
   \   00000046   0429               CMP      R1,#+4
   \   00000048   12D9               BLS.N    ??BSP_PeriphEn_2
   \   0000004A   1AE0               B.N      ??BSP_PeriphEn_3
    202                  case BSP_PERIPH_ID_DMA1:
    203                  case BSP_PERIPH_ID_DMA2:
    204                  case BSP_PERIPH_ID_SRAM:
    205                  case BSP_PERIPH_ID_FLITF:
    206                  case BSP_PERIPH_ID_CRC:
    207                  case BSP_PERIPH_ID_OTGFS:
    208                  case BSP_PERIPH_ID_ETHMAC:
    209                  case BSP_PERIPH_ID_ETHMACTX:        
    210                       BSP_PERIPH_REG_RCC_AHBENR |= DEF_BIT(pwr_clk_id);
   \                     ??BSP_PeriphEn_0:
   \   0000004C   ....               LDR.N    R1,??DataTable2_1  ;; 0x40021014
   \   0000004E   0968               LDR      R1,[R1, #+0]
   \   00000050   0122               MOVS     R2,#+1
   \   00000052   8240               LSLS     R2,R2,R0
   \   00000054   1143               ORRS     R1,R2,R1
   \   00000056   ....               LDR.N    R2,??DataTable2_1  ;; 0x40021014
   \   00000058   1160               STR      R1,[R2, #+0]
    211                       break;
   \   0000005A   12E0               B.N      ??BSP_PeriphEn_3
    212          
    213                  case BSP_PERIPH_ID_AFIO:
    214                  case BSP_PERIPH_ID_IOPA:
    215                  case BSP_PERIPH_ID_IOPB:
    216                  case BSP_PERIPH_ID_IOPC:
    217                  case BSP_PERIPH_ID_IOPD:
    218                  case BSP_PERIPH_ID_IOPE:        
    219                  case BSP_PERIPH_ID_ADC1:
    220                  case BSP_PERIPH_ID_ADC2:
    221                  case BSP_PERIPH_ID_TIM1:
    222                  case BSP_PERIPH_ID_SPI1:
    223                  case BSP_PERIPH_ID_USART1:
    224                       BSP_PERIPH_REG_RCC_APB2ENR |= DEF_BIT(pwr_clk_id - 32);
   \                     ??BSP_PeriphEn_1:
   \   0000005C   ....               LDR.N    R1,??DataTable2_2  ;; 0x40021018
   \   0000005E   0968               LDR      R1,[R1, #+0]
   \   00000060   0122               MOVS     R2,#+1
   \   00000062   0300               MOVS     R3,R0
   \   00000064   203B               SUBS     R3,R3,#+32
   \   00000066   9A40               LSLS     R2,R2,R3
   \   00000068   1143               ORRS     R1,R2,R1
   \   0000006A   ....               LDR.N    R2,??DataTable2_2  ;; 0x40021018
   \   0000006C   1160               STR      R1,[R2, #+0]
    225                       break;
   \   0000006E   08E0               B.N      ??BSP_PeriphEn_3
    226          
    227                  case BSP_PERIPH_ID_TIM2:
    228                  case BSP_PERIPH_ID_TIM3:
    229                  case BSP_PERIPH_ID_TIM4:
    230                  case BSP_PERIPH_ID_TIM5:
    231                  case BSP_PERIPH_ID_TIM6:
    232                  case BSP_PERIPH_ID_TIM7:
    233                  case BSP_PERIPH_ID_WWDG:
    234                  case BSP_PERIPH_ID_SPI2:
    235                  case BSP_PERIPH_ID_SPI3:
    236                  case BSP_PERIPH_ID_USART2:
    237                  case BSP_PERIPH_ID_USART3:
    238                  case BSP_PERIPH_ID_USART4:

⌨️ 快捷键说明

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