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