📄 stm32f10x_wwdg.lst
字号:
113 tmpreg |= WindowValue & BIT_Mask;
\ 0000000E 0A00 MOVS R2,R1
\ 00000010 C0B2 UXTB R0,R0 ;; ZeroExtS R0,R0,#+24,#+24
\ 00000012 4106 LSLS R1,R0,#+25 ;; ZeroExtS R1,R0,#+25,#+25
\ 00000014 490E LSRS R1,R1,#+25
\ 00000016 1143 ORRS R1,R1,R2
114
115 /* Store the new value */
116 WWDG->CFR = tmpreg;
\ 00000018 .... LDR.N R2,??DataTable3 ;; 0x40002c04
\ 0000001A 1160 STR R1,[R2, #+0]
117 }
\ 0000001C 7047 BX LR ;; return
118
119 /*******************************************************************************
120 * Function Name : WWDG_EnableIT
121 * Description : Enables the WWDG Early Wakeup interrupt(EWI).
122 * Input : None
123 * Output : None
124 * Return : None
125 *******************************************************************************/
\ In section .XML, align 4, keep-with-next
126 void WWDG_EnableIT(void)
127 {
128 *(vu32 *) CFR_EWI_BB = (u32)ENABLE;
\ WWDG_EnableIT:
\ 00000000 0148 LDR.N R0,??WWDG_EnableIT_0 ;; 0x420580a4
\ 00000002 0121 MOVS R1,#+1
\ 00000004 0160 STR R1,[R0, #+0]
129 }
\ 00000006 7047 BX LR ;; return
\ ??WWDG_EnableIT_0:
\ 00000008 A4800542 DC32 0x420580a4
130
131 /*******************************************************************************
132 * Function Name : WWDG_SetCounter
133 * Description : Sets the WWDG counter value.
134 * Input : - Counter: specifies the watchdog counter value.
135 * This parameter must be a number between 0x40 and 0x7F.
136 * Output : None
137 * Return : None
138 *******************************************************************************/
\ In section .XML, align 4, keep-with-next
139 void WWDG_SetCounter(u8 Counter)
140 {
141 /* Check the parameters */
142 assert_param(IS_WWDG_COUNTER(Counter));
143
144 /* Write to T[6:0] bits to configure the counter value, no need to do
145 a read-modify-write; writing a 0 to WDGA bit does nothing */
146 WWDG->CR = Counter & BIT_Mask;
\ WWDG_SetCounter:
\ 00000000 C0B2 UXTB R0,R0 ;; ZeroExtS R0,R0,#+24,#+24
\ 00000002 4106 LSLS R1,R0,#+25 ;; ZeroExtS R1,R0,#+25,#+25
\ 00000004 490E LSRS R1,R1,#+25
\ 00000006 .... LDR.N R2,??DataTable5 ;; 0x40002c00
\ 00000008 1160 STR R1,[R2, #+0]
147 }
\ 0000000A 7047 BX LR ;; return
148
149 /*******************************************************************************
150 * Function Name : WWDG_Enable
151 * Description : Enables WWDG and load the counter value.
152 * - Counter: specifies the watchdog counter value.
153 * This parameter must be a number between 0x40 and 0x7F.
154 * Input : None
155 * Output : None
156 * Return : None
157 *******************************************************************************/
\ In section .XML, align 4, keep-with-next
158 void WWDG_Enable(u8 Counter)
159 {
160 /* Check the parameters */
161 assert_param(IS_WWDG_COUNTER(Counter));
162
163 WWDG->CR = CR_WDGA_Set | Counter;
\ WWDG_Enable:
\ 00000000 C0B2 UXTB R0,R0 ;; ZeroExtS R0,R0,#+24,#+24
\ 00000002 50F08001 ORRS R1,R0,#0x80
\ 00000006 .... LDR.N R2,??DataTable5 ;; 0x40002c00
\ 00000008 1160 STR R1,[R2, #+0]
164 }
\ 0000000A 7047 BX LR ;; return
165
166 /*******************************************************************************
167 * Function Name : WWDG_GetFlagStatus
168 * Description : Checks whether the Early Wakeup interrupt flag is set or not.
169 * Input : None
170 * Output : None
171 * Return : The new state of the Early Wakeup interrupt flag (SET or RESET)
172 *******************************************************************************/
\ In section .XML, align 4, keep-with-next
173 FlagStatus WWDG_GetFlagStatus(void)
174 {
175 return (FlagStatus)(*(vu32 *) SR_EWIF_BB);
\ WWDG_GetFlagStatus:
\ 00000000 0148 LDR.N R0,??WWDG_GetFlagStatus_0 ;; 0x42058100
\ 00000002 0068 LDR R0,[R0, #+0]
\ 00000004 C0B2 UXTB R0,R0 ;; ZeroExtS R0,R0,#+24,#+24
\ 00000006 7047 BX LR ;; return
\ ??WWDG_GetFlagStatus_0:
\ 00000008 00810542 DC32 0x42058100
176 }
177
178 /*******************************************************************************
179 * Function Name : WWDG_ClearFlag
180 * Description : Clears Early Wakeup interrupt flag.
181 * Input : None
182 * Output : None
183 * Return : None
184 *******************************************************************************/
\ In section .XML, align 4, keep-with-next
185 void WWDG_ClearFlag(void)
186 {
187 WWDG->SR = (u32)RESET;
\ WWDG_ClearFlag:
\ 00000000 0148 LDR.N R0,??WWDG_ClearFlag_0 ;; 0x40002c08
\ 00000002 0021 MOVS R1,#+0
\ 00000004 0160 STR R1,[R0, #+0]
188 }
\ 00000006 7047 BX LR ;; return
\ ??WWDG_ClearFlag_0:
\ 00000008 082C0040 DC32 0x40002c08
\ In section .XML, align 4, keep-with-next
\ ??DataTable3:
\ 00000000 042C0040 DC32 0x40002c04
\ In section .XML, align 4, keep-with-next
\ ??DataTable5:
\ 00000000 002C0040 DC32 0x40002c00
189
190 /******************* (C) COPYRIGHT 2007 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 0
Section sizes:
Function/Label Bytes
-------------- -----
WWDG_DeInit 26
WWDG_SetPrescaler 24
WWDG_SetWindowValue 30
WWDG_EnableIT 12
WWDG_SetCounter 12
WWDG_Enable 12
WWDG_GetFlagStatus 12
WWDG_ClearFlag 12
??DataTable3 4
??DataTable5 4
148 bytes in section .XML
148 bytes of CODE memory
Errors: none
Warnings: none
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -