📄 stm32f10x_bkp.lst
字号:
##############################################################################
# #
# IAR ARM ANSI C/C++ Compiler V4.42A/W32 KICKSTART 26/Dec/2008 18:22:05 #
# Copyright 1999-2005 IAR Systems. All rights reserved. #
# #
# Cpu mode = thumb #
# Endian = little #
# Stack alignment = 4 #
# Source file = F:\PROJECT\STM32_UCOSII\CPU\ST\STM32\src\stm32f10x_b #
# kp.c #
# Command line = F:\PROJECT\STM32_UCOSII\CPU\ST\STM32\src\stm32f10x_b #
# kp.c -lCN F:\PROJECT\STM32_UCOSII\EvalBoards\ST\STM3 #
# 210E-EVAL\IAR\OS-Probe\Flash\List\ -o #
# F:\PROJECT\STM32_UCOSII\EvalBoards\ST\STM3210E-EVAL\ #
# IAR\OS-Probe\Flash\Obj\ -z6 --no_unroll --no_inline #
# --no_tbaa --no_scheduling --debug --cpu_mode thumb #
# --endian little --cpu cortex-M3 --stack_align 4 -e #
# --fpu None --dlib_config "E:\Program Files\IAR #
# Systems\Embedded Workbench 4.0 #
# Kickstart\arm\LIB\dl7mptnnl8n.h" -I #
# F:\PROJECT\STM32_UCOSII\EvalBoards\ST\STM3210E-EVAL\ #
# IAR\OS-Probe\ -I F:\PROJECT\STM32_UCOSII\EvalBoards\ #
# ST\STM3210E-EVAL\IAR\OS-Probe\..\BSP\ -I #
# F:\PROJECT\STM32_UCOSII\EvalBoards\ST\STM3210E-EVAL\ #
# IAR\OS-Probe\..\..\..\..\..\CPU\ST\STM32\inc\ -I #
# F:\PROJECT\STM32_UCOSII\EvalBoards\ST\STM3210E-EVAL\ #
# IAR\OS-Probe\..\..\..\..\..\uC-CPU\ -I #
# F:\PROJECT\STM32_UCOSII\EvalBoards\ST\STM3210E-EVAL\ #
# IAR\OS-Probe\..\..\..\..\..\uC-CPU\ARM-Cortex-M3\IAR #
# \ -I F:\PROJECT\STM32_UCOSII\EvalBoards\ST\STM3210E- #
# EVAL\IAR\OS-Probe\..\..\..\..\..\uC-LCD\Source\ -I #
# F:\PROJECT\STM32_UCOSII\EvalBoards\ST\STM3210E-EVAL\ #
# IAR\OS-Probe\..\..\..\..\..\uC-LIB\ -I #
# F:\PROJECT\STM32_UCOSII\EvalBoards\ST\STM3210E-EVAL\ #
# IAR\OS-Probe\..\..\..\..\..\uCOS-II\Ports\ARM-Cortex #
# -M3\Generic\IAR\ -I F:\PROJECT\STM32_UCOSII\EvalBoar #
# ds\ST\STM3210E-EVAL\IAR\OS-Probe\..\..\..\..\..\uCOS #
# -II\Source\ -I F:\PROJECT\STM32_UCOSII\EvalBoards\ST #
# \STM3210E-EVAL\IAR\OS-Probe\..\..\..\..\..\uC-Probe\ #
# Target\Communication\Generic\RS-232\Source\ -I #
# F:\PROJECT\STM32_UCOSII\EvalBoards\ST\STM3210E-EVAL\ #
# IAR\OS-Probe\..\..\..\..\..\uC-Probe\Target\Communic #
# ation\Generic\RS-232\Ports\ST\STM32\ -I #
# F:\PROJECT\STM32_UCOSII\EvalBoards\ST\STM3210E-EVAL\ #
# IAR\OS-Probe\..\..\..\..\..\uC-Probe\Target\Communic #
# ation\Generic\Source\ -I F:\PROJECT\STM32_UCOSII\Eva #
# lBoards\ST\STM3210E-EVAL\IAR\OS-Probe\..\..\..\..\.. #
# \uC-Probe\Target\Plugins\uCOS-II\ -I "E:\Program #
# Files\IAR Systems\Embedded Workbench 4.0 #
# Kickstart\arm\INC\" #
# List file = F:\PROJECT\STM32_UCOSII\EvalBoards\ST\STM3210E-EVAL\ #
# IAR\OS-Probe\Flash\List\stm32f10x_bkp.lst #
# Object file = F:\PROJECT\STM32_UCOSII\EvalBoards\ST\STM3210E-EVAL\ #
# IAR\OS-Probe\Flash\Obj\stm32f10x_bkp.r79 #
# #
# #
##############################################################################
F:\PROJECT\STM32_UCOSII\CPU\ST\STM32\src\stm32f10x_bkp.c
1 /******************** (C) COPYRIGHT 2008 STMicroelectronics ********************
2 * File Name : stm32f10x_bkp.c
3 * Author : MCD Application Team
4 * Version : V2.0
5 * Date : 05/23/2008
6 * Description : This file provides all the BKP firmware functions.
7 ********************************************************************************
8 * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
9 * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME.
10 * AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT,
11 * INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE
12 * CONTENT OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING
13 * INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
14 * FOR MORE INFORMATION PLEASE CAREFULLY READ THE LICENSE AGREEMENT FILE LOCATED
15 * IN THE ROOT DIRECTORY OF THIS FIRMWARE PACKAGE.
16 *******************************************************************************/
17
18 /* Includes ------------------------------------------------------------------*/
19 #include "stm32f10x_bkp.h"
20 #include "stm32f10x_rcc.h"
21
22 /* Private typedef -----------------------------------------------------------*/
23 /* Private define ------------------------------------------------------------*/
24 /* ------------ BKP registers bit address in the alias region ----------- */
25 #define BKP_OFFSET (BKP_BASE - PERIPH_BASE)
26
27 /* --- CR Register ---*/
28 /* Alias word address of TPAL bit */
29 #define CR_OFFSET (BKP_OFFSET + 0x30)
30 #define TPAL_BitNumber 0x01
31 #define CR_TPAL_BB (PERIPH_BB_BASE + (CR_OFFSET * 32) + (TPAL_BitNumber * 4))
32
33 /* Alias word address of TPE bit */
34 #define TPE_BitNumber 0x00
35 #define CR_TPE_BB (PERIPH_BB_BASE + (CR_OFFSET * 32) + (TPE_BitNumber * 4))
36
37 /* --- CSR Register ---*/
38 /* Alias word address of TPIE bit */
39 #define CSR_OFFSET (BKP_OFFSET + 0x34)
40 #define TPIE_BitNumber 0x02
41 #define CSR_TPIE_BB (PERIPH_BB_BASE + (CSR_OFFSET * 32) + (TPIE_BitNumber * 4))
42
43 /* Alias word address of TIF bit */
44 #define TIF_BitNumber 0x09
45 #define CSR_TIF_BB (PERIPH_BB_BASE + (CSR_OFFSET * 32) + (TIF_BitNumber * 4))
46
47 /* Alias word address of TEF bit */
48 #define TEF_BitNumber 0x08
49 #define CSR_TEF_BB (PERIPH_BB_BASE + (CSR_OFFSET * 32) + (TEF_BitNumber * 4))
50
51
52 /* ---------------------- BKP registers bit mask ------------------------ */
53 /* RTCCR register bit mask */
54 #define RTCCR_CAL_Mask ((u16)0xFF80)
55 #define RTCCR_Mask ((u16)0xFC7F)
56
57 /* CSR register bit mask */
58 #define CSR_CTE_Set ((u16)0x0001)
59 #define CSR_CTI_Set ((u16)0x0002)
60
61 /* Private macro -------------------------------------------------------------*/
62 /* Private variables ---------------------------------------------------------*/
63 /* Private function prototypes -----------------------------------------------*/
64 /* Private functions ---------------------------------------------------------*/
65
66 /*******************************************************************************
67 * Function Name : BKP_DeInit
68 * Description : Deinitializes the BKP peripheral registers to their default
69 * reset values.
70 * Input : None
71 * Output : None
72 * Return : None
73 *******************************************************************************/
\ In segment CODE, align 4, keep-with-next
74 void BKP_DeInit(void)
75 {
\ BKP_DeInit:
\ 00000000 00B5 PUSH {LR}
76 RCC_BackupResetCmd(ENABLE);
\ 00000002 0120 MOVS R0,#+1
\ 00000004 ........ _BLF RCC_BackupResetCmd,??RCC_BackupResetCmd??rT
77 RCC_BackupResetCmd(DISABLE);
\ 00000008 0020 MOVS R0,#+0
\ 0000000A ........ _BLF RCC_BackupResetCmd,??RCC_BackupResetCmd??rT
78 }
\ 0000000E 00BD POP {PC} ;; return
79
80 /*******************************************************************************
81 * Function Name : BKP_TamperPinLevelConfig
82 * Description : Configures the Tamper Pin active level.
83 * Input : - BKP_TamperPinLevel: specifies the Tamper Pin active level.
84 * This parameter can be one of the following values:
85 * - BKP_TamperPinLevel_High: Tamper pin active on high level
86 * - BKP_TamperPinLevel_Low: Tamper pin active on low level
87 * Output : None
88 * Return : None
89 *******************************************************************************/
\ In segment CODE, align 4, keep-with-next
90 void BKP_TamperPinLevelConfig(u16 BKP_TamperPinLevel)
91 {
92 /* Check the parameters */
93 assert_param(IS_BKP_TAMPER_PIN_LEVEL(BKP_TamperPinLevel));
94
95 *(vu32 *) CR_TPAL_BB = BKP_TamperPinLevel;
\ BKP_TamperPinLevelConfig:
\ 00000000 0149 LDR.N R1,??BKP_TamperPinLevelConfig_0 ;; 0x420d8604
\ 00000002 0860 STR R0,[R1, #+0]
96 }
\ 00000004 7047 BX LR ;; return
\ 00000006 00BF Nop
\ ??BKP_TamperPinLevelConfig_0:
\ 00000008 04860D42 DC32 0x420d8604
97
98 /*******************************************************************************
99 * Function Name : BKP_TamperPinCmd
100 * Description : Enables or disables the Tamper Pin activation.
101 * Input : - NewState: new state of the Tamper Pin activation.
102 * This parameter can be: ENABLE or DISABLE.
103 * Output : None
104 * Return : None
105 *******************************************************************************/
\ In segment CODE, align 4, keep-with-next
106 void BKP_TamperPinCmd(FunctionalState NewState)
107 {
108 /* Check the parameters */
109 assert_param(IS_FUNCTIONAL_STATE(NewState));
110
111 *(vu32 *) CR_TPE_BB = (u32)NewState;
\ BKP_TamperPinCmd:
\ 00000000 0149 LDR.N R1,??BKP_TamperPinCmd_0 ;; 0x420d8600
\ 00000002 0860 STR R0,[R1, #+0]
112 }
\ 00000004 7047 BX LR ;; return
\ 00000006 00BF Nop
\ ??BKP_TamperPinCmd_0:
\ 00000008 00860D42 DC32 0x420d8600
113
114 /*******************************************************************************
115 * Function Name : BKP_ITConfig
116 * Description : Enables or disables the Tamper Pin Interrupt.
117 * Input : - NewState: new state of the Tamper Pin Interrupt.
118 * This parameter can be: ENABLE or DISABLE.
119 * Output : None
120 * Return : None
121 *******************************************************************************/
\ In segment CODE, align 4, keep-with-next
122 void BKP_ITConfig(FunctionalState NewState)
123 {
124 /* Check the parameters */
125 assert_param(IS_FUNCTIONAL_STATE(NewState));
126
127 *(vu32 *) CSR_TPIE_BB = (u32)NewState;
\ BKP_ITConfig:
\ 00000000 0149 LDR.N R1,??BKP_ITConfig_0 ;; 0x420d8688
\ 00000002 0860 STR R0,[R1, #+0]
128 }
\ 00000004 7047 BX LR ;; return
\ 00000006 00BF Nop
\ ??BKP_ITConfig_0:
\ 00000008 88860D42 DC32 0x420d8688
129
130 /*******************************************************************************
131 * Function Name : BKP_RTCOutputConfig
132 * Description : Select the RTC output source to output on the Tamper pin.
133 * Input : - BKP_RTCOutputSource: specifies the RTC output source.
134 * This parameter can be one of the following values:
135 * - BKP_RTCOutputSource_None: no RTC output on the Tamper pin.
136 * - BKP_RTCOutputSource_CalibClock: output the RTC clock
137 * with frequency divided by 64 on the Tamper pin.
138 * - BKP_RTCOutputSource_Alarm: output the RTC Alarm pulse
139 * signal on the Tamper pin.
140 * - BKP_RTCOutputSource_Second: output the RTC Second pulse
141 * signal on the Tamper pin.
142 * Output : None
143 * Return : None
144 *******************************************************************************/
\ In segment CODE, align 4, keep-with-next
145 void BKP_RTCOutputConfig(u16 BKP_RTCOutputSource)
146 {
147 u16 tmpreg = 0;
148
149 /* Check the parameters */
150 assert_param(IS_BKP_RTC_OUTPUT_SOURCE(BKP_RTCOutputSource));
151
152 tmpreg = BKP->RTCCR;
\ BKP_RTCOutputConfig:
\ 00000000 .... LDR.N R1,??DataTable1 ;; 0x40006c2c
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -