📄 stm32f10x_rtc.lst
字号:
##############################################################################
# #
# IAR ARM ANSI C/C++ Compiler V4.42A/W32 KICKSTART 26/Dec/2008 18:22:07 #
# 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_r #
# tc.c #
# Command line = F:\PROJECT\STM32_UCOSII\CPU\ST\STM32\src\stm32f10x_r #
# tc.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_rtc.lst #
# Object file = F:\PROJECT\STM32_UCOSII\EvalBoards\ST\STM3210E-EVAL\ #
# IAR\OS-Probe\Flash\Obj\stm32f10x_rtc.r79 #
# #
# #
##############################################################################
F:\PROJECT\STM32_UCOSII\CPU\ST\STM32\src\stm32f10x_rtc.c
1 /******************** (C) COPYRIGHT 2008 STMicroelectronics ********************
2 * File Name : stm32f10x_rtc.c
3 * Author : MCD Application Team
4 * Version : V2.0
5 * Date : 05/23/2008
6 * Description : This file provides all the RTC 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_rtc.h"
20
21 /* Private typedef -----------------------------------------------------------*/
22 /* Private define ------------------------------------------------------------*/
23 #define CRL_CNF_Set ((u16)0x0010) /* Configuration Flag Enable Mask */
24 #define CRL_CNF_Reset ((u16)0xFFEF) /* Configuration Flag Disable Mask */
25 #define RTC_LSB_Mask ((u32)0x0000FFFF) /* RTC LSB Mask */
26 #define PRLH_MSB_Mask ((u32)0x000F0000) /* RTC Prescaler MSB Mask */
27
28 /* Private macro -------------------------------------------------------------*/
29 /* Private variables ---------------------------------------------------------*/
30 /* Private function prototypes -----------------------------------------------*/
31 /* Private functions ---------------------------------------------------------*/
32
33 /*******************************************************************************
34 * Function Name : RTC_ITConfig
35 * Description : Enables or disables the specified RTC interrupts.
36 * Input : - RTC_IT: specifies the RTC interrupts sources to be enabled
37 * or disabled.
38 * This parameter can be any combination of the following values:
39 * - RTC_IT_OW: Overflow interrupt
40 * - RTC_IT_ALR: Alarm interrupt
41 * - RTC_IT_SEC: Second interrupt
42 * - NewState: new state of the specified RTC interrupts.
43 * This parameter can be: ENABLE or DISABLE.
44 * Output : None
45 * Return : None
46 *******************************************************************************/
\ In segment CODE, align 4, keep-with-next
47 void RTC_ITConfig(u16 RTC_IT, FunctionalState NewState)
48 {
49 /* Check the parameters */
50 assert_param(IS_RTC_IT(RTC_IT));
51 assert_param(IS_FUNCTIONAL_STATE(NewState));
52
53 if (NewState != DISABLE)
\ RTC_ITConfig:
\ 00000000 .... LDR.N R2,??DataTable10 ;; 0x40002800
\ 00000002 0029 CMP R1,#+0
\ 00000004 1188 LDRH R1,[R2, #+0]
\ 00000006 02D0 BEQ.N ??RTC_ITConfig_0
54 {
55 RTC->CRH |= RTC_IT;
\ 00000008 0843 ORRS R0,R0,R1
\ 0000000A 1080 STRH R0,[R2, #+0]
\ 0000000C 7047 BX LR
56 }
57 else
58 {
59 RTC->CRH &= (u16)~RTC_IT;
\ ??RTC_ITConfig_0:
\ 0000000E 8143 BICS R1,R1,R0
\ 00000010 1180 STRH R1,[R2, #+0]
60 }
61 }
\ 00000012 7047 BX LR ;; return
62
63 /*******************************************************************************
64 * Function Name : RTC_EnterConfigMode
65 * Description : Enters the RTC configuration mode.
66 * Input : None
67 * Output : None
68 * Return : None
69 *******************************************************************************/
\ In segment CODE, align 4, keep-with-next
70 void RTC_EnterConfigMode(void)
71 {
72 /* Set the CNF flag to enter in the Configuration Mode */
73 RTC->CRL |= CRL_CNF_Set;
\ RTC_EnterConfigMode:
\ 00000000 .... LDR.N R0,??DataTable11 ;; 0x40002804
\ 00000002 0188 LDRH R1,[R0, #+0]
\ 00000004 51F01001 ORRS R1,R1,#0x10
\ 00000008 0180 STRH R1,[R0, #+0]
74 }
\ 0000000A 7047 BX LR ;; return
75
76 /*******************************************************************************
77 * Function Name : RTC_ExitConfigMode
78 * Description : Exits from the RTC configuration mode.
79 * Input : None
80 * Output : None
81 * Return : None
82 *******************************************************************************/
\ In segment CODE, align 4, keep-with-next
83 void RTC_ExitConfigMode(void)
84 {
85 /* Reset the CNF flag to exit from the Configuration Mode */
86 RTC->CRL &= CRL_CNF_Reset;
\ RTC_ExitConfigMode:
\ 00000000 .... LDR.N R0,??DataTable11 ;; 0x40002804
\ 00000002 0188 LDRH R1,[R0, #+0]
\ 00000004 014A LDR.N R2,??RTC_ExitConfigMode_0 ;; 0xffef
\ 00000006 0A40 ANDS R2,R2,R1
\ 00000008 0280 STRH R2,[R0, #+0]
87 }
\ 0000000A 7047 BX LR ;; return
\ ??RTC_ExitConfigMode_0:
\ 0000000C EFFF0000 DC32 0xffef
88
89 /*******************************************************************************
90 * Function Name : RTC_GetCounter
91 * Description : Gets the RTC counter value.
92 * Input : None
93 * Output : None
94 * Return : RTC counter value.
95 *******************************************************************************/
\ In segment CODE, align 4, keep-with-next
96 u32 RTC_GetCounter(void)
97 {
98 u16 tmp = 0;
99 tmp = RTC->CNTL;
\ RTC_GetCounter:
\ 00000000 0348 LDR.N R0,??RTC_GetCounter_0 ;; 0x4000281c
\ 00000002 0088 LDRH R0,[R0, #+0]
100
101 return (((u32)RTC->CNTH << 16 ) | tmp) ;
\ 00000004 .... LDR.N R1,??DataTable4 ;; 0x40002818
\ 00000006 0988 LDRH R1,[R1, #+0]
\ 00000008 0904 LSLS R1,R1,#+16
\ 0000000A 0843 ORRS R0,R0,R1
\ 0000000C 7047 BX LR ;; return
\ 0000000E 00BF Nop
\ ??RTC_GetCounter_0:
\ 00000010 1C280040 DC32 0x4000281c
102 }
103
104 /*******************************************************************************
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -