📄 stm32f10x_systick.lst
字号:
99 {
100 SysTick->VAL = SysTick_Counter_Clear;
\ ??SysTick_CounterCmd_2:
\ 00000026 .... LDR.N R1,??DataTable5_2 ;; 0xe000e018
\ 00000028 0022 MOVS R2,#+0
\ 0000002A 0A60 STR R2,[R1, #+0]
101 }
102 }
\ ??SysTick_CounterCmd_1:
\ 0000002C 7047 BX LR ;; return
103
104 /*******************************************************************************
105 * Function Name : SysTick_ITConfig
106 * Description : Enables or disables the SysTick Interrupt.
107 * Input : - NewState: new state of the SysTick Interrupt.
108 * This parameter can be: ENABLE or DISABLE.
109 * Output : None
110 * Return : None
111 *******************************************************************************/
\ In section .text, align 2, keep-with-next
112 void SysTick_ITConfig(FunctionalState NewState)
113 {
114 /* Check the parameters */
115 assert_param(IS_FUNCTIONAL_STATE(NewState));
116
117 if (NewState != DISABLE)
\ SysTick_ITConfig:
\ 00000000 C0B2 UXTB R0,R0 ;; ZeroExt R0,R0,#+24,#+24
\ 00000002 0028 CMP R0,#+0
\ 00000004 06D0 BEQ.N ??SysTick_ITConfig_0
118 {
119 SysTick->CTRL |= CTRL_TICKINT_Set;
\ 00000006 .... LDR.N R1,??DataTable5 ;; 0xe000e010
\ 00000008 0968 LDR R1,[R1, #+0]
\ 0000000A 51F00201 ORRS R1,R1,#0x2
\ 0000000E .... LDR.N R2,??DataTable5 ;; 0xe000e010
\ 00000010 1160 STR R1,[R2, #+0]
\ 00000012 05E0 B.N ??SysTick_ITConfig_1
120 }
121 else
122 {
123 SysTick->CTRL &= CTRL_TICKINT_Reset;
\ ??SysTick_ITConfig_0:
\ 00000014 .... LDR.N R1,??DataTable5 ;; 0xe000e010
\ 00000016 0968 LDR R1,[R1, #+0]
\ 00000018 31F00201 BICS R1,R1,#0x2
\ 0000001C .... LDR.N R2,??DataTable5 ;; 0xe000e010
\ 0000001E 1160 STR R1,[R2, #+0]
124 }
125 }
\ ??SysTick_ITConfig_1:
\ 00000020 7047 BX LR ;; return
126
127 /*******************************************************************************
128 * Function Name : SysTick_GetCounter
129 * Description : Gets SysTick counter value.
130 * Input : None
131 * Output : None
132 * Return : SysTick current value
133 *******************************************************************************/
\ In section .text, align 2, keep-with-next
134 u32 SysTick_GetCounter(void)
135 {
136 return(SysTick->VAL);
\ SysTick_GetCounter:
\ 00000000 .... LDR.N R0,??DataTable5_2 ;; 0xe000e018
\ 00000002 0068 LDR R0,[R0, #+0]
\ 00000004 7047 BX LR ;; return
137 }
138
139 /*******************************************************************************
140 * Function Name : SysTick_GetFlagStatus
141 * Description : Checks whether the specified SysTick flag is set or not.
142 * Input : - SysTick_FLAG: specifies the flag to check.
143 * This parameter can be one of the following values:
144 * - SysTick_FLAG_COUNT
145 * - SysTick_FLAG_SKEW
146 * - SysTick_FLAG_NOREF
147 * Output : None
148 * Return : None
149 *******************************************************************************/
\ In section .text, align 2, keep-with-next
150 FlagStatus SysTick_GetFlagStatus(u8 SysTick_FLAG)
151 {
\ SysTick_GetFlagStatus:
\ 00000000 10B4 PUSH {R4}
\ 00000002 0100 MOVS R1,R0
152 u32 statusreg = 0, tmp = 0 ;
\ 00000004 0022 MOVS R2,#+0
\ 00000006 0023 MOVS R3,#+0
153 FlagStatus bitstatus = RESET;
\ 00000008 0020 MOVS R0,#+0
154
155 /* Check the parameters */
156 assert_param(IS_SYSTICK_FLAG(SysTick_FLAG));
157
158 /* Get the SysTick register index */
159 tmp = SysTick_FLAG >> 3;
\ 0000000A C9B2 UXTB R1,R1 ;; ZeroExt R1,R1,#+24,#+24
\ 0000000C CC08 LSRS R4,R1,#+3
\ 0000000E E4B2 UXTB R4,R4 ;; ZeroExt R4,R4,#+24,#+24
\ 00000010 2300 MOVS R3,R4
160
161 if (tmp == 2) /* The flag to check is in CTRL register */
\ 00000012 022B CMP R3,#+2
\ 00000014 03D1 BNE.N ??SysTick_GetFlagStatus_0
162 {
163 statusreg = SysTick->CTRL;
\ 00000016 .... LDR.N R4,??DataTable5 ;; 0xe000e010
\ 00000018 2468 LDR R4,[R4, #+0]
\ 0000001A 2200 MOVS R2,R4
\ 0000001C 02E0 B.N ??SysTick_GetFlagStatus_1
164 }
165 else /* The flag to check is in CALIB register */
166 {
167 statusreg = SysTick->CALIB;
\ ??SysTick_GetFlagStatus_0:
\ 0000001E .... LDR.N R4,??DataTable5_3 ;; 0xe000e01c
\ 00000020 2468 LDR R4,[R4, #+0]
\ 00000022 2200 MOVS R2,R4
168 }
169
170 if ((statusreg & ((u32)1 << SysTick_FLAG)) != (u32)RESET)
\ ??SysTick_GetFlagStatus_1:
\ 00000024 0124 MOVS R4,#+1
\ 00000026 8C40 LSLS R4,R4,R1
\ 00000028 2242 TST R2,R4
\ 0000002A 02D0 BEQ.N ??SysTick_GetFlagStatus_2
171 {
172 bitstatus = SET;
\ 0000002C 0124 MOVS R4,#+1
\ 0000002E 2000 MOVS R0,R4
\ 00000030 01E0 B.N ??SysTick_GetFlagStatus_3
173 }
174 else
175 {
176 bitstatus = RESET;
\ ??SysTick_GetFlagStatus_2:
\ 00000032 0024 MOVS R4,#+0
\ 00000034 2000 MOVS R0,R4
177 }
178 return bitstatus;
\ ??SysTick_GetFlagStatus_3:
\ 00000036 C0B2 UXTB R0,R0 ;; ZeroExt R0,R0,#+24,#+24
\ 00000038 10BC POP {R4}
\ 0000003A 7047 BX LR ;; return
179 }
\ In section .text, align 4, keep-with-next
\ ??DataTable5:
\ 00000000 10E000E0 DC32 0xe000e010
\ In section .text, align 4, keep-with-next
\ ??DataTable5_1:
\ 00000000 14E000E0 DC32 0xe000e014
\ In section .text, align 4, keep-with-next
\ ??DataTable5_2:
\ 00000000 18E000E0 DC32 0xe000e018
\ In section .text, align 4, keep-with-next
\ ??DataTable5_3:
\ 00000000 1CE000E0 DC32 0xe000e01c
180
181 /******************* (C) COPYRIGHT 2009 STMicroelectronics *****END OF FILE****/
Maximum stack usage in bytes:
Function .cstack
-------- -------
SysTick_CLKSourceConfig 0
SysTick_CounterCmd 0
SysTick_GetCounter 0
SysTick_GetFlagStatus 4
SysTick_ITConfig 0
SysTick_SetReload 0
Section sizes:
Function/Label Bytes
-------------- -----
SysTick_CLKSourceConfig 32
SysTick_SetReload 6
SysTick_CounterCmd 46
SysTick_ITConfig 34
SysTick_GetCounter 6
SysTick_GetFlagStatus 60
??DataTable5 4
??DataTable5_1 4
??DataTable5_2 4
??DataTable5_3 4
200 bytes in section .text
200 bytes of CODE memory
Errors: none
Warnings: none
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -