📄 stm32f10x_bkp.lst
字号:
\ 00000002 0A88 LDRH R2,[R1, #+0]
153
154 /* Clear CCO, ASOE and ASOS bits */
155 tmpreg &= RTCCR_Mask;
156
157 /* Set CCO, ASOE and ASOS bits according to BKP_RTCOutputSource value */
158 tmpreg |= BKP_RTCOutputSource;
159
160 /* Store the new value */
161 BKP->RTCCR = tmpreg;
\ 00000004 024B LDR.N R3,??BKP_RTCOutputConfig_0 ;; 0xfc7f
\ 00000006 1340 ANDS R3,R3,R2
\ 00000008 1843 ORRS R0,R0,R3
\ 0000000A 0880 STRH R0,[R1, #+0]
162 }
\ 0000000C 7047 BX LR ;; return
\ 0000000E 00BF Nop
\ ??BKP_RTCOutputConfig_0:
\ 00000010 7FFC0000 DC32 0xfc7f
163
164 /*******************************************************************************
165 * Function Name : BKP_SetRTCCalibrationValue
166 * Description : Sets RTC Clock Calibration value.
167 * Input : - CalibrationValue: specifies the RTC Clock Calibration value.
168 * This parameter must be a number between 0 and 0x7F.
169 * Output : None
170 * Return : None
171 *******************************************************************************/
\ In segment CODE, align 4, keep-with-next
172 void BKP_SetRTCCalibrationValue(u8 CalibrationValue)
173 {
174 u16 tmpreg = 0;
175
176 /* Check the parameters */
177 assert_param(IS_BKP_CALIBRATION_VALUE(CalibrationValue));
178
179 tmpreg = BKP->RTCCR;
\ BKP_SetRTCCalibrationValue:
\ 00000000 .... LDR.N R1,??DataTable1 ;; 0x40006c2c
\ 00000002 0A88 LDRH R2,[R1, #+0]
180
181 /* Clear CAL[6:0] bits */
182 tmpreg &= RTCCR_CAL_Mask;
183
184 /* Set CAL[6:0] bits according to CalibrationValue value */
185 tmpreg |= CalibrationValue;
186
187 /* Store the new value */
188 BKP->RTCCR = tmpreg;
\ 00000004 024B LDR.N R3,??BKP_SetRTCCalibrationValue_0 ;; 0xff80
\ 00000006 1340 ANDS R3,R3,R2
\ 00000008 1843 ORRS R0,R0,R3
\ 0000000A 0880 STRH R0,[R1, #+0]
189 }
\ 0000000C 7047 BX LR ;; return
\ 0000000E 00BF Nop
\ ??BKP_SetRTCCalibrationValue_0:
\ 00000010 80FF0000 DC32 0xff80
190
191 /*******************************************************************************
192 * Function Name : BKP_WriteBackupRegister
193 * Description : Writes user data to the specified Data Backup Register.
194 * Input : - BKP_DR: specifies the Data Backup Register.
195 * This parameter can be BKP_DRx where x:[1, 42]
196 * - Data: data to write
197 * Output : None
198 * Return : None
199 *******************************************************************************/
\ In segment CODE, align 4, keep-with-next
200 void BKP_WriteBackupRegister(u16 BKP_DR, u16 Data)
201 {
202 /* Check the parameters */
203 assert_param(IS_BKP_DR(BKP_DR));
204
205 *(vu16 *) (BKP_BASE + BKP_DR) = Data;
\ BKP_WriteBackupRegister:
\ 00000000 .... LDR.N R2,??DataTable3 ;; 0x40006c00
\ 00000002 8152 STRH R1,[R0, R2]
206 }
\ 00000004 7047 BX LR ;; return
207
208 /*******************************************************************************
209 * Function Name : BKP_ReadBackupRegister
210 * Description : Reads data from the specified Data Backup Register.
211 * Input : - BKP_DR: specifies the Data Backup Register.
212 * This parameter can be BKP_DRx where x:[1, 42]
213 * Output : None
214 * Return : The content of the specified Data Backup Register
215 *******************************************************************************/
\ In segment CODE, align 4, keep-with-next
216 u16 BKP_ReadBackupRegister(u16 BKP_DR)
217 {
218 /* Check the parameters */
219 assert_param(IS_BKP_DR(BKP_DR));
220
221 return (*(vu16 *) (BKP_BASE + BKP_DR));
\ BKP_ReadBackupRegister:
\ 00000000 .... LDR.N R1,??DataTable3 ;; 0x40006c00
\ 00000002 405A LDRH R0,[R0, R1]
\ 00000004 7047 BX LR ;; return
222 }
223
224 /*******************************************************************************
225 * Function Name : BKP_GetFlagStatus
226 * Description : Checks whether the Tamper Pin Event flag is set or not.
227 * Input : None
228 * Output : None
229 * Return : The new state of the Tamper Pin Event flag (SET or RESET).
230 *******************************************************************************/
\ In segment CODE, align 4, keep-with-next
231 FlagStatus BKP_GetFlagStatus(void)
232 {
233 return (FlagStatus)(*(vu32 *) CSR_TEF_BB);
\ BKP_GetFlagStatus:
\ 00000000 0148 LDR.N R0,??BKP_GetFlagStatus_0 ;; 0x420d86a0
\ 00000002 0068 LDR R0,[R0, #+0]
\ 00000004 C0B2 UXTB R0,R0
\ 00000006 7047 BX LR ;; return
\ ??BKP_GetFlagStatus_0:
\ 00000008 A0860D42 DC32 0x420d86a0
234 }
235
236 /*******************************************************************************
237 * Function Name : BKP_ClearFlag
238 * Description : Clears Tamper Pin Event pending flag.
239 * Input : None
240 * Output : None
241 * Return : None
242 *******************************************************************************/
\ In segment CODE, align 4, keep-with-next
243 void BKP_ClearFlag(void)
244 {
245 /* Set CTE bit to clear Tamper Pin Event flag */
246 BKP->CSR |= CSR_CTE_Set;
\ BKP_ClearFlag:
\ 00000000 .... LDR.N R0,??DataTable5 ;; 0x40006c34
\ 00000002 0188 LDRH R1,[R0, #+0]
\ 00000004 51F00101 ORRS R1,R1,#0x1
\ 00000008 0180 STRH R1,[R0, #+0]
247 }
\ 0000000A 7047 BX LR ;; return
248
249 /*******************************************************************************
250 * Function Name : BKP_GetITStatus
251 * Description : Checks whether the Tamper Pin Interrupt has occurred or not.
252 * Input : None
253 * Output : None
254 * Return : The new state of the Tamper Pin Interrupt (SET or RESET).
255 *******************************************************************************/
\ In segment CODE, align 4, keep-with-next
256 ITStatus BKP_GetITStatus(void)
257 {
258 return (ITStatus)(*(vu32 *) CSR_TIF_BB);
\ BKP_GetITStatus:
\ 00000000 0148 LDR.N R0,??BKP_GetITStatus_0 ;; 0x420d86a4
\ 00000002 0068 LDR R0,[R0, #+0]
\ 00000004 C0B2 UXTB R0,R0
\ 00000006 7047 BX LR ;; return
\ ??BKP_GetITStatus_0:
\ 00000008 A4860D42 DC32 0x420d86a4
259 }
260
261 /*******************************************************************************
262 * Function Name : BKP_ClearITPendingBit
263 * Description : Clears Tamper Pin Interrupt pending bit.
264 * Input : None
265 * Output : None
266 * Return : None
267 *******************************************************************************/
\ In segment CODE, align 4, keep-with-next
268 void BKP_ClearITPendingBit(void)
269 {
270 /* Set CTI bit to clear Tamper Pin Interrupt pending bit */
271 BKP->CSR |= CSR_CTI_Set;
\ BKP_ClearITPendingBit:
\ 00000000 .... LDR.N R0,??DataTable5 ;; 0x40006c34
\ 00000002 0188 LDRH R1,[R0, #+0]
\ 00000004 51F00201 ORRS R1,R1,#0x2
\ 00000008 0180 STRH R1,[R0, #+0]
272 }
\ 0000000A 7047 BX LR ;; return
\ In segment CODE, align 4, keep-with-next
\ ??DataTable1:
\ 00000000 2C6C0040 DC32 0x40006c2c
\ In segment CODE, align 4, keep-with-next
\ ??DataTable3:
\ 00000000 006C0040 DC32 0x40006c00
\ In segment CODE, align 4, keep-with-next
\ ??DataTable5:
\ 00000000 346C0040 DC32 0x40006c34
273
274 /******************* (C) COPYRIGHT 2008 STMicroelectronics *****END OF FILE****/
Maximum stack usage in bytes:
Function CSTACK
-------- ------
BKP_ClearFlag 0
BKP_ClearITPendingBit 0
BKP_DeInit 4
BKP_GetFlagStatus 0
BKP_GetITStatus 0
BKP_ITConfig 0
BKP_RTCOutputConfig 0
BKP_ReadBackupRegister 0
BKP_SetRTCCalibrationValue 0
BKP_TamperPinCmd 0
BKP_TamperPinLevelConfig 0
BKP_WriteBackupRegister 0
Segment part sizes:
Function/Label Bytes
-------------- -----
BKP_DeInit 16
BKP_TamperPinLevelConfig 12
BKP_TamperPinCmd 12
BKP_ITConfig 12
BKP_RTCOutputConfig 20
BKP_SetRTCCalibrationValue 20
BKP_WriteBackupRegister 6
BKP_ReadBackupRegister 6
BKP_GetFlagStatus 12
BKP_ClearFlag 12
BKP_GetITStatus 12
BKP_ClearITPendingBit 12
??DataTable1 4
??DataTable3 4
??DataTable5 4
Others 8
172 bytes in segment CODE
164 bytes of CODE memory (+ 8 bytes shared)
Errors: none
Warnings: none
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -