Rev 18 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed
ARM GAS C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s page 1
1 .cpu cortex-m3
2 .eabi_attribute 20, 1
3 .eabi_attribute 21, 1
4 .eabi_attribute 23, 3
5 .eabi_attribute 24, 1
6 .eabi_attribute 25, 1
7 .eabi_attribute 26, 1
8 .eabi_attribute 30, 1
9 .eabi_attribute 34, 1
10 .eabi_attribute 18, 4
11 .file "stm32f1xx_hal_rtc.c"
12 .text
13 .Ltext0:
14 .cfi_sections .debug_frame
15 .section .text.RTC_ReadTimeCounter,"ax",%progbits
16 .align 1
17 .arch armv7-m
18 .syntax unified
19 .thumb
20 .thumb_func
21 .fpu softvfp
23 RTC_ReadTimeCounter:
24 .LVL0:
25 .LFB82:
26 .file 1 "Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c"
1:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /**
2:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** ******************************************************************************
3:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @file stm32f1xx_hal_rtc.c
4:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @author MCD Application Team
5:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @brief RTC HAL module driver.
6:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * This file provides firmware functions to manage the following
7:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * functionalities of the Real Time Clock (RTC) peripheral:
8:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * + Initialization and de-initialization functions
9:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * + RTC Time and Date functions
10:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * + RTC Alarm functions
11:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * + Peripheral Control functions
12:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * + Peripheral State functions
13:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** *
14:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** @verbatim
15:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** ==============================================================================
16:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** ##### How to use this driver #####
17:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** ==================================================================
18:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** [..]
19:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** (+) Enable the RTC domain access (see description in the section above).
20:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** (+) Configure the RTC Prescaler (Asynchronous prescaler to generate RTC 1Hz time base)
21:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** using the HAL_RTC_Init() function.
22:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
23:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** *** Time and Date configuration ***
24:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** ===================================
25:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** [..]
26:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** (+) To configure the RTC Calendar (Time and Date) use the HAL_RTC_SetTime()
27:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** and HAL_RTC_SetDate() functions.
28:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** (+) To read the RTC Calendar, use the HAL_RTC_GetTime() and HAL_RTC_GetDate() functions.
29:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
30:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** *** Alarm configuration ***
31:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** ===========================
32:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** [..]
ARM GAS C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s page 2
33:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** (+) To configure the RTC Alarm use the HAL_RTC_SetAlarm() function.
34:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** You can also configure the RTC Alarm with interrupt mode using the HAL_RTC_SetAlarm_IT() fu
35:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** (+) To read the RTC Alarm, use the HAL_RTC_GetAlarm() function.
36:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
37:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** *** Tamper configuration ***
38:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** ============================
39:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** [..]
40:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** (+) Enable the RTC Tamper and configure the Tamper Level using the
41:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** HAL_RTCEx_SetTamper() function. You can configure RTC Tamper with interrupt
42:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** mode using HAL_RTCEx_SetTamper_IT() function.
43:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** (+) The TAMPER1 alternate function can be mapped to PC13
44:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
45:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** *** Backup Data Registers configuration ***
46:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** ===========================================
47:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** [..]
48:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** (+) To write to the RTC Backup Data registers, use the HAL_RTCEx_BKUPWrite()
49:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** function.
50:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** (+) To read the RTC Backup Data registers, use the HAL_RTCEx_BKUPRead()
51:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** function.
52:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
53:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** ##### WARNING: Drivers Restrictions #####
54:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** ==================================================================
55:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** [..] RTC version used on STM32F1 families is version V1. All the features supported by V2
56:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** (other families) will be not supported on F1.
57:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** [..] As on V2, main RTC features are managed by HW. But on F1, date feature is completely
58:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** managed by SW.
59:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** [..] Then, there are some restrictions compared to other families:
60:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** (+) Only format 24 hours supported in HAL (format 12 hours not supported)
61:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** (+) Date is saved in SRAM. Then, when MCU is in STOP or STANDBY mode, date will be lost.
62:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** User should implement a way to save date before entering in low power mode (an
63:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** example is provided with firmware package based on backup registers)
64:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** (+) Date is automatically updated each time a HAL_RTC_GetTime or HAL_RTC_GetDate is called.
65:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** (+) Alarm detection is limited to 1 day. It will expire only 1 time (no alarm repetition, need
66:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** to program a new alarm)
67:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
68:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** ##### Backup Domain Operating Condition #####
69:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** ==============================================================================
70:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** [..] The real-time clock (RTC) and the RTC backup registers can be powered
71:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** from the VBAT voltage when the main VDD supply is powered off.
72:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** To retain the content of the RTC backup registers and supply the RTC
73:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** when VDD is turned off, VBAT pin can be connected to an optional
74:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** standby voltage supplied by a battery or by another source.
75:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
76:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** [..] To allow the RTC operating even when the main digital supply (VDD) is turned
77:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** off, the VBAT pin powers the following blocks:
78:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** (#) The RTC
79:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** (#) The LSE oscillator
80:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** (#) The backup SRAM when the low power backup regulator is enabled
81:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** (#) PC13 to PC15 I/Os, plus PI8 I/O (when available)
82:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
83:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** [..] When the backup domain is supplied by VDD (analog switch connected to VDD),
84:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** the following pins are available:
85:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** (+) PC13 can be used as a Tamper pin
86:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
87:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** [..] When the backup domain is supplied by VBAT (analog switch connected to VBAT
88:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** because VDD is not present), the following pins are available:
89:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** (+) PC13 can be used as the Tamper pin
ARM GAS C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s page 3
90:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
91:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** ##### Backup Domain Reset #####
92:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** ==================================================================
93:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** [..] The backup domain reset sets all RTC registers and the RCC_BDCR register
94:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** to their reset values.
95:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** [..] A backup domain reset is generated when one of the following events occurs:
96:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** (#) Software reset, triggered by setting the BDRST bit in the
97:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** RCC Backup domain control register (RCC_BDCR).
98:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** (#) VDD or VBAT power on, if both supplies have previously been powered off.
99:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** (#) Tamper detection event resets all data backup registers.
100:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
101:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** ##### Backup Domain Access #####
102:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** ==================================================================
103:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** [..] After reset, the backup domain (RTC registers, RTC backup data
104:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** registers and backup SRAM) is protected against possible unwanted write
105:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** accesses.
106:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** [..] To enable access to the RTC Domain and RTC registers, proceed as follows:
107:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** (+) Call the function HAL_RCCEx_PeriphCLKConfig in using RCC_PERIPHCLK_RTC for
108:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** PeriphClockSelection and select RTCClockSelection (LSE, LSI or HSE)
109:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** (+) Enable the BKP clock in using __HAL_RCC_BKP_CLK_ENABLE()
110:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
111:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** ##### RTC and low power modes #####
112:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** ==================================================================
113:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** [..] The MCU can be woken up from a low power mode by an RTC alternate
114:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** function.
115:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** [..] The RTC alternate functions are the RTC alarms (Alarm A),
116:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** and RTC tamper event detection.
117:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** These RTC alternate functions can wake up the system from the Stop and
118:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** Standby low power modes.
119:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** [..] The system can also wake up from low power modes without depending
120:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** on an external interrupt (Auto-wakeup mode), by using the RTC alarm.
121:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
122:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** *** Callback registration ***
123:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** =============================================
124:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** [..]
125:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** The compilation define USE_HAL_RTC_REGISTER_CALLBACKS when set to 1
126:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** allows the user to configure dynamically the driver callbacks.
127:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** Use Function @ref HAL_RTC_RegisterCallback() to register an interrupt callback.
128:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
129:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** [..]
130:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** Function @ref HAL_RTC_RegisterCallback() allows to register following callbacks:
131:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** (+) AlarmAEventCallback : RTC Alarm A Event callback.
132:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** (+) Tamper1EventCallback : RTC Tamper 1 Event callback.
133:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** (+) MspInitCallback : RTC MspInit callback.
134:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** (+) MspDeInitCallback : RTC MspDeInit callback.
135:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** [..]
136:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** This function takes as parameters the HAL peripheral handle, the Callback ID
137:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** and a pointer to the user callback function.
138:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
139:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** [..]
140:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** Use function @ref HAL_RTC_UnRegisterCallback() to reset a callback to the default
141:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** weak function.
142:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** @ref HAL_RTC_UnRegisterCallback() takes as parameters the HAL peripheral handle,
143:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** and the Callback ID.
144:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** This function allows to reset following callbacks:
145:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** (+) AlarmAEventCallback : RTC Alarm A Event callback.
146:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** (+) Tamper1EventCallback : RTC Tamper 1 Event callback.
ARM GAS C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s page 4
147:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** (+) MspInitCallback : RTC MspInit callback.
148:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** (+) MspDeInitCallback : RTC MspDeInit callback.
149:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** [..]
150:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** By default, after the @ref HAL_RTC_Init() and when the state is HAL_RTC_STATE_RESET,
151:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** all callbacks are set to the corresponding weak functions :
152:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** example @ref AlarmAEventCallback().
153:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** Exception done for MspInit and MspDeInit callbacks that are reset to the legacy weak function
154:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** in the @ref HAL_RTC_Init()/@ref HAL_RTC_DeInit() only when these callbacks are null
155:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** (not registered beforehand).
156:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** If not, MspInit or MspDeInit are not null, @ref HAL_RTC_Init()/@ref HAL_RTC_DeInit()
157:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** keep and use the user MspInit/MspDeInit callbacks (registered beforehand)
158:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** [..]
159:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** Callbacks can be registered/unregistered in HAL_RTC_STATE_READY state only.
160:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** Exception done MspInit/MspDeInit that can be registered/unregistered
161:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** in HAL_RTC_STATE_READY or HAL_RTC_STATE_RESET state,
162:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** thus registered (user) MspInit/DeInit callbacks can be used during the Init/DeInit.
163:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** In that case first register the MspInit/MspDeInit user callbacks
164:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** using @ref HAL_RTC_RegisterCallback() before calling @ref HAL_RTC_DeInit()
165:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** or @ref HAL_RTC_Init() function.
166:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** [..]
167:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** When The compilation define USE_HAL_RTC_REGISTER_CALLBACKS is set to 0 or
168:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** not defined, the callback registration feature is not available and all callbacks
169:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** are set to the corresponding weak functions.
170:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** @endverbatim
171:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** ******************************************************************************
172:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @attention
173:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** *
174:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * <h2><center>© Copyright (c) 2016 STMicroelectronics.
175:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * All rights reserved.</center></h2>
176:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** *
177:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * This software component is licensed by ST under BSD 3-Clause license,
178:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * the "License"; You may not use this file except in compliance with the
179:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * License. You may obtain a copy of the License at:
180:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * opensource.org/licenses/BSD-3-Clause
181:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** *
182:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** ******************************************************************************
183:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** */
184:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
185:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Includes ------------------------------------------------------------------*/
186:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** #include "stm32f1xx_hal.h"
187:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
188:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /** @addtogroup STM32F1xx_HAL_Driver
189:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @{
190:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** */
191:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
192:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /** @defgroup RTC RTC
193:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @brief RTC HAL module driver
194:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @{
195:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** */
196:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
197:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** #ifdef HAL_RTC_MODULE_ENABLED
198:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
199:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Private typedef -----------------------------------------------------------*/
200:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Private define ------------------------------------------------------------*/
201:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /** @defgroup RTC_Private_Constants RTC Private Constants
202:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @{
203:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** */
ARM GAS C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s page 5
204:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** #define RTC_ALARM_RESETVALUE_REGISTER (uint16_t)0xFFFF
205:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** #define RTC_ALARM_RESETVALUE 0xFFFFFFFFU
206:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
207:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /**
208:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @}
209:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** */
210:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
211:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Private macro -------------------------------------------------------------*/
212:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /** @defgroup RTC_Private_Macros RTC Private Macros
213:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @{
214:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** */
215:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /**
216:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @}
217:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** */
218:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
219:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Private variables ---------------------------------------------------------*/
220:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Private function prototypes -----------------------------------------------*/
221:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /** @defgroup RTC_Private_Functions RTC Private Functions
222:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @{
223:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** */
224:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** static uint32_t RTC_ReadTimeCounter(RTC_HandleTypeDef *hrtc);
225:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** static HAL_StatusTypeDef RTC_WriteTimeCounter(RTC_HandleTypeDef *hrtc, uint32_t TimeCounter);
226:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** static uint32_t RTC_ReadAlarmCounter(RTC_HandleTypeDef *hrtc);
227:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** static HAL_StatusTypeDef RTC_WriteAlarmCounter(RTC_HandleTypeDef *hrtc, uint32_t AlarmCounter);
228:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** static HAL_StatusTypeDef RTC_EnterInitMode(RTC_HandleTypeDef *hrtc);
229:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** static HAL_StatusTypeDef RTC_ExitInitMode(RTC_HandleTypeDef *hrtc);
230:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** static uint8_t RTC_ByteToBcd2(uint8_t Value);
231:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** static uint8_t RTC_Bcd2ToByte(uint8_t Value);
232:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** static uint8_t RTC_IsLeapYear(uint16_t nYear);
233:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** static void RTC_DateUpdate(RTC_HandleTypeDef *hrtc, uint32_t DayElapsed);
234:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** static uint8_t RTC_WeekDayNum(uint32_t nYear, uint8_t nMonth, uint8_t nDay);
235:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
236:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /**
237:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @}
238:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** */
239:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
240:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Private functions ---------------------------------------------------------*/
241:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /** @defgroup RTC_Exported_Functions RTC Exported Functions
242:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @{
243:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** */
244:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
245:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /** @defgroup RTC_Exported_Functions_Group1 Initialization and de-initialization functions
246:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @brief Initialization and Configuration functions
247:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** *
248:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** @verbatim
249:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** ===============================================================================
250:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** ##### Initialization and de-initialization functions #####
251:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** ===============================================================================
252:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** [..] This section provides functions allowing to initialize and configure the
253:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** RTC Prescaler (Asynchronous), disable RTC registers Write protection,
254:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** enter and exit the RTC initialization mode,
255:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** RTC registers synchronization check and reference clock detection enable.
256:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** (#) The RTC Prescaler should be programmed to generate the RTC 1Hz time base.
257:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** (#) All RTC registers are Write protected. Writing to the RTC registers
258:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** is enabled by setting the CNF bit in the RTC_CRL register.
259:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** (#) To read the calendar after wakeup from low power modes (Standby or Stop)
260:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** the software must first wait for the RSF bit (Register Synchronized Flag)
ARM GAS C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s page 6
261:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** in the RTC_CRL register to be set by hardware.
262:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** The HAL_RTC_WaitForSynchro() function implements the above software
263:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** sequence (RSF clear and RSF check).
264:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
265:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** @endverbatim
266:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @{
267:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** */
268:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
269:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /**
270:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @brief Initializes the RTC peripheral
271:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @param hrtc pointer to a RTC_HandleTypeDef structure that contains
272:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * the configuration information for RTC.
273:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @retval HAL status
274:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** */
275:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** HAL_StatusTypeDef HAL_RTC_Init(RTC_HandleTypeDef *hrtc)
276:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
277:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** uint32_t prescaler = 0U;
278:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Check input parameters */
279:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** if (hrtc == NULL)
280:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
281:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** return HAL_ERROR;
282:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
283:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
284:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Check the parameters */
285:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** assert_param(IS_RTC_ALL_INSTANCE(hrtc->Instance));
286:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** assert_param(IS_RTC_CALIB_OUTPUT(hrtc->Init.OutPut));
287:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** assert_param(IS_RTC_ASYNCH_PREDIV(hrtc->Init.AsynchPrediv));
288:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
289:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** #if (USE_HAL_RTC_REGISTER_CALLBACKS == 1)
290:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** if (hrtc->State == HAL_RTC_STATE_RESET)
291:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
292:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Allocate lock resource and initialize it */
293:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** hrtc->Lock = HAL_UNLOCKED;
294:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
295:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** hrtc->AlarmAEventCallback = HAL_RTC_AlarmAEventCallback; /* Legacy weak AlarmA
296:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** hrtc->Tamper1EventCallback = HAL_RTCEx_Tamper1EventCallback; /* Legacy weak Tamper
297:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
298:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** if (hrtc->MspInitCallback == NULL)
299:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
300:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** hrtc->MspInitCallback = HAL_RTC_MspInit;
301:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
302:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Init the low level hardware */
303:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** hrtc->MspInitCallback(hrtc);
304:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
305:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** if (hrtc->MspDeInitCallback == NULL)
306:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
307:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** hrtc->MspDeInitCallback = HAL_RTC_MspDeInit;
308:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
309:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
310:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** #else
311:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** if (hrtc->State == HAL_RTC_STATE_RESET)
312:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
313:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Allocate lock resource and initialize it */
314:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** hrtc->Lock = HAL_UNLOCKED;
315:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
316:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Initialize RTC MSP */
317:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** HAL_RTC_MspInit(hrtc);
ARM GAS C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s page 7
318:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
319:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** #endif /* (USE_HAL_RTC_REGISTER_CALLBACKS) */
320:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
321:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Set RTC state */
322:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** hrtc->State = HAL_RTC_STATE_BUSY;
323:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
324:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Waiting for synchro */
325:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** if (HAL_RTC_WaitForSynchro(hrtc) != HAL_OK)
326:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
327:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Set RTC state */
328:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** hrtc->State = HAL_RTC_STATE_ERROR;
329:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
330:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** return HAL_ERROR;
331:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
332:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
333:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Set Initialization mode */
334:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** if (RTC_EnterInitMode(hrtc) != HAL_OK)
335:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
336:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Set RTC state */
337:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** hrtc->State = HAL_RTC_STATE_ERROR;
338:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
339:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** return HAL_ERROR;
340:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
341:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** else
342:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
343:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Clear Flags Bits */
344:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** CLEAR_BIT(hrtc->Instance->CRL, (RTC_FLAG_OW | RTC_FLAG_ALRAF | RTC_FLAG_SEC));
345:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
346:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** if (hrtc->Init.OutPut != RTC_OUTPUTSOURCE_NONE)
347:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
348:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Disable the selected Tamper pin */
349:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** CLEAR_BIT(BKP->CR, BKP_CR_TPE);
350:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
351:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
352:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Set the signal which will be routed to RTC Tamper pin*/
353:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** MODIFY_REG(BKP->RTCCR, (BKP_RTCCR_CCO | BKP_RTCCR_ASOE | BKP_RTCCR_ASOS), hrtc->Init.OutPut);
354:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
355:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** if (hrtc->Init.AsynchPrediv != RTC_AUTO_1_SECOND)
356:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
357:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* RTC Prescaler provided directly by end-user*/
358:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** prescaler = hrtc->Init.AsynchPrediv;
359:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
360:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** else
361:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
362:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* RTC Prescaler will be automatically calculated to get 1 second timebase */
363:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Get the RTCCLK frequency */
364:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** prescaler = HAL_RCCEx_GetPeriphCLKFreq(RCC_PERIPHCLK_RTC);
365:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
366:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Check that RTC clock is enabled*/
367:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** if (prescaler == 0U)
368:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
369:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Should not happen. Frequency is not available*/
370:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** hrtc->State = HAL_RTC_STATE_ERROR;
371:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** return HAL_ERROR;
372:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
373:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** else
374:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
ARM GAS C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s page 8
375:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* RTC period = RTCCLK/(RTC_PR + 1) */
376:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** prescaler = prescaler - 1U;
377:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
378:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
379:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
380:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Configure the RTC_PRLH / RTC_PRLL */
381:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** MODIFY_REG(hrtc->Instance->PRLH, RTC_PRLH_PRL, (prescaler >> 16U));
382:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** MODIFY_REG(hrtc->Instance->PRLL, RTC_PRLL_PRL, (prescaler & RTC_PRLL_PRL));
383:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
384:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Wait for synchro */
385:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** if (RTC_ExitInitMode(hrtc) != HAL_OK)
386:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
387:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** hrtc->State = HAL_RTC_STATE_ERROR;
388:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
389:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** return HAL_ERROR;
390:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
391:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
392:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Initialize date to 1st of January 2000 */
393:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** hrtc->DateToUpdate.Year = 0x00U;
394:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** hrtc->DateToUpdate.Month = RTC_MONTH_JANUARY;
395:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** hrtc->DateToUpdate.Date = 0x01U;
396:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
397:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Set RTC state */
398:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** hrtc->State = HAL_RTC_STATE_READY;
399:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
400:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** return HAL_OK;
401:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
402:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
403:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
404:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /**
405:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @brief DeInitializes the RTC peripheral
406:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @param hrtc pointer to a RTC_HandleTypeDef structure that contains
407:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * the configuration information for RTC.
408:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @note This function does not reset the RTC Backup Data registers.
409:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @retval HAL status
410:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** */
411:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** HAL_StatusTypeDef HAL_RTC_DeInit(RTC_HandleTypeDef *hrtc)
412:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
413:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Check input parameters */
414:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** if (hrtc == NULL)
415:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
416:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** return HAL_ERROR;
417:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
418:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
419:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Check the parameters */
420:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** assert_param(IS_RTC_ALL_INSTANCE(hrtc->Instance));
421:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
422:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Set RTC state */
423:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** hrtc->State = HAL_RTC_STATE_BUSY;
424:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
425:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Set Initialization mode */
426:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** if (RTC_EnterInitMode(hrtc) != HAL_OK)
427:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
428:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Set RTC state */
429:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** hrtc->State = HAL_RTC_STATE_ERROR;
430:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
431:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Release Lock */
ARM GAS C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s page 9
432:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** __HAL_UNLOCK(hrtc);
433:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
434:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** return HAL_ERROR;
435:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
436:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** else
437:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
438:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** CLEAR_REG(hrtc->Instance->CNTL);
439:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** CLEAR_REG(hrtc->Instance->CNTH);
440:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** WRITE_REG(hrtc->Instance->PRLL, 0x00008000U);
441:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** CLEAR_REG(hrtc->Instance->PRLH);
442:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
443:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Reset All CRH/CRL bits */
444:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** CLEAR_REG(hrtc->Instance->CRH);
445:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** CLEAR_REG(hrtc->Instance->CRL);
446:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
447:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** if (RTC_ExitInitMode(hrtc) != HAL_OK)
448:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
449:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** hrtc->State = HAL_RTC_STATE_ERROR;
450:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
451:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Process Unlocked */
452:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** __HAL_UNLOCK(hrtc);
453:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
454:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** return HAL_ERROR;
455:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
456:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
457:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
458:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Wait for synchro*/
459:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** HAL_RTC_WaitForSynchro(hrtc);
460:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
461:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Clear RSF flag */
462:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** CLEAR_BIT(hrtc->Instance->CRL, RTC_FLAG_RSF);
463:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
464:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** #if (USE_HAL_RTC_REGISTER_CALLBACKS == 1)
465:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** if (hrtc->MspDeInitCallback == NULL)
466:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
467:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** hrtc->MspDeInitCallback = HAL_RTC_MspDeInit;
468:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
469:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
470:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* DeInit the low level hardware: CLOCK, NVIC.*/
471:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** hrtc->MspDeInitCallback(hrtc);
472:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
473:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** #else
474:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* De-Initialize RTC MSP */
475:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** HAL_RTC_MspDeInit(hrtc);
476:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** #endif /* (USE_HAL_RTC_REGISTER_CALLBACKS) */
477:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
478:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** hrtc->State = HAL_RTC_STATE_RESET;
479:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
480:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Release Lock */
481:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** __HAL_UNLOCK(hrtc);
482:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
483:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** return HAL_OK;
484:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
485:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
486:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** #if (USE_HAL_RTC_REGISTER_CALLBACKS == 1)
487:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /**
488:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @brief Register a User RTC Callback
ARM GAS C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s page 10
489:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * To be used instead of the weak predefined callback
490:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @param hrtc RTC handle
491:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @param CallbackID ID of the callback to be registered
492:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * This parameter can be one of the following values:
493:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @arg @ref HAL_RTC_ALARM_A_EVENT_CB_ID Alarm A Event Callback ID
494:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @arg @ref HAL_RTC_TAMPER1_EVENT_CB_ID Tamper 1 Callback ID
495:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @arg @ref HAL_RTC_MSPINIT_CB_ID Msp Init callback ID
496:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @arg @ref HAL_RTC_MSPDEINIT_CB_ID Msp DeInit callback ID
497:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @param pCallback pointer to the Callback function
498:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @retval HAL status
499:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** */
500:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** HAL_StatusTypeDef HAL_RTC_RegisterCallback(RTC_HandleTypeDef *hrtc, HAL_RTC_CallbackIDTypeDef Callb
501:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
502:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** HAL_StatusTypeDef status = HAL_OK;
503:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
504:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** if (pCallback == NULL)
505:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
506:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** return HAL_ERROR;
507:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
508:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
509:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Process locked */
510:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** __HAL_LOCK(hrtc);
511:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
512:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** if (HAL_RTC_STATE_READY == hrtc->State)
513:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
514:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** switch (CallbackID)
515:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
516:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** case HAL_RTC_ALARM_A_EVENT_CB_ID :
517:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** hrtc->AlarmAEventCallback = pCallback;
518:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** break;
519:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
520:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** case HAL_RTC_TAMPER1_EVENT_CB_ID :
521:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** hrtc->Tamper1EventCallback = pCallback;
522:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** break;
523:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
524:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** case HAL_RTC_MSPINIT_CB_ID :
525:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** hrtc->MspInitCallback = pCallback;
526:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** break;
527:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
528:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** case HAL_RTC_MSPDEINIT_CB_ID :
529:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** hrtc->MspDeInitCallback = pCallback;
530:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** break;
531:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
532:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** default :
533:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Return error status */
534:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** status = HAL_ERROR;
535:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** break;
536:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
537:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
538:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** else if (HAL_RTC_STATE_RESET == hrtc->State)
539:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
540:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** switch (CallbackID)
541:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
542:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** case HAL_RTC_MSPINIT_CB_ID :
543:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** hrtc->MspInitCallback = pCallback;
544:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** break;
545:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
ARM GAS C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s page 11
546:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** case HAL_RTC_MSPDEINIT_CB_ID :
547:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** hrtc->MspDeInitCallback = pCallback;
548:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** break;
549:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
550:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** default :
551:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Return error status */
552:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** status = HAL_ERROR;
553:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** break;
554:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
555:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
556:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** else
557:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
558:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Return error status */
559:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** status = HAL_ERROR;
560:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
561:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
562:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Release Lock */
563:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** __HAL_UNLOCK(hrtc);
564:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
565:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** return status;
566:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
567:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
568:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /**
569:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @brief Unregister an RTC Callback
570:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * RTC callabck is redirected to the weak predefined callback
571:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @param hrtc RTC handle
572:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @param CallbackID ID of the callback to be unregistered
573:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * This parameter can be one of the following values:
574:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @arg @ref HAL_RTC_ALARM_A_EVENT_CB_ID Alarm A Event Callback ID
575:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @arg @ref HAL_RTC_TAMPER1_EVENT_CB_ID Tamper 1 Callback ID
576:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @arg @ref HAL_RTC_MSPINIT_CB_ID Msp Init callback ID
577:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @arg @ref HAL_RTC_MSPDEINIT_CB_ID Msp DeInit callback ID
578:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @retval HAL status
579:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** */
580:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** HAL_StatusTypeDef HAL_RTC_UnRegisterCallback(RTC_HandleTypeDef *hrtc, HAL_RTC_CallbackIDTypeDef Cal
581:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
582:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** HAL_StatusTypeDef status = HAL_OK;
583:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
584:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Process locked */
585:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** __HAL_LOCK(hrtc);
586:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
587:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** if (HAL_RTC_STATE_READY == hrtc->State)
588:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
589:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** switch (CallbackID)
590:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
591:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** case HAL_RTC_ALARM_A_EVENT_CB_ID :
592:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** hrtc->AlarmAEventCallback = HAL_RTC_AlarmAEventCallback; /* Legacy weak AlarmAEvent
593:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** break;
594:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
595:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** case HAL_RTC_TAMPER1_EVENT_CB_ID :
596:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** hrtc->Tamper1EventCallback = HAL_RTCEx_Tamper1EventCallback; /* Legacy weak Tamper1
597:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** break;
598:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
599:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** case HAL_RTC_MSPINIT_CB_ID :
600:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** hrtc->MspInitCallback = HAL_RTC_MspInit;
601:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** break;
602:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
ARM GAS C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s page 12
603:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** case HAL_RTC_MSPDEINIT_CB_ID :
604:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** hrtc->MspDeInitCallback = HAL_RTC_MspDeInit;
605:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** break;
606:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
607:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** default :
608:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Return error status */
609:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** status = HAL_ERROR;
610:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** break;
611:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
612:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
613:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** else if (HAL_RTC_STATE_RESET == hrtc->State)
614:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
615:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** switch (CallbackID)
616:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
617:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** case HAL_RTC_MSPINIT_CB_ID :
618:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** hrtc->MspInitCallback = HAL_RTC_MspInit;
619:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** break;
620:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
621:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** case HAL_RTC_MSPDEINIT_CB_ID :
622:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** hrtc->MspDeInitCallback = HAL_RTC_MspDeInit;
623:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** break;
624:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
625:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** default :
626:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Return error status */
627:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** status = HAL_ERROR;
628:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** break;
629:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
630:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
631:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** else
632:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
633:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Return error status */
634:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** status = HAL_ERROR;
635:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
636:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
637:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Release Lock */
638:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** __HAL_UNLOCK(hrtc);
639:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
640:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** return status;
641:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
642:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** #endif /* USE_HAL_RTC_REGISTER_CALLBACKS */
643:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
644:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /**
645:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @brief Initializes the RTC MSP.
646:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @param hrtc pointer to a RTC_HandleTypeDef structure that contains
647:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * the configuration information for RTC.
648:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @retval None
649:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** */
650:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** __weak void HAL_RTC_MspInit(RTC_HandleTypeDef *hrtc)
651:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
652:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Prevent unused argument(s) compilation warning */
653:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** UNUSED(hrtc);
654:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* NOTE : This function Should not be modified, when the callback is needed,
655:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** the HAL_RTC_MspInit could be implemented in the user file
656:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** */
657:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
658:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
659:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /**
ARM GAS C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s page 13
660:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @brief DeInitializes the RTC MSP.
661:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @param hrtc pointer to a RTC_HandleTypeDef structure that contains
662:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * the configuration information for RTC.
663:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @retval None
664:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** */
665:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** __weak void HAL_RTC_MspDeInit(RTC_HandleTypeDef *hrtc)
666:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
667:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Prevent unused argument(s) compilation warning */
668:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** UNUSED(hrtc);
669:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* NOTE : This function Should not be modified, when the callback is needed,
670:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** the HAL_RTC_MspDeInit could be implemented in the user file
671:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** */
672:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
673:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
674:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /**
675:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @}
676:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** */
677:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
678:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /** @defgroup RTC_Exported_Functions_Group2 Time and Date functions
679:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @brief RTC Time and Date functions
680:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** *
681:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** @verbatim
682:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** ===============================================================================
683:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** ##### RTC Time and Date functions #####
684:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** ===============================================================================
685:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
686:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** [..] This section provides functions allowing to configure Time and Date features
687:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
688:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** @endverbatim
689:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @{
690:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** */
691:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
692:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /**
693:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @brief Sets RTC current time.
694:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @param hrtc pointer to a RTC_HandleTypeDef structure that contains
695:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * the configuration information for RTC.
696:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @param sTime: Pointer to Time structure
697:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @param Format: Specifies the format of the entered parameters.
698:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * This parameter can be one of the following values:
699:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @arg RTC_FORMAT_BIN: Binary data format
700:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @arg RTC_FORMAT_BCD: BCD data format
701:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @retval HAL status
702:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** */
703:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** HAL_StatusTypeDef HAL_RTC_SetTime(RTC_HandleTypeDef *hrtc, RTC_TimeTypeDef *sTime, uint32_t Format)
704:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
705:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** uint32_t counter_time = 0U, counter_alarm = 0U;
706:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
707:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Check input parameters */
708:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** if ((hrtc == NULL) || (sTime == NULL))
709:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
710:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** return HAL_ERROR;
711:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
712:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
713:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Check the parameters */
714:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** assert_param(IS_RTC_FORMAT(Format));
715:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
716:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Process Locked */
ARM GAS C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s page 14
717:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** __HAL_LOCK(hrtc);
718:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
719:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** hrtc->State = HAL_RTC_STATE_BUSY;
720:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
721:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** if (Format == RTC_FORMAT_BIN)
722:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
723:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** assert_param(IS_RTC_HOUR24(sTime->Hours));
724:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** assert_param(IS_RTC_MINUTES(sTime->Minutes));
725:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** assert_param(IS_RTC_SECONDS(sTime->Seconds));
726:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
727:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** counter_time = (uint32_t)(((uint32_t)sTime->Hours * 3600U) + \
728:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** ((uint32_t)sTime->Minutes * 60U) + \
729:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** ((uint32_t)sTime->Seconds));
730:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
731:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** else
732:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
733:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** assert_param(IS_RTC_HOUR24(RTC_Bcd2ToByte(sTime->Hours)));
734:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** assert_param(IS_RTC_MINUTES(RTC_Bcd2ToByte(sTime->Minutes)));
735:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** assert_param(IS_RTC_SECONDS(RTC_Bcd2ToByte(sTime->Seconds)));
736:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
737:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** counter_time = (((uint32_t)(RTC_Bcd2ToByte(sTime->Hours)) * 3600U) + \
738:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** ((uint32_t)(RTC_Bcd2ToByte(sTime->Minutes)) * 60U) + \
739:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** ((uint32_t)(RTC_Bcd2ToByte(sTime->Seconds))));
740:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
741:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
742:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Write time counter in RTC registers */
743:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** if (RTC_WriteTimeCounter(hrtc, counter_time) != HAL_OK)
744:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
745:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Set RTC state */
746:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** hrtc->State = HAL_RTC_STATE_ERROR;
747:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
748:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Process Unlocked */
749:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** __HAL_UNLOCK(hrtc);
750:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
751:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** return HAL_ERROR;
752:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
753:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** else
754:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
755:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Clear Second and overflow flags */
756:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** CLEAR_BIT(hrtc->Instance->CRL, (RTC_FLAG_SEC | RTC_FLAG_OW));
757:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
758:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Read current Alarm counter in RTC registers */
759:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** counter_alarm = RTC_ReadAlarmCounter(hrtc);
760:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
761:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Set again alarm to match with new time if enabled */
762:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** if (counter_alarm != RTC_ALARM_RESETVALUE)
763:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
764:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** if (counter_alarm < counter_time)
765:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
766:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Add 1 day to alarm counter*/
767:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** counter_alarm += (uint32_t)(24U * 3600U);
768:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
769:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Write new Alarm counter in RTC registers */
770:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** if (RTC_WriteAlarmCounter(hrtc, counter_alarm) != HAL_OK)
771:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
772:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Set RTC state */
773:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** hrtc->State = HAL_RTC_STATE_ERROR;
ARM GAS C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s page 15
774:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
775:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Process Unlocked */
776:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** __HAL_UNLOCK(hrtc);
777:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
778:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** return HAL_ERROR;
779:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
780:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
781:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
782:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
783:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** hrtc->State = HAL_RTC_STATE_READY;
784:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
785:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** __HAL_UNLOCK(hrtc);
786:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
787:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** return HAL_OK;
788:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
789:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
790:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
791:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /**
792:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @brief Gets RTC current time.
793:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @param hrtc pointer to a RTC_HandleTypeDef structure that contains
794:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * the configuration information for RTC.
795:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @param sTime: Pointer to Time structure
796:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @param Format: Specifies the format of the entered parameters.
797:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * This parameter can be one of the following values:
798:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @arg RTC_FORMAT_BIN: Binary data format
799:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @arg RTC_FORMAT_BCD: BCD data format
800:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @retval HAL status
801:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** */
802:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** HAL_StatusTypeDef HAL_RTC_GetTime(RTC_HandleTypeDef *hrtc, RTC_TimeTypeDef *sTime, uint32_t Format)
803:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
804:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** uint32_t counter_time = 0U, counter_alarm = 0U, days_elapsed = 0U, hours = 0U;
805:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
806:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Check input parameters */
807:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** if ((hrtc == NULL) || (sTime == NULL))
808:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
809:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** return HAL_ERROR;
810:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
811:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
812:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Check the parameters */
813:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** assert_param(IS_RTC_FORMAT(Format));
814:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
815:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Check if counter overflow occurred */
816:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** if (__HAL_RTC_OVERFLOW_GET_FLAG(hrtc, RTC_FLAG_OW))
817:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
818:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** return HAL_ERROR;
819:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
820:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
821:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Read the time counter*/
822:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** counter_time = RTC_ReadTimeCounter(hrtc);
823:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
824:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Fill the structure fields with the read parameters */
825:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** hours = counter_time / 3600U;
826:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** sTime->Minutes = (uint8_t)((counter_time % 3600U) / 60U);
827:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** sTime->Seconds = (uint8_t)((counter_time % 3600U) % 60U);
828:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
829:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** if (hours >= 24U)
830:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
ARM GAS C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s page 16
831:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Get number of days elapsed from last calculation */
832:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** days_elapsed = (hours / 24U);
833:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
834:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Set Hours in RTC_TimeTypeDef structure*/
835:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** sTime->Hours = (hours % 24U);
836:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
837:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Read Alarm counter in RTC registers */
838:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** counter_alarm = RTC_ReadAlarmCounter(hrtc);
839:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
840:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Calculate remaining time to reach alarm (only if set and not yet expired)*/
841:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** if ((counter_alarm != RTC_ALARM_RESETVALUE) && (counter_alarm > counter_time))
842:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
843:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** counter_alarm -= counter_time;
844:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
845:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** else
846:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
847:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* In case of counter_alarm < counter_time */
848:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Alarm expiration already occurred but alarm not deactivated */
849:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** counter_alarm = RTC_ALARM_RESETVALUE;
850:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
851:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
852:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Set updated time in decreasing counter by number of days elapsed */
853:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** counter_time -= (days_elapsed * 24U * 3600U);
854:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
855:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Write time counter in RTC registers */
856:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** if (RTC_WriteTimeCounter(hrtc, counter_time) != HAL_OK)
857:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
858:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** return HAL_ERROR;
859:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
860:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
861:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Set updated alarm to be set */
862:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** if (counter_alarm != RTC_ALARM_RESETVALUE)
863:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
864:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** counter_alarm += counter_time;
865:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
866:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Write time counter in RTC registers */
867:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** if (RTC_WriteAlarmCounter(hrtc, counter_alarm) != HAL_OK)
868:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
869:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** return HAL_ERROR;
870:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
871:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
872:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** else
873:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
874:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Alarm already occurred. Set it to reset values to avoid unexpected expiration */
875:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** if (RTC_WriteAlarmCounter(hrtc, counter_alarm) != HAL_OK)
876:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
877:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** return HAL_ERROR;
878:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
879:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
880:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
881:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Update date */
882:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** RTC_DateUpdate(hrtc, days_elapsed);
883:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
884:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** else
885:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
886:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** sTime->Hours = hours;
887:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
ARM GAS C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s page 17
888:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
889:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Check the input parameters format */
890:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** if (Format != RTC_FORMAT_BIN)
891:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
892:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Convert the time structure parameters to BCD format */
893:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** sTime->Hours = (uint8_t)RTC_ByteToBcd2(sTime->Hours);
894:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** sTime->Minutes = (uint8_t)RTC_ByteToBcd2(sTime->Minutes);
895:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** sTime->Seconds = (uint8_t)RTC_ByteToBcd2(sTime->Seconds);
896:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
897:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
898:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** return HAL_OK;
899:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
900:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
901:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
902:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /**
903:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @brief Sets RTC current date.
904:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @param hrtc pointer to a RTC_HandleTypeDef structure that contains
905:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * the configuration information for RTC.
906:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @param sDate: Pointer to date structure
907:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @param Format: specifies the format of the entered parameters.
908:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * This parameter can be one of the following values:
909:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @arg RTC_FORMAT_BIN: Binary data format
910:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @arg RTC_FORMAT_BCD: BCD data format
911:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @retval HAL status
912:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** */
913:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** HAL_StatusTypeDef HAL_RTC_SetDate(RTC_HandleTypeDef *hrtc, RTC_DateTypeDef *sDate, uint32_t Format)
914:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
915:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** uint32_t counter_time = 0U, counter_alarm = 0U, hours = 0U;
916:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
917:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Check input parameters */
918:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** if ((hrtc == NULL) || (sDate == NULL))
919:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
920:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** return HAL_ERROR;
921:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
922:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
923:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Check the parameters */
924:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** assert_param(IS_RTC_FORMAT(Format));
925:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
926:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Process Locked */
927:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** __HAL_LOCK(hrtc);
928:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
929:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** hrtc->State = HAL_RTC_STATE_BUSY;
930:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
931:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** if (Format == RTC_FORMAT_BIN)
932:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
933:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** assert_param(IS_RTC_YEAR(sDate->Year));
934:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** assert_param(IS_RTC_MONTH(sDate->Month));
935:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** assert_param(IS_RTC_DATE(sDate->Date));
936:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
937:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Change the current date */
938:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** hrtc->DateToUpdate.Year = sDate->Year;
939:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** hrtc->DateToUpdate.Month = sDate->Month;
940:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** hrtc->DateToUpdate.Date = sDate->Date;
941:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
942:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** else
943:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
944:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** assert_param(IS_RTC_YEAR(RTC_Bcd2ToByte(sDate->Year)));
ARM GAS C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s page 18
945:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** assert_param(IS_RTC_MONTH(RTC_Bcd2ToByte(sDate->Month)));
946:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** assert_param(IS_RTC_DATE(RTC_Bcd2ToByte(sDate->Date)));
947:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
948:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Change the current date */
949:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** hrtc->DateToUpdate.Year = RTC_Bcd2ToByte(sDate->Year);
950:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** hrtc->DateToUpdate.Month = RTC_Bcd2ToByte(sDate->Month);
951:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** hrtc->DateToUpdate.Date = RTC_Bcd2ToByte(sDate->Date);
952:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
953:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
954:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* WeekDay set by user can be ignored because automatically calculated */
955:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** hrtc->DateToUpdate.WeekDay = RTC_WeekDayNum(hrtc->DateToUpdate.Year, hrtc->DateToUpdate.Month, hr
956:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** sDate->WeekDay = hrtc->DateToUpdate.WeekDay;
957:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
958:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Reset time to be aligned on the same day */
959:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Read the time counter*/
960:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** counter_time = RTC_ReadTimeCounter(hrtc);
961:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
962:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Fill the structure fields with the read parameters */
963:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** hours = counter_time / 3600U;
964:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** if (hours > 24U)
965:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
966:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Set updated time in decreasing counter by number of days elapsed */
967:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** counter_time -= ((hours / 24U) * 24U * 3600U);
968:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Write time counter in RTC registers */
969:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** if (RTC_WriteTimeCounter(hrtc, counter_time) != HAL_OK)
970:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
971:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Set RTC state */
972:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** hrtc->State = HAL_RTC_STATE_ERROR;
973:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
974:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Process Unlocked */
975:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** __HAL_UNLOCK(hrtc);
976:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
977:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** return HAL_ERROR;
978:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
979:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
980:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Read current Alarm counter in RTC registers */
981:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** counter_alarm = RTC_ReadAlarmCounter(hrtc);
982:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
983:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Set again alarm to match with new time if enabled */
984:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** if (counter_alarm != RTC_ALARM_RESETVALUE)
985:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
986:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** if (counter_alarm < counter_time)
987:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
988:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Add 1 day to alarm counter*/
989:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** counter_alarm += (uint32_t)(24U * 3600U);
990:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
991:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Write new Alarm counter in RTC registers */
992:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** if (RTC_WriteAlarmCounter(hrtc, counter_alarm) != HAL_OK)
993:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
994:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Set RTC state */
995:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** hrtc->State = HAL_RTC_STATE_ERROR;
996:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
997:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Process Unlocked */
998:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** __HAL_UNLOCK(hrtc);
999:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1000:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** return HAL_ERROR;
1001:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
ARM GAS C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s page 19
1002:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1003:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1004:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1005:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1006:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1007:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1008:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** hrtc->State = HAL_RTC_STATE_READY ;
1009:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1010:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Process Unlocked */
1011:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** __HAL_UNLOCK(hrtc);
1012:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1013:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** return HAL_OK;
1014:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1015:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1016:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /**
1017:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @brief Gets RTC current date.
1018:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @param hrtc pointer to a RTC_HandleTypeDef structure that contains
1019:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * the configuration information for RTC.
1020:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @param sDate: Pointer to Date structure
1021:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @param Format: Specifies the format of the entered parameters.
1022:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * This parameter can be one of the following values:
1023:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @arg RTC_FORMAT_BIN: Binary data format
1024:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @arg RTC_FORMAT_BCD: BCD data format
1025:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @retval HAL status
1026:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** */
1027:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** HAL_StatusTypeDef HAL_RTC_GetDate(RTC_HandleTypeDef *hrtc, RTC_DateTypeDef *sDate, uint32_t Format)
1028:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1029:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** RTC_TimeTypeDef stime = {0U};
1030:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1031:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Check input parameters */
1032:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** if ((hrtc == NULL) || (sDate == NULL))
1033:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1034:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** return HAL_ERROR;
1035:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1036:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1037:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Check the parameters */
1038:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** assert_param(IS_RTC_FORMAT(Format));
1039:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1040:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Call HAL_RTC_GetTime function to update date if counter higher than 24 hours */
1041:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** if (HAL_RTC_GetTime(hrtc, &stime, RTC_FORMAT_BIN) != HAL_OK)
1042:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1043:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** return HAL_ERROR;
1044:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1045:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1046:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Fill the structure fields with the read parameters */
1047:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** sDate->WeekDay = hrtc->DateToUpdate.WeekDay;
1048:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** sDate->Year = hrtc->DateToUpdate.Year;
1049:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** sDate->Month = hrtc->DateToUpdate.Month;
1050:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** sDate->Date = hrtc->DateToUpdate.Date;
1051:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1052:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Check the input parameters format */
1053:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** if (Format != RTC_FORMAT_BIN)
1054:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1055:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Convert the date structure parameters to BCD format */
1056:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** sDate->Year = (uint8_t)RTC_ByteToBcd2(sDate->Year);
1057:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** sDate->Month = (uint8_t)RTC_ByteToBcd2(sDate->Month);
1058:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** sDate->Date = (uint8_t)RTC_ByteToBcd2(sDate->Date);
ARM GAS C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s page 20
1059:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1060:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** return HAL_OK;
1061:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1062:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1063:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /**
1064:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @}
1065:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** */
1066:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1067:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /** @defgroup RTC_Exported_Functions_Group3 Alarm functions
1068:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @brief RTC Alarm functions
1069:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** *
1070:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** @verbatim
1071:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** ===============================================================================
1072:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** ##### RTC Alarm functions #####
1073:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** ===============================================================================
1074:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1075:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** [..] This section provides functions allowing to configure Alarm feature
1076:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1077:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** @endverbatim
1078:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @{
1079:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** */
1080:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1081:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /**
1082:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @brief Sets the specified RTC Alarm.
1083:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @param hrtc pointer to a RTC_HandleTypeDef structure that contains
1084:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * the configuration information for RTC.
1085:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @param sAlarm: Pointer to Alarm structure
1086:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @param Format: Specifies the format of the entered parameters.
1087:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * This parameter can be one of the following values:
1088:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @arg RTC_FORMAT_BIN: Binary data format
1089:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @arg RTC_FORMAT_BCD: BCD data format
1090:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @retval HAL status
1091:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** */
1092:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** HAL_StatusTypeDef HAL_RTC_SetAlarm(RTC_HandleTypeDef *hrtc, RTC_AlarmTypeDef *sAlarm, uint32_t Form
1093:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1094:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** uint32_t counter_alarm = 0U, counter_time;
1095:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** RTC_TimeTypeDef stime = {0U};
1096:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1097:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Check input parameters */
1098:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** if ((hrtc == NULL) || (sAlarm == NULL))
1099:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1100:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** return HAL_ERROR;
1101:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1102:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1103:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Check the parameters */
1104:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** assert_param(IS_RTC_FORMAT(Format));
1105:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** assert_param(IS_RTC_ALARM(sAlarm->Alarm));
1106:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1107:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Process Locked */
1108:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** __HAL_LOCK(hrtc);
1109:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1110:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** hrtc->State = HAL_RTC_STATE_BUSY;
1111:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1112:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Call HAL_RTC_GetTime function to update date if counter higher than 24 hours */
1113:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** if (HAL_RTC_GetTime(hrtc, &stime, RTC_FORMAT_BIN) != HAL_OK)
1114:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1115:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** return HAL_ERROR;
ARM GAS C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s page 21
1116:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1117:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1118:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Convert time in seconds */
1119:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** counter_time = (uint32_t)(((uint32_t)stime.Hours * 3600U) + \
1120:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** ((uint32_t)stime.Minutes * 60U) + \
1121:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** ((uint32_t)stime.Seconds));
1122:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1123:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** if (Format == RTC_FORMAT_BIN)
1124:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1125:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** assert_param(IS_RTC_HOUR24(sAlarm->AlarmTime.Hours));
1126:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** assert_param(IS_RTC_MINUTES(sAlarm->AlarmTime.Minutes));
1127:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** assert_param(IS_RTC_SECONDS(sAlarm->AlarmTime.Seconds));
1128:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1129:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** counter_alarm = (uint32_t)(((uint32_t)sAlarm->AlarmTime.Hours * 3600U) + \
1130:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** ((uint32_t)sAlarm->AlarmTime.Minutes * 60U) + \
1131:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** ((uint32_t)sAlarm->AlarmTime.Seconds));
1132:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1133:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** else
1134:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1135:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** assert_param(IS_RTC_HOUR24(RTC_Bcd2ToByte(sAlarm->AlarmTime.Hours)));
1136:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** assert_param(IS_RTC_MINUTES(RTC_Bcd2ToByte(sAlarm->AlarmTime.Minutes)));
1137:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** assert_param(IS_RTC_SECONDS(RTC_Bcd2ToByte(sAlarm->AlarmTime.Seconds)));
1138:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1139:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** counter_alarm = (((uint32_t)(RTC_Bcd2ToByte(sAlarm->AlarmTime.Hours)) * 3600U) + \
1140:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** ((uint32_t)(RTC_Bcd2ToByte(sAlarm->AlarmTime.Minutes)) * 60U) + \
1141:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** ((uint32_t)RTC_Bcd2ToByte(sAlarm->AlarmTime.Seconds)));
1142:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1143:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1144:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Check that requested alarm should expire in the same day (otherwise add 1 day) */
1145:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** if (counter_alarm < counter_time)
1146:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1147:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Add 1 day to alarm counter*/
1148:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** counter_alarm += (uint32_t)(24U * 3600U);
1149:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1150:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1151:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Write Alarm counter in RTC registers */
1152:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** if (RTC_WriteAlarmCounter(hrtc, counter_alarm) != HAL_OK)
1153:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1154:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Set RTC state */
1155:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** hrtc->State = HAL_RTC_STATE_ERROR;
1156:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1157:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Process Unlocked */
1158:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** __HAL_UNLOCK(hrtc);
1159:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1160:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** return HAL_ERROR;
1161:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1162:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** else
1163:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1164:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** hrtc->State = HAL_RTC_STATE_READY;
1165:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1166:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** __HAL_UNLOCK(hrtc);
1167:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1168:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** return HAL_OK;
1169:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1170:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1171:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1172:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /**
ARM GAS C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s page 22
1173:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @brief Sets the specified RTC Alarm with Interrupt
1174:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @param hrtc pointer to a RTC_HandleTypeDef structure that contains
1175:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * the configuration information for RTC.
1176:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @param sAlarm: Pointer to Alarm structure
1177:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @param Format: Specifies the format of the entered parameters.
1178:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * This parameter can be one of the following values:
1179:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @arg RTC_FORMAT_BIN: Binary data format
1180:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @arg RTC_FORMAT_BCD: BCD data format
1181:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @note The HAL_RTC_SetTime() must be called before enabling the Alarm feature.
1182:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @retval HAL status
1183:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** */
1184:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** HAL_StatusTypeDef HAL_RTC_SetAlarm_IT(RTC_HandleTypeDef *hrtc, RTC_AlarmTypeDef *sAlarm, uint32_t F
1185:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1186:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** uint32_t counter_alarm = 0U, counter_time;
1187:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** RTC_TimeTypeDef stime = {0U};
1188:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1189:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Check input parameters */
1190:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** if ((hrtc == NULL) || (sAlarm == NULL))
1191:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1192:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** return HAL_ERROR;
1193:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1194:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1195:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Check the parameters */
1196:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** assert_param(IS_RTC_FORMAT(Format));
1197:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** assert_param(IS_RTC_ALARM(sAlarm->Alarm));
1198:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1199:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Process Locked */
1200:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** __HAL_LOCK(hrtc);
1201:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1202:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** hrtc->State = HAL_RTC_STATE_BUSY;
1203:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1204:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Call HAL_RTC_GetTime function to update date if counter higher than 24 hours */
1205:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** if (HAL_RTC_GetTime(hrtc, &stime, RTC_FORMAT_BIN) != HAL_OK)
1206:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1207:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** return HAL_ERROR;
1208:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1209:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1210:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Convert time in seconds */
1211:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** counter_time = (uint32_t)(((uint32_t)stime.Hours * 3600U) + \
1212:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** ((uint32_t)stime.Minutes * 60U) + \
1213:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** ((uint32_t)stime.Seconds));
1214:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1215:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** if (Format == RTC_FORMAT_BIN)
1216:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1217:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** assert_param(IS_RTC_HOUR24(sAlarm->AlarmTime.Hours));
1218:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** assert_param(IS_RTC_MINUTES(sAlarm->AlarmTime.Minutes));
1219:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** assert_param(IS_RTC_SECONDS(sAlarm->AlarmTime.Seconds));
1220:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1221:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** counter_alarm = (uint32_t)(((uint32_t)sAlarm->AlarmTime.Hours * 3600U) + \
1222:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** ((uint32_t)sAlarm->AlarmTime.Minutes * 60U) + \
1223:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** ((uint32_t)sAlarm->AlarmTime.Seconds));
1224:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1225:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** else
1226:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1227:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** assert_param(IS_RTC_HOUR24(RTC_Bcd2ToByte(sAlarm->AlarmTime.Hours)));
1228:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** assert_param(IS_RTC_MINUTES(RTC_Bcd2ToByte(sAlarm->AlarmTime.Minutes)));
1229:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** assert_param(IS_RTC_SECONDS(RTC_Bcd2ToByte(sAlarm->AlarmTime.Seconds)));
ARM GAS C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s page 23
1230:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1231:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** counter_alarm = (((uint32_t)(RTC_Bcd2ToByte(sAlarm->AlarmTime.Hours)) * 3600U) + \
1232:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** ((uint32_t)(RTC_Bcd2ToByte(sAlarm->AlarmTime.Minutes)) * 60U) + \
1233:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** ((uint32_t)RTC_Bcd2ToByte(sAlarm->AlarmTime.Seconds)));
1234:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1235:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1236:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Check that requested alarm should expire in the same day (otherwise add 1 day) */
1237:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** if (counter_alarm < counter_time)
1238:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1239:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Add 1 day to alarm counter*/
1240:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** counter_alarm += (uint32_t)(24U * 3600U);
1241:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1242:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1243:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Write alarm counter in RTC registers */
1244:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** if (RTC_WriteAlarmCounter(hrtc, counter_alarm) != HAL_OK)
1245:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1246:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Set RTC state */
1247:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** hrtc->State = HAL_RTC_STATE_ERROR;
1248:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1249:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Process Unlocked */
1250:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** __HAL_UNLOCK(hrtc);
1251:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1252:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** return HAL_ERROR;
1253:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1254:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** else
1255:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1256:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Clear flag alarm A */
1257:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** __HAL_RTC_ALARM_CLEAR_FLAG(hrtc, RTC_FLAG_ALRAF);
1258:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1259:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Configure the Alarm interrupt */
1260:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** __HAL_RTC_ALARM_ENABLE_IT(hrtc, RTC_IT_ALRA);
1261:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1262:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* RTC Alarm Interrupt Configuration: EXTI configuration */
1263:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** __HAL_RTC_ALARM_EXTI_ENABLE_IT();
1264:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1265:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** __HAL_RTC_ALARM_EXTI_ENABLE_RISING_EDGE();
1266:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1267:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** hrtc->State = HAL_RTC_STATE_READY;
1268:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1269:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** __HAL_UNLOCK(hrtc);
1270:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1271:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** return HAL_OK;
1272:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1273:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1274:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1275:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /**
1276:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @brief Gets the RTC Alarm value and masks.
1277:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @param hrtc pointer to a RTC_HandleTypeDef structure that contains
1278:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * the configuration information for RTC.
1279:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @param sAlarm: Pointer to Date structure
1280:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @param Alarm: Specifies the Alarm.
1281:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * This parameter can be one of the following values:
1282:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @arg RTC_ALARM_A: Alarm
1283:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @param Format: Specifies the format of the entered parameters.
1284:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * This parameter can be one of the following values:
1285:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @arg RTC_FORMAT_BIN: Binary data format
1286:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @arg RTC_FORMAT_BCD: BCD data format
ARM GAS C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s page 24
1287:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @retval HAL status
1288:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** */
1289:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** HAL_StatusTypeDef HAL_RTC_GetAlarm(RTC_HandleTypeDef *hrtc, RTC_AlarmTypeDef *sAlarm, uint32_t Alar
1290:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1291:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** uint32_t counter_alarm = 0U;
1292:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1293:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Prevent unused argument(s) compilation warning */
1294:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** UNUSED(Alarm);
1295:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1296:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Check input parameters */
1297:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** if ((hrtc == NULL) || (sAlarm == NULL))
1298:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1299:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** return HAL_ERROR;
1300:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1301:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1302:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Check the parameters */
1303:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** assert_param(IS_RTC_FORMAT(Format));
1304:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** assert_param(IS_RTC_ALARM(Alarm));
1305:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1306:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Read Alarm counter in RTC registers */
1307:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** counter_alarm = RTC_ReadAlarmCounter(hrtc);
1308:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1309:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Fill the structure with the read parameters */
1310:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Set hours in a day range (between 0 to 24)*/
1311:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** sAlarm->AlarmTime.Hours = (uint32_t)((counter_alarm / 3600U) % 24U);
1312:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** sAlarm->AlarmTime.Minutes = (uint32_t)((counter_alarm % 3600U) / 60U);
1313:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** sAlarm->AlarmTime.Seconds = (uint32_t)((counter_alarm % 3600U) % 60U);
1314:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1315:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** if (Format != RTC_FORMAT_BIN)
1316:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1317:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** sAlarm->AlarmTime.Hours = RTC_ByteToBcd2(sAlarm->AlarmTime.Hours);
1318:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** sAlarm->AlarmTime.Minutes = RTC_ByteToBcd2(sAlarm->AlarmTime.Minutes);
1319:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** sAlarm->AlarmTime.Seconds = RTC_ByteToBcd2(sAlarm->AlarmTime.Seconds);
1320:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1321:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1322:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** return HAL_OK;
1323:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1324:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1325:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /**
1326:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @brief Deactive the specified RTC Alarm
1327:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @param hrtc pointer to a RTC_HandleTypeDef structure that contains
1328:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * the configuration information for RTC.
1329:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @param Alarm: Specifies the Alarm.
1330:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * This parameter can be one of the following values:
1331:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @arg RTC_ALARM_A: AlarmA
1332:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @retval HAL status
1333:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** */
1334:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** HAL_StatusTypeDef HAL_RTC_DeactivateAlarm(RTC_HandleTypeDef *hrtc, uint32_t Alarm)
1335:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1336:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Prevent unused argument(s) compilation warning */
1337:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** UNUSED(Alarm);
1338:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1339:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Check the parameters */
1340:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** assert_param(IS_RTC_ALARM(Alarm));
1341:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1342:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Check input parameters */
1343:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** if (hrtc == NULL)
ARM GAS C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s page 25
1344:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1345:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** return HAL_ERROR;
1346:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1347:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1348:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Process Locked */
1349:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** __HAL_LOCK(hrtc);
1350:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1351:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** hrtc->State = HAL_RTC_STATE_BUSY;
1352:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1353:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* In case of interrupt mode is used, the interrupt source must disabled */
1354:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** __HAL_RTC_ALARM_DISABLE_IT(hrtc, RTC_IT_ALRA);
1355:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1356:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Set Initialization mode */
1357:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** if (RTC_EnterInitMode(hrtc) != HAL_OK)
1358:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1359:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Set RTC state */
1360:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** hrtc->State = HAL_RTC_STATE_ERROR;
1361:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1362:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Process Unlocked */
1363:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** __HAL_UNLOCK(hrtc);
1364:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1365:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** return HAL_ERROR;
1366:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1367:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** else
1368:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1369:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Clear flag alarm A */
1370:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** __HAL_RTC_ALARM_CLEAR_FLAG(hrtc, RTC_FLAG_ALRAF);
1371:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1372:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Set to default values ALRH & ALRL registers */
1373:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** WRITE_REG(hrtc->Instance->ALRH, RTC_ALARM_RESETVALUE_REGISTER);
1374:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** WRITE_REG(hrtc->Instance->ALRL, RTC_ALARM_RESETVALUE_REGISTER);
1375:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1376:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* RTC Alarm Interrupt Configuration: Disable EXTI configuration */
1377:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** __HAL_RTC_ALARM_EXTI_DISABLE_IT();
1378:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1379:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Wait for synchro */
1380:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** if (RTC_ExitInitMode(hrtc) != HAL_OK)
1381:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1382:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** hrtc->State = HAL_RTC_STATE_ERROR;
1383:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1384:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Process Unlocked */
1385:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** __HAL_UNLOCK(hrtc);
1386:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1387:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** return HAL_ERROR;
1388:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1389:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1390:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** hrtc->State = HAL_RTC_STATE_READY;
1391:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1392:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Process Unlocked */
1393:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** __HAL_UNLOCK(hrtc);
1394:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1395:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** return HAL_OK;
1396:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1397:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1398:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /**
1399:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @brief This function handles Alarm interrupt request.
1400:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @param hrtc pointer to a RTC_HandleTypeDef structure that contains
ARM GAS C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s page 26
1401:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * the configuration information for RTC.
1402:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @retval None
1403:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** */
1404:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** void HAL_RTC_AlarmIRQHandler(RTC_HandleTypeDef *hrtc)
1405:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1406:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** if (__HAL_RTC_ALARM_GET_IT_SOURCE(hrtc, RTC_IT_ALRA))
1407:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1408:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Get the status of the Interrupt */
1409:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** if (__HAL_RTC_ALARM_GET_FLAG(hrtc, RTC_FLAG_ALRAF) != (uint32_t)RESET)
1410:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1411:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* AlarmA callback */
1412:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** #if (USE_HAL_RTC_REGISTER_CALLBACKS == 1)
1413:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** hrtc->AlarmAEventCallback(hrtc);
1414:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** #else
1415:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** HAL_RTC_AlarmAEventCallback(hrtc);
1416:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** #endif /* USE_HAL_RTC_REGISTER_CALLBACKS */
1417:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1418:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Clear the Alarm interrupt pending bit */
1419:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** __HAL_RTC_ALARM_CLEAR_FLAG(hrtc, RTC_FLAG_ALRAF);
1420:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1421:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1422:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1423:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Clear the EXTI's line Flag for RTC Alarm */
1424:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** __HAL_RTC_ALARM_EXTI_CLEAR_FLAG();
1425:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1426:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Change RTC state */
1427:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** hrtc->State = HAL_RTC_STATE_READY;
1428:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1429:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1430:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /**
1431:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @brief Alarm A callback.
1432:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @param hrtc pointer to a RTC_HandleTypeDef structure that contains
1433:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * the configuration information for RTC.
1434:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @retval None
1435:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** */
1436:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** __weak void HAL_RTC_AlarmAEventCallback(RTC_HandleTypeDef *hrtc)
1437:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1438:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Prevent unused argument(s) compilation warning */
1439:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** UNUSED(hrtc);
1440:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* NOTE : This function Should not be modified, when the callback is needed,
1441:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** the HAL_RTC_AlarmAEventCallback could be implemented in the user file
1442:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** */
1443:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1444:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1445:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /**
1446:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @brief This function handles AlarmA Polling request.
1447:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @param hrtc pointer to a RTC_HandleTypeDef structure that contains
1448:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * the configuration information for RTC.
1449:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @param Timeout: Timeout duration
1450:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @retval HAL status
1451:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** */
1452:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** HAL_StatusTypeDef HAL_RTC_PollForAlarmAEvent(RTC_HandleTypeDef *hrtc, uint32_t Timeout)
1453:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1454:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** uint32_t tickstart = HAL_GetTick();
1455:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1456:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Check input parameters */
1457:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** if (hrtc == NULL)
ARM GAS C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s page 27
1458:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1459:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** return HAL_ERROR;
1460:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1461:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1462:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** while (__HAL_RTC_ALARM_GET_FLAG(hrtc, RTC_FLAG_ALRAF) == RESET)
1463:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1464:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** if (Timeout != HAL_MAX_DELAY)
1465:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1466:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** if ((Timeout == 0) || ((HAL_GetTick() - tickstart) > Timeout))
1467:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1468:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** hrtc->State = HAL_RTC_STATE_TIMEOUT;
1469:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** return HAL_TIMEOUT;
1470:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1471:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1472:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1473:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1474:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Clear the Alarm interrupt pending bit */
1475:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** __HAL_RTC_ALARM_CLEAR_FLAG(hrtc, RTC_FLAG_ALRAF);
1476:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1477:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Change RTC state */
1478:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** hrtc->State = HAL_RTC_STATE_READY;
1479:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1480:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** return HAL_OK;
1481:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1482:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1483:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /**
1484:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @}
1485:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** */
1486:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1487:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /** @defgroup RTC_Exported_Functions_Group4 Peripheral State functions
1488:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @brief Peripheral State functions
1489:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** *
1490:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** @verbatim
1491:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** ===============================================================================
1492:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** ##### Peripheral State functions #####
1493:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** ===============================================================================
1494:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** [..]
1495:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** This subsection provides functions allowing to
1496:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** (+) Get RTC state
1497:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1498:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** @endverbatim
1499:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @{
1500:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** */
1501:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /**
1502:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @brief Returns the RTC state.
1503:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @param hrtc pointer to a RTC_HandleTypeDef structure that contains
1504:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * the configuration information for RTC.
1505:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @retval HAL state
1506:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** */
1507:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** HAL_RTCStateTypeDef HAL_RTC_GetState(RTC_HandleTypeDef *hrtc)
1508:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1509:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** return hrtc->State;
1510:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1511:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1512:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /**
1513:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @}
1514:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** */
ARM GAS C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s page 28
1515:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1516:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /** @defgroup RTC_Exported_Functions_Group5 Peripheral Control functions
1517:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @brief Peripheral Control functions
1518:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** *
1519:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** @verbatim
1520:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** ===============================================================================
1521:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** ##### Peripheral Control functions #####
1522:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** ===============================================================================
1523:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** [..]
1524:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** This subsection provides functions allowing to
1525:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** (+) Wait for RTC Time and Date Synchronization
1526:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1527:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** @endverbatim
1528:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @{
1529:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** */
1530:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1531:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /**
1532:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @brief Waits until the RTC registers (RTC_CNT, RTC_ALR and RTC_PRL)
1533:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * are synchronized with RTC APB clock.
1534:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @note This function must be called before any read operation after an APB reset
1535:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * or an APB clock stop.
1536:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @param hrtc pointer to a RTC_HandleTypeDef structure that contains
1537:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * the configuration information for RTC.
1538:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @retval HAL status
1539:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** */
1540:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** HAL_StatusTypeDef HAL_RTC_WaitForSynchro(RTC_HandleTypeDef *hrtc)
1541:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1542:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** uint32_t tickstart = 0U;
1543:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1544:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Check input parameters */
1545:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** if (hrtc == NULL)
1546:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1547:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** return HAL_ERROR;
1548:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1549:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1550:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Clear RSF flag */
1551:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** CLEAR_BIT(hrtc->Instance->CRL, RTC_FLAG_RSF);
1552:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1553:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** tickstart = HAL_GetTick();
1554:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1555:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Wait the registers to be synchronised */
1556:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** while ((hrtc->Instance->CRL & RTC_FLAG_RSF) == (uint32_t)RESET)
1557:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1558:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** if ((HAL_GetTick() - tickstart) > RTC_TIMEOUT_VALUE)
1559:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1560:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** return HAL_TIMEOUT;
1561:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1562:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1563:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1564:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** return HAL_OK;
1565:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1566:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1567:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /**
1568:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @}
1569:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** */
1570:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1571:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
ARM GAS C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s page 29
1572:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /**
1573:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @}
1574:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** */
1575:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1576:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /** @addtogroup RTC_Private_Functions
1577:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @{
1578:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** */
1579:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1580:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1581:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /**
1582:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @brief Read the time counter available in RTC_CNT registers.
1583:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @param hrtc pointer to a RTC_HandleTypeDef structure that contains
1584:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * the configuration information for RTC.
1585:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @retval Time counter
1586:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** */
1587:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** static uint32_t RTC_ReadTimeCounter(RTC_HandleTypeDef *hrtc)
1588:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
27 .loc 1 1588 1 view -0
28 .cfi_startproc
29 @ args = 0, pretend = 0, frame = 0
30 @ frame_needed = 0, uses_anonymous_args = 0
31 @ link register save eliminated.
32 .loc 1 1588 1 is_stmt 0 view .LVU1
33 0000 30B4 push {r4, r5}
34 .LCFI0:
35 .cfi_def_cfa_offset 8
36 .cfi_offset 4, -8
37 .cfi_offset 5, -4
1589:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** uint16_t high1 = 0U, high2 = 0U, low = 0U;
38 .loc 1 1589 3 is_stmt 1 view .LVU2
39 .LVL1:
1590:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** uint32_t timecounter = 0U;
40 .loc 1 1590 3 view .LVU3
1591:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1592:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** high1 = READ_REG(hrtc->Instance->CNTH & RTC_CNTH_RTC_CNT);
41 .loc 1 1592 3 view .LVU4
42 .loc 1 1592 11 is_stmt 0 view .LVU5
43 0002 0268 ldr r2, [r0]
44 0004 9469 ldr r4, [r2, #24]
45 .loc 1 1592 9 view .LVU6
46 0006 A5B2 uxth r5, r4
47 .LVL2:
1593:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** low = READ_REG(hrtc->Instance->CNTL & RTC_CNTL_RTC_CNT);
48 .loc 1 1593 3 is_stmt 1 view .LVU7
49 .loc 1 1593 11 is_stmt 0 view .LVU8
50 0008 D369 ldr r3, [r2, #28]
51 .LVL3:
1594:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** high2 = READ_REG(hrtc->Instance->CNTH & RTC_CNTH_RTC_CNT);
52 .loc 1 1594 3 is_stmt 1 view .LVU9
53 .loc 1 1594 11 is_stmt 0 view .LVU10
54 000a 9169 ldr r1, [r2, #24]
55 .loc 1 1594 9 view .LVU11
56 000c 88B2 uxth r0, r1
57 .LVL4:
1595:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1596:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** if (high1 != high2)
58 .loc 1 1596 3 is_stmt 1 view .LVU12
ARM GAS C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s page 30
59 .loc 1 1596 6 is_stmt 0 view .LVU13
60 000e 8542 cmp r5, r0
61 0010 05D0 beq .L2
1597:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1598:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* In this case the counter roll over during reading of CNTL and CNTH registers,
1599:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** read again CNTL register then return the counter value */
1600:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** timecounter = (((uint32_t) high2 << 16U) | READ_REG(hrtc->Instance->CNTL & RTC_CNTL_RTC_CNT));
62 .loc 1 1600 5 is_stmt 1 view .LVU14
63 .loc 1 1600 48 is_stmt 0 view .LVU15
64 0012 D069 ldr r0, [r2, #28]
65 .LVL5:
66 .loc 1 1600 48 view .LVU16
67 0014 80B2 uxth r0, r0
68 .loc 1 1600 17 view .LVU17
69 0016 40EA0140 orr r0, r0, r1, lsl #16
70 .LVL6:
71 .L1:
1601:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1602:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** else
1603:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1604:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* No counter roll over during reading of CNTL and CNTH registers, counter
1605:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** value is equal to first value of CNTL and CNTH */
1606:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** timecounter = (((uint32_t) high1 << 16U) | low);
1607:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1608:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1609:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** return timecounter;
1610:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
72 .loc 1 1610 1 view .LVU18
73 001a 30BC pop {r4, r5}
74 .LCFI1:
75 .cfi_remember_state
76 .cfi_restore 5
77 .cfi_restore 4
78 .cfi_def_cfa_offset 0
79 .LVL7:
80 .loc 1 1610 1 view .LVU19
81 001c 7047 bx lr
82 .LVL8:
83 .L2:
84 .LCFI2:
85 .cfi_restore_state
1606:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
86 .loc 1 1606 5 is_stmt 1 view .LVU20
1606:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
87 .loc 1 1606 17 is_stmt 0 view .LVU21
88 001e 98B2 uxth r0, r3
89 .LVL9:
1606:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
90 .loc 1 1606 17 view .LVU22
91 0020 40EA0440 orr r0, r0, r4, lsl #16
92 .LVL10:
1609:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
93 .loc 1 1609 3 is_stmt 1 view .LVU23
1609:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
94 .loc 1 1609 10 is_stmt 0 view .LVU24
95 0024 F9E7 b .L1
96 .cfi_endproc
ARM GAS C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s page 31
97 .LFE82:
99 .section .text.RTC_ReadAlarmCounter,"ax",%progbits
100 .align 1
101 .syntax unified
102 .thumb
103 .thumb_func
104 .fpu softvfp
106 RTC_ReadAlarmCounter:
107 .LVL11:
108 .LFB84:
1611:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1612:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /**
1613:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @brief Write the time counter in RTC_CNT registers.
1614:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @param hrtc pointer to a RTC_HandleTypeDef structure that contains
1615:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * the configuration information for RTC.
1616:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @param TimeCounter: Counter to write in RTC_CNT registers
1617:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @retval HAL status
1618:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** */
1619:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** static HAL_StatusTypeDef RTC_WriteTimeCounter(RTC_HandleTypeDef *hrtc, uint32_t TimeCounter)
1620:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1621:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** HAL_StatusTypeDef status = HAL_OK;
1622:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1623:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Set Initialization mode */
1624:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** if (RTC_EnterInitMode(hrtc) != HAL_OK)
1625:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1626:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** status = HAL_ERROR;
1627:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1628:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** else
1629:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1630:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Set RTC COUNTER MSB word */
1631:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** WRITE_REG(hrtc->Instance->CNTH, (TimeCounter >> 16U));
1632:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Set RTC COUNTER LSB word */
1633:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** WRITE_REG(hrtc->Instance->CNTL, (TimeCounter & RTC_CNTL_RTC_CNT));
1634:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1635:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Wait for synchro */
1636:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** if (RTC_ExitInitMode(hrtc) != HAL_OK)
1637:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1638:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** status = HAL_ERROR;
1639:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1640:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1641:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1642:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** return status;
1643:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1644:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1645:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /**
1646:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @brief Read the time counter available in RTC_ALR registers.
1647:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @param hrtc pointer to a RTC_HandleTypeDef structure that contains
1648:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * the configuration information for RTC.
1649:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @retval Time counter
1650:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** */
1651:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** static uint32_t RTC_ReadAlarmCounter(RTC_HandleTypeDef *hrtc)
1652:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
109 .loc 1 1652 1 is_stmt 1 view -0
110 .cfi_startproc
111 @ args = 0, pretend = 0, frame = 0
112 @ frame_needed = 0, uses_anonymous_args = 0
113 @ link register save eliminated.
ARM GAS C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s page 32
1653:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** uint16_t high1 = 0U, low = 0U;
114 .loc 1 1653 3 view .LVU26
1654:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1655:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** high1 = READ_REG(hrtc->Instance->ALRH & RTC_CNTH_RTC_CNT);
115 .loc 1 1655 3 view .LVU27
116 .loc 1 1655 11 is_stmt 0 view .LVU28
117 0000 0368 ldr r3, [r0]
118 0002 186A ldr r0, [r3, #32]
119 .LVL12:
1656:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** low = READ_REG(hrtc->Instance->ALRL & RTC_CNTL_RTC_CNT);
120 .loc 1 1656 3 is_stmt 1 view .LVU29
121 .loc 1 1656 11 is_stmt 0 view .LVU30
122 0004 5B6A ldr r3, [r3, #36]
123 .LVL13:
1657:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1658:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** return (((uint32_t) high1 << 16U) | low);
124 .loc 1 1658 3 is_stmt 1 view .LVU31
125 .loc 1 1658 37 is_stmt 0 view .LVU32
126 0006 9BB2 uxth r3, r3
1659:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
127 .loc 1 1659 1 view .LVU33
128 0008 43EA0040 orr r0, r3, r0, lsl #16
129 .LVL14:
130 .loc 1 1659 1 view .LVU34
131 000c 7047 bx lr
132 .cfi_endproc
133 .LFE84:
135 .section .text.RTC_ByteToBcd2,"ax",%progbits
136 .align 1
137 .syntax unified
138 .thumb
139 .thumb_func
140 .fpu softvfp
142 RTC_ByteToBcd2:
143 .LVL15:
144 .LFB88:
1660:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1661:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /**
1662:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @brief Write the time counter in RTC_ALR registers.
1663:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @param hrtc pointer to a RTC_HandleTypeDef structure that contains
1664:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * the configuration information for RTC.
1665:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @param AlarmCounter: Counter to write in RTC_ALR registers
1666:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @retval HAL status
1667:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** */
1668:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** static HAL_StatusTypeDef RTC_WriteAlarmCounter(RTC_HandleTypeDef *hrtc, uint32_t AlarmCounter)
1669:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1670:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** HAL_StatusTypeDef status = HAL_OK;
1671:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1672:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Set Initialization mode */
1673:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** if (RTC_EnterInitMode(hrtc) != HAL_OK)
1674:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1675:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** status = HAL_ERROR;
1676:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1677:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** else
1678:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1679:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Set RTC COUNTER MSB word */
1680:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** WRITE_REG(hrtc->Instance->ALRH, (AlarmCounter >> 16U));
ARM GAS C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s page 33
1681:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Set RTC COUNTER LSB word */
1682:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** WRITE_REG(hrtc->Instance->ALRL, (AlarmCounter & RTC_ALRL_RTC_ALR));
1683:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1684:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Wait for synchro */
1685:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** if (RTC_ExitInitMode(hrtc) != HAL_OK)
1686:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1687:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** status = HAL_ERROR;
1688:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1689:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1690:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1691:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** return status;
1692:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1693:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1694:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /**
1695:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @brief Enters the RTC Initialization mode.
1696:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @param hrtc pointer to a RTC_HandleTypeDef structure that contains
1697:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * the configuration information for RTC.
1698:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @retval HAL status
1699:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** */
1700:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** static HAL_StatusTypeDef RTC_EnterInitMode(RTC_HandleTypeDef *hrtc)
1701:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1702:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** uint32_t tickstart = 0U;
1703:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1704:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** tickstart = HAL_GetTick();
1705:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Wait till RTC is in INIT state and if Time out is reached exit */
1706:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** while ((hrtc->Instance->CRL & RTC_CRL_RTOFF) == (uint32_t)RESET)
1707:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1708:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** if ((HAL_GetTick() - tickstart) > RTC_TIMEOUT_VALUE)
1709:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1710:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** return HAL_TIMEOUT;
1711:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1712:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1713:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1714:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Disable the write protection for RTC registers */
1715:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** __HAL_RTC_WRITEPROTECTION_DISABLE(hrtc);
1716:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1717:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1718:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** return HAL_OK;
1719:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1720:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1721:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /**
1722:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @brief Exit the RTC Initialization mode.
1723:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @param hrtc pointer to a RTC_HandleTypeDef structure that contains
1724:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * the configuration information for RTC.
1725:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @retval HAL status
1726:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** */
1727:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** static HAL_StatusTypeDef RTC_ExitInitMode(RTC_HandleTypeDef *hrtc)
1728:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1729:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** uint32_t tickstart = 0U;
1730:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1731:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Disable the write protection for RTC registers */
1732:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc);
1733:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1734:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** tickstart = HAL_GetTick();
1735:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Wait till RTC is in INIT state and if Time out is reached exit */
1736:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** while ((hrtc->Instance->CRL & RTC_CRL_RTOFF) == (uint32_t)RESET)
1737:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
ARM GAS C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s page 34
1738:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** if ((HAL_GetTick() - tickstart) > RTC_TIMEOUT_VALUE)
1739:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1740:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** return HAL_TIMEOUT;
1741:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1742:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1743:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1744:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** return HAL_OK;
1745:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1746:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1747:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /**
1748:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @brief Converts a 2 digit decimal to BCD format.
1749:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @param Value: Byte to be converted
1750:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @retval Converted byte
1751:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** */
1752:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** static uint8_t RTC_ByteToBcd2(uint8_t Value)
1753:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
145 .loc 1 1753 1 is_stmt 1 view -0
146 .cfi_startproc
147 @ args = 0, pretend = 0, frame = 0
148 @ frame_needed = 0, uses_anonymous_args = 0
149 @ link register save eliminated.
1754:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** uint32_t bcdhigh = 0U;
150 .loc 1 1754 3 view .LVU36
1755:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1756:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** while (Value >= 10U)
151 .loc 1 1756 3 view .LVU37
1754:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** uint32_t bcdhigh = 0U;
152 .loc 1 1754 12 is_stmt 0 view .LVU38
153 0000 0023 movs r3, #0
154 .LVL16:
155 .L7:
156 .loc 1 1756 9 view .LVU39
157 0002 0928 cmp r0, #9
158 0004 03D9 bls .L9
1757:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1758:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** bcdhigh++;
159 .loc 1 1758 5 is_stmt 1 view .LVU40
160 .loc 1 1758 12 is_stmt 0 view .LVU41
161 0006 0133 adds r3, r3, #1
162 .LVL17:
1759:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** Value -= 10U;
163 .loc 1 1759 5 is_stmt 1 view .LVU42
164 .loc 1 1759 11 is_stmt 0 view .LVU43
165 0008 0A38 subs r0, r0, #10
166 .LVL18:
167 .loc 1 1759 11 view .LVU44
168 000a C0B2 uxtb r0, r0
169 .LVL19:
170 .loc 1 1759 11 view .LVU45
171 000c F9E7 b .L7
172 .L9:
1760:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1761:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1762:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** return ((uint8_t)(bcdhigh << 4U) | Value);
173 .loc 1 1762 3 is_stmt 1 view .LVU46
174 .loc 1 1762 11 is_stmt 0 view .LVU47
175 000e 1B01 lsls r3, r3, #4
ARM GAS C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s page 35
176 .LVL20:
177 .loc 1 1762 11 view .LVU48
178 0010 DBB2 uxtb r3, r3
1763:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
179 .loc 1 1763 1 view .LVU49
180 0012 1843 orrs r0, r0, r3
181 .LVL21:
182 .loc 1 1763 1 view .LVU50
183 0014 7047 bx lr
184 .cfi_endproc
185 .LFE88:
187 .section .text.RTC_Bcd2ToByte,"ax",%progbits
188 .align 1
189 .syntax unified
190 .thumb
191 .thumb_func
192 .fpu softvfp
194 RTC_Bcd2ToByte:
195 .LVL22:
196 .LFB89:
1764:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1765:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /**
1766:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @brief Converts from 2 digit BCD to Binary.
1767:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @param Value: BCD value to be converted
1768:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @retval Converted word
1769:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** */
1770:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** static uint8_t RTC_Bcd2ToByte(uint8_t Value)
1771:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
197 .loc 1 1771 1 is_stmt 1 view -0
198 .cfi_startproc
199 @ args = 0, pretend = 0, frame = 0
200 @ frame_needed = 0, uses_anonymous_args = 0
201 @ link register save eliminated.
1772:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** uint32_t tmp = 0U;
202 .loc 1 1772 3 view .LVU52
1773:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** tmp = ((uint8_t)(Value & (uint8_t)0xF0) >> (uint8_t)0x4) * 10U;
203 .loc 1 1773 3 view .LVU53
204 .loc 1 1773 43 is_stmt 0 view .LVU54
205 0000 0309 lsrs r3, r0, #4
206 .loc 1 1773 7 view .LVU55
207 0002 03EB8303 add r3, r3, r3, lsl #2
208 0006 5A00 lsls r2, r3, #1
209 .LVL23:
1774:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** return (tmp + (Value & (uint8_t)0x0F));
210 .loc 1 1774 3 is_stmt 1 view .LVU56
211 .loc 1 1774 24 is_stmt 0 view .LVU57
212 0008 00F00F00 and r0, r0, #15
213 .LVL24:
214 .loc 1 1774 15 view .LVU58
215 000c 1044 add r0, r0, r2
1775:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
216 .loc 1 1775 1 view .LVU59
217 000e C0B2 uxtb r0, r0
218 0010 7047 bx lr
219 .cfi_endproc
220 .LFE89:
222 .section .text.RTC_IsLeapYear,"ax",%progbits
ARM GAS C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s page 36
223 .align 1
224 .syntax unified
225 .thumb
226 .thumb_func
227 .fpu softvfp
229 RTC_IsLeapYear:
230 .LVL25:
231 .LFB91:
1776:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1777:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /**
1778:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @brief Updates date when time is 23:59:59.
1779:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @param hrtc pointer to a RTC_HandleTypeDef structure that contains
1780:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * the configuration information for RTC.
1781:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @param DayElapsed: Number of days elapsed from last date update
1782:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @retval None
1783:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** */
1784:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** static void RTC_DateUpdate(RTC_HandleTypeDef *hrtc, uint32_t DayElapsed)
1785:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1786:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** uint32_t year = 0U, month = 0U, day = 0U;
1787:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** uint32_t loop = 0U;
1788:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1789:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Get the current year*/
1790:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** year = hrtc->DateToUpdate.Year;
1791:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1792:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Get the current month and day */
1793:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** month = hrtc->DateToUpdate.Month;
1794:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** day = hrtc->DateToUpdate.Date;
1795:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1796:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** for (loop = 0U; loop < DayElapsed; loop++)
1797:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1798:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** if ((month == 1U) || (month == 3U) || (month == 5U) || (month == 7U) || \
1799:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** (month == 8U) || (month == 10U) || (month == 12U))
1800:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1801:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** if (day < 31U)
1802:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1803:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** day++;
1804:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1805:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Date structure member: day = 31 */
1806:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** else
1807:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1808:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** if (month != 12U)
1809:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1810:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** month++;
1811:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** day = 1U;
1812:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1813:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Date structure member: day = 31 & month =12 */
1814:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** else
1815:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1816:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** month = 1U;
1817:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** day = 1U;
1818:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** year++;
1819:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1820:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1821:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1822:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** else if ((month == 4U) || (month == 6U) || (month == 9U) || (month == 11U))
1823:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1824:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** if (day < 30U)
ARM GAS C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s page 37
1825:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1826:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** day++;
1827:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1828:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Date structure member: day = 30 */
1829:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** else
1830:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1831:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** month++;
1832:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** day = 1U;
1833:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1834:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1835:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** else if (month == 2U)
1836:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1837:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** if (day < 28U)
1838:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1839:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** day++;
1840:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1841:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** else if (day == 28U)
1842:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1843:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Leap year */
1844:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** if (RTC_IsLeapYear(year))
1845:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1846:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** day++;
1847:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1848:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** else
1849:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1850:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** month++;
1851:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** day = 1U;
1852:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1853:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1854:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** else if (day == 29U)
1855:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1856:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** month++;
1857:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** day = 1U;
1858:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1859:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1860:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1861:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1862:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Update year */
1863:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** hrtc->DateToUpdate.Year = year;
1864:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1865:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Update day and month */
1866:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** hrtc->DateToUpdate.Month = month;
1867:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** hrtc->DateToUpdate.Date = day;
1868:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1869:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Update day of the week */
1870:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** hrtc->DateToUpdate.WeekDay = RTC_WeekDayNum(year, month, day);
1871:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1872:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1873:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /**
1874:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @brief Check whether the passed year is Leap or not.
1875:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @param nYear year to check
1876:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @retval 1: leap year
1877:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * 0: not leap year
1878:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** */
1879:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** static uint8_t RTC_IsLeapYear(uint16_t nYear)
1880:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
232 .loc 1 1880 1 is_stmt 1 view -0
ARM GAS C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s page 38
233 .cfi_startproc
234 @ args = 0, pretend = 0, frame = 0
235 @ frame_needed = 0, uses_anonymous_args = 0
236 @ link register save eliminated.
1881:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** if ((nYear % 4U) != 0U)
237 .loc 1 1881 3 view .LVU61
238 .loc 1 1881 6 is_stmt 0 view .LVU62
239 0000 10F0030F tst r0, #3
240 0004 14D1 bne .L13
1882:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1883:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** return 0U;
1884:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1885:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1886:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** if ((nYear % 100U) != 0U)
241 .loc 1 1886 3 is_stmt 1 view .LVU63
242 .loc 1 1886 22 is_stmt 0 view .LVU64
243 0006 0D4B ldr r3, .L16
244 0008 A3FB0023 umull r2, r3, r3, r0
245 000c 5B09 lsrs r3, r3, #5
246 000e 6422 movs r2, #100
247 0010 02FB1303 mls r3, r2, r3, r0
248 0014 9BB2 uxth r3, r3
249 .loc 1 1886 6 view .LVU65
250 0016 6BB9 cbnz r3, .L14
1887:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1888:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** return 1U;
1889:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1890:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1891:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** if ((nYear % 400U) == 0U)
251 .loc 1 1891 3 is_stmt 1 view .LVU66
252 .loc 1 1891 22 is_stmt 0 view .LVU67
253 0018 084B ldr r3, .L16
254 001a A3FB0023 umull r2, r3, r3, r0
255 001e DB09 lsrs r3, r3, #7
256 0020 4FF4C872 mov r2, #400
257 0024 02FB1303 mls r3, r2, r3, r0
258 0028 9BB2 uxth r3, r3
259 .loc 1 1891 6 view .LVU68
260 002a 2BB9 cbnz r3, .L15
1892:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1893:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** return 1U;
261 .loc 1 1893 12 view .LVU69
262 002c 0120 movs r0, #1
263 .LVL26:
264 .loc 1 1893 12 view .LVU70
265 002e 7047 bx lr
266 .LVL27:
267 .L13:
1883:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
268 .loc 1 1883 12 view .LVU71
269 0030 0020 movs r0, #0
270 .LVL28:
1883:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
271 .loc 1 1883 12 view .LVU72
272 0032 7047 bx lr
273 .LVL29:
274 .L14:
ARM GAS C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s page 39
1888:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
275 .loc 1 1888 12 view .LVU73
276 0034 0120 movs r0, #1
277 .LVL30:
1888:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
278 .loc 1 1888 12 view .LVU74
279 0036 7047 bx lr
280 .LVL31:
281 .L15:
1894:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1895:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** else
1896:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1897:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** return 0U;
282 .loc 1 1897 12 view .LVU75
283 0038 0020 movs r0, #0
284 .LVL32:
1898:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1899:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
285 .loc 1 1899 1 view .LVU76
286 003a 7047 bx lr
287 .L17:
288 .align 2
289 .L16:
290 003c 1F85EB51 .word 1374389535
291 .cfi_endproc
292 .LFE91:
294 .section .text.RTC_WeekDayNum,"ax",%progbits
295 .align 1
296 .syntax unified
297 .thumb
298 .thumb_func
299 .fpu softvfp
301 RTC_WeekDayNum:
302 .LVL33:
303 .LFB92:
1900:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1901:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /**
1902:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @brief Determines the week number, the day number and the week day number.
1903:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @param nYear year to check
1904:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @param nMonth Month to check
1905:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @param nDay Day to check
1906:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @note Day is calculated with hypothesis that year > 2000
1907:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @retval Value which can take one of the following parameters:
1908:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @arg RTC_WEEKDAY_MONDAY
1909:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @arg RTC_WEEKDAY_TUESDAY
1910:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @arg RTC_WEEKDAY_WEDNESDAY
1911:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @arg RTC_WEEKDAY_THURSDAY
1912:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @arg RTC_WEEKDAY_FRIDAY
1913:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @arg RTC_WEEKDAY_SATURDAY
1914:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** * @arg RTC_WEEKDAY_SUNDAY
1915:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** */
1916:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** static uint8_t RTC_WeekDayNum(uint32_t nYear, uint8_t nMonth, uint8_t nDay)
1917:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
304 .loc 1 1917 1 is_stmt 1 view -0
305 .cfi_startproc
306 @ args = 0, pretend = 0, frame = 0
307 @ frame_needed = 0, uses_anonymous_args = 0
ARM GAS C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s page 40
308 @ link register save eliminated.
309 .loc 1 1917 1 is_stmt 0 view .LVU78
310 0000 10B4 push {r4}
311 .LCFI3:
312 .cfi_def_cfa_offset 4
313 .cfi_offset 4, -4
1918:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** uint32_t year = 0U, weekday = 0U;
314 .loc 1 1918 3 is_stmt 1 view .LVU79
315 .LVL34:
1919:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1920:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** year = 2000U + nYear;
316 .loc 1 1920 3 view .LVU80
317 .loc 1 1920 8 is_stmt 0 view .LVU81
318 0002 00F5FA64 add r4, r0, #2000
319 .LVL35:
1921:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1922:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** if (nMonth < 3U)
320 .loc 1 1922 3 is_stmt 1 view .LVU82
321 .loc 1 1922 6 is_stmt 0 view .LVU83
322 0006 0229 cmp r1, #2
323 0008 22D8 bhi .L19
1923:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1924:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /*D = { [(23 x month)/9] + day + 4 + year + [(year-1)/4] - [(year-1)/100] + [(year-1)/400] } mo
1925:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** weekday = (((23U * nMonth) / 9U) + nDay + 4U + year + ((year - 1U) / 4U) - ((year - 1U) / 100U)
324 .loc 1 1925 5 is_stmt 1 view .LVU84
325 .loc 1 1925 22 is_stmt 0 view .LVU85
326 000a 01EB4103 add r3, r1, r1, lsl #1
327 000e C1EBC301 rsb r1, r1, r3, lsl #3
328 .LVL36:
329 .loc 1 1925 32 view .LVU86
330 0012 1F4B ldr r3, .L22
331 0014 A3FB0131 umull r3, r1, r3, r1
332 .loc 1 1925 38 view .LVU87
333 0018 02EB5102 add r2, r2, r1, lsr #1
334 .LVL37:
335 .loc 1 1925 50 view .LVU88
336 001c 2244 add r2, r2, r4
337 .loc 1 1925 66 view .LVU89
338 001e 00F2CF70 addw r0, r0, #1999
339 .LVL38:
340 .loc 1 1925 57 view .LVU90
341 0022 02EB9003 add r3, r2, r0, lsr #2
342 .loc 1 1925 93 view .LVU91
343 0026 1B4A ldr r2, .L22+4
344 0028 A2FB0020 umull r2, r0, r2, r0
345 .LVL39:
346 .loc 1 1925 78 view .LVU92
347 002c A3EB5013 sub r3, r3, r0, lsr #5
348 .loc 1 1925 101 view .LVU93
349 0030 03EBD013 add r3, r3, r0, lsr #7
350 0034 0433 adds r3, r3, #4
351 .loc 1 1925 13 view .LVU94
352 0036 1848 ldr r0, .L22+8
353 0038 A0FB0320 umull r2, r0, r0, r3
354 003c 1A1A subs r2, r3, r0
355 003e 00EB5200 add r0, r0, r2, lsr #1
356 0042 8008 lsrs r0, r0, #2
ARM GAS C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s page 41
357 0044 C0EBC000 rsb r0, r0, r0, lsl #3
358 0048 181A subs r0, r3, r0
359 .LVL40:
360 .L20:
1926:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1927:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** else
1928:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1929:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /*D = { [(23 x month)/9] + day + 4 + year + [year/4] - [year/100] + [year/400] - 2 } mod 7*/
1930:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** weekday = (((23U * nMonth) / 9U) + nDay + 4U + year + (year / 4U) - (year / 100U) + (year / 400
1931:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1932:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1933:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** return (uint8_t)weekday;
361 .loc 1 1933 3 is_stmt 1 view .LVU95
1934:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
362 .loc 1 1934 1 is_stmt 0 view .LVU96
363 004a C0B2 uxtb r0, r0
364 .LVL41:
365 .loc 1 1934 1 view .LVU97
366 004c 10BC pop {r4}
367 .LCFI4:
368 .cfi_remember_state
369 .cfi_restore 4
370 .cfi_def_cfa_offset 0
371 .LVL42:
372 .loc 1 1934 1 view .LVU98
373 004e 7047 bx lr
374 .LVL43:
375 .L19:
376 .LCFI5:
377 .cfi_restore_state
1930:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
378 .loc 1 1930 5 is_stmt 1 view .LVU99
1930:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
379 .loc 1 1930 22 is_stmt 0 view .LVU100
380 0050 01EB4103 add r3, r1, r1, lsl #1
381 0054 C1EBC303 rsb r3, r1, r3, lsl #3
1930:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
382 .loc 1 1930 32 view .LVU101
383 0058 0D49 ldr r1, .L22
384 .LVL44:
1930:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
385 .loc 1 1930 32 view .LVU102
386 005a A1FB0313 umull r1, r3, r1, r3
1930:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
387 .loc 1 1930 38 view .LVU103
388 005e 02EB5303 add r3, r2, r3, lsr #1
1930:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
389 .loc 1 1930 50 view .LVU104
390 0062 2344 add r3, r3, r4
1930:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
391 .loc 1 1930 57 view .LVU105
392 0064 03EB9403 add r3, r3, r4, lsr #2
1930:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
393 .loc 1 1930 79 view .LVU106
394 0068 0A4A ldr r2, .L22+4
395 .LVL45:
1930:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
ARM GAS C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s page 42
396 .loc 1 1930 79 view .LVU107
397 006a A2FB0412 umull r1, r2, r2, r4
1930:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
398 .loc 1 1930 71 view .LVU108
399 006e A3EB5213 sub r3, r3, r2, lsr #5
1930:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
400 .loc 1 1930 87 view .LVU109
401 0072 03EBD213 add r3, r3, r2, lsr #7
1930:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
402 .loc 1 1930 103 view .LVU110
403 0076 0233 adds r3, r3, #2
1930:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
404 .loc 1 1930 13 view .LVU111
405 0078 0748 ldr r0, .L22+8
406 .LVL46:
1930:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
407 .loc 1 1930 13 view .LVU112
408 007a A0FB0320 umull r2, r0, r0, r3
409 007e 1A1A subs r2, r3, r0
410 0080 00EB5200 add r0, r0, r2, lsr #1
411 0084 8008 lsrs r0, r0, #2
412 0086 C0EBC000 rsb r0, r0, r0, lsl #3
413 008a 181A subs r0, r3, r0
414 .LVL47:
1930:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
415 .loc 1 1930 13 view .LVU113
416 008c DDE7 b .L20
417 .L23:
418 008e 00BF .align 2
419 .L22:
420 0090 398EE338 .word 954437177
421 0094 1F85EB51 .word 1374389535
422 0098 25499224 .word 613566757
423 .cfi_endproc
424 .LFE92:
426 .section .text.RTC_DateUpdate,"ax",%progbits
427 .align 1
428 .syntax unified
429 .thumb
430 .thumb_func
431 .fpu softvfp
433 RTC_DateUpdate:
434 .LVL48:
435 .LFB90:
1785:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** uint32_t year = 0U, month = 0U, day = 0U;
436 .loc 1 1785 1 is_stmt 1 view -0
437 .cfi_startproc
438 @ args = 0, pretend = 0, frame = 0
439 @ frame_needed = 0, uses_anonymous_args = 0
1785:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** uint32_t year = 0U, month = 0U, day = 0U;
440 .loc 1 1785 1 is_stmt 0 view .LVU115
441 0000 2DE9F843 push {r3, r4, r5, r6, r7, r8, r9, lr}
442 .LCFI6:
443 .cfi_def_cfa_offset 32
444 .cfi_offset 3, -32
445 .cfi_offset 4, -28
446 .cfi_offset 5, -24
ARM GAS C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s page 43
447 .cfi_offset 6, -20
448 .cfi_offset 7, -16
449 .cfi_offset 8, -12
450 .cfi_offset 9, -8
451 .cfi_offset 14, -4
452 0004 8046 mov r8, r0
453 0006 0F46 mov r7, r1
1786:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** uint32_t loop = 0U;
454 .loc 1 1786 3 is_stmt 1 view .LVU116
455 .LVL49:
1787:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
456 .loc 1 1787 3 view .LVU117
1790:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
457 .loc 1 1790 3 view .LVU118
1790:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
458 .loc 1 1790 28 is_stmt 0 view .LVU119
459 0008 90F80F90 ldrb r9, [r0, #15] @ zero_extendqisi2
460 .LVL50:
1793:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** day = hrtc->DateToUpdate.Date;
461 .loc 1 1793 3 is_stmt 1 view .LVU120
1793:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** day = hrtc->DateToUpdate.Date;
462 .loc 1 1793 29 is_stmt 0 view .LVU121
463 000c 447B ldrb r4, [r0, #13] @ zero_extendqisi2
464 .LVL51:
1794:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
465 .loc 1 1794 3 is_stmt 1 view .LVU122
1794:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
466 .loc 1 1794 27 is_stmt 0 view .LVU123
467 000e 857B ldrb r5, [r0, #14] @ zero_extendqisi2
468 .LVL52:
1796:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
469 .loc 1 1796 3 is_stmt 1 view .LVU124
1796:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
470 .loc 1 1796 13 is_stmt 0 view .LVU125
471 0010 0026 movs r6, #0
1796:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
472 .loc 1 1796 3 view .LVU126
473 0012 03E0 b .L25
474 .LVL53:
475 .L26:
1801:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
476 .loc 1 1801 7 is_stmt 1 view .LVU127
1801:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
477 .loc 1 1801 10 is_stmt 0 view .LVU128
478 0014 1E2D cmp r5, #30
479 0016 1FD8 bhi .L28
1803:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
480 .loc 1 1803 9 is_stmt 1 view .LVU129
1803:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
481 .loc 1 1803 12 is_stmt 0 view .LVU130
482 0018 0135 adds r5, r5, #1
483 .LVL54:
484 .L29:
1796:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
485 .loc 1 1796 42 discriminator 2 view .LVU131
486 001a 0136 adds r6, r6, #1
487 .LVL55:
ARM GAS C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s page 44
488 .L25:
1796:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
489 .loc 1 1796 3 discriminator 1 view .LVU132
490 001c BE42 cmp r6, r7
491 001e 3DD2 bcs .L39
1798:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** (month == 8U) || (month == 10U) || (month == 12U))
492 .loc 1 1798 5 is_stmt 1 view .LVU133
1798:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** (month == 8U) || (month == 10U) || (month == 12U))
493 .loc 1 1798 8 is_stmt 0 view .LVU134
494 0020 012C cmp r4, #1
495 0022 F7D0 beq .L26
1798:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** (month == 8U) || (month == 10U) || (month == 12U))
496 .loc 1 1798 23 discriminator 1 view .LVU135
497 0024 032C cmp r4, #3
498 0026 F5D0 beq .L26
1798:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** (month == 8U) || (month == 10U) || (month == 12U))
499 .loc 1 1798 40 discriminator 2 view .LVU136
500 0028 052C cmp r4, #5
501 002a F3D0 beq .L26
1798:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** (month == 8U) || (month == 10U) || (month == 12U))
502 .loc 1 1798 57 discriminator 3 view .LVU137
503 002c 072C cmp r4, #7
504 002e F1D0 beq .L26
1798:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** (month == 8U) || (month == 10U) || (month == 12U))
505 .loc 1 1798 74 discriminator 4 view .LVU138
506 0030 082C cmp r4, #8
507 0032 EFD0 beq .L26
1799:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
508 .loc 1 1799 23 view .LVU139
509 0034 0A2C cmp r4, #10
510 0036 EDD0 beq .L26
1799:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
511 .loc 1 1799 41 discriminator 1 view .LVU140
512 0038 0C2C cmp r4, #12
513 003a EBD0 beq .L26
1822:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
514 .loc 1 1822 10 is_stmt 1 view .LVU141
1822:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
515 .loc 1 1822 13 is_stmt 0 view .LVU142
516 003c 042C cmp r4, #4
517 003e 15D0 beq .L31
1822:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
518 .loc 1 1822 28 discriminator 1 view .LVU143
519 0040 062C cmp r4, #6
520 0042 13D0 beq .L31
1822:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
521 .loc 1 1822 45 discriminator 2 view .LVU144
522 0044 092C cmp r4, #9
523 0046 11D0 beq .L31
1822:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
524 .loc 1 1822 62 discriminator 3 view .LVU145
525 0048 0B2C cmp r4, #11
526 004a 0FD0 beq .L31
1835:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
527 .loc 1 1835 10 is_stmt 1 view .LVU146
1835:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
528 .loc 1 1835 13 is_stmt 0 view .LVU147
ARM GAS C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s page 45
529 004c 022C cmp r4, #2
530 004e E4D1 bne .L29
1837:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
531 .loc 1 1837 7 is_stmt 1 view .LVU148
1837:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
532 .loc 1 1837 10 is_stmt 0 view .LVU149
533 0050 1B2D cmp r5, #27
534 0052 12D8 bhi .L34
1839:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
535 .loc 1 1839 9 is_stmt 1 view .LVU150
1839:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
536 .loc 1 1839 12 is_stmt 0 view .LVU151
537 0054 0135 adds r5, r5, #1
538 .LVL56:
1839:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
539 .loc 1 1839 12 view .LVU152
540 0056 E0E7 b .L29
541 .L28:
1808:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
542 .loc 1 1808 9 is_stmt 1 view .LVU153
1808:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
543 .loc 1 1808 12 is_stmt 0 view .LVU154
544 0058 0C2C cmp r4, #12
545 005a 02D0 beq .L30
1810:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** day = 1U;
546 .loc 1 1810 11 is_stmt 1 view .LVU155
1810:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** day = 1U;
547 .loc 1 1810 16 is_stmt 0 view .LVU156
548 005c 0134 adds r4, r4, #1
549 .LVL57:
1811:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
550 .loc 1 1811 11 is_stmt 1 view .LVU157
1811:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
551 .loc 1 1811 15 is_stmt 0 view .LVU158
552 005e 0125 movs r5, #1
553 0060 DBE7 b .L29
554 .LVL58:
555 .L30:
1816:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** day = 1U;
556 .loc 1 1816 11 is_stmt 1 view .LVU159
1817:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** year++;
557 .loc 1 1817 11 view .LVU160
1818:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
558 .loc 1 1818 11 view .LVU161
1818:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
559 .loc 1 1818 15 is_stmt 0 view .LVU162
560 0062 09F10109 add r9, r9, #1
561 .LVL59:
1817:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** year++;
562 .loc 1 1817 15 view .LVU163
563 0066 0125 movs r5, #1
1816:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** day = 1U;
564 .loc 1 1816 17 view .LVU164
565 0068 2C46 mov r4, r5
566 006a D6E7 b .L29
567 .LVL60:
568 .L31:
ARM GAS C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s page 46
1824:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
569 .loc 1 1824 7 is_stmt 1 view .LVU165
1824:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
570 .loc 1 1824 10 is_stmt 0 view .LVU166
571 006c 1D2D cmp r5, #29
572 006e 01D8 bhi .L33
1826:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
573 .loc 1 1826 9 is_stmt 1 view .LVU167
1826:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
574 .loc 1 1826 12 is_stmt 0 view .LVU168
575 0070 0135 adds r5, r5, #1
576 .LVL61:
1826:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
577 .loc 1 1826 12 view .LVU169
578 0072 D2E7 b .L29
579 .L33:
1831:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** day = 1U;
580 .loc 1 1831 9 is_stmt 1 view .LVU170
1831:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** day = 1U;
581 .loc 1 1831 14 is_stmt 0 view .LVU171
582 0074 0134 adds r4, r4, #1
583 .LVL62:
1832:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
584 .loc 1 1832 9 is_stmt 1 view .LVU172
1832:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
585 .loc 1 1832 13 is_stmt 0 view .LVU173
586 0076 0125 movs r5, #1
587 0078 CFE7 b .L29
588 .LVL63:
589 .L34:
1841:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
590 .loc 1 1841 12 is_stmt 1 view .LVU174
1841:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
591 .loc 1 1841 15 is_stmt 0 view .LVU175
592 007a 1C2D cmp r5, #28
593 007c 04D0 beq .L40
1854:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
594 .loc 1 1854 12 is_stmt 1 view .LVU176
1854:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
595 .loc 1 1854 15 is_stmt 0 view .LVU177
596 007e 1D2D cmp r5, #29
597 0080 CBD1 bne .L29
1856:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** day = 1U;
598 .loc 1 1856 9 is_stmt 1 view .LVU178
1856:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** day = 1U;
599 .loc 1 1856 14 is_stmt 0 view .LVU179
600 0082 0134 adds r4, r4, #1
601 .LVL64:
1857:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
602 .loc 1 1857 9 is_stmt 1 view .LVU180
1857:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
603 .loc 1 1857 13 is_stmt 0 view .LVU181
604 0084 0125 movs r5, #1
605 0086 C8E7 b .L29
606 .LVL65:
607 .L40:
1844:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
ARM GAS C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s page 47
608 .loc 1 1844 9 is_stmt 1 view .LVU182
1844:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
609 .loc 1 1844 13 is_stmt 0 view .LVU183
610 0088 1FFA89F0 uxth r0, r9
611 008c FFF7FEFF bl RTC_IsLeapYear
612 .LVL66:
1844:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
613 .loc 1 1844 12 view .LVU184
614 0090 08B1 cbz r0, .L36
1846:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
615 .loc 1 1846 11 is_stmt 1 view .LVU185
1846:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
616 .loc 1 1846 14 is_stmt 0 view .LVU186
617 0092 0135 adds r5, r5, #1
618 .LVL67:
1846:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
619 .loc 1 1846 14 view .LVU187
620 0094 C1E7 b .L29
621 .L36:
1850:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** day = 1U;
622 .loc 1 1850 11 is_stmt 1 view .LVU188
1850:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** day = 1U;
623 .loc 1 1850 16 is_stmt 0 view .LVU189
624 0096 0134 adds r4, r4, #1
625 .LVL68:
1851:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
626 .loc 1 1851 11 is_stmt 1 view .LVU190
1851:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
627 .loc 1 1851 15 is_stmt 0 view .LVU191
628 0098 0125 movs r5, #1
629 009a BEE7 b .L29
630 .LVL69:
631 .L39:
1863:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
632 .loc 1 1863 3 is_stmt 1 view .LVU192
1863:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
633 .loc 1 1863 27 is_stmt 0 view .LVU193
634 009c 88F80F90 strb r9, [r8, #15]
1866:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** hrtc->DateToUpdate.Date = day;
635 .loc 1 1866 3 is_stmt 1 view .LVU194
1866:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** hrtc->DateToUpdate.Date = day;
636 .loc 1 1866 28 is_stmt 0 view .LVU195
637 00a0 E1B2 uxtb r1, r4
638 00a2 88F80D10 strb r1, [r8, #13]
1867:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
639 .loc 1 1867 3 is_stmt 1 view .LVU196
1867:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
640 .loc 1 1867 27 is_stmt 0 view .LVU197
641 00a6 EAB2 uxtb r2, r5
642 00a8 88F80E20 strb r2, [r8, #14]
1870:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
643 .loc 1 1870 3 is_stmt 1 view .LVU198
1870:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
644 .loc 1 1870 32 is_stmt 0 view .LVU199
645 00ac 4846 mov r0, r9
646 00ae FFF7FEFF bl RTC_WeekDayNum
647 .LVL70:
ARM GAS C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s page 48
1870:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
648 .loc 1 1870 30 view .LVU200
649 00b2 88F80C00 strb r0, [r8, #12]
1871:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
650 .loc 1 1871 1 view .LVU201
651 00b6 BDE8F883 pop {r3, r4, r5, r6, r7, r8, r9, pc}
1871:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
652 .loc 1 1871 1 view .LVU202
653 .cfi_endproc
654 .LFE90:
656 .section .text.RTC_EnterInitMode,"ax",%progbits
657 .align 1
658 .syntax unified
659 .thumb
660 .thumb_func
661 .fpu softvfp
663 RTC_EnterInitMode:
664 .LVL71:
665 .LFB86:
1701:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** uint32_t tickstart = 0U;
666 .loc 1 1701 1 is_stmt 1 view -0
667 .cfi_startproc
668 @ args = 0, pretend = 0, frame = 0
669 @ frame_needed = 0, uses_anonymous_args = 0
1701:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** uint32_t tickstart = 0U;
670 .loc 1 1701 1 is_stmt 0 view .LVU204
671 0000 38B5 push {r3, r4, r5, lr}
672 .LCFI7:
673 .cfi_def_cfa_offset 16
674 .cfi_offset 3, -16
675 .cfi_offset 4, -12
676 .cfi_offset 5, -8
677 .cfi_offset 14, -4
678 0002 0446 mov r4, r0
1702:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
679 .loc 1 1702 3 is_stmt 1 view .LVU205
680 .LVL72:
1704:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Wait till RTC is in INIT state and if Time out is reached exit */
681 .loc 1 1704 3 view .LVU206
1704:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Wait till RTC is in INIT state and if Time out is reached exit */
682 .loc 1 1704 15 is_stmt 0 view .LVU207
683 0004 FFF7FEFF bl HAL_GetTick
684 .LVL73:
1704:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Wait till RTC is in INIT state and if Time out is reached exit */
685 .loc 1 1704 15 view .LVU208
686 0008 0546 mov r5, r0
687 .LVL74:
1706:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
688 .loc 1 1706 3 is_stmt 1 view .LVU209
689 .L42:
1706:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
690 .loc 1 1706 15 is_stmt 0 view .LVU210
691 000a 2368 ldr r3, [r4]
1706:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
692 .loc 1 1706 25 view .LVU211
693 000c 5A68 ldr r2, [r3, #4]
1706:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
ARM GAS C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s page 49
694 .loc 1 1706 9 view .LVU212
695 000e 12F0200F tst r2, #32
696 0012 07D1 bne .L47
1708:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
697 .loc 1 1708 5 is_stmt 1 view .LVU213
1708:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
698 .loc 1 1708 10 is_stmt 0 view .LVU214
699 0014 FFF7FEFF bl HAL_GetTick
700 .LVL75:
1708:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
701 .loc 1 1708 24 view .LVU215
702 0018 401B subs r0, r0, r5
1708:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
703 .loc 1 1708 8 view .LVU216
704 001a B0F57A7F cmp r0, #1000
705 001e F4D9 bls .L42
1710:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
706 .loc 1 1710 14 view .LVU217
707 0020 0320 movs r0, #3
708 0022 04E0 b .L43
709 .L47:
1715:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
710 .loc 1 1715 3 is_stmt 1 view .LVU218
711 0024 5A68 ldr r2, [r3, #4]
712 0026 42F01002 orr r2, r2, #16
713 002a 5A60 str r2, [r3, #4]
1718:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
714 .loc 1 1718 3 view .LVU219
1718:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
715 .loc 1 1718 10 is_stmt 0 view .LVU220
716 002c 0020 movs r0, #0
717 .L43:
1719:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
718 .loc 1 1719 1 view .LVU221
719 002e 38BD pop {r3, r4, r5, pc}
1719:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
720 .loc 1 1719 1 view .LVU222
721 .cfi_endproc
722 .LFE86:
724 .section .text.RTC_ExitInitMode,"ax",%progbits
725 .align 1
726 .syntax unified
727 .thumb
728 .thumb_func
729 .fpu softvfp
731 RTC_ExitInitMode:
732 .LVL76:
733 .LFB87:
1728:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** uint32_t tickstart = 0U;
734 .loc 1 1728 1 is_stmt 1 view -0
735 .cfi_startproc
736 @ args = 0, pretend = 0, frame = 0
737 @ frame_needed = 0, uses_anonymous_args = 0
1728:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** uint32_t tickstart = 0U;
738 .loc 1 1728 1 is_stmt 0 view .LVU224
739 0000 38B5 push {r3, r4, r5, lr}
740 .LCFI8:
ARM GAS C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s page 50
741 .cfi_def_cfa_offset 16
742 .cfi_offset 3, -16
743 .cfi_offset 4, -12
744 .cfi_offset 5, -8
745 .cfi_offset 14, -4
746 0002 0446 mov r4, r0
1729:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
747 .loc 1 1729 3 is_stmt 1 view .LVU225
748 .LVL77:
1732:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
749 .loc 1 1732 3 view .LVU226
750 0004 0268 ldr r2, [r0]
751 0006 5368 ldr r3, [r2, #4]
752 0008 23F01003 bic r3, r3, #16
753 000c 5360 str r3, [r2, #4]
1734:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Wait till RTC is in INIT state and if Time out is reached exit */
754 .loc 1 1734 3 view .LVU227
1734:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Wait till RTC is in INIT state and if Time out is reached exit */
755 .loc 1 1734 15 is_stmt 0 view .LVU228
756 000e FFF7FEFF bl HAL_GetTick
757 .LVL78:
1734:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Wait till RTC is in INIT state and if Time out is reached exit */
758 .loc 1 1734 15 view .LVU229
759 0012 0546 mov r5, r0
760 .LVL79:
1736:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
761 .loc 1 1736 3 is_stmt 1 view .LVU230
762 .L49:
1736:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
763 .loc 1 1736 15 is_stmt 0 view .LVU231
764 0014 2368 ldr r3, [r4]
1736:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
765 .loc 1 1736 25 view .LVU232
766 0016 5B68 ldr r3, [r3, #4]
1736:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
767 .loc 1 1736 9 view .LVU233
768 0018 13F0200F tst r3, #32
769 001c 07D1 bne .L54
1738:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
770 .loc 1 1738 5 is_stmt 1 view .LVU234
1738:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
771 .loc 1 1738 10 is_stmt 0 view .LVU235
772 001e FFF7FEFF bl HAL_GetTick
773 .LVL80:
1738:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
774 .loc 1 1738 24 view .LVU236
775 0022 401B subs r0, r0, r5
1738:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
776 .loc 1 1738 8 view .LVU237
777 0024 B0F57A7F cmp r0, #1000
778 0028 F4D9 bls .L49
1740:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
779 .loc 1 1740 14 view .LVU238
780 002a 0320 movs r0, #3
781 002c 00E0 b .L50
782 .L54:
1744:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
ARM GAS C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s page 51
783 .loc 1 1744 10 view .LVU239
784 002e 0020 movs r0, #0
785 .L50:
1745:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
786 .loc 1 1745 1 view .LVU240
787 0030 38BD pop {r3, r4, r5, pc}
1745:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
788 .loc 1 1745 1 view .LVU241
789 .cfi_endproc
790 .LFE87:
792 .section .text.RTC_WriteTimeCounter,"ax",%progbits
793 .align 1
794 .syntax unified
795 .thumb
796 .thumb_func
797 .fpu softvfp
799 RTC_WriteTimeCounter:
800 .LVL81:
801 .LFB83:
1620:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** HAL_StatusTypeDef status = HAL_OK;
802 .loc 1 1620 1 is_stmt 1 view -0
803 .cfi_startproc
804 @ args = 0, pretend = 0, frame = 0
805 @ frame_needed = 0, uses_anonymous_args = 0
1620:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** HAL_StatusTypeDef status = HAL_OK;
806 .loc 1 1620 1 is_stmt 0 view .LVU243
807 0000 38B5 push {r3, r4, r5, lr}
808 .LCFI9:
809 .cfi_def_cfa_offset 16
810 .cfi_offset 3, -16
811 .cfi_offset 4, -12
812 .cfi_offset 5, -8
813 .cfi_offset 14, -4
814 0002 0546 mov r5, r0
815 0004 0C46 mov r4, r1
1621:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
816 .loc 1 1621 3 is_stmt 1 view .LVU244
817 .LVL82:
1624:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
818 .loc 1 1624 3 view .LVU245
1624:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
819 .loc 1 1624 7 is_stmt 0 view .LVU246
820 0006 FFF7FEFF bl RTC_EnterInitMode
821 .LVL83:
1624:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
822 .loc 1 1624 6 view .LVU247
823 000a 10B1 cbz r0, .L60
1626:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
824 .loc 1 1626 12 view .LVU248
825 000c 0123 movs r3, #1
826 .LVL84:
827 .L56:
1642:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
828 .loc 1 1642 3 is_stmt 1 view .LVU249
1643:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
829 .loc 1 1643 1 is_stmt 0 view .LVU250
830 000e 1846 mov r0, r3
ARM GAS C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s page 52
831 0010 38BD pop {r3, r4, r5, pc}
832 .LVL85:
833 .L60:
1631:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Set RTC COUNTER LSB word */
834 .loc 1 1631 5 is_stmt 1 view .LVU251
835 0012 2B68 ldr r3, [r5]
836 0014 220C lsrs r2, r4, #16
837 0016 9A61 str r2, [r3, #24]
1633:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
838 .loc 1 1633 5 view .LVU252
839 0018 2B68 ldr r3, [r5]
840 001a A4B2 uxth r4, r4
841 .LVL86:
1633:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
842 .loc 1 1633 5 is_stmt 0 view .LVU253
843 001c DC61 str r4, [r3, #28]
1636:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
844 .loc 1 1636 5 is_stmt 1 view .LVU254
1636:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
845 .loc 1 1636 9 is_stmt 0 view .LVU255
846 001e 2846 mov r0, r5
847 0020 FFF7FEFF bl RTC_ExitInitMode
848 .LVL87:
1636:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
849 .loc 1 1636 8 view .LVU256
850 0024 0346 mov r3, r0
851 0026 0028 cmp r0, #0
852 0028 F1D0 beq .L56
1638:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
853 .loc 1 1638 14 view .LVU257
854 002a 0123 movs r3, #1
855 002c EFE7 b .L56
856 .cfi_endproc
857 .LFE83:
859 .section .text.RTC_WriteAlarmCounter,"ax",%progbits
860 .align 1
861 .syntax unified
862 .thumb
863 .thumb_func
864 .fpu softvfp
866 RTC_WriteAlarmCounter:
867 .LVL88:
868 .LFB85:
1669:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** HAL_StatusTypeDef status = HAL_OK;
869 .loc 1 1669 1 is_stmt 1 view -0
870 .cfi_startproc
871 @ args = 0, pretend = 0, frame = 0
872 @ frame_needed = 0, uses_anonymous_args = 0
1669:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** HAL_StatusTypeDef status = HAL_OK;
873 .loc 1 1669 1 is_stmt 0 view .LVU259
874 0000 38B5 push {r3, r4, r5, lr}
875 .LCFI10:
876 .cfi_def_cfa_offset 16
877 .cfi_offset 3, -16
878 .cfi_offset 4, -12
879 .cfi_offset 5, -8
880 .cfi_offset 14, -4
ARM GAS C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s page 53
881 0002 0546 mov r5, r0
882 0004 0C46 mov r4, r1
1670:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
883 .loc 1 1670 3 is_stmt 1 view .LVU260
884 .LVL89:
1673:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
885 .loc 1 1673 3 view .LVU261
1673:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
886 .loc 1 1673 7 is_stmt 0 view .LVU262
887 0006 FFF7FEFF bl RTC_EnterInitMode
888 .LVL90:
1673:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
889 .loc 1 1673 6 view .LVU263
890 000a 10B1 cbz r0, .L66
1675:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
891 .loc 1 1675 12 view .LVU264
892 000c 0123 movs r3, #1
893 .LVL91:
894 .L62:
1691:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
895 .loc 1 1691 3 is_stmt 1 view .LVU265
1692:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
896 .loc 1 1692 1 is_stmt 0 view .LVU266
897 000e 1846 mov r0, r3
898 0010 38BD pop {r3, r4, r5, pc}
899 .LVL92:
900 .L66:
1680:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Set RTC COUNTER LSB word */
901 .loc 1 1680 5 is_stmt 1 view .LVU267
902 0012 2B68 ldr r3, [r5]
903 0014 220C lsrs r2, r4, #16
904 0016 1A62 str r2, [r3, #32]
1682:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
905 .loc 1 1682 5 view .LVU268
906 0018 2B68 ldr r3, [r5]
907 001a A4B2 uxth r4, r4
908 .LVL93:
1682:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
909 .loc 1 1682 5 is_stmt 0 view .LVU269
910 001c 5C62 str r4, [r3, #36]
1685:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
911 .loc 1 1685 5 is_stmt 1 view .LVU270
1685:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
912 .loc 1 1685 9 is_stmt 0 view .LVU271
913 001e 2846 mov r0, r5
914 0020 FFF7FEFF bl RTC_ExitInitMode
915 .LVL94:
1685:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
916 .loc 1 1685 8 view .LVU272
917 0024 0346 mov r3, r0
918 0026 0028 cmp r0, #0
919 0028 F1D0 beq .L62
1687:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
920 .loc 1 1687 14 view .LVU273
921 002a 0123 movs r3, #1
922 002c EFE7 b .L62
923 .cfi_endproc
ARM GAS C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s page 54
924 .LFE85:
926 .section .text.HAL_RTC_MspInit,"ax",%progbits
927 .align 1
928 .weak HAL_RTC_MspInit
929 .syntax unified
930 .thumb
931 .thumb_func
932 .fpu softvfp
934 HAL_RTC_MspInit:
935 .LVL95:
936 .LFB67:
651:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Prevent unused argument(s) compilation warning */
937 .loc 1 651 1 is_stmt 1 view -0
938 .cfi_startproc
939 @ args = 0, pretend = 0, frame = 0
940 @ frame_needed = 0, uses_anonymous_args = 0
941 @ link register save eliminated.
653:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* NOTE : This function Should not be modified, when the callback is needed,
942 .loc 1 653 3 view .LVU275
657:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
943 .loc 1 657 1 is_stmt 0 view .LVU276
944 0000 7047 bx lr
945 .cfi_endproc
946 .LFE67:
948 .section .text.HAL_RTC_MspDeInit,"ax",%progbits
949 .align 1
950 .weak HAL_RTC_MspDeInit
951 .syntax unified
952 .thumb
953 .thumb_func
954 .fpu softvfp
956 HAL_RTC_MspDeInit:
957 .LVL96:
958 .LFB68:
666:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Prevent unused argument(s) compilation warning */
959 .loc 1 666 1 is_stmt 1 view -0
960 .cfi_startproc
961 @ args = 0, pretend = 0, frame = 0
962 @ frame_needed = 0, uses_anonymous_args = 0
963 @ link register save eliminated.
668:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* NOTE : This function Should not be modified, when the callback is needed,
964 .loc 1 668 3 view .LVU278
672:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
965 .loc 1 672 1 is_stmt 0 view .LVU279
966 0000 7047 bx lr
967 .cfi_endproc
968 .LFE68:
970 .section .text.HAL_RTC_SetTime,"ax",%progbits
971 .align 1
972 .global HAL_RTC_SetTime
973 .syntax unified
974 .thumb
975 .thumb_func
976 .fpu softvfp
978 HAL_RTC_SetTime:
979 .LVL97:
980 .LFB69:
ARM GAS C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s page 55
704:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** uint32_t counter_time = 0U, counter_alarm = 0U;
981 .loc 1 704 1 is_stmt 1 view -0
982 .cfi_startproc
983 @ args = 0, pretend = 0, frame = 0
984 @ frame_needed = 0, uses_anonymous_args = 0
704:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** uint32_t counter_time = 0U, counter_alarm = 0U;
985 .loc 1 704 1 is_stmt 0 view .LVU281
986 0000 70B5 push {r4, r5, r6, lr}
987 .LCFI11:
988 .cfi_def_cfa_offset 16
989 .cfi_offset 4, -16
990 .cfi_offset 5, -12
991 .cfi_offset 6, -8
992 .cfi_offset 14, -4
705:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
993 .loc 1 705 3 is_stmt 1 view .LVU282
994 .LVL98:
708:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
995 .loc 1 708 3 view .LVU283
708:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
996 .loc 1 708 6 is_stmt 0 view .LVU284
997 0002 0028 cmp r0, #0
998 0004 57D0 beq .L75
999 0006 0446 mov r4, r0
708:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1000 .loc 1 708 22 discriminator 1 view .LVU285
1001 0008 0029 cmp r1, #0
1002 000a 56D0 beq .L76
714:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1003 .loc 1 714 3 is_stmt 1 view .LVU286
717:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1004 .loc 1 717 3 view .LVU287
717:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1005 .loc 1 717 3 view .LVU288
1006 000c 037C ldrb r3, [r0, #16] @ zero_extendqisi2
1007 000e 012B cmp r3, #1
1008 0010 55D0 beq .L77
1009 0012 0E46 mov r6, r1
717:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1010 .loc 1 717 3 discriminator 2 view .LVU289
1011 0014 0123 movs r3, #1
1012 0016 0374 strb r3, [r0, #16]
719:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1013 .loc 1 719 3 discriminator 2 view .LVU290
719:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1014 .loc 1 719 15 is_stmt 0 discriminator 2 view .LVU291
1015 0018 0223 movs r3, #2
1016 001a 4374 strb r3, [r0, #17]
721:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1017 .loc 1 721 3 is_stmt 1 discriminator 2 view .LVU292
721:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1018 .loc 1 721 6 is_stmt 0 discriminator 2 view .LVU293
1019 001c BAB9 cbnz r2, .L71
723:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** assert_param(IS_RTC_MINUTES(sTime->Minutes));
1020 .loc 1 723 5 is_stmt 1 view .LVU294
724:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** assert_param(IS_RTC_SECONDS(sTime->Seconds));
1021 .loc 1 724 5 view .LVU295
ARM GAS C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s page 56
725:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1022 .loc 1 725 5 view .LVU296
727:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** ((uint32_t)sTime->Minutes * 60U) + \
1023 .loc 1 727 5 view .LVU297
727:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** ((uint32_t)sTime->Minutes * 60U) + \
1024 .loc 1 727 47 is_stmt 0 view .LVU298
1025 001e 0D78 ldrb r5, [r1] @ zero_extendqisi2
728:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** ((uint32_t)sTime->Seconds));
1026 .loc 1 728 47 view .LVU299
1027 0020 4B78 ldrb r3, [r1, #1] @ zero_extendqisi2
728:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** ((uint32_t)sTime->Seconds));
1028 .loc 1 728 57 view .LVU300
1029 0022 C3EB0313 rsb r3, r3, r3, lsl #4
1030 0026 9A00 lsls r2, r3, #2
1031 .LVL99:
727:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** ((uint32_t)sTime->Minutes * 60U) + \
1032 .loc 1 727 64 view .LVU301
1033 0028 4FF46163 mov r3, #3600
1034 002c 03FB0525 mla r5, r3, r5, r2
729:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1035 .loc 1 729 47 view .LVU302
1036 0030 8B78 ldrb r3, [r1, #2] @ zero_extendqisi2
727:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** ((uint32_t)sTime->Minutes * 60U) + \
1037 .loc 1 727 18 view .LVU303
1038 0032 1D44 add r5, r5, r3
1039 .LVL100:
1040 .L72:
743:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1041 .loc 1 743 3 is_stmt 1 view .LVU304
743:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1042 .loc 1 743 7 is_stmt 0 view .LVU305
1043 0034 2946 mov r1, r5
1044 0036 2046 mov r0, r4
1045 0038 FFF7FEFF bl RTC_WriteTimeCounter
1046 .LVL101:
743:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1047 .loc 1 743 6 view .LVU306
1048 003c 0646 mov r6, r0
1049 .LVL102:
743:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1050 .loc 1 743 6 view .LVU307
1051 003e C8B1 cbz r0, .L73
746:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1052 .loc 1 746 5 is_stmt 1 view .LVU308
746:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1053 .loc 1 746 17 is_stmt 0 view .LVU309
1054 0040 0423 movs r3, #4
1055 0042 6374 strb r3, [r4, #17]
749:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1056 .loc 1 749 5 is_stmt 1 view .LVU310
749:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1057 .loc 1 749 5 view .LVU311
1058 0044 0023 movs r3, #0
1059 0046 2374 strb r3, [r4, #16]
751:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1060 .loc 1 751 5 view .LVU312
751:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
ARM GAS C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s page 57
1061 .loc 1 751 12 is_stmt 0 view .LVU313
1062 0048 0126 movs r6, #1
1063 .LVL103:
1064 .L70:
789:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1065 .loc 1 789 1 view .LVU314
1066 004a 3046 mov r0, r6
1067 004c 70BD pop {r4, r5, r6, pc}
1068 .LVL104:
1069 .L71:
733:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** assert_param(IS_RTC_MINUTES(RTC_Bcd2ToByte(sTime->Minutes)));
1070 .loc 1 733 5 is_stmt 1 view .LVU315
734:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** assert_param(IS_RTC_SECONDS(RTC_Bcd2ToByte(sTime->Seconds)));
1071 .loc 1 734 5 view .LVU316
735:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1072 .loc 1 735 5 view .LVU317
737:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** ((uint32_t)(RTC_Bcd2ToByte(sTime->Minutes)) * 60U) + \
1073 .loc 1 737 5 view .LVU318
737:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** ((uint32_t)(RTC_Bcd2ToByte(sTime->Minutes)) * 60U) + \
1074 .loc 1 737 33 is_stmt 0 view .LVU319
1075 004e 0878 ldrb r0, [r1] @ zero_extendqisi2
1076 .LVL105:
737:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** ((uint32_t)(RTC_Bcd2ToByte(sTime->Minutes)) * 60U) + \
1077 .loc 1 737 33 view .LVU320
1078 0050 FFF7FEFF bl RTC_Bcd2ToByte
1079 .LVL106:
737:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** ((uint32_t)(RTC_Bcd2ToByte(sTime->Minutes)) * 60U) + \
1080 .loc 1 737 63 view .LVU321
1081 0054 4FF46165 mov r5, #3600
1082 0058 05FB00F5 mul r5, r5, r0
738:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** ((uint32_t)(RTC_Bcd2ToByte(sTime->Seconds))));
1083 .loc 1 738 33 view .LVU322
1084 005c 7078 ldrb r0, [r6, #1] @ zero_extendqisi2
1085 005e FFF7FEFF bl RTC_Bcd2ToByte
1086 .LVL107:
738:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** ((uint32_t)(RTC_Bcd2ToByte(sTime->Seconds))));
1087 .loc 1 738 65 view .LVU323
1088 0062 C0EB0010 rsb r0, r0, r0, lsl #4
1089 0066 8300 lsls r3, r0, #2
737:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** ((uint32_t)(RTC_Bcd2ToByte(sTime->Minutes)) * 60U) + \
1090 .loc 1 737 72 view .LVU324
1091 0068 1D44 add r5, r5, r3
739:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1092 .loc 1 739 33 view .LVU325
1093 006a B078 ldrb r0, [r6, #2] @ zero_extendqisi2
1094 006c FFF7FEFF bl RTC_Bcd2ToByte
1095 .LVL108:
737:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** ((uint32_t)(RTC_Bcd2ToByte(sTime->Minutes)) * 60U) + \
1096 .loc 1 737 18 view .LVU326
1097 0070 0544 add r5, r5, r0
1098 .LVL109:
737:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** ((uint32_t)(RTC_Bcd2ToByte(sTime->Minutes)) * 60U) + \
1099 .loc 1 737 18 view .LVU327
1100 0072 DFE7 b .L72
1101 .LVL110:
1102 .L73:
756:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
ARM GAS C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s page 58
1103 .loc 1 756 5 is_stmt 1 view .LVU328
1104 0074 2268 ldr r2, [r4]
1105 0076 5368 ldr r3, [r2, #4]
1106 0078 23F00503 bic r3, r3, #5
1107 007c 5360 str r3, [r2, #4]
759:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1108 .loc 1 759 5 view .LVU329
759:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1109 .loc 1 759 21 is_stmt 0 view .LVU330
1110 007e 2046 mov r0, r4
1111 0080 FFF7FEFF bl RTC_ReadAlarmCounter
1112 .LVL111:
762:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1113 .loc 1 762 5 is_stmt 1 view .LVU331
762:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1114 .loc 1 762 8 is_stmt 0 view .LVU332
1115 0084 B0F1FF3F cmp r0, #-1
1116 0088 01D0 beq .L74
764:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1117 .loc 1 764 7 is_stmt 1 view .LVU333
764:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1118 .loc 1 764 10 is_stmt 0 view .LVU334
1119 008a 8542 cmp r5, r0
1120 008c 04D8 bhi .L79
1121 .LVL112:
1122 .L74:
783:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1123 .loc 1 783 5 is_stmt 1 view .LVU335
783:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1124 .loc 1 783 17 is_stmt 0 view .LVU336
1125 008e 0123 movs r3, #1
1126 0090 6374 strb r3, [r4, #17]
785:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1127 .loc 1 785 5 is_stmt 1 view .LVU337
785:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1128 .loc 1 785 5 view .LVU338
1129 0092 0023 movs r3, #0
1130 0094 2374 strb r3, [r4, #16]
787:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1131 .loc 1 787 5 view .LVU339
787:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1132 .loc 1 787 12 is_stmt 0 view .LVU340
1133 0096 D8E7 b .L70
1134 .LVL113:
1135 .L79:
767:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1136 .loc 1 767 9 is_stmt 1 view .LVU341
770:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1137 .loc 1 770 9 view .LVU342
770:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1138 .loc 1 770 13 is_stmt 0 view .LVU343
1139 0098 00F5A831 add r1, r0, #86016
1140 009c 01F5C071 add r1, r1, #384
1141 00a0 2046 mov r0, r4
1142 .LVL114:
770:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1143 .loc 1 770 13 view .LVU344
ARM GAS C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s page 59
1144 00a2 FFF7FEFF bl RTC_WriteAlarmCounter
1145 .LVL115:
770:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1146 .loc 1 770 12 view .LVU345
1147 00a6 0028 cmp r0, #0
1148 00a8 F1D0 beq .L74
773:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1149 .loc 1 773 11 is_stmt 1 view .LVU346
773:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1150 .loc 1 773 23 is_stmt 0 view .LVU347
1151 00aa 0423 movs r3, #4
1152 00ac 6374 strb r3, [r4, #17]
776:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1153 .loc 1 776 11 is_stmt 1 view .LVU348
776:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1154 .loc 1 776 11 view .LVU349
1155 00ae 0023 movs r3, #0
1156 00b0 2374 strb r3, [r4, #16]
778:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1157 .loc 1 778 11 view .LVU350
778:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1158 .loc 1 778 18 is_stmt 0 view .LVU351
1159 00b2 0126 movs r6, #1
1160 00b4 C9E7 b .L70
1161 .LVL116:
1162 .L75:
710:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1163 .loc 1 710 12 view .LVU352
1164 00b6 0126 movs r6, #1
1165 00b8 C7E7 b .L70
1166 .L76:
710:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1167 .loc 1 710 12 view .LVU353
1168 00ba 0126 movs r6, #1
1169 00bc C5E7 b .L70
1170 .L77:
717:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1171 .loc 1 717 3 view .LVU354
1172 00be 0226 movs r6, #2
1173 00c0 C3E7 b .L70
1174 .cfi_endproc
1175 .LFE69:
1177 .section .text.HAL_RTC_GetTime,"ax",%progbits
1178 .align 1
1179 .global HAL_RTC_GetTime
1180 .syntax unified
1181 .thumb
1182 .thumb_func
1183 .fpu softvfp
1185 HAL_RTC_GetTime:
1186 .LVL117:
1187 .LFB70:
803:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** uint32_t counter_time = 0U, counter_alarm = 0U, days_elapsed = 0U, hours = 0U;
1188 .loc 1 803 1 is_stmt 1 view -0
1189 .cfi_startproc
1190 @ args = 0, pretend = 0, frame = 0
1191 @ frame_needed = 0, uses_anonymous_args = 0
ARM GAS C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s page 60
804:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1192 .loc 1 804 3 view .LVU356
807:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1193 .loc 1 807 3 view .LVU357
807:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1194 .loc 1 807 6 is_stmt 0 view .LVU358
1195 0000 0028 cmp r0, #0
1196 0002 76D0 beq .L87
803:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** uint32_t counter_time = 0U, counter_alarm = 0U, days_elapsed = 0U, hours = 0U;
1197 .loc 1 803 1 discriminator 1 view .LVU359
1198 0004 2DE9F047 push {r4, r5, r6, r7, r8, r9, r10, lr}
1199 .LCFI12:
1200 .cfi_def_cfa_offset 32
1201 .cfi_offset 4, -32
1202 .cfi_offset 5, -28
1203 .cfi_offset 6, -24
1204 .cfi_offset 7, -20
1205 .cfi_offset 8, -16
1206 .cfi_offset 9, -12
1207 .cfi_offset 10, -8
1208 .cfi_offset 14, -4
1209 0008 0546 mov r5, r0
807:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1210 .loc 1 807 22 discriminator 1 view .LVU360
1211 000a 0029 cmp r1, #0
1212 000c 73D0 beq .L88
813:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1213 .loc 1 813 3 is_stmt 1 view .LVU361
816:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1214 .loc 1 816 3 view .LVU362
816:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1215 .loc 1 816 7 is_stmt 0 view .LVU363
1216 000e 0368 ldr r3, [r0]
1217 0010 5B68 ldr r3, [r3, #4]
816:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1218 .loc 1 816 6 view .LVU364
1219 0012 13F0040F tst r3, #4
1220 0016 02D0 beq .L99
818:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1221 .loc 1 818 12 view .LVU365
1222 0018 0120 movs r0, #1
1223 .LVL118:
1224 .L81:
899:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1225 .loc 1 899 1 view .LVU366
1226 001a BDE8F087 pop {r4, r5, r6, r7, r8, r9, r10, pc}
1227 .LVL119:
1228 .L99:
899:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1229 .loc 1 899 1 view .LVU367
1230 001e 1646 mov r6, r2
1231 0020 0C46 mov r4, r1
822:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1232 .loc 1 822 3 is_stmt 1 view .LVU368
822:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1233 .loc 1 822 18 is_stmt 0 view .LVU369
1234 0022 FFF7FEFF bl RTC_ReadTimeCounter
ARM GAS C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s page 61
1235 .LVL120:
822:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1236 .loc 1 822 18 view .LVU370
1237 0026 0746 mov r7, r0
1238 .LVL121:
825:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** sTime->Minutes = (uint8_t)((counter_time % 3600U) / 60U);
1239 .loc 1 825 3 is_stmt 1 view .LVU371
825:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** sTime->Minutes = (uint8_t)((counter_time % 3600U) / 60U);
1240 .loc 1 825 9 is_stmt 0 view .LVU372
1241 0028 374A ldr r2, .L102
1242 002a A2FB0032 umull r3, r2, r2, r0
1243 002e D20A lsrs r2, r2, #11
1244 .LVL122:
826:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** sTime->Seconds = (uint8_t)((counter_time % 3600U) % 60U);
1245 .loc 1 826 3 is_stmt 1 view .LVU373
826:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** sTime->Seconds = (uint8_t)((counter_time % 3600U) % 60U);
1246 .loc 1 826 45 is_stmt 0 view .LVU374
1247 0030 4FF46160 mov r0, #3600
1248 .LVL123:
826:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** sTime->Seconds = (uint8_t)((counter_time % 3600U) % 60U);
1249 .loc 1 826 45 view .LVU375
1250 0034 00FB1270 mls r0, r0, r2, r7
826:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** sTime->Seconds = (uint8_t)((counter_time % 3600U) % 60U);
1251 .loc 1 826 54 view .LVU376
1252 0038 344B ldr r3, .L102+4
1253 003a A3FB0013 umull r1, r3, r3, r0
1254 003e 5B09 lsrs r3, r3, #5
826:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** sTime->Seconds = (uint8_t)((counter_time % 3600U) % 60U);
1255 .loc 1 826 19 view .LVU377
1256 0040 6370 strb r3, [r4, #1]
827:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1257 .loc 1 827 3 is_stmt 1 view .LVU378
827:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1258 .loc 1 827 54 is_stmt 0 view .LVU379
1259 0042 C3EB0313 rsb r3, r3, r3, lsl #4
1260 0046 9900 lsls r1, r3, #2
1261 0048 411A subs r1, r0, r1
827:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1262 .loc 1 827 19 view .LVU380
1263 004a A170 strb r1, [r4, #2]
829:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1264 .loc 1 829 3 is_stmt 1 view .LVU381
829:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1265 .loc 1 829 6 is_stmt 0 view .LVU382
1266 004c 304B ldr r3, .L102+8
1267 004e 9F42 cmp r7, r3
1268 0050 10D8 bhi .L100
886:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1269 .loc 1 886 5 is_stmt 1 view .LVU383
886:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1270 .loc 1 886 18 is_stmt 0 view .LVU384
1271 0052 2270 strb r2, [r4]
1272 .LVL124:
1273 .L86:
890:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1274 .loc 1 890 3 is_stmt 1 view .LVU385
890:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
ARM GAS C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s page 62
1275 .loc 1 890 6 is_stmt 0 view .LVU386
1276 0054 002E cmp r6, #0
1277 0056 54D0 beq .L94
893:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** sTime->Minutes = (uint8_t)RTC_ByteToBcd2(sTime->Minutes);
1278 .loc 1 893 5 is_stmt 1 view .LVU387
893:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** sTime->Minutes = (uint8_t)RTC_ByteToBcd2(sTime->Minutes);
1279 .loc 1 893 32 is_stmt 0 view .LVU388
1280 0058 2078 ldrb r0, [r4] @ zero_extendqisi2
1281 005a FFF7FEFF bl RTC_ByteToBcd2
1282 .LVL125:
893:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** sTime->Minutes = (uint8_t)RTC_ByteToBcd2(sTime->Minutes);
1283 .loc 1 893 21 view .LVU389
1284 005e 2070 strb r0, [r4]
894:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** sTime->Seconds = (uint8_t)RTC_ByteToBcd2(sTime->Seconds);
1285 .loc 1 894 5 is_stmt 1 view .LVU390
894:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** sTime->Seconds = (uint8_t)RTC_ByteToBcd2(sTime->Seconds);
1286 .loc 1 894 32 is_stmt 0 view .LVU391
1287 0060 6078 ldrb r0, [r4, #1] @ zero_extendqisi2
1288 0062 FFF7FEFF bl RTC_ByteToBcd2
1289 .LVL126:
894:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** sTime->Seconds = (uint8_t)RTC_ByteToBcd2(sTime->Seconds);
1290 .loc 1 894 21 view .LVU392
1291 0066 6070 strb r0, [r4, #1]
895:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1292 .loc 1 895 5 is_stmt 1 view .LVU393
895:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1293 .loc 1 895 32 is_stmt 0 view .LVU394
1294 0068 A078 ldrb r0, [r4, #2] @ zero_extendqisi2
1295 006a FFF7FEFF bl RTC_ByteToBcd2
1296 .LVL127:
895:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1297 .loc 1 895 21 view .LVU395
1298 006e A070 strb r0, [r4, #2]
898:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1299 .loc 1 898 10 view .LVU396
1300 0070 0020 movs r0, #0
1301 0072 D2E7 b .L81
1302 .LVL128:
1303 .L100:
832:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1304 .loc 1 832 5 is_stmt 1 view .LVU397
832:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1305 .loc 1 832 18 is_stmt 0 view .LVU398
1306 0074 274B ldr r3, .L102+12
1307 0076 A3FB0738 umull r3, r8, r3, r7
1308 007a 4FEA1848 lsr r8, r8, #16
1309 .LVL129:
835:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1310 .loc 1 835 5 is_stmt 1 view .LVU399
835:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1311 .loc 1 835 27 is_stmt 0 view .LVU400
1312 007e 264B ldr r3, .L102+16
1313 0080 A3FB0213 umull r1, r3, r3, r2
1314 0084 1B09 lsrs r3, r3, #4
1315 0086 03EB4303 add r3, r3, r3, lsl #1
1316 008a D900 lsls r1, r3, #3
1317 008c 531A subs r3, r2, r1
ARM GAS C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s page 63
835:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1318 .loc 1 835 18 view .LVU401
1319 008e 2370 strb r3, [r4]
838:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1320 .loc 1 838 5 is_stmt 1 view .LVU402
838:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1321 .loc 1 838 21 is_stmt 0 view .LVU403
1322 0090 2846 mov r0, r5
1323 0092 FFF7FEFF bl RTC_ReadAlarmCounter
1324 .LVL130:
838:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1325 .loc 1 838 21 view .LVU404
1326 0096 8246 mov r10, r0
1327 .LVL131:
841:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1328 .loc 1 841 5 is_stmt 1 view .LVU405
841:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1329 .loc 1 841 8 is_stmt 0 view .LVU406
1330 0098 B0F1FF3F cmp r0, #-1
1331 009c 03D0 beq .L83
841:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1332 .loc 1 841 49 discriminator 1 view .LVU407
1333 009e 8742 cmp r7, r0
1334 00a0 1CD2 bcs .L90
843:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1335 .loc 1 843 7 is_stmt 1 view .LVU408
843:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1336 .loc 1 843 21 is_stmt 0 view .LVU409
1337 00a2 A0EB070A sub r10, r0, r7
1338 .LVL132:
1339 .L83:
853:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1340 .loc 1 853 5 is_stmt 1 view .LVU410
1341 00a6 1B4B ldr r3, .L102+12
1342 00a8 A3FB0739 umull r3, r9, r3, r7
1343 00ac 4FEA1949 lsr r9, r9, #16
1344 00b0 1A4B ldr r3, .L102+20
1345 00b2 03FB1979 mls r9, r3, r9, r7
1346 .LVL133:
856:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1347 .loc 1 856 5 view .LVU411
856:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1348 .loc 1 856 9 is_stmt 0 view .LVU412
1349 00b6 4946 mov r1, r9
1350 00b8 2846 mov r0, r5
1351 00ba FFF7FEFF bl RTC_WriteTimeCounter
1352 .LVL134:
856:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1353 .loc 1 856 8 view .LVU413
1354 00be E0B9 cbnz r0, .L91
862:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1355 .loc 1 862 5 is_stmt 1 view .LVU414
862:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1356 .loc 1 862 8 is_stmt 0 view .LVU415
1357 00c0 BAF1FF3F cmp r10, #-1
1358 00c4 0DD0 beq .L84
864:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
ARM GAS C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s page 64
1359 .loc 1 864 7 is_stmt 1 view .LVU416
1360 .LVL135:
867:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1361 .loc 1 867 7 view .LVU417
867:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1362 .loc 1 867 11 is_stmt 0 view .LVU418
1363 00c6 0AEB0901 add r1, r10, r9
1364 .LVL136:
867:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1365 .loc 1 867 11 view .LVU419
1366 00ca 2846 mov r0, r5
1367 00cc FFF7FEFF bl RTC_WriteAlarmCounter
1368 .LVL137:
867:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1369 .loc 1 867 10 view .LVU420
1370 00d0 A8B9 cbnz r0, .L101
1371 .LVL138:
1372 .L85:
882:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1373 .loc 1 882 5 is_stmt 1 view .LVU421
1374 00d2 4146 mov r1, r8
1375 00d4 2846 mov r0, r5
1376 00d6 FFF7FEFF bl RTC_DateUpdate
1377 .LVL139:
1378 00da BBE7 b .L86
1379 .LVL140:
1380 .L90:
849:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1381 .loc 1 849 21 is_stmt 0 view .LVU422
1382 00dc 4FF0FF3A mov r10, #-1
1383 00e0 E1E7 b .L83
1384 .LVL141:
1385 .L84:
875:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1386 .loc 1 875 7 is_stmt 1 view .LVU423
875:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1387 .loc 1 875 11 is_stmt 0 view .LVU424
1388 00e2 5146 mov r1, r10
1389 00e4 2846 mov r0, r5
1390 00e6 FFF7FEFF bl RTC_WriteAlarmCounter
1391 .LVL142:
875:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1392 .loc 1 875 10 view .LVU425
1393 00ea 0028 cmp r0, #0
1394 00ec F1D0 beq .L85
877:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1395 .loc 1 877 16 view .LVU426
1396 00ee 0120 movs r0, #1
1397 00f0 93E7 b .L81
1398 .LVL143:
1399 .L87:
1400 .LCFI13:
1401 .cfi_def_cfa_offset 0
1402 .cfi_restore 4
1403 .cfi_restore 5
1404 .cfi_restore 6
1405 .cfi_restore 7
ARM GAS C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s page 65
1406 .cfi_restore 8
1407 .cfi_restore 9
1408 .cfi_restore 10
1409 .cfi_restore 14
809:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1410 .loc 1 809 12 view .LVU427
1411 00f2 0120 movs r0, #1
1412 .LVL144:
899:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1413 .loc 1 899 1 view .LVU428
1414 00f4 7047 bx lr
1415 .LVL145:
1416 .L88:
1417 .LCFI14:
1418 .cfi_def_cfa_offset 32
1419 .cfi_offset 4, -32
1420 .cfi_offset 5, -28
1421 .cfi_offset 6, -24
1422 .cfi_offset 7, -20
1423 .cfi_offset 8, -16
1424 .cfi_offset 9, -12
1425 .cfi_offset 10, -8
1426 .cfi_offset 14, -4
809:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1427 .loc 1 809 12 view .LVU429
1428 00f6 0120 movs r0, #1
1429 .LVL146:
809:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1430 .loc 1 809 12 view .LVU430
1431 00f8 8FE7 b .L81
1432 .LVL147:
1433 .L91:
858:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1434 .loc 1 858 14 view .LVU431
1435 00fa 0120 movs r0, #1
1436 00fc 8DE7 b .L81
1437 .LVL148:
1438 .L101:
869:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1439 .loc 1 869 16 view .LVU432
1440 00fe 0120 movs r0, #1
1441 0100 8BE7 b .L81
1442 .LVL149:
1443 .L94:
898:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1444 .loc 1 898 10 view .LVU433
1445 0102 0020 movs r0, #0
1446 0104 89E7 b .L81
1447 .L103:
1448 0106 00BF .align 2
1449 .L102:
1450 0108 C5B3A291 .word -1851608123
1451 010c 89888888 .word -2004318071
1452 0110 7F510100 .word 86399
1453 0114 07452EC2 .word -1037155065
1454 0118 ABAAAAAA .word -1431655765
1455 011c 80510100 .word 86400
ARM GAS C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s page 66
1456 .cfi_endproc
1457 .LFE70:
1459 .section .text.HAL_RTC_SetDate,"ax",%progbits
1460 .align 1
1461 .global HAL_RTC_SetDate
1462 .syntax unified
1463 .thumb
1464 .thumb_func
1465 .fpu softvfp
1467 HAL_RTC_SetDate:
1468 .LVL150:
1469 .LFB71:
914:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** uint32_t counter_time = 0U, counter_alarm = 0U, hours = 0U;
1470 .loc 1 914 1 is_stmt 1 view -0
1471 .cfi_startproc
1472 @ args = 0, pretend = 0, frame = 0
1473 @ frame_needed = 0, uses_anonymous_args = 0
915:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1474 .loc 1 915 3 view .LVU435
918:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1475 .loc 1 918 3 view .LVU436
918:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1476 .loc 1 918 6 is_stmt 0 view .LVU437
1477 0000 0028 cmp r0, #0
1478 0002 5AD0 beq .L110
914:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** uint32_t counter_time = 0U, counter_alarm = 0U, hours = 0U;
1479 .loc 1 914 1 discriminator 1 view .LVU438
1480 0004 38B5 push {r3, r4, r5, lr}
1481 .LCFI15:
1482 .cfi_def_cfa_offset 16
1483 .cfi_offset 3, -16
1484 .cfi_offset 4, -12
1485 .cfi_offset 5, -8
1486 .cfi_offset 14, -4
1487 0006 0446 mov r4, r0
918:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1488 .loc 1 918 22 discriminator 1 view .LVU439
1489 0008 0029 cmp r1, #0
1490 000a 58D0 beq .L111
924:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1491 .loc 1 924 3 is_stmt 1 view .LVU440
927:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1492 .loc 1 927 3 view .LVU441
927:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1493 .loc 1 927 3 view .LVU442
1494 000c 037C ldrb r3, [r0, #16] @ zero_extendqisi2
1495 000e 012B cmp r3, #1
1496 0010 57D0 beq .L112
1497 0012 0D46 mov r5, r1
927:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1498 .loc 1 927 3 discriminator 2 view .LVU443
1499 0014 0123 movs r3, #1
1500 0016 0374 strb r3, [r0, #16]
929:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1501 .loc 1 929 3 discriminator 2 view .LVU444
929:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1502 .loc 1 929 15 is_stmt 0 discriminator 2 view .LVU445
ARM GAS C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s page 67
1503 0018 0223 movs r3, #2
1504 001a 4374 strb r3, [r0, #17]
931:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1505 .loc 1 931 3 is_stmt 1 discriminator 2 view .LVU446
931:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1506 .loc 1 931 6 is_stmt 0 discriminator 2 view .LVU447
1507 001c BAB9 cbnz r2, .L106
933:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** assert_param(IS_RTC_MONTH(sDate->Month));
1508 .loc 1 933 5 is_stmt 1 view .LVU448
934:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** assert_param(IS_RTC_DATE(sDate->Date));
1509 .loc 1 934 5 view .LVU449
935:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1510 .loc 1 935 5 view .LVU450
938:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** hrtc->DateToUpdate.Month = sDate->Month;
1511 .loc 1 938 5 view .LVU451
938:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** hrtc->DateToUpdate.Month = sDate->Month;
1512 .loc 1 938 37 is_stmt 0 view .LVU452
1513 001e CB78 ldrb r3, [r1, #3] @ zero_extendqisi2
938:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** hrtc->DateToUpdate.Month = sDate->Month;
1514 .loc 1 938 30 view .LVU453
1515 0020 C373 strb r3, [r0, #15]
939:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** hrtc->DateToUpdate.Date = sDate->Date;
1516 .loc 1 939 5 is_stmt 1 view .LVU454
939:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** hrtc->DateToUpdate.Date = sDate->Date;
1517 .loc 1 939 37 is_stmt 0 view .LVU455
1518 0022 4B78 ldrb r3, [r1, #1] @ zero_extendqisi2
939:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** hrtc->DateToUpdate.Date = sDate->Date;
1519 .loc 1 939 30 view .LVU456
1520 0024 4373 strb r3, [r0, #13]
940:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1521 .loc 1 940 5 is_stmt 1 view .LVU457
940:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1522 .loc 1 940 37 is_stmt 0 view .LVU458
1523 0026 8B78 ldrb r3, [r1, #2] @ zero_extendqisi2
940:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1524 .loc 1 940 30 view .LVU459
1525 0028 8373 strb r3, [r0, #14]
1526 .LVL151:
1527 .L107:
955:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** sDate->WeekDay = hrtc->DateToUpdate.WeekDay;
1528 .loc 1 955 3 is_stmt 1 view .LVU460
955:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** sDate->WeekDay = hrtc->DateToUpdate.WeekDay;
1529 .loc 1 955 32 is_stmt 0 view .LVU461
1530 002a A27B ldrb r2, [r4, #14] @ zero_extendqisi2
1531 002c 617B ldrb r1, [r4, #13] @ zero_extendqisi2
1532 002e E07B ldrb r0, [r4, #15] @ zero_extendqisi2
1533 0030 FFF7FEFF bl RTC_WeekDayNum
1534 .LVL152:
955:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** sDate->WeekDay = hrtc->DateToUpdate.WeekDay;
1535 .loc 1 955 30 view .LVU462
1536 0034 2073 strb r0, [r4, #12]
956:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1537 .loc 1 956 3 is_stmt 1 view .LVU463
956:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1538 .loc 1 956 18 is_stmt 0 view .LVU464
1539 0036 2870 strb r0, [r5]
960:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
ARM GAS C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s page 68
1540 .loc 1 960 3 is_stmt 1 view .LVU465
960:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1541 .loc 1 960 18 is_stmt 0 view .LVU466
1542 0038 2046 mov r0, r4
1543 003a FFF7FEFF bl RTC_ReadTimeCounter
1544 .LVL153:
963:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** if (hours > 24U)
1545 .loc 1 963 3 is_stmt 1 view .LVU467
964:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1546 .loc 1 964 3 view .LVU468
964:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1547 .loc 1 964 6 is_stmt 0 view .LVU469
1548 003e 224B ldr r3, .L118
1549 0040 9842 cmp r0, r3
1550 0042 11D8 bhi .L117
1551 .LVL154:
1552 .L108:
1008:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1553 .loc 1 1008 3 is_stmt 1 view .LVU470
1008:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1554 .loc 1 1008 15 is_stmt 0 view .LVU471
1555 0044 0123 movs r3, #1
1556 0046 6374 strb r3, [r4, #17]
1011:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1557 .loc 1 1011 3 is_stmt 1 view .LVU472
1011:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1558 .loc 1 1011 3 view .LVU473
1559 0048 0020 movs r0, #0
1560 004a 2074 strb r0, [r4, #16]
1013:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1561 .loc 1 1013 3 view .LVU474
1562 .L105:
1014:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1563 .loc 1 1014 1 is_stmt 0 view .LVU475
1564 004c 38BD pop {r3, r4, r5, pc}
1565 .LVL155:
1566 .L106:
944:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** assert_param(IS_RTC_MONTH(RTC_Bcd2ToByte(sDate->Month)));
1567 .loc 1 944 5 is_stmt 1 view .LVU476
945:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** assert_param(IS_RTC_DATE(RTC_Bcd2ToByte(sDate->Date)));
1568 .loc 1 945 5 view .LVU477
946:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1569 .loc 1 946 5 view .LVU478
949:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** hrtc->DateToUpdate.Month = RTC_Bcd2ToByte(sDate->Month);
1570 .loc 1 949 5 view .LVU479
949:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** hrtc->DateToUpdate.Month = RTC_Bcd2ToByte(sDate->Month);
1571 .loc 1 949 32 is_stmt 0 view .LVU480
1572 004e C878 ldrb r0, [r1, #3] @ zero_extendqisi2
1573 .LVL156:
949:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** hrtc->DateToUpdate.Month = RTC_Bcd2ToByte(sDate->Month);
1574 .loc 1 949 32 view .LVU481
1575 0050 FFF7FEFF bl RTC_Bcd2ToByte
1576 .LVL157:
949:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** hrtc->DateToUpdate.Month = RTC_Bcd2ToByte(sDate->Month);
1577 .loc 1 949 30 view .LVU482
1578 0054 E073 strb r0, [r4, #15]
950:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** hrtc->DateToUpdate.Date = RTC_Bcd2ToByte(sDate->Date);
ARM GAS C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s page 69
1579 .loc 1 950 5 is_stmt 1 view .LVU483
950:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** hrtc->DateToUpdate.Date = RTC_Bcd2ToByte(sDate->Date);
1580 .loc 1 950 32 is_stmt 0 view .LVU484
1581 0056 6878 ldrb r0, [r5, #1] @ zero_extendqisi2
1582 0058 FFF7FEFF bl RTC_Bcd2ToByte
1583 .LVL158:
950:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** hrtc->DateToUpdate.Date = RTC_Bcd2ToByte(sDate->Date);
1584 .loc 1 950 30 view .LVU485
1585 005c 6073 strb r0, [r4, #13]
951:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1586 .loc 1 951 5 is_stmt 1 view .LVU486
951:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1587 .loc 1 951 32 is_stmt 0 view .LVU487
1588 005e A878 ldrb r0, [r5, #2] @ zero_extendqisi2
1589 0060 FFF7FEFF bl RTC_Bcd2ToByte
1590 .LVL159:
951:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1591 .loc 1 951 30 view .LVU488
1592 0064 A073 strb r0, [r4, #14]
1593 0066 E0E7 b .L107
1594 .LVL160:
1595 .L117:
967:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Write time counter in RTC registers */
1596 .loc 1 967 5 is_stmt 1 view .LVU489
1597 0068 184D ldr r5, .L118+4
1598 .LVL161:
967:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Write time counter in RTC registers */
1599 .loc 1 967 5 is_stmt 0 view .LVU490
1600 006a A5FB0035 umull r3, r5, r5, r0
1601 006e 2D0C lsrs r5, r5, #16
1602 0070 174B ldr r3, .L118+8
1603 0072 03FB1505 mls r5, r3, r5, r0
1604 .LVL162:
969:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1605 .loc 1 969 5 is_stmt 1 view .LVU491
969:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1606 .loc 1 969 9 is_stmt 0 view .LVU492
1607 0076 2946 mov r1, r5
1608 0078 2046 mov r0, r4
1609 .LVL163:
969:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1610 .loc 1 969 9 view .LVU493
1611 007a FFF7FEFF bl RTC_WriteTimeCounter
1612 .LVL164:
969:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1613 .loc 1 969 8 view .LVU494
1614 007e 28B1 cbz r0, .L109
972:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1615 .loc 1 972 7 is_stmt 1 view .LVU495
972:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1616 .loc 1 972 19 is_stmt 0 view .LVU496
1617 0080 0423 movs r3, #4
1618 0082 6374 strb r3, [r4, #17]
975:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1619 .loc 1 975 7 is_stmt 1 view .LVU497
975:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1620 .loc 1 975 7 view .LVU498
ARM GAS C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s page 70
1621 0084 0023 movs r3, #0
1622 0086 2374 strb r3, [r4, #16]
977:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1623 .loc 1 977 7 view .LVU499
977:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1624 .loc 1 977 14 is_stmt 0 view .LVU500
1625 0088 0120 movs r0, #1
1626 008a DFE7 b .L105
1627 .L109:
981:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1628 .loc 1 981 5 is_stmt 1 view .LVU501
981:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1629 .loc 1 981 21 is_stmt 0 view .LVU502
1630 008c 2046 mov r0, r4
1631 008e FFF7FEFF bl RTC_ReadAlarmCounter
1632 .LVL165:
984:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1633 .loc 1 984 5 is_stmt 1 view .LVU503
984:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1634 .loc 1 984 8 is_stmt 0 view .LVU504
1635 0092 B0F1FF3F cmp r0, #-1
1636 0096 D5D0 beq .L108
986:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1637 .loc 1 986 7 is_stmt 1 view .LVU505
986:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1638 .loc 1 986 10 is_stmt 0 view .LVU506
1639 0098 8542 cmp r5, r0
1640 009a D3D9 bls .L108
989:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1641 .loc 1 989 9 is_stmt 1 view .LVU507
1642 .LVL166:
992:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1643 .loc 1 992 9 view .LVU508
992:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1644 .loc 1 992 13 is_stmt 0 view .LVU509
1645 009c 00F5A831 add r1, r0, #86016
1646 00a0 01F5C071 add r1, r1, #384
1647 00a4 2046 mov r0, r4
1648 .LVL167:
992:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1649 .loc 1 992 13 view .LVU510
1650 00a6 FFF7FEFF bl RTC_WriteAlarmCounter
1651 .LVL168:
992:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1652 .loc 1 992 12 view .LVU511
1653 00aa 0028 cmp r0, #0
1654 00ac CAD0 beq .L108
995:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1655 .loc 1 995 11 is_stmt 1 view .LVU512
995:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1656 .loc 1 995 23 is_stmt 0 view .LVU513
1657 00ae 0423 movs r3, #4
1658 00b0 6374 strb r3, [r4, #17]
998:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1659 .loc 1 998 11 is_stmt 1 view .LVU514
998:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1660 .loc 1 998 11 view .LVU515
ARM GAS C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s page 71
1661 00b2 0023 movs r3, #0
1662 00b4 2374 strb r3, [r4, #16]
1000:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1663 .loc 1 1000 11 view .LVU516
1000:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1664 .loc 1 1000 18 is_stmt 0 view .LVU517
1665 00b6 0120 movs r0, #1
1666 00b8 C8E7 b .L105
1667 .LVL169:
1668 .L110:
1669 .LCFI16:
1670 .cfi_def_cfa_offset 0
1671 .cfi_restore 3
1672 .cfi_restore 4
1673 .cfi_restore 5
1674 .cfi_restore 14
920:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1675 .loc 1 920 12 view .LVU518
1676 00ba 0120 movs r0, #1
1677 .LVL170:
1014:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1678 .loc 1 1014 1 view .LVU519
1679 00bc 7047 bx lr
1680 .LVL171:
1681 .L111:
1682 .LCFI17:
1683 .cfi_def_cfa_offset 16
1684 .cfi_offset 3, -16
1685 .cfi_offset 4, -12
1686 .cfi_offset 5, -8
1687 .cfi_offset 14, -4
920:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1688 .loc 1 920 12 view .LVU520
1689 00be 0120 movs r0, #1
1690 .LVL172:
920:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1691 .loc 1 920 12 view .LVU521
1692 00c0 C4E7 b .L105
1693 .LVL173:
1694 .L112:
927:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1695 .loc 1 927 3 view .LVU522
1696 00c2 0220 movs r0, #2
1697 .LVL174:
927:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1698 .loc 1 927 3 view .LVU523
1699 00c4 C2E7 b .L105
1700 .L119:
1701 00c6 00BF .align 2
1702 .L118:
1703 00c8 8F5F0100 .word 89999
1704 00cc 07452EC2 .word -1037155065
1705 00d0 80510100 .word 86400
1706 .cfi_endproc
1707 .LFE71:
1709 .section .text.HAL_RTC_GetDate,"ax",%progbits
1710 .align 1
ARM GAS C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s page 72
1711 .global HAL_RTC_GetDate
1712 .syntax unified
1713 .thumb
1714 .thumb_func
1715 .fpu softvfp
1717 HAL_RTC_GetDate:
1718 .LVL175:
1719 .LFB72:
1028:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** RTC_TimeTypeDef stime = {0U};
1720 .loc 1 1028 1 is_stmt 1 view -0
1721 .cfi_startproc
1722 @ args = 0, pretend = 0, frame = 8
1723 @ frame_needed = 0, uses_anonymous_args = 0
1028:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** RTC_TimeTypeDef stime = {0U};
1724 .loc 1 1028 1 is_stmt 0 view .LVU525
1725 0000 2DE9F041 push {r4, r5, r6, r7, r8, lr}
1726 .LCFI18:
1727 .cfi_def_cfa_offset 24
1728 .cfi_offset 4, -24
1729 .cfi_offset 5, -20
1730 .cfi_offset 6, -16
1731 .cfi_offset 7, -12
1732 .cfi_offset 8, -8
1733 .cfi_offset 14, -4
1734 0004 82B0 sub sp, sp, #8
1735 .LCFI19:
1736 .cfi_def_cfa_offset 32
1029:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1737 .loc 1 1029 3 is_stmt 1 view .LVU526
1029:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1738 .loc 1 1029 19 is_stmt 0 view .LVU527
1739 0006 0023 movs r3, #0
1740 0008 ADF80430 strh r3, [sp, #4] @ movhi
1741 000c 8DF80630 strb r3, [sp, #6]
1032:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1742 .loc 1 1032 3 is_stmt 1 view .LVU528
1032:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1743 .loc 1 1032 6 is_stmt 0 view .LVU529
1744 0010 00B3 cbz r0, .L122
1745 0012 0546 mov r5, r0
1032:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1746 .loc 1 1032 22 discriminator 1 view .LVU530
1747 0014 01B3 cbz r1, .L123
1748 0016 1746 mov r7, r2
1749 0018 0C46 mov r4, r1
1038:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1750 .loc 1 1038 3 is_stmt 1 view .LVU531
1041:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1751 .loc 1 1041 3 view .LVU532
1041:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1752 .loc 1 1041 7 is_stmt 0 view .LVU533
1753 001a 1A46 mov r2, r3
1754 .LVL176:
1041:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1755 .loc 1 1041 7 view .LVU534
1756 001c 01A9 add r1, sp, #4
1757 .LVL177:
ARM GAS C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s page 73
1041:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1758 .loc 1 1041 7 view .LVU535
1759 001e FFF7FEFF bl HAL_RTC_GetTime
1760 .LVL178:
1041:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1761 .loc 1 1041 6 view .LVU536
1762 0022 0646 mov r6, r0
1763 0024 E8B9 cbnz r0, .L124
1047:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** sDate->Year = hrtc->DateToUpdate.Year;
1764 .loc 1 1047 3 is_stmt 1 view .LVU537
1047:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** sDate->Year = hrtc->DateToUpdate.Year;
1765 .loc 1 1047 39 is_stmt 0 view .LVU538
1766 0026 2B7B ldrb r3, [r5, #12] @ zero_extendqisi2
1047:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** sDate->Year = hrtc->DateToUpdate.Year;
1767 .loc 1 1047 19 view .LVU539
1768 0028 2370 strb r3, [r4]
1048:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** sDate->Month = hrtc->DateToUpdate.Month;
1769 .loc 1 1048 3 is_stmt 1 view .LVU540
1048:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** sDate->Month = hrtc->DateToUpdate.Month;
1770 .loc 1 1048 39 is_stmt 0 view .LVU541
1771 002a E87B ldrb r0, [r5, #15] @ zero_extendqisi2
1048:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** sDate->Month = hrtc->DateToUpdate.Month;
1772 .loc 1 1048 19 view .LVU542
1773 002c E070 strb r0, [r4, #3]
1049:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** sDate->Date = hrtc->DateToUpdate.Date;
1774 .loc 1 1049 3 is_stmt 1 view .LVU543
1049:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** sDate->Date = hrtc->DateToUpdate.Date;
1775 .loc 1 1049 39 is_stmt 0 view .LVU544
1776 002e 95F80D80 ldrb r8, [r5, #13] @ zero_extendqisi2
1049:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** sDate->Date = hrtc->DateToUpdate.Date;
1777 .loc 1 1049 19 view .LVU545
1778 0032 84F80180 strb r8, [r4, #1]
1050:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1779 .loc 1 1050 3 is_stmt 1 view .LVU546
1050:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1780 .loc 1 1050 39 is_stmt 0 view .LVU547
1781 0036 AD7B ldrb r5, [r5, #14] @ zero_extendqisi2
1782 .LVL179:
1050:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1783 .loc 1 1050 19 view .LVU548
1784 0038 A570 strb r5, [r4, #2]
1053:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1785 .loc 1 1053 3 is_stmt 1 view .LVU549
1053:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1786 .loc 1 1053 6 is_stmt 0 view .LVU550
1787 003a 77B1 cbz r7, .L121
1056:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** sDate->Month = (uint8_t)RTC_ByteToBcd2(sDate->Month);
1788 .loc 1 1056 5 is_stmt 1 view .LVU551
1056:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** sDate->Month = (uint8_t)RTC_ByteToBcd2(sDate->Month);
1789 .loc 1 1056 30 is_stmt 0 view .LVU552
1790 003c FFF7FEFF bl RTC_ByteToBcd2
1791 .LVL180:
1056:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** sDate->Month = (uint8_t)RTC_ByteToBcd2(sDate->Month);
1792 .loc 1 1056 19 view .LVU553
1793 0040 E070 strb r0, [r4, #3]
1057:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** sDate->Date = (uint8_t)RTC_ByteToBcd2(sDate->Date);
1794 .loc 1 1057 5 is_stmt 1 view .LVU554
ARM GAS C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s page 74
1057:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** sDate->Date = (uint8_t)RTC_ByteToBcd2(sDate->Date);
1795 .loc 1 1057 30 is_stmt 0 view .LVU555
1796 0042 4046 mov r0, r8
1797 0044 FFF7FEFF bl RTC_ByteToBcd2
1798 .LVL181:
1057:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** sDate->Date = (uint8_t)RTC_ByteToBcd2(sDate->Date);
1799 .loc 1 1057 19 view .LVU556
1800 0048 6070 strb r0, [r4, #1]
1058:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1801 .loc 1 1058 5 is_stmt 1 view .LVU557
1058:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1802 .loc 1 1058 30 is_stmt 0 view .LVU558
1803 004a 2846 mov r0, r5
1804 004c FFF7FEFF bl RTC_ByteToBcd2
1805 .LVL182:
1058:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1806 .loc 1 1058 19 view .LVU559
1807 0050 A070 strb r0, [r4, #2]
1808 0052 02E0 b .L121
1809 .LVL183:
1810 .L122:
1034:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1811 .loc 1 1034 12 view .LVU560
1812 0054 0126 movs r6, #1
1813 0056 00E0 b .L121
1814 .L123:
1034:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1815 .loc 1 1034 12 view .LVU561
1816 0058 0126 movs r6, #1
1817 .LVL184:
1818 .L121:
1061:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1819 .loc 1 1061 1 view .LVU562
1820 005a 3046 mov r0, r6
1821 005c 02B0 add sp, sp, #8
1822 .LCFI20:
1823 .cfi_remember_state
1824 .cfi_def_cfa_offset 24
1825 @ sp needed
1826 005e BDE8F081 pop {r4, r5, r6, r7, r8, pc}
1827 .LVL185:
1828 .L124:
1829 .LCFI21:
1830 .cfi_restore_state
1043:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1831 .loc 1 1043 12 view .LVU563
1832 0062 0126 movs r6, #1
1833 0064 F9E7 b .L121
1834 .cfi_endproc
1835 .LFE72:
1837 .section .text.HAL_RTC_SetAlarm,"ax",%progbits
1838 .align 1
1839 .global HAL_RTC_SetAlarm
1840 .syntax unified
1841 .thumb
1842 .thumb_func
1843 .fpu softvfp
ARM GAS C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s page 75
1845 HAL_RTC_SetAlarm:
1846 .LVL186:
1847 .LFB73:
1093:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** uint32_t counter_alarm = 0U, counter_time;
1848 .loc 1 1093 1 is_stmt 1 view -0
1849 .cfi_startproc
1850 @ args = 0, pretend = 0, frame = 8
1851 @ frame_needed = 0, uses_anonymous_args = 0
1093:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** uint32_t counter_alarm = 0U, counter_time;
1852 .loc 1 1093 1 is_stmt 0 view .LVU565
1853 0000 F0B5 push {r4, r5, r6, r7, lr}
1854 .LCFI22:
1855 .cfi_def_cfa_offset 20
1856 .cfi_offset 4, -20
1857 .cfi_offset 5, -16
1858 .cfi_offset 6, -12
1859 .cfi_offset 7, -8
1860 .cfi_offset 14, -4
1861 0002 83B0 sub sp, sp, #12
1862 .LCFI23:
1863 .cfi_def_cfa_offset 32
1094:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** RTC_TimeTypeDef stime = {0U};
1864 .loc 1 1094 3 is_stmt 1 view .LVU566
1865 .LVL187:
1095:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1866 .loc 1 1095 3 view .LVU567
1095:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1867 .loc 1 1095 19 is_stmt 0 view .LVU568
1868 0004 0023 movs r3, #0
1869 0006 ADF80430 strh r3, [sp, #4] @ movhi
1870 000a 8DF80630 strb r3, [sp, #6]
1098:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1871 .loc 1 1098 3 is_stmt 1 view .LVU569
1098:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1872 .loc 1 1098 6 is_stmt 0 view .LVU570
1873 000e 0028 cmp r0, #0
1874 0010 54D0 beq .L132
1875 0012 0446 mov r4, r0
1098:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1876 .loc 1 1098 22 discriminator 1 view .LVU571
1877 0014 0029 cmp r1, #0
1878 0016 55D0 beq .L133
1104:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** assert_param(IS_RTC_ALARM(sAlarm->Alarm));
1879 .loc 1 1104 3 is_stmt 1 view .LVU572
1105:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1880 .loc 1 1105 3 view .LVU573
1108:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1881 .loc 1 1108 3 view .LVU574
1108:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1882 .loc 1 1108 3 view .LVU575
1883 0018 037C ldrb r3, [r0, #16] @ zero_extendqisi2
1884 001a 012B cmp r3, #1
1885 001c 54D0 beq .L134
1886 001e 1546 mov r5, r2
1887 0020 0F46 mov r7, r1
1108:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1888 .loc 1 1108 3 discriminator 2 view .LVU576
ARM GAS C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s page 76
1889 0022 0123 movs r3, #1
1890 0024 0374 strb r3, [r0, #16]
1110:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1891 .loc 1 1110 3 discriminator 2 view .LVU577
1110:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1892 .loc 1 1110 15 is_stmt 0 discriminator 2 view .LVU578
1893 0026 0223 movs r3, #2
1894 0028 4374 strb r3, [r0, #17]
1113:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1895 .loc 1 1113 3 is_stmt 1 discriminator 2 view .LVU579
1113:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1896 .loc 1 1113 7 is_stmt 0 discriminator 2 view .LVU580
1897 002a 0022 movs r2, #0
1898 .LVL188:
1113:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1899 .loc 1 1113 7 discriminator 2 view .LVU581
1900 002c 01A9 add r1, sp, #4
1901 .LVL189:
1113:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1902 .loc 1 1113 7 discriminator 2 view .LVU582
1903 002e FFF7FEFF bl HAL_RTC_GetTime
1904 .LVL190:
1113:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1905 .loc 1 1113 6 discriminator 2 view .LVU583
1906 0032 0028 cmp r0, #0
1907 0034 4AD1 bne .L135
1119:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** ((uint32_t)stime.Minutes * 60U) + \
1908 .loc 1 1119 3 is_stmt 1 view .LVU584
1119:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** ((uint32_t)stime.Minutes * 60U) + \
1909 .loc 1 1119 45 is_stmt 0 view .LVU585
1910 0036 9DF80460 ldrb r6, [sp, #4] @ zero_extendqisi2
1120:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** ((uint32_t)stime.Seconds));
1911 .loc 1 1120 45 view .LVU586
1912 003a 9DF80530 ldrb r3, [sp, #5] @ zero_extendqisi2
1120:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** ((uint32_t)stime.Seconds));
1913 .loc 1 1120 54 view .LVU587
1914 003e C3EB0313 rsb r3, r3, r3, lsl #4
1915 0042 9A00 lsls r2, r3, #2
1119:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** ((uint32_t)stime.Minutes * 60U) + \
1916 .loc 1 1119 61 view .LVU588
1917 0044 4FF46163 mov r3, #3600
1918 0048 03FB0626 mla r6, r3, r6, r2
1121:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1919 .loc 1 1121 45 view .LVU589
1920 004c 9DF80630 ldrb r3, [sp, #6] @ zero_extendqisi2
1119:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** ((uint32_t)stime.Minutes * 60U) + \
1921 .loc 1 1119 16 view .LVU590
1922 0050 1E44 add r6, r6, r3
1923 .LVL191:
1123:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1924 .loc 1 1123 3 is_stmt 1 view .LVU591
1123:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1925 .loc 1 1123 6 is_stmt 0 view .LVU592
1926 0052 DDB9 cbnz r5, .L128
1125:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** assert_param(IS_RTC_MINUTES(sAlarm->AlarmTime.Minutes));
1927 .loc 1 1125 5 is_stmt 1 view .LVU593
1126:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** assert_param(IS_RTC_SECONDS(sAlarm->AlarmTime.Seconds));
ARM GAS C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s page 77
1928 .loc 1 1126 5 view .LVU594
1127:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1929 .loc 1 1127 5 view .LVU595
1129:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** ((uint32_t)sAlarm->AlarmTime.Minutes * 60U) + \
1930 .loc 1 1129 5 view .LVU596
1129:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** ((uint32_t)sAlarm->AlarmTime.Minutes * 60U) + \
1931 .loc 1 1129 60 is_stmt 0 view .LVU597
1932 0054 3878 ldrb r0, [r7] @ zero_extendqisi2
1130:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** ((uint32_t)sAlarm->AlarmTime.Seconds));
1933 .loc 1 1130 60 view .LVU598
1934 0056 7B78 ldrb r3, [r7, #1] @ zero_extendqisi2
1130:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** ((uint32_t)sAlarm->AlarmTime.Seconds));
1935 .loc 1 1130 69 view .LVU599
1936 0058 C3EB0313 rsb r3, r3, r3, lsl #4
1937 005c 9900 lsls r1, r3, #2
1129:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** ((uint32_t)sAlarm->AlarmTime.Minutes * 60U) + \
1938 .loc 1 1129 76 view .LVU600
1939 005e 4FF46163 mov r3, #3600
1940 0062 03FB0010 mla r0, r3, r0, r1
1131:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1941 .loc 1 1131 60 view .LVU601
1942 0066 B978 ldrb r1, [r7, #2] @ zero_extendqisi2
1129:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** ((uint32_t)sAlarm->AlarmTime.Minutes * 60U) + \
1943 .loc 1 1129 19 view .LVU602
1944 0068 0144 add r1, r1, r0
1945 .LVL192:
1946 .L129:
1145:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1947 .loc 1 1145 3 is_stmt 1 view .LVU603
1145:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1948 .loc 1 1145 6 is_stmt 0 view .LVU604
1949 006a B142 cmp r1, r6
1950 006c 03D2 bcs .L130
1148:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1951 .loc 1 1148 5 is_stmt 1 view .LVU605
1148:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1952 .loc 1 1148 19 is_stmt 0 view .LVU606
1953 006e 01F5A831 add r1, r1, #86016
1954 .LVL193:
1148:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1955 .loc 1 1148 19 view .LVU607
1956 0072 01F5C071 add r1, r1, #384
1957 .LVL194:
1958 .L130:
1152:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1959 .loc 1 1152 3 is_stmt 1 view .LVU608
1152:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1960 .loc 1 1152 7 is_stmt 0 view .LVU609
1961 0076 2046 mov r0, r4
1962 0078 FFF7FEFF bl RTC_WriteAlarmCounter
1963 .LVL195:
1152:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
1964 .loc 1 1152 6 view .LVU610
1965 007c 0346 mov r3, r0
1966 007e C0B1 cbz r0, .L131
1155:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1967 .loc 1 1155 5 is_stmt 1 view .LVU611
ARM GAS C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s page 78
1155:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1968 .loc 1 1155 17 is_stmt 0 view .LVU612
1969 0080 0423 movs r3, #4
1970 0082 6374 strb r3, [r4, #17]
1158:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1971 .loc 1 1158 5 is_stmt 1 view .LVU613
1158:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1972 .loc 1 1158 5 view .LVU614
1973 0084 0023 movs r3, #0
1974 0086 2374 strb r3, [r4, #16]
1160:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1975 .loc 1 1160 5 view .LVU615
1160:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
1976 .loc 1 1160 12 is_stmt 0 view .LVU616
1977 0088 0123 movs r3, #1
1978 008a 18E0 b .L127
1979 .LVL196:
1980 .L128:
1135:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** assert_param(IS_RTC_MINUTES(RTC_Bcd2ToByte(sAlarm->AlarmTime.Minutes)));
1981 .loc 1 1135 5 is_stmt 1 view .LVU617
1136:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** assert_param(IS_RTC_SECONDS(RTC_Bcd2ToByte(sAlarm->AlarmTime.Seconds)));
1982 .loc 1 1136 5 view .LVU618
1137:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
1983 .loc 1 1137 5 view .LVU619
1139:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** ((uint32_t)(RTC_Bcd2ToByte(sAlarm->AlarmTime.Minutes)) * 60U) + \
1984 .loc 1 1139 5 view .LVU620
1139:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** ((uint32_t)(RTC_Bcd2ToByte(sAlarm->AlarmTime.Minutes)) * 60U) + \
1985 .loc 1 1139 34 is_stmt 0 view .LVU621
1986 008c 3878 ldrb r0, [r7] @ zero_extendqisi2
1987 008e FFF7FEFF bl RTC_Bcd2ToByte
1988 .LVL197:
1139:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** ((uint32_t)(RTC_Bcd2ToByte(sAlarm->AlarmTime.Minutes)) * 60U) + \
1989 .loc 1 1139 75 view .LVU622
1990 0092 4FF46165 mov r5, #3600
1991 .LVL198:
1139:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** ((uint32_t)(RTC_Bcd2ToByte(sAlarm->AlarmTime.Minutes)) * 60U) + \
1992 .loc 1 1139 75 view .LVU623
1993 0096 05FB00F5 mul r5, r5, r0
1140:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** ((uint32_t)RTC_Bcd2ToByte(sAlarm->AlarmTime.Seconds)));
1994 .loc 1 1140 34 view .LVU624
1995 009a 7878 ldrb r0, [r7, #1] @ zero_extendqisi2
1996 009c FFF7FEFF bl RTC_Bcd2ToByte
1997 .LVL199:
1140:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** ((uint32_t)RTC_Bcd2ToByte(sAlarm->AlarmTime.Seconds)));
1998 .loc 1 1140 77 view .LVU625
1999 00a0 C0EB0010 rsb r0, r0, r0, lsl #4
2000 00a4 8100 lsls r1, r0, #2
1139:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** ((uint32_t)(RTC_Bcd2ToByte(sAlarm->AlarmTime.Minutes)) * 60U) + \
2001 .loc 1 1139 84 view .LVU626
2002 00a6 0D44 add r5, r5, r1
1141:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
2003 .loc 1 1141 33 view .LVU627
2004 00a8 B878 ldrb r0, [r7, #2] @ zero_extendqisi2
2005 00aa FFF7FEFF bl RTC_Bcd2ToByte
2006 .LVL200:
1139:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** ((uint32_t)(RTC_Bcd2ToByte(sAlarm->AlarmTime.Minutes)) * 60U) + \
2007 .loc 1 1139 19 view .LVU628
ARM GAS C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s page 79
2008 00ae 2918 adds r1, r5, r0
2009 .LVL201:
1139:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** ((uint32_t)(RTC_Bcd2ToByte(sAlarm->AlarmTime.Minutes)) * 60U) + \
2010 .loc 1 1139 19 view .LVU629
2011 00b0 DBE7 b .L129
2012 .LVL202:
2013 .L131:
1164:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
2014 .loc 1 1164 5 is_stmt 1 view .LVU630
1164:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
2015 .loc 1 1164 17 is_stmt 0 view .LVU631
2016 00b2 0122 movs r2, #1
2017 00b4 6274 strb r2, [r4, #17]
1166:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
2018 .loc 1 1166 5 is_stmt 1 view .LVU632
1166:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
2019 .loc 1 1166 5 view .LVU633
2020 00b6 0022 movs r2, #0
2021 00b8 2274 strb r2, [r4, #16]
1168:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
2022 .loc 1 1168 5 view .LVU634
1168:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
2023 .loc 1 1168 12 is_stmt 0 view .LVU635
2024 00ba 00E0 b .L127
2025 .LVL203:
2026 .L132:
1100:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
2027 .loc 1 1100 12 view .LVU636
2028 00bc 0123 movs r3, #1
2029 .LVL204:
2030 .L127:
1170:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
2031 .loc 1 1170 1 view .LVU637
2032 00be 1846 mov r0, r3
2033 00c0 03B0 add sp, sp, #12
2034 .LCFI24:
2035 .cfi_remember_state
2036 .cfi_def_cfa_offset 20
2037 @ sp needed
2038 00c2 F0BD pop {r4, r5, r6, r7, pc}
2039 .LVL205:
2040 .L133:
2041 .LCFI25:
2042 .cfi_restore_state
1100:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
2043 .loc 1 1100 12 view .LVU638
2044 00c4 0123 movs r3, #1
2045 00c6 FAE7 b .L127
2046 .L134:
1108:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
2047 .loc 1 1108 3 view .LVU639
2048 00c8 0223 movs r3, #2
2049 00ca F8E7 b .L127
2050 .LVL206:
2051 .L135:
1115:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
2052 .loc 1 1115 12 view .LVU640
ARM GAS C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s page 80
2053 00cc 0123 movs r3, #1
2054 00ce F6E7 b .L127
2055 .cfi_endproc
2056 .LFE73:
2058 .section .text.HAL_RTC_SetAlarm_IT,"ax",%progbits
2059 .align 1
2060 .global HAL_RTC_SetAlarm_IT
2061 .syntax unified
2062 .thumb
2063 .thumb_func
2064 .fpu softvfp
2066 HAL_RTC_SetAlarm_IT:
2067 .LVL207:
2068 .LFB74:
1185:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** uint32_t counter_alarm = 0U, counter_time;
2069 .loc 1 1185 1 is_stmt 1 view -0
2070 .cfi_startproc
2071 @ args = 0, pretend = 0, frame = 8
2072 @ frame_needed = 0, uses_anonymous_args = 0
1185:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** uint32_t counter_alarm = 0U, counter_time;
2073 .loc 1 1185 1 is_stmt 0 view .LVU642
2074 0000 F0B5 push {r4, r5, r6, r7, lr}
2075 .LCFI26:
2076 .cfi_def_cfa_offset 20
2077 .cfi_offset 4, -20
2078 .cfi_offset 5, -16
2079 .cfi_offset 6, -12
2080 .cfi_offset 7, -8
2081 .cfi_offset 14, -4
2082 0002 83B0 sub sp, sp, #12
2083 .LCFI27:
2084 .cfi_def_cfa_offset 32
1186:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** RTC_TimeTypeDef stime = {0U};
2085 .loc 1 1186 3 is_stmt 1 view .LVU643
2086 .LVL208:
1187:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
2087 .loc 1 1187 3 view .LVU644
1187:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
2088 .loc 1 1187 19 is_stmt 0 view .LVU645
2089 0004 0023 movs r3, #0
2090 0006 ADF80430 strh r3, [sp, #4] @ movhi
2091 000a 8DF80630 strb r3, [sp, #6]
1190:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
2092 .loc 1 1190 3 is_stmt 1 view .LVU646
1190:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
2093 .loc 1 1190 6 is_stmt 0 view .LVU647
2094 000e 0028 cmp r0, #0
2095 0010 66D0 beq .L143
2096 0012 0446 mov r4, r0
1190:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
2097 .loc 1 1190 22 discriminator 1 view .LVU648
2098 0014 0029 cmp r1, #0
2099 0016 67D0 beq .L144
1196:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** assert_param(IS_RTC_ALARM(sAlarm->Alarm));
2100 .loc 1 1196 3 is_stmt 1 view .LVU649
1197:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
2101 .loc 1 1197 3 view .LVU650
ARM GAS C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s page 81
1200:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
2102 .loc 1 1200 3 view .LVU651
1200:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
2103 .loc 1 1200 3 view .LVU652
2104 0018 037C ldrb r3, [r0, #16] @ zero_extendqisi2
2105 001a 012B cmp r3, #1
2106 001c 66D0 beq .L145
2107 001e 1546 mov r5, r2
2108 0020 0F46 mov r7, r1
1200:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
2109 .loc 1 1200 3 discriminator 2 view .LVU653
2110 0022 0123 movs r3, #1
2111 0024 0374 strb r3, [r0, #16]
1202:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
2112 .loc 1 1202 3 discriminator 2 view .LVU654
1202:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
2113 .loc 1 1202 15 is_stmt 0 discriminator 2 view .LVU655
2114 0026 0223 movs r3, #2
2115 0028 4374 strb r3, [r0, #17]
1205:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
2116 .loc 1 1205 3 is_stmt 1 discriminator 2 view .LVU656
1205:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
2117 .loc 1 1205 7 is_stmt 0 discriminator 2 view .LVU657
2118 002a 0022 movs r2, #0
2119 .LVL209:
1205:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
2120 .loc 1 1205 7 discriminator 2 view .LVU658
2121 002c 01A9 add r1, sp, #4
2122 .LVL210:
1205:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
2123 .loc 1 1205 7 discriminator 2 view .LVU659
2124 002e FFF7FEFF bl HAL_RTC_GetTime
2125 .LVL211:
1205:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
2126 .loc 1 1205 6 discriminator 2 view .LVU660
2127 0032 0028 cmp r0, #0
2128 0034 5CD1 bne .L146
1211:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** ((uint32_t)stime.Minutes * 60U) + \
2129 .loc 1 1211 3 is_stmt 1 view .LVU661
1211:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** ((uint32_t)stime.Minutes * 60U) + \
2130 .loc 1 1211 45 is_stmt 0 view .LVU662
2131 0036 9DF80460 ldrb r6, [sp, #4] @ zero_extendqisi2
1212:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** ((uint32_t)stime.Seconds));
2132 .loc 1 1212 45 view .LVU663
2133 003a 9DF80530 ldrb r3, [sp, #5] @ zero_extendqisi2
1212:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** ((uint32_t)stime.Seconds));
2134 .loc 1 1212 54 view .LVU664
2135 003e C3EB0313 rsb r3, r3, r3, lsl #4
2136 0042 9A00 lsls r2, r3, #2
1211:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** ((uint32_t)stime.Minutes * 60U) + \
2137 .loc 1 1211 61 view .LVU665
2138 0044 4FF46163 mov r3, #3600
2139 0048 03FB0626 mla r6, r3, r6, r2
1213:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
2140 .loc 1 1213 45 view .LVU666
2141 004c 9DF80630 ldrb r3, [sp, #6] @ zero_extendqisi2
1211:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** ((uint32_t)stime.Minutes * 60U) + \
ARM GAS C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s page 82
2142 .loc 1 1211 16 view .LVU667
2143 0050 1E44 add r6, r6, r3
2144 .LVL212:
1215:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
2145 .loc 1 1215 3 is_stmt 1 view .LVU668
1215:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
2146 .loc 1 1215 6 is_stmt 0 view .LVU669
2147 0052 DDB9 cbnz r5, .L139
1217:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** assert_param(IS_RTC_MINUTES(sAlarm->AlarmTime.Minutes));
2148 .loc 1 1217 5 is_stmt 1 view .LVU670
1218:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** assert_param(IS_RTC_SECONDS(sAlarm->AlarmTime.Seconds));
2149 .loc 1 1218 5 view .LVU671
1219:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
2150 .loc 1 1219 5 view .LVU672
1221:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** ((uint32_t)sAlarm->AlarmTime.Minutes * 60U) + \
2151 .loc 1 1221 5 view .LVU673
1221:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** ((uint32_t)sAlarm->AlarmTime.Minutes * 60U) + \
2152 .loc 1 1221 60 is_stmt 0 view .LVU674
2153 0054 3878 ldrb r0, [r7] @ zero_extendqisi2
1222:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** ((uint32_t)sAlarm->AlarmTime.Seconds));
2154 .loc 1 1222 60 view .LVU675
2155 0056 7B78 ldrb r3, [r7, #1] @ zero_extendqisi2
1222:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** ((uint32_t)sAlarm->AlarmTime.Seconds));
2156 .loc 1 1222 69 view .LVU676
2157 0058 C3EB0313 rsb r3, r3, r3, lsl #4
2158 005c 9900 lsls r1, r3, #2
1221:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** ((uint32_t)sAlarm->AlarmTime.Minutes * 60U) + \
2159 .loc 1 1221 76 view .LVU677
2160 005e 4FF46163 mov r3, #3600
2161 0062 03FB0010 mla r0, r3, r0, r1
1223:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
2162 .loc 1 1223 60 view .LVU678
2163 0066 B978 ldrb r1, [r7, #2] @ zero_extendqisi2
1221:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** ((uint32_t)sAlarm->AlarmTime.Minutes * 60U) + \
2164 .loc 1 1221 19 view .LVU679
2165 0068 0144 add r1, r1, r0
2166 .LVL213:
2167 .L140:
1237:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
2168 .loc 1 1237 3 is_stmt 1 view .LVU680
1237:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
2169 .loc 1 1237 6 is_stmt 0 view .LVU681
2170 006a B142 cmp r1, r6
2171 006c 03D2 bcs .L141
1240:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
2172 .loc 1 1240 5 is_stmt 1 view .LVU682
1240:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
2173 .loc 1 1240 19 is_stmt 0 view .LVU683
2174 006e 01F5A831 add r1, r1, #86016
2175 .LVL214:
1240:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
2176 .loc 1 1240 19 view .LVU684
2177 0072 01F5C071 add r1, r1, #384
2178 .LVL215:
2179 .L141:
1244:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
2180 .loc 1 1244 3 is_stmt 1 view .LVU685
ARM GAS C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s page 83
1244:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
2181 .loc 1 1244 7 is_stmt 0 view .LVU686
2182 0076 2046 mov r0, r4
2183 0078 FFF7FEFF bl RTC_WriteAlarmCounter
2184 .LVL216:
1244:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
2185 .loc 1 1244 6 view .LVU687
2186 007c 0346 mov r3, r0
2187 007e C0B1 cbz r0, .L142
1247:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
2188 .loc 1 1247 5 is_stmt 1 view .LVU688
1247:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
2189 .loc 1 1247 17 is_stmt 0 view .LVU689
2190 0080 0423 movs r3, #4
2191 0082 6374 strb r3, [r4, #17]
1250:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
2192 .loc 1 1250 5 is_stmt 1 view .LVU690
1250:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
2193 .loc 1 1250 5 view .LVU691
2194 0084 0023 movs r3, #0
2195 0086 2374 strb r3, [r4, #16]
1252:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
2196 .loc 1 1252 5 view .LVU692
1252:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
2197 .loc 1 1252 12 is_stmt 0 view .LVU693
2198 0088 0123 movs r3, #1
2199 008a 2AE0 b .L138
2200 .LVL217:
2201 .L139:
1227:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** assert_param(IS_RTC_MINUTES(RTC_Bcd2ToByte(sAlarm->AlarmTime.Minutes)));
2202 .loc 1 1227 5 is_stmt 1 view .LVU694
1228:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** assert_param(IS_RTC_SECONDS(RTC_Bcd2ToByte(sAlarm->AlarmTime.Seconds)));
2203 .loc 1 1228 5 view .LVU695
1229:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
2204 .loc 1 1229 5 view .LVU696
1231:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** ((uint32_t)(RTC_Bcd2ToByte(sAlarm->AlarmTime.Minutes)) * 60U) + \
2205 .loc 1 1231 5 view .LVU697
1231:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** ((uint32_t)(RTC_Bcd2ToByte(sAlarm->AlarmTime.Minutes)) * 60U) + \
2206 .loc 1 1231 34 is_stmt 0 view .LVU698
2207 008c 3878 ldrb r0, [r7] @ zero_extendqisi2
2208 008e FFF7FEFF bl RTC_Bcd2ToByte
2209 .LVL218:
1231:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** ((uint32_t)(RTC_Bcd2ToByte(sAlarm->AlarmTime.Minutes)) * 60U) + \
2210 .loc 1 1231 75 view .LVU699
2211 0092 4FF46165 mov r5, #3600
2212 .LVL219:
1231:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** ((uint32_t)(RTC_Bcd2ToByte(sAlarm->AlarmTime.Minutes)) * 60U) + \
2213 .loc 1 1231 75 view .LVU700
2214 0096 05FB00F5 mul r5, r5, r0
1232:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** ((uint32_t)RTC_Bcd2ToByte(sAlarm->AlarmTime.Seconds)));
2215 .loc 1 1232 34 view .LVU701
2216 009a 7878 ldrb r0, [r7, #1] @ zero_extendqisi2
2217 009c FFF7FEFF bl RTC_Bcd2ToByte
2218 .LVL220:
1232:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** ((uint32_t)RTC_Bcd2ToByte(sAlarm->AlarmTime.Seconds)));
2219 .loc 1 1232 77 view .LVU702
2220 00a0 C0EB0010 rsb r0, r0, r0, lsl #4
ARM GAS C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s page 84
2221 00a4 8100 lsls r1, r0, #2
1231:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** ((uint32_t)(RTC_Bcd2ToByte(sAlarm->AlarmTime.Minutes)) * 60U) + \
2222 .loc 1 1231 84 view .LVU703
2223 00a6 0D44 add r5, r5, r1
1233:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
2224 .loc 1 1233 33 view .LVU704
2225 00a8 B878 ldrb r0, [r7, #2] @ zero_extendqisi2
2226 00aa FFF7FEFF bl RTC_Bcd2ToByte
2227 .LVL221:
1231:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** ((uint32_t)(RTC_Bcd2ToByte(sAlarm->AlarmTime.Minutes)) * 60U) + \
2228 .loc 1 1231 19 view .LVU705
2229 00ae 2918 adds r1, r5, r0
2230 .LVL222:
1231:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** ((uint32_t)(RTC_Bcd2ToByte(sAlarm->AlarmTime.Minutes)) * 60U) + \
2231 .loc 1 1231 19 view .LVU706
2232 00b0 DBE7 b .L140
2233 .LVL223:
2234 .L142:
1257:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
2235 .loc 1 1257 5 is_stmt 1 view .LVU707
2236 00b2 2268 ldr r2, [r4]
2237 00b4 6FF00201 mvn r1, #2
2238 00b8 5160 str r1, [r2, #4]
1260:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
2239 .loc 1 1260 5 view .LVU708
2240 00ba 2168 ldr r1, [r4]
2241 00bc 0A68 ldr r2, [r1]
2242 00be 42F00202 orr r2, r2, #2
2243 00c2 0A60 str r2, [r1]
1263:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
2244 .loc 1 1263 5 view .LVU709
2245 00c4 0B4A ldr r2, .L148
2246 00c6 1168 ldr r1, [r2]
2247 00c8 41F40031 orr r1, r1, #131072
2248 00cc 1160 str r1, [r2]
1265:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
2249 .loc 1 1265 5 view .LVU710
2250 00ce 9168 ldr r1, [r2, #8]
2251 00d0 41F40031 orr r1, r1, #131072
2252 00d4 9160 str r1, [r2, #8]
1267:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
2253 .loc 1 1267 5 view .LVU711
1267:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
2254 .loc 1 1267 17 is_stmt 0 view .LVU712
2255 00d6 0122 movs r2, #1
2256 00d8 6274 strb r2, [r4, #17]
1269:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
2257 .loc 1 1269 5 is_stmt 1 view .LVU713
1269:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
2258 .loc 1 1269 5 view .LVU714
2259 00da 0022 movs r2, #0
2260 00dc 2274 strb r2, [r4, #16]
1271:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
2261 .loc 1 1271 5 view .LVU715
1271:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
2262 .loc 1 1271 12 is_stmt 0 view .LVU716
2263 00de 00E0 b .L138
ARM GAS C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s page 85
2264 .LVL224:
2265 .L143:
1192:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
2266 .loc 1 1192 12 view .LVU717
2267 00e0 0123 movs r3, #1
2268 .LVL225:
2269 .L138:
1273:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
2270 .loc 1 1273 1 view .LVU718
2271 00e2 1846 mov r0, r3
2272 00e4 03B0 add sp, sp, #12
2273 .LCFI28:
2274 .cfi_remember_state
2275 .cfi_def_cfa_offset 20
2276 @ sp needed
2277 00e6 F0BD pop {r4, r5, r6, r7, pc}
2278 .LVL226:
2279 .L144:
2280 .LCFI29:
2281 .cfi_restore_state
1192:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
2282 .loc 1 1192 12 view .LVU719
2283 00e8 0123 movs r3, #1
2284 00ea FAE7 b .L138
2285 .L145:
1200:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
2286 .loc 1 1200 3 view .LVU720
2287 00ec 0223 movs r3, #2
2288 00ee F8E7 b .L138
2289 .LVL227:
2290 .L146:
1207:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
2291 .loc 1 1207 12 view .LVU721
2292 00f0 0123 movs r3, #1
2293 00f2 F6E7 b .L138
2294 .L149:
2295 .align 2
2296 .L148:
2297 00f4 00040140 .word 1073808384
2298 .cfi_endproc
2299 .LFE74:
2301 .section .text.HAL_RTC_GetAlarm,"ax",%progbits
2302 .align 1
2303 .global HAL_RTC_GetAlarm
2304 .syntax unified
2305 .thumb
2306 .thumb_func
2307 .fpu softvfp
2309 HAL_RTC_GetAlarm:
2310 .LVL228:
2311 .LFB75:
1290:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** uint32_t counter_alarm = 0U;
2312 .loc 1 1290 1 is_stmt 1 view -0
2313 .cfi_startproc
2314 @ args = 0, pretend = 0, frame = 0
2315 @ frame_needed = 0, uses_anonymous_args = 0
1291:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
ARM GAS C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s page 86
2316 .loc 1 1291 3 view .LVU723
1294:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
2317 .loc 1 1294 3 view .LVU724
1297:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
2318 .loc 1 1297 3 view .LVU725
1297:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
2319 .loc 1 1297 6 is_stmt 0 view .LVU726
2320 0000 90B3 cbz r0, .L152
1297:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
2321 .loc 1 1297 22 discriminator 1 view .LVU727
2322 0002 99B3 cbz r1, .L153
1290:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** uint32_t counter_alarm = 0U;
2323 .loc 1 1290 1 view .LVU728
2324 0004 F8B5 push {r3, r4, r5, r6, r7, lr}
2325 .LCFI30:
2326 .cfi_def_cfa_offset 24
2327 .cfi_offset 3, -24
2328 .cfi_offset 4, -20
2329 .cfi_offset 5, -16
2330 .cfi_offset 6, -12
2331 .cfi_offset 7, -8
2332 .cfi_offset 14, -4
2333 0006 1D46 mov r5, r3
2334 0008 0C46 mov r4, r1
1303:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** assert_param(IS_RTC_ALARM(Alarm));
2335 .loc 1 1303 3 is_stmt 1 view .LVU729
1304:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
2336 .loc 1 1304 3 view .LVU730
1307:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
2337 .loc 1 1307 3 view .LVU731
1307:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
2338 .loc 1 1307 19 is_stmt 0 view .LVU732
2339 000a FFF7FEFF bl RTC_ReadAlarmCounter
2340 .LVL229:
1311:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** sAlarm->AlarmTime.Minutes = (uint32_t)((counter_alarm % 3600U) / 60U);
2341 .loc 1 1311 3 is_stmt 1 view .LVU733
1311:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** sAlarm->AlarmTime.Minutes = (uint32_t)((counter_alarm % 3600U) / 60U);
2342 .loc 1 1311 57 is_stmt 0 view .LVU734
2343 000e 1949 ldr r1, .L159
2344 0010 A1FB0031 umull r3, r1, r1, r0
2345 0014 C90A lsrs r1, r1, #11
1311:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** sAlarm->AlarmTime.Minutes = (uint32_t)((counter_alarm % 3600U) / 60U);
2346 .loc 1 1311 31 view .LVU735
2347 0016 184A ldr r2, .L159+4
2348 0018 A2FB0132 umull r3, r2, r2, r1
2349 001c 1209 lsrs r2, r2, #4
2350 001e 02EB4202 add r2, r2, r2, lsl #1
2351 0022 D300 lsls r3, r2, #3
2352 0024 CA1A subs r2, r1, r3
1311:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** sAlarm->AlarmTime.Minutes = (uint32_t)((counter_alarm % 3600U) / 60U);
2353 .loc 1 1311 29 view .LVU736
2354 0026 D3B2 uxtb r3, r2
2355 0028 2370 strb r3, [r4]
1312:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** sAlarm->AlarmTime.Seconds = (uint32_t)((counter_alarm % 3600U) % 60U);
2356 .loc 1 1312 3 is_stmt 1 view .LVU737
1312:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** sAlarm->AlarmTime.Seconds = (uint32_t)((counter_alarm % 3600U) % 60U);
2357 .loc 1 1312 57 is_stmt 0 view .LVU738
ARM GAS C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s page 87
2358 002a 4FF46167 mov r7, #3600
2359 002e 07FB1107 mls r7, r7, r1, r0
1312:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** sAlarm->AlarmTime.Seconds = (uint32_t)((counter_alarm % 3600U) % 60U);
2360 .loc 1 1312 31 view .LVU739
2361 0032 124A ldr r2, .L159+8
2362 0034 A2FB0712 umull r1, r2, r2, r7
2363 0038 5209 lsrs r2, r2, #5
1312:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** sAlarm->AlarmTime.Seconds = (uint32_t)((counter_alarm % 3600U) % 60U);
2364 .loc 1 1312 29 view .LVU740
2365 003a D6B2 uxtb r6, r2
2366 003c 6670 strb r6, [r4, #1]
1313:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
2367 .loc 1 1313 3 is_stmt 1 view .LVU741
1313:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
2368 .loc 1 1313 31 is_stmt 0 view .LVU742
2369 003e C2EB0212 rsb r2, r2, r2, lsl #4
2370 0042 9000 lsls r0, r2, #2
2371 .LVL230:
1313:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
2372 .loc 1 1313 31 view .LVU743
2373 0044 381A subs r0, r7, r0
1313:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
2374 .loc 1 1313 29 view .LVU744
2375 0046 C7B2 uxtb r7, r0
2376 0048 A770 strb r7, [r4, #2]
1315:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
2377 .loc 1 1315 3 is_stmt 1 view .LVU745
1315:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
2378 .loc 1 1315 6 is_stmt 0 view .LVU746
2379 004a 8DB1 cbz r5, .L154
1317:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** sAlarm->AlarmTime.Minutes = RTC_ByteToBcd2(sAlarm->AlarmTime.Minutes);
2380 .loc 1 1317 5 is_stmt 1 view .LVU747
1317:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** sAlarm->AlarmTime.Minutes = RTC_ByteToBcd2(sAlarm->AlarmTime.Minutes);
2381 .loc 1 1317 33 is_stmt 0 view .LVU748
2382 004c 1846 mov r0, r3
2383 004e FFF7FEFF bl RTC_ByteToBcd2
2384 .LVL231:
1317:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** sAlarm->AlarmTime.Minutes = RTC_ByteToBcd2(sAlarm->AlarmTime.Minutes);
2385 .loc 1 1317 31 view .LVU749
2386 0052 2070 strb r0, [r4]
1318:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** sAlarm->AlarmTime.Seconds = RTC_ByteToBcd2(sAlarm->AlarmTime.Seconds);
2387 .loc 1 1318 5 is_stmt 1 view .LVU750
1318:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** sAlarm->AlarmTime.Seconds = RTC_ByteToBcd2(sAlarm->AlarmTime.Seconds);
2388 .loc 1 1318 33 is_stmt 0 view .LVU751
2389 0054 3046 mov r0, r6
2390 0056 FFF7FEFF bl RTC_ByteToBcd2
2391 .LVL232:
1318:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** sAlarm->AlarmTime.Seconds = RTC_ByteToBcd2(sAlarm->AlarmTime.Seconds);
2392 .loc 1 1318 31 view .LVU752
2393 005a 6070 strb r0, [r4, #1]
1319:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
2394 .loc 1 1319 5 is_stmt 1 view .LVU753
1319:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
2395 .loc 1 1319 33 is_stmt 0 view .LVU754
2396 005c 3846 mov r0, r7
2397 005e FFF7FEFF bl RTC_ByteToBcd2
2398 .LVL233:
ARM GAS C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s page 88
1319:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
2399 .loc 1 1319 31 view .LVU755
2400 0062 A070 strb r0, [r4, #2]
1322:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
2401 .loc 1 1322 10 view .LVU756
2402 0064 0020 movs r0, #0
2403 .L151:
1323:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
2404 .loc 1 1323 1 view .LVU757
2405 0066 F8BD pop {r3, r4, r5, r6, r7, pc}
2406 .LVL234:
2407 .L152:
2408 .LCFI31:
2409 .cfi_def_cfa_offset 0
2410 .cfi_restore 3
2411 .cfi_restore 4
2412 .cfi_restore 5
2413 .cfi_restore 6
2414 .cfi_restore 7
2415 .cfi_restore 14
1299:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
2416 .loc 1 1299 12 view .LVU758
2417 0068 0120 movs r0, #1
2418 .LVL235:
1299:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
2419 .loc 1 1299 12 view .LVU759
2420 006a 7047 bx lr
2421 .LVL236:
2422 .L153:
1299:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
2423 .loc 1 1299 12 view .LVU760
2424 006c 0120 movs r0, #1
2425 .LVL237:
1323:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
2426 .loc 1 1323 1 view .LVU761
2427 006e 7047 bx lr
2428 .LVL238:
2429 .L154:
2430 .LCFI32:
2431 .cfi_def_cfa_offset 24
2432 .cfi_offset 3, -24
2433 .cfi_offset 4, -20
2434 .cfi_offset 5, -16
2435 .cfi_offset 6, -12
2436 .cfi_offset 7, -8
2437 .cfi_offset 14, -4
1322:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
2438 .loc 1 1322 10 view .LVU762
2439 0070 0020 movs r0, #0
2440 0072 F8E7 b .L151
2441 .L160:
2442 .align 2
2443 .L159:
2444 0074 C5B3A291 .word -1851608123
2445 0078 ABAAAAAA .word -1431655765
2446 007c 89888888 .word -2004318071
2447 .cfi_endproc
ARM GAS C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s page 89
2448 .LFE75:
2450 .section .text.HAL_RTC_DeactivateAlarm,"ax",%progbits
2451 .align 1
2452 .global HAL_RTC_DeactivateAlarm
2453 .syntax unified
2454 .thumb
2455 .thumb_func
2456 .fpu softvfp
2458 HAL_RTC_DeactivateAlarm:
2459 .LVL239:
2460 .LFB76:
1335:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Prevent unused argument(s) compilation warning */
2461 .loc 1 1335 1 is_stmt 1 view -0
2462 .cfi_startproc
2463 @ args = 0, pretend = 0, frame = 0
2464 @ frame_needed = 0, uses_anonymous_args = 0
1337:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
2465 .loc 1 1337 3 view .LVU764
1340:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
2466 .loc 1 1340 3 view .LVU765
1343:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
2467 .loc 1 1343 3 view .LVU766
1343:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
2468 .loc 1 1343 6 is_stmt 0 view .LVU767
2469 0000 0028 cmp r0, #0
2470 0002 36D0 beq .L165
1335:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Prevent unused argument(s) compilation warning */
2471 .loc 1 1335 1 view .LVU768
2472 0004 10B5 push {r4, lr}
2473 .LCFI33:
2474 .cfi_def_cfa_offset 8
2475 .cfi_offset 4, -8
2476 .cfi_offset 14, -4
2477 0006 0446 mov r4, r0
1349:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
2478 .loc 1 1349 3 is_stmt 1 view .LVU769
1349:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
2479 .loc 1 1349 3 view .LVU770
2480 0008 037C ldrb r3, [r0, #16] @ zero_extendqisi2
2481 000a 012B cmp r3, #1
2482 000c 34D0 beq .L166
1349:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
2483 .loc 1 1349 3 discriminator 2 view .LVU771
2484 000e 0123 movs r3, #1
2485 0010 0374 strb r3, [r0, #16]
1351:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
2486 .loc 1 1351 3 discriminator 2 view .LVU772
1351:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
2487 .loc 1 1351 15 is_stmt 0 discriminator 2 view .LVU773
2488 0012 0223 movs r3, #2
2489 0014 4374 strb r3, [r0, #17]
1354:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
2490 .loc 1 1354 3 is_stmt 1 discriminator 2 view .LVU774
2491 0016 0268 ldr r2, [r0]
2492 0018 1368 ldr r3, [r2]
2493 001a 23F00203 bic r3, r3, #2
2494 001e 1360 str r3, [r2]
ARM GAS C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s page 90
1357:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
2495 .loc 1 1357 3 discriminator 2 view .LVU775
1357:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
2496 .loc 1 1357 7 is_stmt 0 discriminator 2 view .LVU776
2497 0020 FFF7FEFF bl RTC_EnterInitMode
2498 .LVL240:
1357:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
2499 .loc 1 1357 6 discriminator 2 view .LVU777
2500 0024 30B1 cbz r0, .L163
1360:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
2501 .loc 1 1360 5 is_stmt 1 view .LVU778
1360:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
2502 .loc 1 1360 17 is_stmt 0 view .LVU779
2503 0026 0423 movs r3, #4
2504 0028 6374 strb r3, [r4, #17]
1363:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
2505 .loc 1 1363 5 is_stmt 1 view .LVU780
1363:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
2506 .loc 1 1363 5 view .LVU781
2507 002a 0023 movs r3, #0
2508 002c 2374 strb r3, [r4, #16]
1365:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
2509 .loc 1 1365 5 view .LVU782
1365:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
2510 .loc 1 1365 12 is_stmt 0 view .LVU783
2511 002e 0123 movs r3, #1
2512 .L162:
1396:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
2513 .loc 1 1396 1 view .LVU784
2514 0030 1846 mov r0, r3
2515 0032 10BD pop {r4, pc}
2516 .LVL241:
2517 .L163:
1370:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
2518 .loc 1 1370 5 is_stmt 1 view .LVU785
2519 0034 2368 ldr r3, [r4]
2520 0036 6FF00202 mvn r2, #2
2521 003a 5A60 str r2, [r3, #4]
1373:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** WRITE_REG(hrtc->Instance->ALRL, RTC_ALARM_RESETVALUE_REGISTER);
2522 .loc 1 1373 5 view .LVU786
2523 003c 2268 ldr r2, [r4]
2524 003e 4FF6FF73 movw r3, #65535
2525 0042 1362 str r3, [r2, #32]
1374:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
2526 .loc 1 1374 5 view .LVU787
2527 0044 2268 ldr r2, [r4]
2528 0046 5362 str r3, [r2, #36]
1377:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
2529 .loc 1 1377 5 view .LVU788
2530 0048 0C4A ldr r2, .L172
2531 004a 1368 ldr r3, [r2]
2532 004c 23F40033 bic r3, r3, #131072
2533 0050 1360 str r3, [r2]
1380:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
2534 .loc 1 1380 5 view .LVU789
1380:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
2535 .loc 1 1380 9 is_stmt 0 view .LVU790
ARM GAS C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s page 91
2536 0052 2046 mov r0, r4
2537 0054 FFF7FEFF bl RTC_ExitInitMode
2538 .LVL242:
1380:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
2539 .loc 1 1380 8 view .LVU791
2540 0058 0346 mov r3, r0
2541 005a 20B9 cbnz r0, .L171
1390:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
2542 .loc 1 1390 3 is_stmt 1 view .LVU792
1390:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
2543 .loc 1 1390 15 is_stmt 0 view .LVU793
2544 005c 0122 movs r2, #1
2545 005e 6274 strb r2, [r4, #17]
1393:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
2546 .loc 1 1393 3 is_stmt 1 view .LVU794
1393:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
2547 .loc 1 1393 3 view .LVU795
2548 0060 0022 movs r2, #0
2549 0062 2274 strb r2, [r4, #16]
1395:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
2550 .loc 1 1395 3 view .LVU796
1395:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
2551 .loc 1 1395 10 is_stmt 0 view .LVU797
2552 0064 E4E7 b .L162
2553 .L171:
1382:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
2554 .loc 1 1382 7 is_stmt 1 view .LVU798
1382:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
2555 .loc 1 1382 19 is_stmt 0 view .LVU799
2556 0066 0423 movs r3, #4
2557 0068 6374 strb r3, [r4, #17]
1385:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
2558 .loc 1 1385 7 is_stmt 1 view .LVU800
1385:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
2559 .loc 1 1385 7 view .LVU801
2560 006a 0023 movs r3, #0
2561 006c 2374 strb r3, [r4, #16]
1387:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
2562 .loc 1 1387 7 view .LVU802
1387:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
2563 .loc 1 1387 14 is_stmt 0 view .LVU803
2564 006e 0123 movs r3, #1
2565 0070 DEE7 b .L162
2566 .LVL243:
2567 .L165:
2568 .LCFI34:
2569 .cfi_def_cfa_offset 0
2570 .cfi_restore 4
2571 .cfi_restore 14
1345:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
2572 .loc 1 1345 12 view .LVU804
2573 0072 0123 movs r3, #1
1396:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
2574 .loc 1 1396 1 view .LVU805
2575 0074 1846 mov r0, r3
2576 .LVL244:
1396:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
ARM GAS C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s page 92
2577 .loc 1 1396 1 view .LVU806
2578 0076 7047 bx lr
2579 .LVL245:
2580 .L166:
2581 .LCFI35:
2582 .cfi_def_cfa_offset 8
2583 .cfi_offset 4, -8
2584 .cfi_offset 14, -4
1349:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
2585 .loc 1 1349 3 view .LVU807
2586 0078 0223 movs r3, #2
2587 007a D9E7 b .L162
2588 .L173:
2589 .align 2
2590 .L172:
2591 007c 00040140 .word 1073808384
2592 .cfi_endproc
2593 .LFE76:
2595 .section .text.HAL_RTC_AlarmAEventCallback,"ax",%progbits
2596 .align 1
2597 .weak HAL_RTC_AlarmAEventCallback
2598 .syntax unified
2599 .thumb
2600 .thumb_func
2601 .fpu softvfp
2603 HAL_RTC_AlarmAEventCallback:
2604 .LVL246:
2605 .LFB78:
1437:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Prevent unused argument(s) compilation warning */
2606 .loc 1 1437 1 is_stmt 1 view -0
2607 .cfi_startproc
2608 @ args = 0, pretend = 0, frame = 0
2609 @ frame_needed = 0, uses_anonymous_args = 0
2610 @ link register save eliminated.
1439:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* NOTE : This function Should not be modified, when the callback is needed,
2611 .loc 1 1439 3 view .LVU809
1443:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
2612 .loc 1 1443 1 is_stmt 0 view .LVU810
2613 0000 7047 bx lr
2614 .cfi_endproc
2615 .LFE78:
2617 .section .text.HAL_RTC_AlarmIRQHandler,"ax",%progbits
2618 .align 1
2619 .global HAL_RTC_AlarmIRQHandler
2620 .syntax unified
2621 .thumb
2622 .thumb_func
2623 .fpu softvfp
2625 HAL_RTC_AlarmIRQHandler:
2626 .LVL247:
2627 .LFB77:
1405:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** if (__HAL_RTC_ALARM_GET_IT_SOURCE(hrtc, RTC_IT_ALRA))
2628 .loc 1 1405 1 is_stmt 1 view -0
2629 .cfi_startproc
2630 @ args = 0, pretend = 0, frame = 0
2631 @ frame_needed = 0, uses_anonymous_args = 0
1405:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** if (__HAL_RTC_ALARM_GET_IT_SOURCE(hrtc, RTC_IT_ALRA))
ARM GAS C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s page 93
2632 .loc 1 1405 1 is_stmt 0 view .LVU812
2633 0000 10B5 push {r4, lr}
2634 .LCFI36:
2635 .cfi_def_cfa_offset 8
2636 .cfi_offset 4, -8
2637 .cfi_offset 14, -4
2638 0002 0446 mov r4, r0
1406:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
2639 .loc 1 1406 3 is_stmt 1 view .LVU813
1406:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
2640 .loc 1 1406 7 is_stmt 0 view .LVU814
2641 0004 0368 ldr r3, [r0]
2642 0006 1A68 ldr r2, [r3]
1406:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
2643 .loc 1 1406 6 view .LVU815
2644 0008 12F0020F tst r2, #2
2645 000c 03D0 beq .L176
1409:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
2646 .loc 1 1409 5 is_stmt 1 view .LVU816
1409:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
2647 .loc 1 1409 9 is_stmt 0 view .LVU817
2648 000e 5B68 ldr r3, [r3, #4]
1409:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
2649 .loc 1 1409 8 view .LVU818
2650 0010 13F0020F tst r3, #2
2651 0014 06D1 bne .L178
2652 .LVL248:
2653 .L176:
1424:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
2654 .loc 1 1424 3 is_stmt 1 view .LVU819
2655 0016 074B ldr r3, .L179
2656 0018 4FF40032 mov r2, #131072
2657 001c 5A61 str r2, [r3, #20]
1427:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
2658 .loc 1 1427 3 view .LVU820
1427:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
2659 .loc 1 1427 15 is_stmt 0 view .LVU821
2660 001e 0123 movs r3, #1
2661 0020 6374 strb r3, [r4, #17]
1428:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
2662 .loc 1 1428 1 view .LVU822
2663 0022 10BD pop {r4, pc}
2664 .LVL249:
2665 .L178:
1415:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** #endif /* USE_HAL_RTC_REGISTER_CALLBACKS */
2666 .loc 1 1415 7 is_stmt 1 view .LVU823
2667 0024 FFF7FEFF bl HAL_RTC_AlarmAEventCallback
2668 .LVL250:
1419:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
2669 .loc 1 1419 7 view .LVU824
2670 0028 2368 ldr r3, [r4]
2671 002a 6FF00202 mvn r2, #2
2672 002e 5A60 str r2, [r3, #4]
2673 0030 F1E7 b .L176
2674 .L180:
2675 0032 00BF .align 2
2676 .L179:
ARM GAS C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s page 94
2677 0034 00040140 .word 1073808384
2678 .cfi_endproc
2679 .LFE77:
2681 .section .text.HAL_RTC_PollForAlarmAEvent,"ax",%progbits
2682 .align 1
2683 .global HAL_RTC_PollForAlarmAEvent
2684 .syntax unified
2685 .thumb
2686 .thumb_func
2687 .fpu softvfp
2689 HAL_RTC_PollForAlarmAEvent:
2690 .LVL251:
2691 .LFB79:
1453:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** uint32_t tickstart = HAL_GetTick();
2692 .loc 1 1453 1 view -0
2693 .cfi_startproc
2694 @ args = 0, pretend = 0, frame = 0
2695 @ frame_needed = 0, uses_anonymous_args = 0
1453:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** uint32_t tickstart = HAL_GetTick();
2696 .loc 1 1453 1 is_stmt 0 view .LVU826
2697 0000 70B5 push {r4, r5, r6, lr}
2698 .LCFI37:
2699 .cfi_def_cfa_offset 16
2700 .cfi_offset 4, -16
2701 .cfi_offset 5, -12
2702 .cfi_offset 6, -8
2703 .cfi_offset 14, -4
2704 0002 0446 mov r4, r0
2705 0004 0D46 mov r5, r1
1454:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
2706 .loc 1 1454 3 is_stmt 1 view .LVU827
1454:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
2707 .loc 1 1454 24 is_stmt 0 view .LVU828
2708 0006 FFF7FEFF bl HAL_GetTick
2709 .LVL252:
1454:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
2710 .loc 1 1454 24 view .LVU829
2711 000a 0646 mov r6, r0
2712 .LVL253:
1457:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
2713 .loc 1 1457 3 is_stmt 1 view .LVU830
1457:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
2714 .loc 1 1457 6 is_stmt 0 view .LVU831
2715 000c BCB1 cbz r4, .L189
2716 .LVL254:
2717 .L184:
1462:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
2718 .loc 1 1462 10 view .LVU832
2719 000e 2368 ldr r3, [r4]
2720 0010 5A68 ldr r2, [r3, #4]
1462:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
2721 .loc 1 1462 9 view .LVU833
2722 0012 12F0020F tst r2, #2
2723 0016 0BD1 bne .L190
1464:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
2724 .loc 1 1464 5 is_stmt 1 view .LVU834
1464:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
ARM GAS C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s page 95
2725 .loc 1 1464 8 is_stmt 0 view .LVU835
2726 0018 B5F1FF3F cmp r5, #-1
2727 001c F7D0 beq .L184
1466:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
2728 .loc 1 1466 7 is_stmt 1 view .LVU836
1466:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
2729 .loc 1 1466 10 is_stmt 0 view .LVU837
2730 001e 25B1 cbz r5, .L185
1466:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
2731 .loc 1 1466 31 discriminator 1 view .LVU838
2732 0020 FFF7FEFF bl HAL_GetTick
2733 .LVL255:
1466:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
2734 .loc 1 1466 45 discriminator 1 view .LVU839
2735 0024 801B subs r0, r0, r6
1466:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
2736 .loc 1 1466 26 discriminator 1 view .LVU840
2737 0026 A842 cmp r0, r5
2738 0028 F1D9 bls .L184
2739 .L185:
1468:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** return HAL_TIMEOUT;
2740 .loc 1 1468 9 is_stmt 1 view .LVU841
1468:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** return HAL_TIMEOUT;
2741 .loc 1 1468 21 is_stmt 0 view .LVU842
2742 002a 0320 movs r0, #3
2743 002c 6074 strb r0, [r4, #17]
1469:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
2744 .loc 1 1469 9 is_stmt 1 view .LVU843
1469:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
2745 .loc 1 1469 16 is_stmt 0 view .LVU844
2746 002e 05E0 b .L182
2747 .L190:
1475:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
2748 .loc 1 1475 3 is_stmt 1 view .LVU845
2749 0030 6FF00202 mvn r2, #2
2750 0034 5A60 str r2, [r3, #4]
1478:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
2751 .loc 1 1478 3 view .LVU846
1478:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
2752 .loc 1 1478 15 is_stmt 0 view .LVU847
2753 0036 0123 movs r3, #1
2754 0038 6374 strb r3, [r4, #17]
1480:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
2755 .loc 1 1480 3 is_stmt 1 view .LVU848
1480:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
2756 .loc 1 1480 10 is_stmt 0 view .LVU849
2757 003a 0020 movs r0, #0
2758 .L182:
1481:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
2759 .loc 1 1481 1 view .LVU850
2760 003c 70BD pop {r4, r5, r6, pc}
2761 .LVL256:
2762 .L189:
1459:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
2763 .loc 1 1459 12 view .LVU851
2764 003e 0120 movs r0, #1
2765 .LVL257:
ARM GAS C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s page 96
1459:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
2766 .loc 1 1459 12 view .LVU852
2767 0040 FCE7 b .L182
2768 .cfi_endproc
2769 .LFE79:
2771 .section .text.HAL_RTC_GetState,"ax",%progbits
2772 .align 1
2773 .global HAL_RTC_GetState
2774 .syntax unified
2775 .thumb
2776 .thumb_func
2777 .fpu softvfp
2779 HAL_RTC_GetState:
2780 .LVL258:
2781 .LFB80:
1508:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** return hrtc->State;
2782 .loc 1 1508 1 is_stmt 1 view -0
2783 .cfi_startproc
2784 @ args = 0, pretend = 0, frame = 0
2785 @ frame_needed = 0, uses_anonymous_args = 0
2786 @ link register save eliminated.
1509:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
2787 .loc 1 1509 3 view .LVU854
1509:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
2788 .loc 1 1509 14 is_stmt 0 view .LVU855
2789 0000 407C ldrb r0, [r0, #17] @ zero_extendqisi2
2790 .LVL259:
1510:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
2791 .loc 1 1510 1 view .LVU856
2792 0002 7047 bx lr
2793 .cfi_endproc
2794 .LFE80:
2796 .section .text.HAL_RTC_WaitForSynchro,"ax",%progbits
2797 .align 1
2798 .global HAL_RTC_WaitForSynchro
2799 .syntax unified
2800 .thumb
2801 .thumb_func
2802 .fpu softvfp
2804 HAL_RTC_WaitForSynchro:
2805 .LVL260:
2806 .LFB81:
1541:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** uint32_t tickstart = 0U;
2807 .loc 1 1541 1 is_stmt 1 view -0
2808 .cfi_startproc
2809 @ args = 0, pretend = 0, frame = 0
2810 @ frame_needed = 0, uses_anonymous_args = 0
1542:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
2811 .loc 1 1542 3 view .LVU858
1545:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
2812 .loc 1 1545 3 view .LVU859
1545:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
2813 .loc 1 1545 6 is_stmt 0 view .LVU860
2814 0000 C0B1 cbz r0, .L196
1541:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** uint32_t tickstart = 0U;
2815 .loc 1 1541 1 view .LVU861
2816 0002 38B5 push {r3, r4, r5, lr}
ARM GAS C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s page 97
2817 .LCFI38:
2818 .cfi_def_cfa_offset 16
2819 .cfi_offset 3, -16
2820 .cfi_offset 4, -12
2821 .cfi_offset 5, -8
2822 .cfi_offset 14, -4
2823 0004 0446 mov r4, r0
1551:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
2824 .loc 1 1551 3 is_stmt 1 view .LVU862
2825 0006 0268 ldr r2, [r0]
2826 0008 5368 ldr r3, [r2, #4]
2827 000a 23F00803 bic r3, r3, #8
2828 000e 5360 str r3, [r2, #4]
1553:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
2829 .loc 1 1553 3 view .LVU863
1553:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
2830 .loc 1 1553 15 is_stmt 0 view .LVU864
2831 0010 FFF7FEFF bl HAL_GetTick
2832 .LVL261:
1553:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
2833 .loc 1 1553 15 view .LVU865
2834 0014 0546 mov r5, r0
2835 .LVL262:
1556:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
2836 .loc 1 1556 3 is_stmt 1 view .LVU866
2837 .L194:
1556:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
2838 .loc 1 1556 15 is_stmt 0 view .LVU867
2839 0016 2368 ldr r3, [r4]
1556:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
2840 .loc 1 1556 25 view .LVU868
2841 0018 5B68 ldr r3, [r3, #4]
1556:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
2842 .loc 1 1556 9 view .LVU869
2843 001a 13F0080F tst r3, #8
2844 001e 07D1 bne .L202
1558:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
2845 .loc 1 1558 5 is_stmt 1 view .LVU870
1558:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
2846 .loc 1 1558 10 is_stmt 0 view .LVU871
2847 0020 FFF7FEFF bl HAL_GetTick
2848 .LVL263:
1558:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
2849 .loc 1 1558 24 view .LVU872
2850 0024 401B subs r0, r0, r5
1558:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
2851 .loc 1 1558 8 view .LVU873
2852 0026 B0F57A7F cmp r0, #1000
2853 002a F4D9 bls .L194
1560:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
2854 .loc 1 1560 14 view .LVU874
2855 002c 0320 movs r0, #3
2856 002e 00E0 b .L193
2857 .L202:
1564:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
2858 .loc 1 1564 10 view .LVU875
2859 0030 0020 movs r0, #0
ARM GAS C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s page 98
2860 .L193:
1565:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
2861 .loc 1 1565 1 view .LVU876
2862 0032 38BD pop {r3, r4, r5, pc}
2863 .LVL264:
2864 .L196:
2865 .LCFI39:
2866 .cfi_def_cfa_offset 0
2867 .cfi_restore 3
2868 .cfi_restore 4
2869 .cfi_restore 5
2870 .cfi_restore 14
1547:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
2871 .loc 1 1547 12 view .LVU877
2872 0034 0120 movs r0, #1
2873 .LVL265:
1565:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
2874 .loc 1 1565 1 view .LVU878
2875 0036 7047 bx lr
2876 .cfi_endproc
2877 .LFE81:
2879 .section .text.HAL_RTC_Init,"ax",%progbits
2880 .align 1
2881 .global HAL_RTC_Init
2882 .syntax unified
2883 .thumb
2884 .thumb_func
2885 .fpu softvfp
2887 HAL_RTC_Init:
2888 .LVL266:
2889 .LFB65:
276:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** uint32_t prescaler = 0U;
2890 .loc 1 276 1 is_stmt 1 view -0
2891 .cfi_startproc
2892 @ args = 0, pretend = 0, frame = 0
2893 @ frame_needed = 0, uses_anonymous_args = 0
277:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Check input parameters */
2894 .loc 1 277 3 view .LVU880
279:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
2895 .loc 1 279 3 view .LVU881
279:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
2896 .loc 1 279 6 is_stmt 0 view .LVU882
2897 0000 0028 cmp r0, #0
2898 0002 5AD0 beq .L212
276:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** uint32_t prescaler = 0U;
2899 .loc 1 276 1 view .LVU883
2900 0004 10B5 push {r4, lr}
2901 .LCFI40:
2902 .cfi_def_cfa_offset 8
2903 .cfi_offset 4, -8
2904 .cfi_offset 14, -4
2905 0006 0446 mov r4, r0
285:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** assert_param(IS_RTC_CALIB_OUTPUT(hrtc->Init.OutPut));
2906 .loc 1 285 3 is_stmt 1 view .LVU884
286:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** assert_param(IS_RTC_ASYNCH_PREDIV(hrtc->Init.AsynchPrediv));
2907 .loc 1 286 3 view .LVU885
287:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
ARM GAS C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s page 99
2908 .loc 1 287 3 view .LVU886
311:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
2909 .loc 1 311 3 view .LVU887
311:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
2910 .loc 1 311 11 is_stmt 0 view .LVU888
2911 0008 437C ldrb r3, [r0, #17] @ zero_extendqisi2
311:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
2912 .loc 1 311 6 view .LVU889
2913 000a 53B1 cbz r3, .L217
2914 .LVL267:
2915 .L205:
322:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
2916 .loc 1 322 3 is_stmt 1 view .LVU890
322:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
2917 .loc 1 322 15 is_stmt 0 view .LVU891
2918 000c 0223 movs r3, #2
2919 000e 6374 strb r3, [r4, #17]
325:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
2920 .loc 1 325 3 is_stmt 1 view .LVU892
325:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
2921 .loc 1 325 7 is_stmt 0 view .LVU893
2922 0010 2046 mov r0, r4
2923 0012 FFF7FEFF bl HAL_RTC_WaitForSynchro
2924 .LVL268:
325:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
2925 .loc 1 325 6 view .LVU894
2926 0016 40B1 cbz r0, .L206
328:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
2927 .loc 1 328 5 is_stmt 1 view .LVU895
328:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
2928 .loc 1 328 17 is_stmt 0 view .LVU896
2929 0018 0423 movs r3, #4
2930 001a 6374 strb r3, [r4, #17]
330:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
2931 .loc 1 330 5 is_stmt 1 view .LVU897
330:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
2932 .loc 1 330 12 is_stmt 0 view .LVU898
2933 001c 0123 movs r3, #1
2934 .LVL269:
2935 .L204:
402:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
2936 .loc 1 402 1 view .LVU899
2937 001e 1846 mov r0, r3
2938 0020 10BD pop {r4, pc}
2939 .LVL270:
2940 .L217:
314:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
2941 .loc 1 314 5 is_stmt 1 view .LVU900
314:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
2942 .loc 1 314 16 is_stmt 0 view .LVU901
2943 0022 0374 strb r3, [r0, #16]
317:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
2944 .loc 1 317 5 is_stmt 1 view .LVU902
2945 0024 FFF7FEFF bl HAL_RTC_MspInit
2946 .LVL271:
317:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
2947 .loc 1 317 5 is_stmt 0 view .LVU903
ARM GAS C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s page 100
2948 0028 F0E7 b .L205
2949 .L206:
334:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
2950 .loc 1 334 3 is_stmt 1 view .LVU904
334:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
2951 .loc 1 334 7 is_stmt 0 view .LVU905
2952 002a 2046 mov r0, r4
2953 002c FFF7FEFF bl RTC_EnterInitMode
2954 .LVL272:
334:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
2955 .loc 1 334 6 view .LVU906
2956 0030 0028 cmp r0, #0
2957 0032 2DD1 bne .L218
344:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
2958 .loc 1 344 5 is_stmt 1 view .LVU907
2959 0034 2268 ldr r2, [r4]
2960 0036 5368 ldr r3, [r2, #4]
2961 0038 23F00703 bic r3, r3, #7
2962 003c 5360 str r3, [r2, #4]
346:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
2963 .loc 1 346 5 view .LVU908
346:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
2964 .loc 1 346 19 is_stmt 0 view .LVU909
2965 003e A368 ldr r3, [r4, #8]
346:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
2966 .loc 1 346 8 view .LVU910
2967 0040 23B1 cbz r3, .L208
349:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
2968 .loc 1 349 7 is_stmt 1 view .LVU911
2969 0042 1F4A ldr r2, .L221
2970 0044 136B ldr r3, [r2, #48]
2971 0046 23F00103 bic r3, r3, #1
2972 004a 1363 str r3, [r2, #48]
2973 .L208:
353:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
2974 .loc 1 353 5 view .LVU912
2975 004c 1C4A ldr r2, .L221
2976 004e D36A ldr r3, [r2, #44]
2977 0050 23F46073 bic r3, r3, #896
2978 0054 A168 ldr r1, [r4, #8]
2979 0056 0B43 orrs r3, r3, r1
2980 0058 D362 str r3, [r2, #44]
355:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
2981 .loc 1 355 5 view .LVU913
355:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
2982 .loc 1 355 19 is_stmt 0 view .LVU914
2983 005a 6068 ldr r0, [r4, #4]
355:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
2984 .loc 1 355 8 view .LVU915
2985 005c B0F1FF3F cmp r0, #-1
2986 0060 1AD0 beq .L219
2987 .LVL273:
2988 .L209:
381:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** MODIFY_REG(hrtc->Instance->PRLL, RTC_PRLL_PRL, (prescaler & RTC_PRLL_PRL));
2989 .loc 1 381 5 is_stmt 1 view .LVU916
2990 0062 2268 ldr r2, [r4]
2991 0064 9368 ldr r3, [r2, #8]
ARM GAS C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s page 101
2992 0066 23F00F03 bic r3, r3, #15
2993 006a 43EA1043 orr r3, r3, r0, lsr #16
2994 006e 9360 str r3, [r2, #8]
382:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
2995 .loc 1 382 5 view .LVU917
2996 0070 2268 ldr r2, [r4]
2997 0072 D368 ldr r3, [r2, #12]
2998 0074 1B0C lsrs r3, r3, #16
2999 0076 1B04 lsls r3, r3, #16
3000 0078 80B2 uxth r0, r0
3001 .LVL274:
382:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
3002 .loc 1 382 5 is_stmt 0 view .LVU918
3003 007a 0343 orrs r3, r3, r0
3004 007c D360 str r3, [r2, #12]
385:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
3005 .loc 1 385 5 is_stmt 1 view .LVU919
385:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
3006 .loc 1 385 9 is_stmt 0 view .LVU920
3007 007e 2046 mov r0, r4
3008 0080 FFF7FEFF bl RTC_ExitInitMode
3009 .LVL275:
385:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
3010 .loc 1 385 8 view .LVU921
3011 0084 0346 mov r3, r0
3012 0086 88B1 cbz r0, .L211
387:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
3013 .loc 1 387 7 is_stmt 1 view .LVU922
387:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
3014 .loc 1 387 19 is_stmt 0 view .LVU923
3015 0088 0423 movs r3, #4
3016 008a 6374 strb r3, [r4, #17]
389:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
3017 .loc 1 389 7 is_stmt 1 view .LVU924
389:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
3018 .loc 1 389 14 is_stmt 0 view .LVU925
3019 008c 0123 movs r3, #1
3020 008e C6E7 b .L204
3021 .LVL276:
3022 .L218:
337:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
3023 .loc 1 337 5 is_stmt 1 view .LVU926
337:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
3024 .loc 1 337 17 is_stmt 0 view .LVU927
3025 0090 0423 movs r3, #4
3026 0092 6374 strb r3, [r4, #17]
339:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
3027 .loc 1 339 5 is_stmt 1 view .LVU928
339:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
3028 .loc 1 339 12 is_stmt 0 view .LVU929
3029 0094 0123 movs r3, #1
3030 0096 C2E7 b .L204
3031 .L219:
364:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
3032 .loc 1 364 7 is_stmt 1 view .LVU930
364:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
3033 .loc 1 364 19 is_stmt 0 view .LVU931
ARM GAS C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s page 102
3034 0098 0120 movs r0, #1
3035 009a FFF7FEFF bl HAL_RCCEx_GetPeriphCLKFreq
3036 .LVL277:
367:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
3037 .loc 1 367 7 is_stmt 1 view .LVU932
367:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
3038 .loc 1 367 10 is_stmt 0 view .LVU933
3039 009e 08B1 cbz r0, .L220
376:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
3040 .loc 1 376 9 is_stmt 1 view .LVU934
376:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
3041 .loc 1 376 19 is_stmt 0 view .LVU935
3042 00a0 0138 subs r0, r0, #1
3043 .LVL278:
376:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
3044 .loc 1 376 19 view .LVU936
3045 00a2 DEE7 b .L209
3046 .L220:
370:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** return HAL_ERROR;
3047 .loc 1 370 9 is_stmt 1 view .LVU937
370:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** return HAL_ERROR;
3048 .loc 1 370 21 is_stmt 0 view .LVU938
3049 00a4 0423 movs r3, #4
3050 00a6 6374 strb r3, [r4, #17]
371:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
3051 .loc 1 371 9 is_stmt 1 view .LVU939
371:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
3052 .loc 1 371 16 is_stmt 0 view .LVU940
3053 00a8 0123 movs r3, #1
3054 00aa B8E7 b .L204
3055 .LVL279:
3056 .L211:
393:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** hrtc->DateToUpdate.Month = RTC_MONTH_JANUARY;
3057 .loc 1 393 5 is_stmt 1 view .LVU941
393:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** hrtc->DateToUpdate.Month = RTC_MONTH_JANUARY;
3058 .loc 1 393 29 is_stmt 0 view .LVU942
3059 00ac 0022 movs r2, #0
3060 00ae E273 strb r2, [r4, #15]
394:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** hrtc->DateToUpdate.Date = 0x01U;
3061 .loc 1 394 5 is_stmt 1 view .LVU943
394:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** hrtc->DateToUpdate.Date = 0x01U;
3062 .loc 1 394 30 is_stmt 0 view .LVU944
3063 00b0 0122 movs r2, #1
3064 00b2 6273 strb r2, [r4, #13]
395:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
3065 .loc 1 395 5 is_stmt 1 view .LVU945
395:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
3066 .loc 1 395 29 is_stmt 0 view .LVU946
3067 00b4 A273 strb r2, [r4, #14]
398:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
3068 .loc 1 398 5 is_stmt 1 view .LVU947
398:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
3069 .loc 1 398 17 is_stmt 0 view .LVU948
3070 00b6 6274 strb r2, [r4, #17]
400:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
3071 .loc 1 400 5 is_stmt 1 view .LVU949
400:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
ARM GAS C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s page 103
3072 .loc 1 400 12 is_stmt 0 view .LVU950
3073 00b8 B1E7 b .L204
3074 .LVL280:
3075 .L212:
3076 .LCFI41:
3077 .cfi_def_cfa_offset 0
3078 .cfi_restore 4
3079 .cfi_restore 14
281:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
3080 .loc 1 281 12 view .LVU951
3081 00ba 0123 movs r3, #1
402:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
3082 .loc 1 402 1 view .LVU952
3083 00bc 1846 mov r0, r3
3084 .LVL281:
402:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
3085 .loc 1 402 1 view .LVU953
3086 00be 7047 bx lr
3087 .L222:
3088 .align 2
3089 .L221:
3090 00c0 006C0040 .word 1073769472
3091 .cfi_endproc
3092 .LFE65:
3094 .section .text.HAL_RTC_DeInit,"ax",%progbits
3095 .align 1
3096 .global HAL_RTC_DeInit
3097 .syntax unified
3098 .thumb
3099 .thumb_func
3100 .fpu softvfp
3102 HAL_RTC_DeInit:
3103 .LVL282:
3104 .LFB66:
412:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Check input parameters */
3105 .loc 1 412 1 is_stmt 1 view -0
3106 .cfi_startproc
3107 @ args = 0, pretend = 0, frame = 0
3108 @ frame_needed = 0, uses_anonymous_args = 0
412:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** /* Check input parameters */
3109 .loc 1 412 1 is_stmt 0 view .LVU955
3110 0000 38B5 push {r3, r4, r5, lr}
3111 .LCFI42:
3112 .cfi_def_cfa_offset 16
3113 .cfi_offset 3, -16
3114 .cfi_offset 4, -12
3115 .cfi_offset 5, -8
3116 .cfi_offset 14, -4
414:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
3117 .loc 1 414 3 is_stmt 1 view .LVU956
414:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
3118 .loc 1 414 6 is_stmt 0 view .LVU957
3119 0002 0028 cmp r0, #0
3120 0004 35D0 beq .L227
3121 0006 0446 mov r4, r0
420:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
3122 .loc 1 420 3 is_stmt 1 view .LVU958
ARM GAS C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s page 104
423:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
3123 .loc 1 423 3 view .LVU959
423:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
3124 .loc 1 423 15 is_stmt 0 view .LVU960
3125 0008 0223 movs r3, #2
3126 000a 4374 strb r3, [r0, #17]
426:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
3127 .loc 1 426 3 is_stmt 1 view .LVU961
426:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
3128 .loc 1 426 7 is_stmt 0 view .LVU962
3129 000c FFF7FEFF bl RTC_EnterInitMode
3130 .LVL283:
426:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
3131 .loc 1 426 6 view .LVU963
3132 0010 30B1 cbz r0, .L225
429:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
3133 .loc 1 429 5 is_stmt 1 view .LVU964
429:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
3134 .loc 1 429 17 is_stmt 0 view .LVU965
3135 0012 0423 movs r3, #4
3136 0014 6374 strb r3, [r4, #17]
432:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
3137 .loc 1 432 5 is_stmt 1 view .LVU966
432:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
3138 .loc 1 432 5 view .LVU967
3139 0016 0023 movs r3, #0
3140 0018 2374 strb r3, [r4, #16]
434:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
3141 .loc 1 434 5 view .LVU968
434:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
3142 .loc 1 434 12 is_stmt 0 view .LVU969
3143 001a 0125 movs r5, #1
3144 .LVL284:
3145 .L224:
484:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
3146 .loc 1 484 1 view .LVU970
3147 001c 2846 mov r0, r5
3148 001e 38BD pop {r3, r4, r5, pc}
3149 .LVL285:
3150 .L225:
438:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** CLEAR_REG(hrtc->Instance->CNTH);
3151 .loc 1 438 5 is_stmt 1 view .LVU971
3152 0020 2268 ldr r2, [r4]
3153 0022 0023 movs r3, #0
3154 0024 D361 str r3, [r2, #28]
439:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** WRITE_REG(hrtc->Instance->PRLL, 0x00008000U);
3155 .loc 1 439 5 view .LVU972
3156 0026 2268 ldr r2, [r4]
3157 0028 9361 str r3, [r2, #24]
440:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** CLEAR_REG(hrtc->Instance->PRLH);
3158 .loc 1 440 5 view .LVU973
3159 002a 2268 ldr r2, [r4]
3160 002c 4FF40041 mov r1, #32768
3161 0030 D160 str r1, [r2, #12]
441:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
3162 .loc 1 441 5 view .LVU974
3163 0032 2268 ldr r2, [r4]
ARM GAS C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s page 105
3164 0034 9360 str r3, [r2, #8]
444:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** CLEAR_REG(hrtc->Instance->CRL);
3165 .loc 1 444 5 view .LVU975
3166 0036 2268 ldr r2, [r4]
3167 0038 1360 str r3, [r2]
445:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
3168 .loc 1 445 5 view .LVU976
3169 003a 2268 ldr r2, [r4]
3170 003c 5360 str r3, [r2, #4]
447:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
3171 .loc 1 447 5 view .LVU977
447:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
3172 .loc 1 447 9 is_stmt 0 view .LVU978
3173 003e 2046 mov r0, r4
3174 0040 FFF7FEFF bl RTC_ExitInitMode
3175 .LVL286:
447:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** {
3176 .loc 1 447 8 view .LVU979
3177 0044 0546 mov r5, r0
3178 0046 28B1 cbz r0, .L226
449:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
3179 .loc 1 449 7 is_stmt 1 view .LVU980
449:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
3180 .loc 1 449 19 is_stmt 0 view .LVU981
3181 0048 0423 movs r3, #4
3182 004a 6374 strb r3, [r4, #17]
452:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
3183 .loc 1 452 7 is_stmt 1 view .LVU982
452:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
3184 .loc 1 452 7 view .LVU983
3185 004c 0023 movs r3, #0
3186 004e 2374 strb r3, [r4, #16]
454:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
3187 .loc 1 454 7 view .LVU984
454:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
3188 .loc 1 454 14 is_stmt 0 view .LVU985
3189 0050 0125 movs r5, #1
3190 0052 E3E7 b .L224
3191 .L226:
459:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
3192 .loc 1 459 3 is_stmt 1 view .LVU986
3193 0054 2046 mov r0, r4
3194 0056 FFF7FEFF bl HAL_RTC_WaitForSynchro
3195 .LVL287:
462:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
3196 .loc 1 462 3 view .LVU987
3197 005a 2268 ldr r2, [r4]
3198 005c 5368 ldr r3, [r2, #4]
3199 005e 23F00803 bic r3, r3, #8
3200 0062 5360 str r3, [r2, #4]
475:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** #endif /* (USE_HAL_RTC_REGISTER_CALLBACKS) */
3201 .loc 1 475 3 view .LVU988
3202 0064 2046 mov r0, r4
3203 0066 FFF7FEFF bl HAL_RTC_MspDeInit
3204 .LVL288:
478:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
3205 .loc 1 478 3 view .LVU989
ARM GAS C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s page 106
478:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
3206 .loc 1 478 15 is_stmt 0 view .LVU990
3207 006a 0023 movs r3, #0
3208 006c 6374 strb r3, [r4, #17]
481:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
3209 .loc 1 481 3 is_stmt 1 view .LVU991
481:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c ****
3210 .loc 1 481 3 view .LVU992
3211 006e 2374 strb r3, [r4, #16]
483:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
3212 .loc 1 483 3 view .LVU993
483:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
3213 .loc 1 483 10 is_stmt 0 view .LVU994
3214 0070 D4E7 b .L224
3215 .LVL289:
3216 .L227:
416:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c **** }
3217 .loc 1 416 12 view .LVU995
3218 0072 0125 movs r5, #1
3219 0074 D2E7 b .L224
3220 .cfi_endproc
3221 .LFE66:
3223 .text
3224 .Letext0:
3225 .file 2 "c:\\users\\mike\\appdata\\roaming\\xpacks\\@gnu-mcu-eclipse\\arm-none-eabi-gcc\\8.2.1-1.7
3226 .file 3 "c:\\users\\mike\\appdata\\roaming\\xpacks\\@gnu-mcu-eclipse\\arm-none-eabi-gcc\\8.2.1-1.7
3227 .file 4 "Drivers/CMSIS/Include/core_cm3.h"
3228 .file 5 "Drivers/CMSIS/Device/ST/STM32F1xx/Include/system_stm32f1xx.h"
3229 .file 6 "Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f103xb.h"
3230 .file 7 "Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f1xx.h"
3231 .file 8 "Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_def.h"
3232 .file 9 "Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rtc.h"
3233 .file 10 "Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h"
3234 .file 11 "Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc_ex.h"
ARM GAS C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s page 107
DEFINED SYMBOLS
*ABS*:0000000000000000 stm32f1xx_hal_rtc.c
C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s:16 .text.RTC_ReadTimeCounter:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s:23 .text.RTC_ReadTimeCounter:0000000000000000 RTC_ReadTimeCounter
C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s:100 .text.RTC_ReadAlarmCounter:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s:106 .text.RTC_ReadAlarmCounter:0000000000000000 RTC_ReadAlarmCounter
C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s:136 .text.RTC_ByteToBcd2:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s:142 .text.RTC_ByteToBcd2:0000000000000000 RTC_ByteToBcd2
C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s:188 .text.RTC_Bcd2ToByte:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s:194 .text.RTC_Bcd2ToByte:0000000000000000 RTC_Bcd2ToByte
C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s:223 .text.RTC_IsLeapYear:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s:229 .text.RTC_IsLeapYear:0000000000000000 RTC_IsLeapYear
C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s:290 .text.RTC_IsLeapYear:000000000000003c $d
C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s:295 .text.RTC_WeekDayNum:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s:301 .text.RTC_WeekDayNum:0000000000000000 RTC_WeekDayNum
C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s:420 .text.RTC_WeekDayNum:0000000000000090 $d
C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s:427 .text.RTC_DateUpdate:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s:433 .text.RTC_DateUpdate:0000000000000000 RTC_DateUpdate
C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s:657 .text.RTC_EnterInitMode:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s:663 .text.RTC_EnterInitMode:0000000000000000 RTC_EnterInitMode
C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s:725 .text.RTC_ExitInitMode:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s:731 .text.RTC_ExitInitMode:0000000000000000 RTC_ExitInitMode
C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s:793 .text.RTC_WriteTimeCounter:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s:799 .text.RTC_WriteTimeCounter:0000000000000000 RTC_WriteTimeCounter
C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s:860 .text.RTC_WriteAlarmCounter:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s:866 .text.RTC_WriteAlarmCounter:0000000000000000 RTC_WriteAlarmCounter
C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s:927 .text.HAL_RTC_MspInit:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s:934 .text.HAL_RTC_MspInit:0000000000000000 HAL_RTC_MspInit
C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s:949 .text.HAL_RTC_MspDeInit:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s:956 .text.HAL_RTC_MspDeInit:0000000000000000 HAL_RTC_MspDeInit
C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s:971 .text.HAL_RTC_SetTime:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s:978 .text.HAL_RTC_SetTime:0000000000000000 HAL_RTC_SetTime
C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s:1178 .text.HAL_RTC_GetTime:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s:1185 .text.HAL_RTC_GetTime:0000000000000000 HAL_RTC_GetTime
C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s:1450 .text.HAL_RTC_GetTime:0000000000000108 $d
C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s:1460 .text.HAL_RTC_SetDate:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s:1467 .text.HAL_RTC_SetDate:0000000000000000 HAL_RTC_SetDate
C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s:1703 .text.HAL_RTC_SetDate:00000000000000c8 $d
C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s:1710 .text.HAL_RTC_GetDate:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s:1717 .text.HAL_RTC_GetDate:0000000000000000 HAL_RTC_GetDate
C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s:1838 .text.HAL_RTC_SetAlarm:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s:1845 .text.HAL_RTC_SetAlarm:0000000000000000 HAL_RTC_SetAlarm
C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s:2059 .text.HAL_RTC_SetAlarm_IT:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s:2066 .text.HAL_RTC_SetAlarm_IT:0000000000000000 HAL_RTC_SetAlarm_IT
C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s:2297 .text.HAL_RTC_SetAlarm_IT:00000000000000f4 $d
C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s:2302 .text.HAL_RTC_GetAlarm:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s:2309 .text.HAL_RTC_GetAlarm:0000000000000000 HAL_RTC_GetAlarm
C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s:2444 .text.HAL_RTC_GetAlarm:0000000000000074 $d
C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s:2451 .text.HAL_RTC_DeactivateAlarm:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s:2458 .text.HAL_RTC_DeactivateAlarm:0000000000000000 HAL_RTC_DeactivateAlarm
C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s:2591 .text.HAL_RTC_DeactivateAlarm:000000000000007c $d
C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s:2596 .text.HAL_RTC_AlarmAEventCallback:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s:2603 .text.HAL_RTC_AlarmAEventCallback:0000000000000000 HAL_RTC_AlarmAEventCallback
C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s:2618 .text.HAL_RTC_AlarmIRQHandler:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s:2625 .text.HAL_RTC_AlarmIRQHandler:0000000000000000 HAL_RTC_AlarmIRQHandler
C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s:2677 .text.HAL_RTC_AlarmIRQHandler:0000000000000034 $d
C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s:2682 .text.HAL_RTC_PollForAlarmAEvent:0000000000000000 $t
ARM GAS C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s page 108
C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s:2689 .text.HAL_RTC_PollForAlarmAEvent:0000000000000000 HAL_RTC_PollForAlarmAEvent
C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s:2772 .text.HAL_RTC_GetState:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s:2779 .text.HAL_RTC_GetState:0000000000000000 HAL_RTC_GetState
C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s:2797 .text.HAL_RTC_WaitForSynchro:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s:2804 .text.HAL_RTC_WaitForSynchro:0000000000000000 HAL_RTC_WaitForSynchro
C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s:2880 .text.HAL_RTC_Init:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s:2887 .text.HAL_RTC_Init:0000000000000000 HAL_RTC_Init
C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s:3090 .text.HAL_RTC_Init:00000000000000c0 $d
C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s:3095 .text.HAL_RTC_DeInit:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccpf01Ms.s:3102 .text.HAL_RTC_DeInit:0000000000000000 HAL_RTC_DeInit
UNDEFINED SYMBOLS
HAL_GetTick
HAL_RCCEx_GetPeriphCLKFreq