📄 stm32f10x_bkp.txt
字号:
; generated by ARM/Thumb C/C++ Compiler with Crescent Bay VAST 10.7u+w+:x ARM NEON, RVCT3.1 [Build 903] for uVision
; commandline ArmCC [--debug -c --asm --interleave -o..\obj\stm32f10x_bkp.o --depend=..\obj\stm32f10x_bkp.d --device=DARMSTM -O3 -Otime -I..\..\LAB6 -I..\..\library\inc -IC:\Keil\ARM\INC\ST\STM32F10x -DVECT_TAB_FLASH --omf_browse=..\obj\stm32f10x_bkp.crf ..\..\library\src\stm32f10x_bkp.c]
THUMB
AREA ||.text||, CODE, READONLY, ALIGN=2
BKP_DeInit PROC
;;;82 void BKP_DeInit(void)
;;;83 {
000000 b510 PUSH {r4,lr}
;;;84 RCC_BackupResetCmd(ENABLE);
000002 2001 MOVS r0,#1
000004 f7fff7ff BL RCC_BackupResetCmd
;;;85 RCC_BackupResetCmd(DISABLE);
000008 e8bde8bd POP {r4,lr}
00000c 2000 MOVS r0,#0
00000e f7fff7ff B.W RCC_BackupResetCmd
;;;86 }
ENDP
BKP_TamperPinLevelConfig PROC
;;;98 void BKP_TamperPinLevelConfig(u16 BKP_TamperPinLevel)
;;;99 {
000012 491a LDR r1,|L1.124|
;;;100 /* Check the parameters */
;;;101 assert(IS_BKP_TAMPER_PIN_LEVEL(BKP_TamperPinLevel));
;;;102
;;;103 *(vu32 *) CR_TPAL_BB = BKP_TamperPinLevel;
000014 6008 STR r0,[r1,#0]
;;;104 }
000016 4770 BX lr
ENDP
BKP_TamperPinCmd PROC
;;;114 void BKP_TamperPinCmd(FunctionalState NewState)
;;;115 {
000018 4919 LDR r1,|L1.128|
;;;116 /* Check the parameters */
;;;117 assert(IS_FUNCTIONAL_STATE(NewState));
;;;118
;;;119 *(vu32 *) CR_TPE_BB = (u32)NewState;
00001a 6008 STR r0,[r1,#0]
;;;120 }
00001c 4770 BX lr
ENDP
BKP_ITConfig PROC
;;;130 void BKP_ITConfig(FunctionalState NewState)
;;;131 {
00001e 4919 LDR r1,|L1.132|
;;;132 /* Check the parameters */
;;;133 assert(IS_FUNCTIONAL_STATE(NewState));
;;;134
;;;135 *(vu32 *) CSR_TPIE_BB = (u32)NewState;
000020 6008 STR r0,[r1,#0]
;;;136 }
000022 4770 BX lr
ENDP
BKP_RTCCalibrationClockOutputCmd PROC
;;;146 void BKP_RTCCalibrationClockOutputCmd(FunctionalState NewState)
;;;147 {
000024 4918 LDR r1,|L1.136|
;;;148 /* Check the parameters */
;;;149 assert(IS_FUNCTIONAL_STATE(NewState));
;;;150
;;;151 *(vu32 *) RTCCR_CCO_BB = (u32)NewState;
000026 6008 STR r0,[r1,#0]
;;;152 }
000028 4770 BX lr
ENDP
BKP_SetRTCCalibrationValue PROC
;;;162 void BKP_SetRTCCalibrationValue(u8 CalibrationValue)
;;;163 {
00002a 4a18 LDR r2,|L1.140|
;;;164 u16 tmpreg = 0;
;;;165
;;;166 /* Check the parameters */
;;;167 assert(IS_BKP_CALIBRATION_VALUE(CalibrationValue));
;;;168
;;;169 tmpreg = BKP->RTCCR;
00002c 8811 LDRH r1,[r2,#0]
;;;170
;;;171 /* Clear CAL[6:0] bits */
;;;172 tmpreg &= RTCCR_CAL_Mask;
00002e f021f021 BIC r1,r1,#0x7f
;;;173
;;;174 /* Set CAL[6:0] bits according to CalibrationValue value */
;;;175 tmpreg |= CalibrationValue;
000032 4308 ORRS r0,r0,r1
;;;176
;;;177 /* Store the new value */
;;;178 BKP->RTCCR = tmpreg;
000034 8010 STRH r0,[r2,#0]
;;;179 }
000036 4770 BX lr
ENDP
BKP_WriteBackupRegister PROC
;;;194
;;;195 *(vu16 *) (BKP_BASE + BKP_DR) = Data;
000038 f100f100 ADD r0,r0,#0x40000000
00003c f500f500 ADD r0,r0,#0x6000
000040 f8a0f8a0 STRH r1,[r0,#0xc00]
;;;196 }
000044 4770 BX lr
ENDP
BKP_ReadBackupRegister PROC
;;;210
;;;211 return (*(vu16 *) (BKP_BASE + BKP_DR));
000046 f100f100 ADD r0,r0,#0x40000000
00004a f500f500 ADD r0,r0,#0x6000
00004e f8b0f8b0 LDRH r0,[r0,#0xc00]
;;;212 }
000052 4770 BX lr
ENDP
BKP_GetFlagStatus PROC
;;;221 FlagStatus BKP_GetFlagStatus(void)
;;;222 {
000054 480e LDR r0,|L1.144|
;;;223 return (FlagStatus)(*(vu32 *) CSR_TEF_BB);
000056 6800 LDR r0,[r0,#0]
000058 b2c0 UXTB r0,r0
;;;224 }
00005a 4770 BX lr
ENDP
BKP_ClearFlag PROC
;;;233 void BKP_ClearFlag(void)
;;;234 {
00005c 480d LDR r0,|L1.148|
;;;235 /* Set CTE bit to clear Tamper Pin Event flag */
;;;236 BKP->CSR |= CSR_CTE_Set;
00005e 8801 LDRH r1,[r0,#0]
000060 f041f041 ORR r1,r1,#1
000064 8001 STRH r1,[r0,#0]
;;;237 }
000066 4770 BX lr
ENDP
BKP_GetITStatus PROC
;;;246 ITStatus BKP_GetITStatus(void)
;;;247 {
000068 480b LDR r0,|L1.152|
;;;248 return (ITStatus)(*(vu32 *) CSR_TIF_BB);
00006a 6800 LDR r0,[r0,#0]
00006c b2c0 UXTB r0,r0
;;;249 }
00006e 4770 BX lr
ENDP
BKP_ClearITPendingBit PROC
;;;258 void BKP_ClearITPendingBit(void)
;;;259 {
000070 4808 LDR r0,|L1.148|
;;;260 /* Set CTI bit to clear Tamper Pin Interrupt pending bit */
;;;261 BKP->CSR |= CSR_CTI_Set;
000072 8801 LDRH r1,[r0,#0]
000074 f041f041 ORR r1,r1,#2
000078 8001 STRH r1,[r0,#0]
;;;262 }
00007a 4770 BX lr
ENDP
|L1.124|
00007c 420d8604 DCD 0x420d8604
|L1.128|
000080 420d8600 DCD 0x420d8600
|L1.132|
000084 420d8688 DCD 0x420d8688
|L1.136|
000088 420d859c DCD 0x420d859c
|L1.140|
00008c 40006c2c DCD 0x40006c2c
|L1.144|
000090 420d86a0 DCD 0x420d86a0
|L1.148|
000094 40006c34 DCD 0x40006c34
|L1.152|
000098 420d86a4 DCD 0x420d86a4
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -