📄 stm32f10x_wwdg.lst
字号:
135 */
\ In section .text, align 2, keep-with-next
136 void WWDG_SetWindowValue(uint8_t WindowValue)
137 {
\ WWDG_SetWindowValue:
\ 00000000 81B0 SUB SP,SP,#+4
138 __IO uint32_t tmpreg = 0;
\ 00000002 0021 MOVS R1,#+0
\ 00000004 0091 STR R1,[SP, #+0]
139
140 /* Check the parameters */
141 assert_param(IS_WWDG_WINDOW_VALUE(WindowValue));
142 /* Clear W[6:0] bits */
143
144 tmpreg = WWDG->CFR & CFR_W_Mask;
\ 00000006 .... LDR.N R1,??DataTable6 ;; 0x40002c04
\ 00000008 0968 LDR R1,[R1, #+0]
\ 0000000A C909 LSRS R1,R1,#+7
\ 0000000C C901 LSLS R1,R1,#+7
\ 0000000E 0091 STR R1,[SP, #+0]
145
146 /* Set W[6:0] bits according to WindowValue value */
147 tmpreg |= WindowValue & (uint32_t) BIT_Mask;
\ 00000010 0099 LDR R1,[SP, #+0]
\ 00000012 C0B2 UXTB R0,R0 ;; ZeroExt R0,R0,#+24,#+24
\ 00000014 10F07F02 ANDS R2,R0,#0x7F
\ 00000018 1143 ORRS R1,R2,R1
\ 0000001A 0091 STR R1,[SP, #+0]
148
149 /* Store the new value */
150 WWDG->CFR = tmpreg;
\ 0000001C .... LDR.N R1,??DataTable6 ;; 0x40002c04
\ 0000001E 009A LDR R2,[SP, #+0]
\ 00000020 0A60 STR R2,[R1, #+0]
151 }
\ 00000022 01B0 ADD SP,SP,#+4
\ 00000024 7047 BX LR ;; return
152
153 /**
154 * @brief Enables the WWDG Early Wakeup interrupt(EWI).
155 * @param None
156 * @retval None
157 */
\ In section .text, align 2, keep-with-next
158 void WWDG_EnableIT(void)
159 {
160 *(__IO uint32_t *) CFR_EWI_BB = (uint32_t)ENABLE;
\ WWDG_EnableIT:
\ 00000000 .... LDR.N R0,??DataTable6_1 ;; 0x420580a4
\ 00000002 0121 MOVS R1,#+1
\ 00000004 0160 STR R1,[R0, #+0]
161 }
\ 00000006 7047 BX LR ;; return
162
163 /**
164 * @brief Sets the WWDG counter value.
165 * @param Counter: specifies the watchdog counter value.
166 * This parameter must be a number between 0x40 and 0x7F.
167 * @retval None
168 */
\ In section .text, align 2, keep-with-next
169 void WWDG_SetCounter(uint8_t Counter)
170 {
171 /* Check the parameters */
172 assert_param(IS_WWDG_COUNTER(Counter));
173 /* Write to T[6:0] bits to configure the counter value, no need to do
174 a read-modify-write; writing a 0 to WDGA bit does nothing */
175 WWDG->CR = Counter & BIT_Mask;
\ WWDG_SetCounter:
\ 00000000 C0B2 UXTB R0,R0 ;; ZeroExt R0,R0,#+24,#+24
\ 00000002 10F07F01 ANDS R1,R0,#0x7F
\ 00000006 .... LDR.N R2,??DataTable6_2 ;; 0x40002c00
\ 00000008 1160 STR R1,[R2, #+0]
176 }
\ 0000000A 7047 BX LR ;; return
177
178 /**
179 * @brief Enables WWDG and load the counter value.
180 * @param Counter: specifies the watchdog counter value.
181 * This parameter must be a number between 0x40 and 0x7F.
182 * @retval None
183 */
\ In section .text, align 2, keep-with-next
184 void WWDG_Enable(uint8_t Counter)
185 {
186 /* Check the parameters */
187 assert_param(IS_WWDG_COUNTER(Counter));
188 WWDG->CR = CR_WDGA_Set | Counter;
\ WWDG_Enable:
\ 00000000 C0B2 UXTB R0,R0 ;; ZeroExt R0,R0,#+24,#+24
\ 00000002 50F08001 ORRS R1,R0,#0x80
\ 00000006 .... LDR.N R2,??DataTable6_2 ;; 0x40002c00
\ 00000008 1160 STR R1,[R2, #+0]
189 }
\ 0000000A 7047 BX LR ;; return
190
191 /**
192 * @brief Checks whether the Early Wakeup interrupt flag is set or not.
193 * @param None
194 * @retval The new state of the Early Wakeup interrupt flag (SET or RESET)
195 */
\ In section .text, align 2, keep-with-next
196 FlagStatus WWDG_GetFlagStatus(void)
197 {
198 return (FlagStatus)(WWDG->SR);
\ WWDG_GetFlagStatus:
\ 00000000 .... LDR.N R0,??DataTable6_3 ;; 0x40002c08
\ 00000002 0068 LDR R0,[R0, #+0]
\ 00000004 C0B2 UXTB R0,R0 ;; ZeroExt R0,R0,#+24,#+24
\ 00000006 7047 BX LR ;; return
199 }
200
201 /**
202 * @brief Clears Early Wakeup interrupt flag.
203 * @param None
204 * @retval None
205 */
\ In section .text, align 2, keep-with-next
206 void WWDG_ClearFlag(void)
207 {
208 WWDG->SR = (uint32_t)RESET;
\ WWDG_ClearFlag:
\ 00000000 .... LDR.N R0,??DataTable6_3 ;; 0x40002c08
\ 00000002 0021 MOVS R1,#+0
\ 00000004 0160 STR R1,[R0, #+0]
209 }
\ 00000006 7047 BX LR ;; return
\ In section .text, align 4, keep-with-next
\ ??DataTable6:
\ 00000000 042C0040 DC32 0x40002c04
\ In section .text, align 4, keep-with-next
\ ??DataTable6_1:
\ 00000000 A4800542 DC32 0x420580a4
\ In section .text, align 4, keep-with-next
\ ??DataTable6_2:
\ 00000000 002C0040 DC32 0x40002c00
\ In section .text, align 4, keep-with-next
\ ??DataTable6_3:
\ 00000000 082C0040 DC32 0x40002c08
210
211 /**
212 * @}
213 */
214
215 /**
216 * @}
217 */
218
219 /**
220 * @}
221 */
222
223 /******************* (C) COPYRIGHT 2010 STMicroelectronics *****END OF FILE****/
Maximum stack usage in bytes:
Function .cstack
-------- -------
WWDG_ClearFlag 0
WWDG_DeInit 8
WWDG_Enable 0
WWDG_EnableIT 0
WWDG_GetFlagStatus 0
WWDG_SetCounter 0
WWDG_SetPrescaler 0
WWDG_SetWindowValue 4
Section sizes:
Function/Label Bytes
-------------- -----
WWDG_DeInit 24
WWDG_SetPrescaler 20
WWDG_SetWindowValue 38
WWDG_EnableIT 8
WWDG_SetCounter 12
WWDG_Enable 12
WWDG_GetFlagStatus 8
WWDG_ClearFlag 8
??DataTable6 4
??DataTable6_1 4
??DataTable6_2 4
??DataTable6_3 4
146 bytes in section .text
146 bytes of CODE memory
Errors: none
Warnings: none
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -