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

📄 stm32f10x_systick.lst

📁 针对STM32F103的UCOS移植
💻 LST
📖 第 1 页 / 共 2 页
字号:
   \   0000000C   ....               LDR.N    R1,??DataTable5  ;; 0xffffffffe000e010
   \   0000000E   0128               CMP      R0,#+1
   \   00000010   0868               LDR      R0,[R1, #+0]
   \   00000012   03D1               BNE.N    ??SysTick_CounterCmd_1
    105              {
    106                SysTick->CTRL |= SysTick_Counter_Enable;
   \   00000014   50F00100           ORRS     R0,R0,#0x1
   \   00000018   0860               STR      R0,[R1, #+0]
   \   0000001A   7047               BX       LR
    107              }
    108              else
    109              {
    110                SysTick->CTRL &= SysTick_Counter_Disable;
   \                     ??SysTick_CounterCmd_1:
   \   0000001C   0122               MOVS     R2,#+1
   \   0000001E   9043               BICS     R0,R0,R2
   \   00000020   0860               STR      R0,[R1, #+0]
    111              }
    112            }
    113          }
   \   00000022   7047               BX       LR               ;; return
    114          
    115          /*******************************************************************************
    116          * Function Name  : SysTick_ITConfig
    117          * Description    : Enables or disables the SysTick Interrupt.
    118          * Input          : - NewState: new state of the SysTick Interrupt.
    119          *                    This parameter can be: ENABLE or DISABLE.
    120          * Output         : None
    121          * Return         : None
    122          *******************************************************************************/

   \                                 In segment CODE, align 4, keep-with-next
    123          void SysTick_ITConfig(FunctionalState NewState)
    124          {
    125            /* Check the parameters */
    126            assert(IS_FUNCTIONAL_STATE(NewState));
    127          
    128            if (NewState != DISABLE)
   \                     SysTick_ITConfig:
   \   00000000   ....               LDR.N    R1,??DataTable5  ;; 0xffffffffe000e010
   \   00000002   0028               CMP      R0,#+0
   \   00000004   0868               LDR      R0,[R1, #+0]
   \   00000006   03D0               BEQ.N    ??SysTick_ITConfig_0
    129            {
    130              SysTick->CTRL |= CTRL_TICKINT_Set;
   \   00000008   50F00200           ORRS     R0,R0,#0x2
   \   0000000C   0860               STR      R0,[R1, #+0]
   \   0000000E   7047               BX       LR
    131            }
    132            else
    133            {
    134              SysTick->CTRL &= CTRL_TICKINT_Reset;
   \                     ??SysTick_ITConfig_0:
   \   00000010   0222               MOVS     R2,#+2
   \   00000012   9043               BICS     R0,R0,R2
   \   00000014   0860               STR      R0,[R1, #+0]
    135            }
    136          }
   \   00000016   7047               BX       LR               ;; return
    137          
    138          /*******************************************************************************
    139          * Function Name  : SysTick_GetCounter
    140          * Description    : Gets SysTick counter value.
    141          * Input          : None
    142          * Output         : None
    143          * Return         : SysTick current value
    144          *******************************************************************************/

   \                                 In segment CODE, align 4, keep-with-next
    145          u32 SysTick_GetCounter(void)
    146          {
    147            return(SysTick->VAL);
   \                     SysTick_GetCounter:
   \   00000000   ....               LDR.N    R0,??DataTable4  ;; 0xffffffffe000e018
   \   00000002   0068               LDR      R0,[R0, #+0]
   \   00000004   7047               BX       LR               ;; return
    148          }
    149          
    150          /*******************************************************************************
    151          * Function Name  : SysTick_GetFlagStatus
    152          * Description    : Checks whether the specified SysTick flag is set or not.
    153          * Input          : - SysTick_FLAG: specifies the flag to check.
    154          *                    This parameter can be one of the following values:
    155          *                       - SysTick_FLAG_COUNT
    156          *                       - SysTick_FLAG_SKEW
    157          *                       - SysTick_FLAG_NOREF
    158          * Output         : None
    159          * Return         : None
    160          *******************************************************************************/

   \                                 In segment CODE, align 4, keep-with-next
    161          FlagStatus SysTick_GetFlagStatus(u8 SysTick_FLAG)
    162          {
    163            u32 tmp = 0;
    164            u32 statusreg = 0;
    165            FlagStatus bitstatus = RESET;
    166          
    167            /* Check the parameters */
    168            assert(IS_SYSTICK_FLAG(SysTick_FLAG));
    169          
    170            /* Get the SysTick register index */
    171            tmp = SysTick_FLAG >> 5;
    172          
    173            if (tmp == 1) /* The flag to check is in CTRL register */
   \                     SysTick_GetFlagStatus:
   \   00000000   0100               MOVS     R1,R0
   \   00000002   4909               LSRS     R1,R1,#+5
   \   00000004   0129               CMP      R1,#+1
   \   00000006   02D1               BNE.N    ??SysTick_GetFlagStatus_0
    174            {
    175              statusreg = SysTick->CTRL;
   \   00000008   ....               LDR.N    R1,??DataTable5  ;; 0xffffffffe000e010
   \   0000000A   0968               LDR      R1,[R1, #+0]
   \   0000000C   01E0               B.N      ??SysTick_GetFlagStatus_1
    176            }
    177            else          /* The flag to check is in CALIB register */
    178            {
    179              statusreg = SysTick->CALIB;
   \                     ??SysTick_GetFlagStatus_0:
   \   0000000E   0649               LDR.N    R1,??SysTick_GetFlagStatus_2  ;; 0xffffffffe000e01c
   \   00000010   0968               LDR      R1,[R1, #+0]
    180            }
    181          
    182            /* Get the flag position */
    183            tmp = SysTick_FLAG & FLAG_Mask;
    184          
    185            if ((statusreg & ((u32)1 << tmp)) != (u32)RESET)
   \                     ??SysTick_GetFlagStatus_1:
   \   00000012   0122               MOVS     R2,#+1
   \   00000014   C006               LSLS     R0,R0,#+27
   \   00000016   C00E               LSRS     R0,R0,#+27
   \   00000018   8240               LSLS     R2,R2,R0
   \   0000001A   0A40               ANDS     R2,R2,R1
   \   0000001C   01D0               BEQ.N    ??SysTick_GetFlagStatus_3
    186            {
    187              bitstatus = SET;
   \   0000001E   0120               MOVS     R0,#+1
   \   00000020   7047               BX       LR
    188            }
    189            else
    190            {
    191              bitstatus = RESET;
   \                     ??SysTick_GetFlagStatus_3:
   \   00000022   0020               MOVS     R0,#+0
    192            }
    193            return bitstatus;
   \   00000024   7047               BX       LR               ;; return
   \   00000026   00BF               Nop      
   \                     ??SysTick_GetFlagStatus_2:
   \   00000028   1CE000E0           DC32     0xffffffffe000e01c
    194          }

   \                                 In segment CODE, align 4, keep-with-next
   \                     ??DataTable4:
   \   00000000   18E000E0           DC32     0xffffffffe000e018

   \                                 In segment CODE, align 4, keep-with-next
   \                     ??DataTable5:
   \   00000000   10E000E0           DC32     0xffffffffe000e010
    195          
    196          /******************* (C) COPYRIGHT 2007 STMicroelectronics *****END OF FILE****/

   Maximum stack usage in bytes:

     Function                CSTACK
     --------                ------
     SysTick_CLKSourceConfig     0
     SysTick_CounterCmd          0
     SysTick_GetCounter          0
     SysTick_GetFlagStatus       0
     SysTick_ITConfig            0
     SysTick_SetReload           0


   Segment part sizes:

     Function/Label          Bytes
     --------------          -----
     SysTick_CLKSourceConfig   24
     SysTick_SetReload         12
     SysTick_CounterCmd        36
     SysTick_ITConfig          24
     SysTick_GetCounter         6
     SysTick_GetFlagStatus     44
     ??DataTable4               4
     ??DataTable5               4

 
 154 bytes in segment CODE
 
 154 bytes of CODE memory

Errors: none
Warnings: none

⌨️ 快捷键说明

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