📄 stm32f10x_bkp.txt
字号:
; generated by ARM/Thumb C/C++ Compiler with , RVCT3.1 [Build 934] for uVision
; commandline ArmCC [--split_sections --debug -c --asm --interleave -o.\Obj\stm32f10x_bkp.o --depend=.\Obj\stm32f10x_bkp.d --device=DARMSTM --apcs=interwork -O3 -I..\..\include -I..\..\..\FWLib\library\inc -I..\..\..\USBLib\library\inc -I..\..\SRAM -I"D:\Program Files\MDK KEIL\ARM\INC\ST\STM32F10x" -D__MICROLIB --omf_browse=.\Obj\stm32f10x_bkp.crf ..\..\..\FWLib\library\src\stm32f10x_bkp.c]
THUMB
AREA ||i.BKP_DeInit||, CODE, READONLY, ALIGN=1
BKP_DeInit PROC
;;;72 void BKP_DeInit(void)
;;;73 {
000000 b510 PUSH {r4,lr}
;;;74 RCC_BackupResetCmd(ENABLE);
000002 2001 MOVS r0,#1
000004 f7fff7ff BL RCC_BackupResetCmd
;;;75 RCC_BackupResetCmd(DISABLE);
000008 e8bde8bd POP {r4,lr}
00000c 2000 MOVS r0,#0
00000e f7fff7ff B.W RCC_BackupResetCmd
;;;76 }
;;;77
ENDP
AREA ||i.BKP_TamperPinLevelConfig||, CODE, READONLY, ALIGN=2
BKP_TamperPinLevelConfig PROC
;;;88 void BKP_TamperPinLevelConfig(u16 BKP_TamperPinLevel)
;;;89 {
000000 4901 LDR r1,|L2.8|
;;;90 /* Check the parameters */
;;;91 assert_param(IS_BKP_TAMPER_PIN_LEVEL(BKP_TamperPinLevel));
;;;92
;;;93 *(vu32 *) CR_TPAL_BB = BKP_TamperPinLevel;
000002 6008 STR r0,[r1,#0]
;;;94 }
000004 4770 BX lr
;;;95
ENDP
000006 0000 DCW 0x0000
|L2.8|
000008 420d8604 DCD 0x420d8604
AREA ||i.BKP_TamperPinCmd||, CODE, READONLY, ALIGN=2
BKP_TamperPinCmd PROC
;;;104 void BKP_TamperPinCmd(FunctionalState NewState)
;;;105 {
000000 4901 LDR r1,|L3.8|
;;;106 /* Check the parameters */
;;;107 assert_param(IS_FUNCTIONAL_STATE(NewState));
;;;108
;;;109 *(vu32 *) CR_TPE_BB = (u32)NewState;
000002 6008 STR r0,[r1,#0]
;;;110 }
000004 4770 BX lr
;;;111
ENDP
000006 0000 DCW 0x0000
|L3.8|
000008 420d8600 DCD 0x420d8600
AREA ||i.BKP_ITConfig||, CODE, READONLY, ALIGN=2
BKP_ITConfig PROC
;;;120 void BKP_ITConfig(FunctionalState NewState)
;;;121 {
000000 4901 LDR r1,|L4.8|
;;;122 /* Check the parameters */
;;;123 assert_param(IS_FUNCTIONAL_STATE(NewState));
;;;124
;;;125 *(vu32 *) CSR_TPIE_BB = (u32)NewState;
000002 6008 STR r0,[r1,#0]
;;;126 }
000004 4770 BX lr
;;;127
ENDP
000006 0000 DCW 0x0000
|L4.8|
000008 420d8688 DCD 0x420d8688
AREA ||i.BKP_RTCOutputConfig||, CODE, READONLY, ALIGN=2
BKP_RTCOutputConfig PROC
;;;143 void BKP_RTCOutputConfig(u16 BKP_RTCOutputSource)
;;;144 {
000000 4a03 LDR r2,|L5.16|
;;;145 u16 tmpreg = 0;
;;;146
;;;147 /* Check the parameters */
;;;148 assert_param(IS_BKP_RTC_OUTPUT_SOURCE(BKP_RTCOutputSource));
;;;149
;;;150 tmpreg = BKP->RTCCR;
000002 8811 LDRH r1,[r2,#0]
;;;151
;;;152 /* Clear CCO, ASOE and ASOS bits */
;;;153 tmpreg &= RTCCR_Mask;
000004 f421f421 BIC r1,r1,#0x380
;;;154
;;;155 /* Set CCO, ASOE and ASOS bits according to BKP_RTCOutputSource value */
;;;156 tmpreg |= BKP_RTCOutputSource;
000008 4301 ORRS r1,r1,r0
;;;157
;;;158 /* Store the new value */
;;;159 BKP->RTCCR = tmpreg;
00000a 8011 STRH r1,[r2,#0]
;;;160 }
00000c 4770 BX lr
;;;161
ENDP
00000e 0000 DCW 0x0000
|L5.16|
000010 40006c2c DCD 0x40006c2c
AREA ||i.BKP_SetRTCCalibrationValue||, CODE, READONLY, ALIGN=2
BKP_SetRTCCalibrationValue PROC
;;;170 void BKP_SetRTCCalibrationValue(u8 CalibrationValue)
;;;171 {
000000 4a03 LDR r2,|L6.16|
;;;172 u16 tmpreg = 0;
;;;173
;;;174 /* Check the parameters */
;;;175 assert_param(IS_BKP_CALIBRATION_VALUE(CalibrationValue));
;;;176
;;;177 tmpreg = BKP->RTCCR;
000002 8811 LDRH r1,[r2,#0]
;;;178
;;;179 /* Clear CAL[6:0] bits */
;;;180 tmpreg &= RTCCR_CAL_Mask;
000004 f021f021 BIC r1,r1,#0x7f
;;;181
;;;182 /* Set CAL[6:0] bits according to CalibrationValue value */
;;;183 tmpreg |= CalibrationValue;
000008 4301 ORRS r1,r1,r0
;;;184
;;;185 /* Store the new value */
;;;186 BKP->RTCCR = tmpreg;
00000a 8011 STRH r1,[r2,#0]
;;;187 }
00000c 4770 BX lr
;;;188
ENDP
00000e 0000 DCW 0x0000
|L6.16|
000010 40006c2c DCD 0x40006c2c
AREA ||i.BKP_WriteBackupRegister||, CODE, READONLY, ALIGN=2
BKP_WriteBackupRegister PROC
;;;202
;;;203 *(vu16 *) (BKP_BASE + BKP_DR) = Data;
000000 4a02 LDR r2,|L7.12|
000002 4410 ADD r0,r0,r2
000004 f8a0f8a0 STRH r1,[r0,#0xc00]
;;;204 }
000008 4770 BX lr
;;;205
ENDP
00000a 0000 DCW 0x0000
|L7.12|
00000c 40006000 DCD 0x40006000
AREA ||i.BKP_ReadBackupRegister||, CODE, READONLY, ALIGN=2
BKP_ReadBackupRegister PROC
;;;218
;;;219 return (*(vu16 *) (BKP_BASE + BKP_DR));
000000 4902 LDR r1,|L8.12|
000002 4408 ADD r0,r0,r1
000004 f8b0f8b0 LDRH r0,[r0,#0xc00]
;;;220 }
000008 4770 BX lr
;;;221
ENDP
00000a 0000 DCW 0x0000
|L8.12|
00000c 40006000 DCD 0x40006000
AREA ||i.BKP_GetFlagStatus||, CODE, READONLY, ALIGN=2
BKP_GetFlagStatus PROC
;;;229 FlagStatus BKP_GetFlagStatus(void)
;;;230 {
000000 4801 LDR r0,|L9.8|
;;;231 return (FlagStatus)(*(vu32 *) CSR_TEF_BB);
000002 6800 LDR r0,[r0,#0]
000004 b2c0 UXTB r0,r0
;;;232 }
000006 4770 BX lr
;;;233
ENDP
|L9.8|
000008 420d86a0 DCD 0x420d86a0
AREA ||i.BKP_ClearFlag||, CODE, READONLY, ALIGN=2
BKP_ClearFlag PROC
;;;241 void BKP_ClearFlag(void)
;;;242 {
000000 4802 LDR r0,|L10.12|
;;;243 /* Set CTE bit to clear Tamper Pin Event flag */
;;;244 BKP->CSR |= CSR_CTE_Set;
000002 8801 LDRH r1,[r0,#0]
000004 f041f041 ORR r1,r1,#1
000008 8001 STRH r1,[r0,#0]
;;;245 }
00000a 4770 BX lr
;;;246
ENDP
|L10.12|
00000c 40006c34 DCD 0x40006c34
AREA ||i.BKP_GetITStatus||, CODE, READONLY, ALIGN=2
BKP_GetITStatus PROC
;;;254 ITStatus BKP_GetITStatus(void)
;;;255 {
000000 4801 LDR r0,|L11.8|
;;;256 return (ITStatus)(*(vu32 *) CSR_TIF_BB);
000002 6800 LDR r0,[r0,#0]
000004 b2c0 UXTB r0,r0
;;;257 }
000006 4770 BX lr
;;;258
ENDP
|L11.8|
000008 420d86a4 DCD 0x420d86a4
AREA ||i.BKP_ClearITPendingBit||, CODE, READONLY, ALIGN=2
BKP_ClearITPendingBit PROC
;;;266 void BKP_ClearITPendingBit(void)
;;;267 {
000000 4802 LDR r0,|L12.12|
;;;268 /* Set CTI bit to clear Tamper Pin Interrupt pending bit */
;;;269 BKP->CSR |= CSR_CTI_Set;
000002 8801 LDRH r1,[r0,#0]
000004 f041f041 ORR r1,r1,#2
000008 8001 STRH r1,[r0,#0]
;;;270 }
00000a 4770 BX lr
;;;271
ENDP
|L12.12|
00000c 40006c34 DCD 0x40006c34
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -