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

📄 bsp.lst

📁 编译环境是 iar EWARM ,STM32 下的UCOSII
💻 LST
📖 第 1 页 / 共 5 页
字号:
   \   0000003C   0391               STR      R1,[SP, #+12]
    304              adc_init.ADC_DataAlign          = ADC_DataAlign_Right;
   \   0000003E   0494               STR      R4,[SP, #+16]
    305              adc_init.ADC_NbrOfChannel       = 1;
   \   00000040   8DF81400           STRB     R0,[SP, #+20]
    306              ADC_Init(ADC1, &adc_init);
   \   00000044   ....               LDR.N    R4,??DataTable3  ;; 0x40012400
   \   00000046   01A9               ADD      R1,SP,#+4
   \   00000048   2000               MOVS     R0,R4
   \   0000004A   ........           _BLF     ADC_Init,??ADC_Init??rT
    307          
    308              ADC_RegularChannelConfig(ADC1, ADC_Channel_14, 1, ADC_SampleTime_13Cycles5);
   \   0000004E   0223               MOVS     R3,#+2
   \   00000050   0122               MOVS     R2,#+1
   \   00000052   0E21               MOVS     R1,#+14
   \   00000054   2000               MOVS     R0,R4
   \   00000056   ........           _BLF     ADC_RegularChannelConfig,??ADC_RegularChannelConfig??rT
    309              ADC_Cmd(ADC1, ENABLE);
   \   0000005A   0121               MOVS     R1,#+1
   \   0000005C   2000               MOVS     R0,R4
   \   0000005E   ........           _BLF     ADC_Cmd,??ADC_Cmd??rT
    310              ADC_SoftwareStartConvCmd(ADC1, ENABLE);
   \   00000062   0121               MOVS     R1,#+1
   \   00000064   2000               MOVS     R0,R4
   \   00000066   ........           _BLF     ADC_SoftwareStartConvCmd,??ADC_SoftwareStartConvCmd??rT
    311          }
   \   0000006A   06B0               ADD      SP,SP,#+24
   \   0000006C   10BD               POP      {R4,PC}          ;; return
    312          
    313          
    314          /*
    315          *********************************************************************************************************
    316          *                                           BSP_ADC_GetStatus()
    317          *
    318          * Description : This function initializes the board's ADC
    319          *
    320          * Argument(s) : adc             ID of the ADC to probe.  For this board, the only legitimate value is 1.
    321          *
    322          * Return(s)   : The numerator of the binary fraction representing the result of the latest ADC conversion.
    323          *               This value will be a 12-bit value between 0x0000 and 0x0FFF, inclusive.
    324          *
    325          * Caller(s)   : Application.
    326          *
    327          * Note(s)     : none.
    328          *********************************************************************************************************
    329          */
    330          

   \                                 In segment CODE, align 4, keep-with-next
    331          CPU_INT16U  BSP_ADC_GetStatus (CPU_INT08U  adc)
    332          {
   \                     BSP_ADC_GetStatus:
   \   00000000   00B5               PUSH     {LR}
   \   00000002   0100               MOVS     R1,R0
    333              CPU_INT16U  result;
    334          
    335          
    336              result = 0;
   \   00000004   0020               MOVS     R0,#+0
    337          
    338              if (adc == 1) {
   \   00000006   0129               CMP      R1,#+1
   \   00000008   02D1               BNE.N    ??BSP_ADC_GetStatus_0
    339                  result = ADC_GetConversionValue(ADC1);
   \   0000000A   ....               LDR.N    R0,??DataTable3  ;; 0x40012400
   \   0000000C   ........           _BLF     ADC_GetConversionValue,??ADC_GetConversionValue??rT
    340              }
    341          
    342              return (result);
   \                     ??BSP_ADC_GetStatus_0:
   \   00000010   00BD               POP      {PC}             ;; return
    343          }
    344          
    345          /*
    346          *********************************************************************************************************
    347          *********************************************************************************************************
    348          *                                               PB FUNCTIONS
    349          *********************************************************************************************************
    350          *********************************************************************************************************
    351          */
    352          
    353          /*
    354          *********************************************************************************************************
    355          *                                              BSP_PB_Init()
    356          *
    357          * Description : Initialize the board's PB.
    358          *
    359          * Argument(s) : none.
    360          *
    361          * Return(s)   : none.
    362          *
    363          * Caller(s)   : BSP_Init().
    364          *
    365          * Note(s)     : none.
    366          *********************************************************************************************************
    367          */
    368          

   \                                 In segment CODE, align 4, keep-with-next
    369          static  void  BSP_PB_Init (void)
    370          {
   \                     BSP_PB_Init:
   \   00000000   31B5               PUSH     {R0,R4,R5,LR}
    371              GPIO_InitTypeDef  gpio_init;
    372          
    373          
    374              RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
   \   00000002   0121               MOVS     R1,#+1
   \   00000004   0420               MOVS     R0,#+4
   \   00000006   ........           _BLF     RCC_APB2PeriphClockCmd,??RCC_APB2PeriphClockCmd??rT
    375              gpio_init.GPIO_Pin  = BSP_GPIOA_PB_WAKEUP;
   \   0000000A   0120               MOVS     R0,#+1
   \   0000000C   ADF80000           STRH     R0,[SP, #+0]
    376              gpio_init.GPIO_Mode = GPIO_Mode_IN_FLOATING;
   \   00000010   0424               MOVS     R4,#+4
   \   00000012   2000               MOVS     R0,R4
   \   00000014   8DF80300           STRB     R0,[SP, #+3]
    377              GPIO_Init(GPIOB, &gpio_init);
   \   00000018   104D               LDR.N    R5,??BSP_PB_Init_0  ;; 0x40010c00
   \   0000001A   6946               MOV      R1,SP
   \   0000001C   2800               MOVS     R0,R5
   \   0000001E   ........           _BLF     GPIO_Init,??GPIO_Init??rT
    378          
    379              RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);
   \   00000022   0121               MOVS     R1,#+1
   \   00000024   1020               MOVS     R0,#+16
   \   00000026   ........           _BLF     RCC_APB2PeriphClockCmd,??RCC_APB2PeriphClockCmd??rT
    380              gpio_init.GPIO_Pin  = BSP_GPIOC_PB_TAMPER;
   \   0000002A   E002               LSLS     R0,R4,#+11
   \   0000002C   ADF80000           STRH     R0,[SP, #+0]
    381              gpio_init.GPIO_Mode = GPIO_Mode_IN_FLOATING;
   \   00000030   2000               MOVS     R0,R4
   \   00000032   8DF80300           STRB     R0,[SP, #+3]
    382              GPIO_Init(GPIOB, &gpio_init);
   \   00000036   6946               MOV      R1,SP
   \   00000038   2800               MOVS     R0,R5
   \   0000003A   ........           _BLF     GPIO_Init,??GPIO_Init??rT
    383          
    384              RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOG, ENABLE);
   \   0000003E   0121               MOVS     R1,#+1
   \   00000040   0802               LSLS     R0,R1,#+8
   \   00000042   ........           _BLF     RCC_APB2PeriphClockCmd,??RCC_APB2PeriphClockCmd??rT
    385              gpio_init.GPIO_Pin  = BSP_GPIOG_PB_KEY;
   \   00000046   A001               LSLS     R0,R4,#+6
   \   00000048   ADF80000           STRH     R0,[SP, #+0]
    386              gpio_init.GPIO_Mode = GPIO_Mode_IN_FLOATING;
   \   0000004C   8DF80340           STRB     R4,[SP, #+3]
    387              GPIO_Init(GPIOG, &gpio_init);
   \   00000050   6946               MOV      R1,SP
   \   00000052   ....               LDR.N    R0,??DataTable21  ;; 0x40012000
   \   00000054   ........           _BLF     GPIO_Init,??GPIO_Init??rT
    388          }
   \   00000058   31BD               POP      {R0,R4,R5,PC}    ;; return
   \   0000005A   00BF               Nop      
   \                     ??BSP_PB_Init_0:
   \   0000005C   000C0140           DC32     0x40010c00
    389          
    390          /*
    391          *********************************************************************************************************
    392          *                                           BSP_PB_GetStatus()
    393          *
    394          * Description : Get the status of a push button on the board.
    395          *
    396          * Argument(s) : pb      The ID of the push button to probe
    397          *
    398          *                       1    probe the user push button
    399          *
    400          * Return(s)   : DEF_FALSE   if the push button is pressed.
    401          *               DEF_TRUE    if the push button is not pressed.
    402          *
    403          * Caller(s)   : Application.
    404          *
    405          * Note(s)     : none.
    406          *********************************************************************************************************
    407          */
    408          

   \                                 In segment CODE, align 4, keep-with-next
    409          CPU_BOOLEAN  BSP_PB_GetStatus (CPU_INT08U pb)
    410          {
   \                     BSP_PB_GetStatus:
   \   00000000   30B5               PUSH     {R4,R5,LR}
    411              CPU_BOOLEAN  status;
    412              CPU_INT32U   pin;
    413          
    414          
    415              status = DEF_FALSE;
   \   00000002   0024               MOVS     R4,#+0
    416          
    417              switch (pb) {
   \   00000004   0125               MOVS     R5,#+1
   \   00000006   0128               CMP      R0,#+1
   \   00000008   04D0               BEQ.N    ??BSP_PB_GetStatus_0
   \   0000000A   0228               CMP      R0,#+2
   \   0000000C   0AD0               BEQ.N    ??BSP_PB_GetStatus_1
   \   0000000E   0328               CMP      R0,#+3
   \   00000010   10D0               BEQ.N    ??BSP_PB_GetStatus_2
   \   00000012   16E0               B.N      ??BSP_PB_GetStatus_3
    418                  case BSP_PB_ID_KEY:
    419                       pin = GPIO_ReadInputDataBit(GPIOG, BSP_GPIOG_PB_KEY);
   \                     ??BSP_PB_GetStatus_0:
   \   00000014   2902               LSLS     R1,R5,#+8
   \   00000016   ....               LDR.N    R0,??DataTable21  ;; 0x40012000
   \   00000018   ........           _BLF     GPIO_ReadInputDataBit,??GPIO_ReadInputDataBit??rT
    420                       if (pin == 0) {
   \   0000001C   0028               CMP      R0,#+0
   \   0000001E   10D1               BNE.N    ??BSP_PB_GetStatus_3
    421                           status = DEF_TRUE;
   \   00000020   2C00               MOVS     R4,R5
   \   00000022   0EE0               B.N      ??BSP_PB_GetStatus_3
    422                       }
    423                       break;
    424          
    425                  case BSP_PB_ID_WAKEUP:
    426                       pin = GPIO_ReadInputDataBit(GPIOA, BSP_GPIOA_PB_WAKEUP);
   \                     ??BSP_PB_GetStatus_1:
   \   00000024   2946               MOV      R1,R5
   \   00000026   0848               LDR.N    R0,??BSP_PB_GetStatus_4  ;; 0x40010800
   \   00000028   ........           _BLF     GPIO_ReadInputDataBit,??GPIO_ReadInputDataBit??rT
    427                       if (pin == 0) {
   \   0000002C   0028               CMP      R0,#+0
   \   0000002E   08D1               BNE.N    ??BSP_PB_GetStatus_3
    428                           status = DEF_TRUE;
   \   00000030   2C00               MOVS     R4,R5

⌨️ 快捷键说明

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