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

📄 stm32f10x_systick.lst

📁 编译环境是 iar EWARM ,STM32 下的UCOSII
💻 LST
📖 第 1 页 / 共 2 页
字号:
   \                     ??SysTick_CounterCmd_0:
   \   00000010   7FF00102           MVNS     R2,#+1
   \   00000014   9042               CMP      R0,R2
   \   00000016   03D1               BNE.N    ??SysTick_CounterCmd_1
     97            {
     98              SysTick->CTRL &= SysTick_Counter_Disable;
   \   00000018   0868               LDR      R0,[R1, #+0]
   \   0000001A   0240               ANDS     R2,R2,R0
   \   0000001C   0A60               STR      R2,[R1, #+0]
   \   0000001E   7047               BX       LR
     99            }
    100            else /* SysTick_Counter == SysTick_Counter_Clear */
    101            {
    102              SysTick->VAL = SysTick_Counter_Clear;
   \                     ??SysTick_CounterCmd_1:
   \   00000020   ....               LDR.N    R0,??DataTable4  ;; 0xffffffffe000e018
   \   00000022   0021               MOVS     R1,#+0
   \   00000024   0160               STR      R1,[R0, #+0]
    103            }    
    104          }
   \   00000026   7047               BX       LR               ;; return
    105          
    106          /*******************************************************************************
    107          * Function Name  : SysTick_ITConfig
    108          * Description    : Enables or disables the SysTick Interrupt.
    109          * Input          : - NewState: new state of the SysTick Interrupt.
    110          *                    This parameter can be: ENABLE or DISABLE.
    111          * Output         : None
    112          * Return         : None
    113          *******************************************************************************/

   \                                 In segment CODE, align 4, keep-with-next
    114          void SysTick_ITConfig(FunctionalState NewState)
    115          {
    116            /* Check the parameters */
    117            assert_param(IS_FUNCTIONAL_STATE(NewState));
    118          
    119            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
    120            {
    121              SysTick->CTRL |= CTRL_TICKINT_Set;
   \   00000008   50F00200           ORRS     R0,R0,#0x2
   \   0000000C   0860               STR      R0,[R1, #+0]
   \   0000000E   7047               BX       LR
    122            }
    123            else
    124            {
    125              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]
    126            }
    127          }
   \   00000016   7047               BX       LR               ;; return
    128          
    129          /*******************************************************************************
    130          * Function Name  : SysTick_GetCounter
    131          * Description    : Gets SysTick counter value.
    132          * Input          : None
    133          * Output         : None
    134          * Return         : SysTick current value
    135          *******************************************************************************/

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

   \                                 In segment CODE, align 4, keep-with-next
    152          FlagStatus SysTick_GetFlagStatus(u8 SysTick_FLAG)
    153          {
    154            u32 statusreg = 0, tmp = 0 ;
    155            FlagStatus bitstatus = RESET;
    156          
    157            /* Check the parameters */
    158            assert_param(IS_SYSTICK_FLAG(SysTick_FLAG));
    159          
    160            /* Get the SysTick register index */
    161            tmp = SysTick_FLAG >> 3;
    162          
    163            if (tmp == 2) /* The flag to check is in CTRL register */
   \                     SysTick_GetFlagStatus:
   \   00000000   0100               MOVS     R1,R0
   \   00000002   C908               LSRS     R1,R1,#+3
   \   00000004   0229               CMP      R1,#+2
   \   00000006   02D1               BNE.N    ??SysTick_GetFlagStatus_0
    164            {
    165              statusreg = SysTick->CTRL;
   \   00000008   ....               LDR.N    R1,??DataTable5  ;; 0xffffffffe000e010
   \   0000000A   0968               LDR      R1,[R1, #+0]
   \   0000000C   01E0               B.N      ??SysTick_GetFlagStatus_1
    166            }
    167            else          /* The flag to check is in CALIB register */
    168            {
    169              statusreg = SysTick->CALIB;
   \                     ??SysTick_GetFlagStatus_0:
   \   0000000E   0549               LDR.N    R1,??SysTick_GetFlagStatus_2  ;; 0xffffffffe000e01c
   \   00000010   0968               LDR      R1,[R1, #+0]
    170            }
    171          
    172            if ((statusreg & ((u32)1 << SysTick_FLAG)) != (u32)RESET)
   \                     ??SysTick_GetFlagStatus_1:
   \   00000012   0122               MOVS     R2,#+1
   \   00000014   8240               LSLS     R2,R2,R0
   \   00000016   0A40               ANDS     R2,R2,R1
   \   00000018   01D0               BEQ.N    ??SysTick_GetFlagStatus_3
    173            {
    174              bitstatus = SET;
   \   0000001A   0120               MOVS     R0,#+1
   \   0000001C   7047               BX       LR
    175            }
    176            else
    177            {
    178              bitstatus = RESET;
   \                     ??SysTick_GetFlagStatus_3:
   \   0000001E   0020               MOVS     R0,#+0
    179            }
    180            return bitstatus;
   \   00000020   7047               BX       LR               ;; return
   \   00000022   00BF               Nop      
   \                     ??SysTick_GetFlagStatus_2:
   \   00000024   1CE000E0           DC32     0xffffffffe000e01c
    181          }

   \                                 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
    182          
    183          /******************* (C) COPYRIGHT 2008 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        40
     SysTick_ITConfig          24
     SysTick_GetCounter         6
     SysTick_GetFlagStatus     40
     ??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 + -