Files
stm32f4_makefile/build/stm32f4xx_hal_rtc.lst
2025-06-25 11:12:35 +08:00

5969 lines
384 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

ARM GAS /tmp/ccCGp3Cm.s page 1
1 .cpu cortex-m4
2 .arch armv7e-m
3 .fpu fpv4-sp-d16
4 .eabi_attribute 27, 1
5 .eabi_attribute 28, 1
6 .eabi_attribute 20, 1
7 .eabi_attribute 21, 1
8 .eabi_attribute 23, 3
9 .eabi_attribute 24, 1
10 .eabi_attribute 25, 1
11 .eabi_attribute 26, 1
12 .eabi_attribute 30, 1
13 .eabi_attribute 34, 1
14 .eabi_attribute 18, 4
15 .file "stm32f4xx_hal_rtc.c"
16 .text
17 .Ltext0:
18 .cfi_sections .debug_frame
19 .section .text.HAL_RTC_MspInit,"ax",%progbits
20 .align 1
21 .weak HAL_RTC_MspInit
22 .syntax unified
23 .thumb
24 .thumb_func
26 HAL_RTC_MspInit:
27 .LVL0:
28 .LFB136:
29 .file 1 "Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c"
1:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /**
2:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ******************************************************************************
3:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @file stm32f4xx_hal_rtc.c
4:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @author MCD Application Team
5:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @brief RTC HAL module driver.
6:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * This file provides firmware functions to manage the following
7:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * functionalities of the Real-Time Clock (RTC) peripheral:
8:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * + Initialization and de-initialization functions
9:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * + Calendar (Time and Date) configuration functions
10:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * + Alarms (Alarm A and Alarm B) configuration functions
11:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * + Peripheral Control functions
12:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * + Peripheral State functions
13:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** *
14:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ******************************************************************************
15:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @attention
16:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** *
17:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * Copyright (c) 2016 STMicroelectronics.
18:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * All rights reserved.
19:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** *
20:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * This software is licensed under terms that can be found in the LICENSE file
21:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * in the root directory of this software component.
22:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * If no LICENSE file comes with this software, it is provided AS-IS.
23:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** *
24:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ******************************************************************************
25:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** @verbatim
26:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ==============================================================================
27:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ##### RTC and Backup Domain Operating Condition #####
28:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ==============================================================================
29:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** [..] The real-time clock (RTC), the RTC backup registers, and the backup
ARM GAS /tmp/ccCGp3Cm.s page 2
30:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** SRAM (BKP SRAM) can be powered from the VBAT voltage when the main
31:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** VDD supply is powered off.
32:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** To retain the content of the RTC backup registers, BKP SRAM, and supply
33:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** the RTC when VDD is turned off, VBAT pin can be connected to an optional
34:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** standby voltage supplied by a battery or by another source.
35:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
36:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** [..] To allow the RTC operating even when the main digital supply (VDD) is turned
37:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** off, the VBAT pin powers the following blocks:
38:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** (#) The RTC
39:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** (#) The LSE oscillator
40:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** (#) The BKP SRAM when the low power backup regulator is enabled
41:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** (#) PC13 to PC15 I/Os, plus PI8 I/O (when available)
42:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
43:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** [..] When the backup domain is supplied by VDD (analog switch connected to VDD),
44:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** the following pins are available:
45:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** (#) PC14 and PC15 can be used as either GPIO or LSE pins
46:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** (#) PC13 can be used as a GPIO or as the RTC_AF1 pin
47:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** (#) PI8 can be used as a GPIO or as the RTC_AF2 pin
48:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
49:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** [..] When the backup domain is supplied by VBAT (analog switch connected to VBAT
50:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** because VDD is not present), the following pins are available:
51:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** (#) PC14 and PC15 can be used as LSE pins only
52:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** (#) PC13 can be used as the RTC_AF1 pin
53:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** (#) PI8 can be used as the RTC_AF2 pin
54:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
55:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ##### Backup Domain Reset #####
56:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ==================================================================
57:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** [..] The backup domain reset sets all RTC registers and the RCC_BDCR register
58:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** to their reset values.
59:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** The BKP SRAM is not affected by this reset. The only way to reset the BKP
60:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** SRAM is through the Flash interface by requesting a protection level
61:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** change from 1 to 0.
62:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** [..] A backup domain reset is generated when one of the following events occurs:
63:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** (#) Software reset, triggered by setting the BDRST bit in the
64:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** RCC Backup domain control register (RCC_BDCR).
65:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** (#) VDD or VBAT power on, if both supplies have previously been powered off.
66:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
67:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ##### Backup Domain Access #####
68:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ==================================================================
69:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** [..] After reset, the backup domain (RTC registers, RTC backup data registers
70:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** and BKP SRAM) is protected against possible unwanted write accesses.
71:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** [..] To enable access to the RTC Domain and RTC registers, proceed as follows:
72:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** (+) Enable the Power Controller (PWR) APB1 interface clock using the
73:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** __HAL_RCC_PWR_CLK_ENABLE() macro.
74:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** (+) Enable access to RTC domain using the HAL_PWR_EnableBkUpAccess() function.
75:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** (+) Select the RTC clock source using the __HAL_RCC_RTC_CONFIG() macro.
76:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** (+) Enable RTC Clock using the __HAL_RCC_RTC_ENABLE() macro.
77:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
78:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ==============================================================================
79:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ##### How to use this driver #####
80:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ==============================================================================
81:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** [..]
82:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** (+) Enable the RTC domain access (see description in the section above).
83:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** (+) Configure the RTC Prescaler (Asynchronous and Synchronous) and RTC hour
84:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** format using the HAL_RTC_Init() function.
85:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
86:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** *** Time and Date configuration ***
ARM GAS /tmp/ccCGp3Cm.s page 3
87:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ===================================
88:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** [..]
89:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** (+) To configure the RTC Calendar (Time and Date) use the HAL_RTC_SetTime()
90:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** and HAL_RTC_SetDate() functions.
91:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** (+) To read the RTC Calendar, use the HAL_RTC_GetTime() and HAL_RTC_GetDate()
92:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** functions.
93:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** (+) To manage the RTC summer or winter time change, use the following
94:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** functions:
95:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** (++) HAL_RTC_DST_Add1Hour() or HAL_RTC_DST_Sub1Hour to add or subtract
96:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** 1 hour from the calendar time.
97:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** (++) HAL_RTC_DST_SetStoreOperation() or HAL_RTC_DST_ClearStoreOperation
98:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** to memorize whether the time change has been performed or not.
99:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
100:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** *** Alarm configuration ***
101:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ===========================
102:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** [..]
103:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** (+) To configure the RTC Alarm use the HAL_RTC_SetAlarm() function.
104:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** You can also configure the RTC Alarm with interrupt mode using the
105:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** HAL_RTC_SetAlarm_IT() function.
106:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** (+) To read the RTC Alarm, use the HAL_RTC_GetAlarm() function.
107:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
108:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ##### RTC and low power modes #####
109:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ==================================================================
110:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** [..] The MCU can be woken up from a low power mode by an RTC alternate
111:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** function.
112:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** [..] The RTC alternate functions are the RTC alarms (Alarm A and Alarm B),
113:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** RTC wakeup, RTC tamper event detection and RTC timestamp event detection.
114:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** These RTC alternate functions can wake up the system from the Stop and
115:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** Standby low power modes.
116:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** [..] The system can also wake up from low power modes without depending
117:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** on an external interrupt (Auto-wakeup mode), by using the RTC alarm
118:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** or the RTC wakeup events.
119:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** [..] The RTC provides a programmable time base for waking up from the
120:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** Stop or Standby mode at regular intervals.
121:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** Wakeup from STOP and STANDBY modes is possible only when the RTC clock
122:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** source is LSE or LSI.
123:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
124:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** *** Callback registration ***
125:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** =============================================
126:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** [..]
127:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** When the compilation define USE_HAL_RTC_REGISTER_CALLBACKS is set to 0 or
128:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** not defined, the callback registration feature is not available and all
129:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** callbacks are set to the corresponding weak functions.
130:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** This is the recommended configuration in order to optimize memory/code
131:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** consumption footprint/performances.
132:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** [..]
133:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** The compilation define USE_HAL_RTC_REGISTER_CALLBACKS when set to 1
134:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** allows the user to configure dynamically the driver callbacks.
135:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** Use Function HAL_RTC_RegisterCallback() to register an interrupt callback.
136:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** [..]
137:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** Function HAL_RTC_RegisterCallback() allows to register following callbacks:
138:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** (+) AlarmAEventCallback : RTC Alarm A Event callback.
139:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** (+) AlarmBEventCallback : RTC Alarm B Event callback.
140:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** (+) TimeStampEventCallback : RTC Timestamp Event callback.
141:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** (+) WakeUpTimerEventCallback : RTC WakeUpTimer Event callback.
142:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** (+) Tamper1EventCallback : RTC Tamper 1 Event callback.
143:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** (+) Tamper2EventCallback : RTC Tamper 2 Event callback. (*)
ARM GAS /tmp/ccCGp3Cm.s page 4
144:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** (+) MspInitCallback : RTC MspInit callback.
145:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** (+) MspDeInitCallback : RTC MspDeInit callback.
146:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
147:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** (*) value not applicable to all devices.
148:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** [..]
149:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** This function takes as parameters the HAL peripheral handle, the Callback ID
150:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** and a pointer to the user callback function.
151:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** [..]
152:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** Use function HAL_RTC_UnRegisterCallback() to reset a callback to the default
153:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** weak function.
154:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** HAL_RTC_UnRegisterCallback() takes as parameters the HAL peripheral handle,
155:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** and the Callback ID.
156:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** This function allows to reset following callbacks:
157:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** (+) AlarmAEventCallback : RTC Alarm A Event callback.
158:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** (+) AlarmBEventCallback : RTC Alarm B Event callback.
159:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** (+) TimeStampEventCallback : RTC Timestamp Event callback.
160:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** (+) WakeUpTimerEventCallback : RTC WakeUpTimer Event callback.
161:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** (+) Tamper1EventCallback : RTC Tamper 1 Event callback.
162:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** (+) Tamper2EventCallback : RTC Tamper 2 Event callback. (*)
163:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** (+) MspInitCallback : RTC MspInit callback.
164:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** (+) MspDeInitCallback : RTC MspDeInit callback.
165:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
166:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** (*) value not applicable to all devices.
167:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** [..]
168:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** By default, after the HAL_RTC_Init() and when the state is HAL_RTC_STATE_RESET,
169:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** all callbacks are set to the corresponding weak functions:
170:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** examples AlarmAEventCallback(), TimeStampEventCallback().
171:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** Exception done for MspInit() and MspDeInit() callbacks that are reset to the
172:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** legacy weak function in the HAL_RTC_Init()/HAL_RTC_DeInit() only when these
173:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** callbacks are null (not registered beforehand).
174:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** If not, MspInit() or MspDeInit() are not null, HAL_RTC_Init()/HAL_RTC_DeInit()
175:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** keep and use the user MspInit()/MspDeInit() callbacks (registered beforehand).
176:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** [..]
177:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** Callbacks can be registered/unregistered in HAL_RTC_STATE_READY state only.
178:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** Exception done for MspInit() and MspDeInit() that can be registered/unregistered
179:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** in HAL_RTC_STATE_READY or HAL_RTC_STATE_RESET state.
180:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** Thus registered (user) MspInit()/MspDeInit() callbacks can be used during the
181:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** Init/DeInit.
182:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** In that case first register the MspInit()/MspDeInit() user callbacks using
183:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** HAL_RTC_RegisterCallback() before calling HAL_RTC_DeInit() or HAL_RTC_Init()
184:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** functions.
185:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
186:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** @endverbatim
187:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ******************************************************************************
188:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** */
189:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
190:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Includes ------------------------------------------------------------------*/
191:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** #include "stm32f4xx_hal.h"
192:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
193:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /** @addtogroup STM32F4xx_HAL_Driver
194:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @{
195:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** */
196:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
197:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /** @defgroup RTC RTC
198:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @brief RTC HAL module driver
199:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @{
200:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** */
ARM GAS /tmp/ccCGp3Cm.s page 5
201:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
202:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** #ifdef HAL_RTC_MODULE_ENABLED
203:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
204:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Private typedef -----------------------------------------------------------*/
205:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Private define ------------------------------------------------------------*/
206:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Private macro -------------------------------------------------------------*/
207:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Private variables ---------------------------------------------------------*/
208:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Private function prototypes -----------------------------------------------*/
209:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Exported functions --------------------------------------------------------*/
210:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
211:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /** @defgroup RTC_Exported_Functions RTC Exported Functions
212:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @{
213:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** */
214:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
215:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /** @defgroup RTC_Exported_Functions_Group1 Initialization and de-initialization functions
216:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @brief Initialization and Configuration functions
217:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** *
218:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** @verbatim
219:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ===============================================================================
220:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ##### Initialization and de-initialization functions #####
221:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ===============================================================================
222:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** [..] This section provides functions allowing to initialize and configure the
223:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** RTC Prescaler (Synchronous and Asynchronous), RTC Hour format, disable
224:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** RTC registers Write protection, enter and exit the RTC initialization mode,
225:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** RTC registers synchronization check and reference clock detection enable.
226:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** (#) The RTC Prescaler is programmed to generate the RTC 1Hz time base.
227:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** It is split into 2 programmable prescalers to minimize power consumption.
228:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** (++) A 7-bit asynchronous prescaler and a 15-bit synchronous prescaler.
229:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** (++) When both prescalers are used, it is recommended to configure the
230:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** asynchronous prescaler to a high value to minimize power consumption.
231:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** (#) All RTC registers are Write protected. Writing to the RTC registers
232:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** is enabled by writing a key into the Write Protection register, RTC_WPR.
233:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** (#) To configure the RTC Calendar, user application should enter
234:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** initialization mode. In this mode, the calendar counter is stopped
235:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** and its value can be updated. When the initialization sequence is
236:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** complete, the calendar restarts counting after 4 RTCCLK cycles.
237:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** (#) To read the calendar through the shadow registers after Calendar
238:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** initialization, calendar update or after wakeup from low power modes
239:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** the software must first clear the RSF flag. The software must then
240:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** wait until it is set again before reading the calendar, which means
241:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** that the calendar registers have been correctly copied into the
242:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** RTC_TR and RTC_DR shadow registers. The HAL_RTC_WaitForSynchro() function
243:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** implements the above software sequence (RSF clear and RSF check).
244:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
245:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** @endverbatim
246:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @{
247:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** */
248:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
249:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /**
250:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @brief Initializes the RTC peripheral
251:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @param hrtc pointer to a RTC_HandleTypeDef structure that contains
252:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * the configuration information for RTC.
253:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @retval HAL status
254:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** */
255:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** HAL_StatusTypeDef HAL_RTC_Init(RTC_HandleTypeDef *hrtc)
256:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
257:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** HAL_StatusTypeDef status;
ARM GAS /tmp/ccCGp3Cm.s page 6
258:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
259:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Check RTC handler validity */
260:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** if (hrtc == NULL)
261:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
262:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** return HAL_ERROR;
263:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
264:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
265:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Check the parameters */
266:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** assert_param(IS_RTC_ALL_INSTANCE(hrtc->Instance));
267:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** assert_param(IS_RTC_HOUR_FORMAT(hrtc->Init.HourFormat));
268:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** assert_param(IS_RTC_ASYNCH_PREDIV(hrtc->Init.AsynchPrediv));
269:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** assert_param(IS_RTC_SYNCH_PREDIV(hrtc->Init.SynchPrediv));
270:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** assert_param(IS_RTC_OUTPUT(hrtc->Init.OutPut));
271:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** assert_param(IS_RTC_OUTPUT_POL(hrtc->Init.OutPutPolarity));
272:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** assert_param(IS_RTC_OUTPUT_TYPE(hrtc->Init.OutPutType));
273:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
274:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** #if (USE_HAL_RTC_REGISTER_CALLBACKS == 1)
275:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** if (hrtc->State == HAL_RTC_STATE_RESET)
276:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
277:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Allocate lock resource and initialize it */
278:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->Lock = HAL_UNLOCKED;
279:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
280:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->AlarmAEventCallback = HAL_RTC_AlarmAEventCallback; /* Legacy weak AlarmA
281:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->AlarmBEventCallback = HAL_RTCEx_AlarmBEventCallback; /* Legacy weak AlarmB
282:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->TimeStampEventCallback = HAL_RTCEx_TimeStampEventCallback; /* Legacy weak TimeSt
283:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->WakeUpTimerEventCallback = HAL_RTCEx_WakeUpTimerEventCallback; /* Legacy weak WakeUp
284:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->Tamper1EventCallback = HAL_RTCEx_Tamper1EventCallback; /* Legacy weak Tamper
285:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** #if defined(RTC_TAMPER2_SUPPORT)
286:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->Tamper2EventCallback = HAL_RTCEx_Tamper2EventCallback; /* Legacy weak Tamper
287:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** #endif /* RTC_TAMPER2_SUPPORT */
288:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
289:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** if (hrtc->MspInitCallback == NULL)
290:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
291:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->MspInitCallback = HAL_RTC_MspInit;
292:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
293:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Init the low level hardware */
294:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->MspInitCallback(hrtc);
295:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
296:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** if (hrtc->MspDeInitCallback == NULL)
297:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
298:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->MspDeInitCallback = HAL_RTC_MspDeInit;
299:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
300:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
301:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** #else /* USE_HAL_RTC_REGISTER_CALLBACKS */
302:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** if (hrtc->State == HAL_RTC_STATE_RESET)
303:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
304:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Allocate lock resource and initialize it */
305:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->Lock = HAL_UNLOCKED;
306:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
307:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Initialize RTC MSP */
308:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** HAL_RTC_MspInit(hrtc);
309:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
310:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** #endif /* USE_HAL_RTC_REGISTER_CALLBACKS */
311:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
312:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Set RTC state */
313:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->State = HAL_RTC_STATE_BUSY;
314:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
ARM GAS /tmp/ccCGp3Cm.s page 7
315:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Check whether the calendar needs to be initialized */
316:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** if (__HAL_RTC_IS_CALENDAR_INITIALIZED(hrtc) == 0U)
317:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
318:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Disable the write protection for RTC registers */
319:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** __HAL_RTC_WRITEPROTECTION_DISABLE(hrtc);
320:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
321:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Enter Initialization mode */
322:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** status = RTC_EnterInitMode(hrtc);
323:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
324:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** if (status == HAL_OK)
325:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
326:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Clear RTC_CR FMT, OSEL and POL Bits */
327:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->Instance->CR &= ((uint32_t)~(RTC_CR_FMT | RTC_CR_OSEL | RTC_CR_POL));
328:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Set RTC_CR register */
329:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->Instance->CR |= (uint32_t)(hrtc->Init.HourFormat | hrtc->Init.OutPut | hrtc->Init.OutPu
330:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
331:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Configure the RTC PRER */
332:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->Instance->PRER = (uint32_t)(hrtc->Init.SynchPrediv);
333:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->Instance->PRER |= (uint32_t)(hrtc->Init.AsynchPrediv << RTC_PRER_PREDIV_A_Pos);
334:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
335:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Exit Initialization mode */
336:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** status = RTC_ExitInitMode(hrtc);
337:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
338:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
339:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** if (status == HAL_OK)
340:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
341:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->Instance->TAFCR &= (uint32_t)~RTC_OUTPUT_TYPE_PUSHPULL;
342:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->Instance->TAFCR |= (uint32_t)(hrtc->Init.OutPutType);
343:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
344:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
345:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Enable the write protection for RTC registers */
346:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc);
347:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
348:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** else
349:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
350:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* The calendar is already initialized */
351:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** status = HAL_OK;
352:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
353:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
354:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** if (status == HAL_OK)
355:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
356:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->State = HAL_RTC_STATE_READY;
357:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
358:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
359:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** return status;
360:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
361:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
362:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /**
363:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @brief DeInitializes the RTC peripheral
364:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @param hrtc pointer to a RTC_HandleTypeDef structure that contains
365:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * the configuration information for RTC.
366:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @note This function does not reset the RTC Backup Data registers.
367:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @retval HAL status
368:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** */
369:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** HAL_StatusTypeDef HAL_RTC_DeInit(RTC_HandleTypeDef *hrtc)
370:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
371:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** HAL_StatusTypeDef status;
ARM GAS /tmp/ccCGp3Cm.s page 8
372:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
373:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Check the parameters */
374:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** assert_param(IS_RTC_ALL_INSTANCE(hrtc->Instance));
375:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
376:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Set RTC state */
377:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->State = HAL_RTC_STATE_BUSY;
378:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
379:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Disable the write protection for RTC registers */
380:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** __HAL_RTC_WRITEPROTECTION_DISABLE(hrtc);
381:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
382:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Enter Initialization mode */
383:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** status = RTC_EnterInitMode(hrtc);
384:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
385:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** if (status == HAL_OK)
386:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
387:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Reset RTC registers */
388:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->Instance->TR = 0x00000000U;
389:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->Instance->DR = (RTC_DR_WDU_0 | RTC_DR_MU_0 | RTC_DR_DU_0);
390:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->Instance->CR = 0x00000000U;
391:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->Instance->WUTR = RTC_WUTR_WUT;
392:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->Instance->PRER = (uint32_t)(RTC_PRER_PREDIV_A | 0x000000FFU);
393:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->Instance->CALIBR = 0x00000000U;
394:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->Instance->ALRMAR = 0x00000000U;
395:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->Instance->ALRMBR = 0x00000000U;
396:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->Instance->CALR = 0x00000000U;
397:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->Instance->SHIFTR = 0x00000000U;
398:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->Instance->ALRMASSR = 0x00000000U;
399:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->Instance->ALRMBSSR = 0x00000000U;
400:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
401:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Exit Initialization mode */
402:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** status = RTC_ExitInitMode(hrtc);
403:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
404:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
405:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Enable the write protection for RTC registers */
406:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc);
407:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
408:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** if (status == HAL_OK)
409:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
410:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Reset Tamper and alternate functions configuration register */
411:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->Instance->TAFCR = 0x00000000U;
412:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
413:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** #if (USE_HAL_RTC_REGISTER_CALLBACKS == 1)
414:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** if (hrtc->MspDeInitCallback == NULL)
415:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
416:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->MspDeInitCallback = HAL_RTC_MspDeInit;
417:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
418:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
419:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* DeInit the low level hardware: CLOCK, NVIC.*/
420:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->MspDeInitCallback(hrtc);
421:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** #else /* USE_HAL_RTC_REGISTER_CALLBACKS */
422:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* De-Initialize RTC MSP */
423:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** HAL_RTC_MspDeInit(hrtc);
424:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** #endif /* USE_HAL_RTC_REGISTER_CALLBACKS */
425:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
426:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->State = HAL_RTC_STATE_RESET;
427:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
428:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
ARM GAS /tmp/ccCGp3Cm.s page 9
429:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Release Lock */
430:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** __HAL_UNLOCK(hrtc);
431:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
432:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** return status;
433:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
434:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
435:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** #if (USE_HAL_RTC_REGISTER_CALLBACKS == 1)
436:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /**
437:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @brief Registers a User RTC Callback
438:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * To be used instead of the weak predefined callback
439:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @param hrtc pointer to a RTC_HandleTypeDef structure that contains
440:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * the configuration information for RTC.
441:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @param CallbackID ID of the callback to be registered
442:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * This parameter can be one of the following values:
443:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @arg @ref HAL_RTC_ALARM_A_EVENT_CB_ID Alarm A Event Callback ID
444:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @arg @ref HAL_RTC_ALARM_B_EVENT_CB_ID Alarm B Event Callback ID
445:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @arg @ref HAL_RTC_TIMESTAMP_EVENT_CB_ID Timestamp Event Callback ID
446:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @arg @ref HAL_RTC_WAKEUPTIMER_EVENT_CB_ID Wakeup Timer Event Callback ID
447:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @arg @ref HAL_RTC_TAMPER1_EVENT_CB_ID Tamper 1 Event Callback ID
448:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @arg @ref HAL_RTC_TAMPER2_EVENT_CB_ID Tamper 2 Event Callback ID (*)
449:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @arg @ref HAL_RTC_MSPINIT_CB_ID MSP Init callback ID
450:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @arg @ref HAL_RTC_MSPDEINIT_CB_ID MSP DeInit callback ID
451:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** *
452:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * (*) value not applicable to all devices.
453:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @param pCallback pointer to the Callback function
454:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @retval HAL status
455:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** */
456:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** HAL_StatusTypeDef HAL_RTC_RegisterCallback(RTC_HandleTypeDef *hrtc, HAL_RTC_CallbackIDTypeDef Callb
457:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
458:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** HAL_StatusTypeDef status = HAL_OK;
459:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
460:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** if (pCallback == NULL)
461:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
462:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** return HAL_ERROR;
463:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
464:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
465:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Process locked */
466:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** __HAL_LOCK(hrtc);
467:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
468:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** if (HAL_RTC_STATE_READY == hrtc->State)
469:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
470:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** switch (CallbackID)
471:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
472:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** case HAL_RTC_ALARM_A_EVENT_CB_ID :
473:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->AlarmAEventCallback = pCallback;
474:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** break;
475:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
476:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** case HAL_RTC_ALARM_B_EVENT_CB_ID :
477:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->AlarmBEventCallback = pCallback;
478:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** break;
479:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
480:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** case HAL_RTC_TIMESTAMP_EVENT_CB_ID :
481:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->TimeStampEventCallback = pCallback;
482:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** break;
483:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
484:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** case HAL_RTC_WAKEUPTIMER_EVENT_CB_ID :
485:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->WakeUpTimerEventCallback = pCallback;
ARM GAS /tmp/ccCGp3Cm.s page 10
486:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** break;
487:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
488:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** case HAL_RTC_TAMPER1_EVENT_CB_ID :
489:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->Tamper1EventCallback = pCallback;
490:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** break;
491:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
492:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** #if defined(RTC_TAMPER2_SUPPORT)
493:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** case HAL_RTC_TAMPER2_EVENT_CB_ID :
494:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->Tamper2EventCallback = pCallback;
495:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** break;
496:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** #endif /* RTC_TAMPER2_SUPPORT */
497:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
498:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** case HAL_RTC_MSPINIT_CB_ID :
499:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->MspInitCallback = pCallback;
500:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** break;
501:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
502:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** case HAL_RTC_MSPDEINIT_CB_ID :
503:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->MspDeInitCallback = pCallback;
504:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** break;
505:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
506:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** default :
507:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Return error status */
508:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** status = HAL_ERROR;
509:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** break;
510:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
511:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
512:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** else if (HAL_RTC_STATE_RESET == hrtc->State)
513:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
514:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** switch (CallbackID)
515:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
516:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** case HAL_RTC_MSPINIT_CB_ID :
517:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->MspInitCallback = pCallback;
518:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** break;
519:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
520:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** case HAL_RTC_MSPDEINIT_CB_ID :
521:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->MspDeInitCallback = pCallback;
522:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** break;
523:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
524:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** default :
525:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Return error status */
526:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** status = HAL_ERROR;
527:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** break;
528:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
529:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
530:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** else
531:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
532:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Return error status */
533:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** status = HAL_ERROR;
534:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
535:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
536:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Release Lock */
537:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** __HAL_UNLOCK(hrtc);
538:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
539:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** return status;
540:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
541:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
542:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /**
ARM GAS /tmp/ccCGp3Cm.s page 11
543:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @brief Unregisters an RTC Callback
544:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * RTC callback is redirected to the weak predefined callback
545:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @param hrtc pointer to a RTC_HandleTypeDef structure that contains
546:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * the configuration information for RTC.
547:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @param CallbackID ID of the callback to be unregistered
548:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * This parameter can be one of the following values:
549:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @arg @ref HAL_RTC_ALARM_A_EVENT_CB_ID Alarm A Event Callback ID
550:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @arg @ref HAL_RTC_ALARM_B_EVENT_CB_ID Alarm B Event Callback ID
551:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @arg @ref HAL_RTC_TIMESTAMP_EVENT_CB_ID Timestamp Event Callback ID
552:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @arg @ref HAL_RTC_WAKEUPTIMER_EVENT_CB_ID Wakeup Timer Event Callback ID
553:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @arg @ref HAL_RTC_TAMPER1_EVENT_CB_ID Tamper 1 Event Callback ID
554:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @arg @ref HAL_RTC_TAMPER2_EVENT_CB_ID Tamper 2 Event Callback ID (*)
555:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @arg @ref HAL_RTC_MSPINIT_CB_ID MSP Init callback ID
556:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @arg @ref HAL_RTC_MSPDEINIT_CB_ID MSP DeInit callback ID
557:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** *
558:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * (*) value not applicable to all devices.
559:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @retval HAL status
560:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** */
561:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** HAL_StatusTypeDef HAL_RTC_UnRegisterCallback(RTC_HandleTypeDef *hrtc, HAL_RTC_CallbackIDTypeDef Cal
562:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
563:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** HAL_StatusTypeDef status = HAL_OK;
564:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
565:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Process locked */
566:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** __HAL_LOCK(hrtc);
567:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
568:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** if (HAL_RTC_STATE_READY == hrtc->State)
569:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
570:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** switch (CallbackID)
571:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
572:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** case HAL_RTC_ALARM_A_EVENT_CB_ID :
573:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->AlarmAEventCallback = HAL_RTC_AlarmAEventCallback; /* Legacy weak AlarmAE
574:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** break;
575:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
576:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** case HAL_RTC_ALARM_B_EVENT_CB_ID :
577:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->AlarmBEventCallback = HAL_RTCEx_AlarmBEventCallback; /* Legacy weak AlarmBE
578:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** break;
579:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
580:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** case HAL_RTC_TIMESTAMP_EVENT_CB_ID :
581:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->TimeStampEventCallback = HAL_RTCEx_TimeStampEventCallback; /* Legacy weak TimeSta
582:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** break;
583:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
584:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** case HAL_RTC_WAKEUPTIMER_EVENT_CB_ID :
585:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->WakeUpTimerEventCallback = HAL_RTCEx_WakeUpTimerEventCallback; /* Legacy weak WakeUpT
586:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** break;
587:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
588:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** case HAL_RTC_TAMPER1_EVENT_CB_ID :
589:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->Tamper1EventCallback = HAL_RTCEx_Tamper1EventCallback; /* Legacy weak Tamper1
590:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** break;
591:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
592:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** #if defined(RTC_TAMPER2_SUPPORT)
593:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** case HAL_RTC_TAMPER2_EVENT_CB_ID :
594:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->Tamper2EventCallback = HAL_RTCEx_Tamper2EventCallback; /* Legacy weak Tamper2
595:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** break;
596:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** #endif /* RTC_TAMPER2_SUPPORT */
597:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
598:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** case HAL_RTC_MSPINIT_CB_ID :
599:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->MspInitCallback = HAL_RTC_MspInit;
ARM GAS /tmp/ccCGp3Cm.s page 12
600:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** break;
601:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
602:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** case HAL_RTC_MSPDEINIT_CB_ID :
603:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->MspDeInitCallback = HAL_RTC_MspDeInit;
604:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** break;
605:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
606:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** default :
607:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Return error status */
608:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** status = HAL_ERROR;
609:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** break;
610:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
611:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
612:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** else if (HAL_RTC_STATE_RESET == hrtc->State)
613:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
614:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** switch (CallbackID)
615:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
616:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** case HAL_RTC_MSPINIT_CB_ID :
617:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->MspInitCallback = HAL_RTC_MspInit;
618:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** break;
619:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
620:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** case HAL_RTC_MSPDEINIT_CB_ID :
621:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->MspDeInitCallback = HAL_RTC_MspDeInit;
622:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** break;
623:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
624:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** default :
625:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Return error status */
626:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** status = HAL_ERROR;
627:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** break;
628:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
629:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
630:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** else
631:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
632:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Return error status */
633:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** status = HAL_ERROR;
634:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
635:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
636:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Release Lock */
637:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** __HAL_UNLOCK(hrtc);
638:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
639:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** return status;
640:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
641:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** #endif /* USE_HAL_RTC_REGISTER_CALLBACKS */
642:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
643:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /**
644:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @brief Initializes the RTC MSP.
645:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @param hrtc pointer to a RTC_HandleTypeDef structure that contains
646:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * the configuration information for RTC.
647:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @retval None
648:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** */
649:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** __weak void HAL_RTC_MspInit(RTC_HandleTypeDef *hrtc)
650:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
30 .loc 1 650 1 view -0
31 .cfi_startproc
32 @ args = 0, pretend = 0, frame = 0
33 @ frame_needed = 0, uses_anonymous_args = 0
34 @ link register save eliminated.
651:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Prevent unused argument(s) compilation warning */
ARM GAS /tmp/ccCGp3Cm.s page 13
652:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** UNUSED(hrtc);
35 .loc 1 652 3 view .LVU1
653:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
654:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* NOTE: This function should not be modified, when the callback is needed,
655:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** the HAL_RTC_MspInit could be implemented in the user file
656:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** */
657:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
36 .loc 1 657 1 is_stmt 0 view .LVU2
37 0000 7047 bx lr
38 .cfi_endproc
39 .LFE136:
41 .section .text.HAL_RTC_MspDeInit,"ax",%progbits
42 .align 1
43 .weak HAL_RTC_MspDeInit
44 .syntax unified
45 .thumb
46 .thumb_func
48 HAL_RTC_MspDeInit:
49 .LVL1:
50 .LFB137:
658:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
659:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /**
660:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @brief DeInitializes the RTC MSP.
661:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @param hrtc pointer to a RTC_HandleTypeDef structure that contains
662:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * the configuration information for RTC.
663:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @retval None
664:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** */
665:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** __weak void HAL_RTC_MspDeInit(RTC_HandleTypeDef *hrtc)
666:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
51 .loc 1 666 1 is_stmt 1 view -0
52 .cfi_startproc
53 @ args = 0, pretend = 0, frame = 0
54 @ frame_needed = 0, uses_anonymous_args = 0
55 @ link register save eliminated.
667:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Prevent unused argument(s) compilation warning */
668:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** UNUSED(hrtc);
56 .loc 1 668 3 view .LVU4
669:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
670:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* NOTE: This function should not be modified, when the callback is needed,
671:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** the HAL_RTC_MspDeInit could be implemented in the user file
672:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** */
673:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
57 .loc 1 673 1 is_stmt 0 view .LVU5
58 0000 7047 bx lr
59 .cfi_endproc
60 .LFE137:
62 .section .text.HAL_RTC_DeactivateAlarm,"ax",%progbits
63 .align 1
64 .global HAL_RTC_DeactivateAlarm
65 .syntax unified
66 .thumb
67 .thumb_func
69 HAL_RTC_DeactivateAlarm:
70 .LVL2:
71 .LFB144:
674:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
675:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /**
ARM GAS /tmp/ccCGp3Cm.s page 14
676:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @}
677:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** */
678:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
679:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /** @defgroup RTC_Exported_Functions_Group2 RTC Time and Date functions
680:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @brief RTC Time and Date functions
681:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** *
682:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** @verbatim
683:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ===============================================================================
684:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ##### RTC Time and Date functions #####
685:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ===============================================================================
686:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
687:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** [..] This section provides functions allowing to configure Time and Date features
688:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
689:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** @endverbatim
690:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @{
691:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** */
692:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
693:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /**
694:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @brief Sets RTC current time.
695:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @param hrtc pointer to a RTC_HandleTypeDef structure that contains
696:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * the configuration information for RTC.
697:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @param sTime Pointer to Time structure
698:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @note DayLightSaving and StoreOperation interfaces are deprecated.
699:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * To manage Daylight Saving Time, please use HAL_RTC_DST_xxx functions.
700:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @param Format Specifies the format of the entered parameters.
701:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * This parameter can be one of the following values:
702:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @arg RTC_FORMAT_BIN: Binary data format
703:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @arg RTC_FORMAT_BCD: BCD data format
704:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @retval HAL status
705:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** */
706:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** HAL_StatusTypeDef HAL_RTC_SetTime(RTC_HandleTypeDef *hrtc, RTC_TimeTypeDef *sTime, uint32_t Format)
707:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
708:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** uint32_t tmpreg = 0U;
709:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** HAL_StatusTypeDef status;
710:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
711:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Check the parameters */
712:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** assert_param(IS_RTC_FORMAT(Format));
713:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** assert_param(IS_RTC_DAYLIGHT_SAVING(sTime->DayLightSaving));
714:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** assert_param(IS_RTC_STORE_OPERATION(sTime->StoreOperation));
715:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
716:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Process Locked */
717:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** __HAL_LOCK(hrtc);
718:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
719:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->State = HAL_RTC_STATE_BUSY;
720:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
721:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** if (Format == RTC_FORMAT_BIN)
722:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
723:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** if ((hrtc->Instance->CR & RTC_CR_FMT) != 0U)
724:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
725:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** assert_param(IS_RTC_HOUR12(sTime->Hours));
726:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** assert_param(IS_RTC_HOURFORMAT12(sTime->TimeFormat));
727:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
728:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** else
729:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
730:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** sTime->TimeFormat = 0x00U;
731:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** assert_param(IS_RTC_HOUR24(sTime->Hours));
732:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
ARM GAS /tmp/ccCGp3Cm.s page 15
733:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** assert_param(IS_RTC_MINUTES(sTime->Minutes));
734:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** assert_param(IS_RTC_SECONDS(sTime->Seconds));
735:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
736:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** tmpreg = (uint32_t)(( (uint32_t)RTC_ByteToBcd2(sTime->Hours) << RTC_TR_HU_Pos) | \
737:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ( (uint32_t)RTC_ByteToBcd2(sTime->Minutes) << RTC_TR_MNU_Pos) | \
738:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ( (uint32_t)RTC_ByteToBcd2(sTime->Seconds)) | \
739:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** (((uint32_t)sTime->TimeFormat) << RTC_TR_PM_Pos));
740:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
741:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** else
742:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
743:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** if ((hrtc->Instance->CR & RTC_CR_FMT) != 0U)
744:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
745:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** assert_param(IS_RTC_HOUR12(RTC_Bcd2ToByte(sTime->Hours)));
746:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** assert_param(IS_RTC_HOURFORMAT12(sTime->TimeFormat));
747:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
748:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** else
749:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
750:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** sTime->TimeFormat = 0x00U;
751:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** assert_param(IS_RTC_HOUR24(RTC_Bcd2ToByte(sTime->Hours)));
752:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
753:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** assert_param(IS_RTC_MINUTES(RTC_Bcd2ToByte(sTime->Minutes)));
754:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** assert_param(IS_RTC_SECONDS(RTC_Bcd2ToByte(sTime->Seconds)));
755:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** tmpreg = (((uint32_t)(sTime->Hours) << RTC_TR_HU_Pos) | \
756:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ((uint32_t)(sTime->Minutes) << RTC_TR_MNU_Pos) | \
757:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ((uint32_t) sTime->Seconds) | \
758:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ((uint32_t)(sTime->TimeFormat) << RTC_TR_PM_Pos));
759:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
760:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
761:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Disable the write protection for RTC registers */
762:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** __HAL_RTC_WRITEPROTECTION_DISABLE(hrtc);
763:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
764:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Enter Initialization mode */
765:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** status = RTC_EnterInitMode(hrtc);
766:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
767:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** if (status == HAL_OK)
768:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
769:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Set the RTC_TR register */
770:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->Instance->TR = (uint32_t)(tmpreg & RTC_TR_RESERVED_MASK);
771:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
772:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Clear the bits to be configured (Deprecated. Use HAL_RTC_DST_xxx functions instead) */
773:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->Instance->CR &= (uint32_t)~RTC_CR_BKP;
774:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
775:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Configure the RTC_CR register (Deprecated. Use HAL_RTC_DST_xxx functions instead) */
776:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->Instance->CR |= (uint32_t)(sTime->DayLightSaving | sTime->StoreOperation);
777:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
778:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Exit Initialization mode */
779:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** status = RTC_ExitInitMode(hrtc);
780:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
781:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
782:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** if (status == HAL_OK)
783:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
784:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->State = HAL_RTC_STATE_READY;
785:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
786:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
787:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Enable the write protection for RTC registers */
788:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc);
789:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
ARM GAS /tmp/ccCGp3Cm.s page 16
790:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Process Unlocked */
791:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** __HAL_UNLOCK(hrtc);
792:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
793:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** return status;
794:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
795:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
796:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /**
797:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @brief Gets RTC current time.
798:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @param hrtc pointer to a RTC_HandleTypeDef structure that contains
799:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * the configuration information for RTC.
800:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @param sTime Pointer to Time structure
801:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @param Format Specifies the format of the entered parameters.
802:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * This parameter can be one of the following values:
803:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @arg RTC_FORMAT_BIN: Binary data format
804:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @arg RTC_FORMAT_BCD: BCD data format
805:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @note You can use SubSeconds and SecondFraction (sTime structure fields
806:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * returned) to convert SubSeconds value in second fraction ratio with
807:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * time unit following generic formula:
808:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * Second fraction ratio * time_unit =
809:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * [(SecondFraction - SubSeconds) / (SecondFraction + 1)] * time_unit
810:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * This conversion can be performed only if no shift operation is pending
811:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * (ie. SHFP=0) when PREDIV_S >= SS
812:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @note You must call HAL_RTC_GetDate() after HAL_RTC_GetTime() to unlock the
813:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * values in the higher-order calendar shadow registers to ensure
814:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * consistency between the time and date values.
815:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * Reading RTC current time locks the values in calendar shadow registers
816:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * until current date is read to ensure consistency between the time and
817:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * date values.
818:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @retval HAL status
819:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** */
820:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** HAL_StatusTypeDef HAL_RTC_GetTime(RTC_HandleTypeDef *hrtc, RTC_TimeTypeDef *sTime, uint32_t Format)
821:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
822:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** uint32_t tmpreg = 0U;
823:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
824:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Check the parameters */
825:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** assert_param(IS_RTC_FORMAT(Format));
826:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
827:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Get subseconds value from the corresponding register */
828:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** sTime->SubSeconds = (uint32_t)(hrtc->Instance->SSR);
829:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
830:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Get SecondFraction structure field from the corresponding register field*/
831:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** sTime->SecondFraction = (uint32_t)(hrtc->Instance->PRER & RTC_PRER_PREDIV_S);
832:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
833:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Get the TR register */
834:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** tmpreg = (uint32_t)(hrtc->Instance->TR & RTC_TR_RESERVED_MASK);
835:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
836:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Fill the structure fields with the read parameters */
837:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** sTime->Hours = (uint8_t)((tmpreg & (RTC_TR_HT | RTC_TR_HU)) >> RTC_TR_HU_Pos);
838:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** sTime->Minutes = (uint8_t)((tmpreg & (RTC_TR_MNT | RTC_TR_MNU)) >> RTC_TR_MNU_Pos);
839:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** sTime->Seconds = (uint8_t)( tmpreg & (RTC_TR_ST | RTC_TR_SU));
840:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** sTime->TimeFormat = (uint8_t)((tmpreg & (RTC_TR_PM)) >> RTC_TR_PM_Pos);
841:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
842:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Check the input parameters format */
843:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** if (Format == RTC_FORMAT_BIN)
844:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
845:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Convert the time structure parameters to Binary format */
846:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** sTime->Hours = (uint8_t)RTC_Bcd2ToByte(sTime->Hours);
ARM GAS /tmp/ccCGp3Cm.s page 17
847:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** sTime->Minutes = (uint8_t)RTC_Bcd2ToByte(sTime->Minutes);
848:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** sTime->Seconds = (uint8_t)RTC_Bcd2ToByte(sTime->Seconds);
849:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
850:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
851:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** return HAL_OK;
852:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
853:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
854:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /**
855:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @brief Sets RTC current date.
856:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @param hrtc pointer to a RTC_HandleTypeDef structure that contains
857:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * the configuration information for RTC.
858:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @param sDate Pointer to date structure
859:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @param Format specifies the format of the entered parameters.
860:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * This parameter can be one of the following values:
861:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @arg RTC_FORMAT_BIN: Binary data format
862:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @arg RTC_FORMAT_BCD: BCD data format
863:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @retval HAL status
864:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** */
865:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** HAL_StatusTypeDef HAL_RTC_SetDate(RTC_HandleTypeDef *hrtc, RTC_DateTypeDef *sDate, uint32_t Format)
866:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
867:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** uint32_t datetmpreg = 0U;
868:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** HAL_StatusTypeDef status;
869:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
870:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Check the parameters */
871:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** assert_param(IS_RTC_FORMAT(Format));
872:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
873:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Process Locked */
874:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** __HAL_LOCK(hrtc);
875:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
876:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->State = HAL_RTC_STATE_BUSY;
877:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
878:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** if ((Format == RTC_FORMAT_BIN) && ((sDate->Month & 0x10U) == 0x10U))
879:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
880:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** sDate->Month = (uint8_t)((sDate->Month & (uint8_t)~(0x10U)) + (uint8_t)0x0AU);
881:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
882:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
883:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** assert_param(IS_RTC_WEEKDAY(sDate->WeekDay));
884:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
885:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** if (Format == RTC_FORMAT_BIN)
886:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
887:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** assert_param(IS_RTC_YEAR(sDate->Year));
888:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** assert_param(IS_RTC_MONTH(sDate->Month));
889:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** assert_param(IS_RTC_DATE(sDate->Date));
890:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
891:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** datetmpreg = (((uint32_t)RTC_ByteToBcd2(sDate->Year) << RTC_DR_YU_Pos) | \
892:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ((uint32_t)RTC_ByteToBcd2(sDate->Month) << RTC_DR_MU_Pos) | \
893:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ((uint32_t)RTC_ByteToBcd2(sDate->Date)) | \
894:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ((uint32_t)sDate->WeekDay << RTC_DR_WDU_Pos));
895:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
896:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** else
897:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
898:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** assert_param(IS_RTC_YEAR(RTC_Bcd2ToByte(sDate->Year)));
899:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** assert_param(IS_RTC_MONTH(RTC_Bcd2ToByte(sDate->Month)));
900:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** assert_param(IS_RTC_DATE(RTC_Bcd2ToByte(sDate->Date)));
901:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
902:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** datetmpreg = ((((uint32_t)sDate->Year) << RTC_DR_YU_Pos) | \
903:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** (((uint32_t)sDate->Month) << RTC_DR_MU_Pos) | \
ARM GAS /tmp/ccCGp3Cm.s page 18
904:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ((uint32_t) sDate->Date) | \
905:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** (((uint32_t)sDate->WeekDay) << RTC_DR_WDU_Pos));
906:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
907:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
908:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Disable the write protection for RTC registers */
909:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** __HAL_RTC_WRITEPROTECTION_DISABLE(hrtc);
910:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
911:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Enter Initialization mode */
912:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** status = RTC_EnterInitMode(hrtc);
913:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
914:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** if (status == HAL_OK)
915:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
916:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Set the RTC_DR register */
917:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->Instance->DR = (uint32_t)(datetmpreg & RTC_DR_RESERVED_MASK);
918:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
919:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Exit Initialization mode */
920:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** status = RTC_ExitInitMode(hrtc);
921:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
922:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
923:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** if (status == HAL_OK)
924:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
925:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->State = HAL_RTC_STATE_READY;
926:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
927:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
928:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Enable the write protection for RTC registers */
929:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc);
930:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
931:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Process Unlocked */
932:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** __HAL_UNLOCK(hrtc);
933:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
934:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** return status;
935:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
936:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
937:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /**
938:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @brief Gets RTC current date.
939:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @param hrtc pointer to a RTC_HandleTypeDef structure that contains
940:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * the configuration information for RTC.
941:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @param sDate Pointer to Date structure
942:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @param Format Specifies the format of the entered parameters.
943:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * This parameter can be one of the following values:
944:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @arg RTC_FORMAT_BIN: Binary data format
945:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @arg RTC_FORMAT_BCD: BCD data format
946:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @note You must call HAL_RTC_GetDate() after HAL_RTC_GetTime() to unlock the
947:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * values in the higher-order calendar shadow registers to ensure
948:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * consistency between the time and date values.
949:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * Reading RTC current time locks the values in calendar shadow registers
950:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * until current date is read to ensure consistency between the time and
951:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * date values.
952:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @retval HAL status
953:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** */
954:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** HAL_StatusTypeDef HAL_RTC_GetDate(RTC_HandleTypeDef *hrtc, RTC_DateTypeDef *sDate, uint32_t Format)
955:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
956:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** uint32_t datetmpreg = 0U;
957:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
958:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Check the parameters */
959:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** assert_param(IS_RTC_FORMAT(Format));
960:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
ARM GAS /tmp/ccCGp3Cm.s page 19
961:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Get the DR register */
962:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** datetmpreg = (uint32_t)(hrtc->Instance->DR & RTC_DR_RESERVED_MASK);
963:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
964:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Fill the structure fields with the read parameters */
965:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** sDate->Year = (uint8_t)((datetmpreg & (RTC_DR_YT | RTC_DR_YU)) >> RTC_DR_YU_Pos);
966:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** sDate->Month = (uint8_t)((datetmpreg & (RTC_DR_MT | RTC_DR_MU)) >> RTC_DR_MU_Pos);
967:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** sDate->Date = (uint8_t) (datetmpreg & (RTC_DR_DT | RTC_DR_DU));
968:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** sDate->WeekDay = (uint8_t)((datetmpreg & (RTC_DR_WDU)) >> RTC_DR_WDU_Pos);
969:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
970:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Check the input parameters format */
971:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** if (Format == RTC_FORMAT_BIN)
972:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
973:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Convert the date structure parameters to Binary format */
974:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** sDate->Year = (uint8_t)RTC_Bcd2ToByte(sDate->Year);
975:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** sDate->Month = (uint8_t)RTC_Bcd2ToByte(sDate->Month);
976:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** sDate->Date = (uint8_t)RTC_Bcd2ToByte(sDate->Date);
977:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
978:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** return HAL_OK;
979:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
980:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
981:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /**
982:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @}
983:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** */
984:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
985:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /** @defgroup RTC_Exported_Functions_Group3 RTC Alarm functions
986:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @brief RTC Alarm functions
987:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** *
988:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** @verbatim
989:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ===============================================================================
990:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ##### RTC Alarm functions #####
991:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ===============================================================================
992:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
993:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** [..] This section provides functions allowing to configure Alarm feature
994:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
995:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** @endverbatim
996:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @{
997:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** */
998:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /**
999:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @brief Sets the specified RTC Alarm.
1000:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @param hrtc pointer to a RTC_HandleTypeDef structure that contains
1001:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * the configuration information for RTC.
1002:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @param sAlarm Pointer to Alarm structure
1003:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @param Format Specifies the format of the entered parameters.
1004:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * This parameter can be one of the following values:
1005:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @arg RTC_FORMAT_BIN: Binary data format
1006:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @arg RTC_FORMAT_BCD: BCD data format
1007:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @note The Alarm register can only be written when the corresponding Alarm
1008:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * is disabled (Use the HAL_RTC_DeactivateAlarm()).
1009:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @note The HAL_RTC_SetTime() must be called before enabling the Alarm feature.
1010:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @retval HAL status
1011:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** */
1012:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** HAL_StatusTypeDef HAL_RTC_SetAlarm(RTC_HandleTypeDef *hrtc, RTC_AlarmTypeDef *sAlarm, uint32_t Form
1013:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
1014:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** uint32_t tickstart = 0U;
1015:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** uint32_t tmpreg = 0U;
1016:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** uint32_t subsecondtmpreg = 0U;
1017:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
ARM GAS /tmp/ccCGp3Cm.s page 20
1018:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Check the parameters */
1019:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** assert_param(IS_RTC_FORMAT(Format));
1020:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** assert_param(IS_RTC_ALARM(sAlarm->Alarm));
1021:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** assert_param(IS_RTC_ALARM_MASK(sAlarm->AlarmMask));
1022:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** assert_param(IS_RTC_ALARM_DATE_WEEKDAY_SEL(sAlarm->AlarmDateWeekDaySel));
1023:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** assert_param(IS_RTC_ALARM_SUB_SECOND_VALUE(sAlarm->AlarmTime.SubSeconds));
1024:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** assert_param(IS_RTC_ALARM_SUB_SECOND_MASK(sAlarm->AlarmSubSecondMask));
1025:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1026:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Process Locked */
1027:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** __HAL_LOCK(hrtc);
1028:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1029:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Change RTC state to BUSY */
1030:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->State = HAL_RTC_STATE_BUSY;
1031:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1032:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Check the data format (binary or BCD) and store the Alarm time and date
1033:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** configuration accordingly */
1034:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** if (Format == RTC_FORMAT_BIN)
1035:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
1036:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** if ((hrtc->Instance->CR & RTC_CR_FMT) != 0U)
1037:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
1038:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** assert_param(IS_RTC_HOUR12(sAlarm->AlarmTime.Hours));
1039:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** assert_param(IS_RTC_HOURFORMAT12(sAlarm->AlarmTime.TimeFormat));
1040:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
1041:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** else
1042:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
1043:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** sAlarm->AlarmTime.TimeFormat = 0x00U;
1044:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** assert_param(IS_RTC_HOUR24(sAlarm->AlarmTime.Hours));
1045:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
1046:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** assert_param(IS_RTC_MINUTES(sAlarm->AlarmTime.Minutes));
1047:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** assert_param(IS_RTC_SECONDS(sAlarm->AlarmTime.Seconds));
1048:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1049:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** if (sAlarm->AlarmDateWeekDaySel == RTC_ALARMDATEWEEKDAYSEL_DATE)
1050:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
1051:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** assert_param(IS_RTC_ALARM_DATE_WEEKDAY_DATE(sAlarm->AlarmDateWeekDay));
1052:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
1053:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** else
1054:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
1055:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** assert_param(IS_RTC_ALARM_DATE_WEEKDAY_WEEKDAY(sAlarm->AlarmDateWeekDay));
1056:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
1057:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1058:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** tmpreg = (((uint32_t)RTC_ByteToBcd2(sAlarm->AlarmTime.Hours) << RTC_ALRMAR_HU_Pos) | \
1059:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ((uint32_t)RTC_ByteToBcd2(sAlarm->AlarmTime.Minutes) << RTC_ALRMAR_MNU_Pos) | \
1060:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ((uint32_t)RTC_ByteToBcd2(sAlarm->AlarmTime.Seconds)) | \
1061:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ((uint32_t)(sAlarm->AlarmTime.TimeFormat) << RTC_ALRMAR_PM_Pos) | \
1062:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ((uint32_t)RTC_ByteToBcd2(sAlarm->AlarmDateWeekDay) << RTC_ALRMAR_DU_Pos) | \
1063:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ((uint32_t)sAlarm->AlarmDateWeekDaySel) | \
1064:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ((uint32_t)sAlarm->AlarmMask));
1065:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
1066:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** else
1067:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
1068:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** if ((hrtc->Instance->CR & RTC_CR_FMT) != 0U)
1069:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
1070:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** assert_param(IS_RTC_HOUR12(RTC_Bcd2ToByte(sAlarm->AlarmTime.Hours)));
1071:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** assert_param(IS_RTC_HOURFORMAT12(sAlarm->AlarmTime.TimeFormat));
1072:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
1073:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** else
1074:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
ARM GAS /tmp/ccCGp3Cm.s page 21
1075:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** sAlarm->AlarmTime.TimeFormat = 0x00U;
1076:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** assert_param(IS_RTC_HOUR24(RTC_Bcd2ToByte(sAlarm->AlarmTime.Hours)));
1077:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
1078:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1079:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** assert_param(IS_RTC_MINUTES(RTC_Bcd2ToByte(sAlarm->AlarmTime.Minutes)));
1080:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** assert_param(IS_RTC_SECONDS(RTC_Bcd2ToByte(sAlarm->AlarmTime.Seconds)));
1081:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1082:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** if (sAlarm->AlarmDateWeekDaySel == RTC_ALARMDATEWEEKDAYSEL_DATE)
1083:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
1084:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** assert_param(IS_RTC_ALARM_DATE_WEEKDAY_DATE(RTC_Bcd2ToByte(sAlarm->AlarmDateWeekDay)));
1085:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
1086:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** else
1087:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
1088:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** assert_param(IS_RTC_ALARM_DATE_WEEKDAY_WEEKDAY(RTC_Bcd2ToByte(sAlarm->AlarmDateWeekDay)));
1089:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
1090:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1091:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** tmpreg = (((uint32_t)(sAlarm->AlarmTime.Hours) << RTC_ALRMAR_HU_Pos) | \
1092:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ((uint32_t)(sAlarm->AlarmTime.Minutes) << RTC_ALRMAR_MNU_Pos) | \
1093:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ((uint32_t) sAlarm->AlarmTime.Seconds) | \
1094:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ((uint32_t)(sAlarm->AlarmTime.TimeFormat) << RTC_ALRMAR_PM_Pos) | \
1095:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ((uint32_t)(sAlarm->AlarmDateWeekDay) << RTC_ALRMAR_DU_Pos) | \
1096:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ((uint32_t) sAlarm->AlarmDateWeekDaySel) | \
1097:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ((uint32_t) sAlarm->AlarmMask));
1098:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
1099:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1100:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Store the Alarm subseconds configuration */
1101:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** subsecondtmpreg = (uint32_t)((uint32_t)(sAlarm->AlarmTime.SubSeconds) | \
1102:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** (uint32_t)(sAlarm->AlarmSubSecondMask));
1103:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1104:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Disable the write protection for RTC registers */
1105:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** __HAL_RTC_WRITEPROTECTION_DISABLE(hrtc);
1106:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1107:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** if (sAlarm->Alarm == RTC_ALARM_A)
1108:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
1109:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Disable Alarm A */
1110:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** __HAL_RTC_ALARMA_DISABLE(hrtc);
1111:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1112:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* In case interrupt mode is used, the interrupt source must be disabled */
1113:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** __HAL_RTC_ALARM_DISABLE_IT(hrtc, RTC_IT_ALRA);
1114:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1115:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Clear Alarm A flag */
1116:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** __HAL_RTC_ALARM_CLEAR_FLAG(hrtc, RTC_FLAG_ALRAF);
1117:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1118:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Get tick */
1119:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** tickstart = HAL_GetTick();
1120:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1121:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Wait till RTC ALRAWF flag is set and if timeout is reached exit */
1122:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** while (__HAL_RTC_ALARM_GET_FLAG(hrtc, RTC_FLAG_ALRAWF) == 0U)
1123:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
1124:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** if ((HAL_GetTick() - tickstart) > RTC_TIMEOUT_VALUE)
1125:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
1126:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Enable the write protection for RTC registers */
1127:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc);
1128:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1129:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->State = HAL_RTC_STATE_TIMEOUT;
1130:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1131:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Process Unlocked */
ARM GAS /tmp/ccCGp3Cm.s page 22
1132:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** __HAL_UNLOCK(hrtc);
1133:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1134:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** return HAL_TIMEOUT;
1135:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
1136:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
1137:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1138:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Configure Alarm A register */
1139:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->Instance->ALRMAR = (uint32_t)tmpreg;
1140:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Configure Alarm A Subseconds register */
1141:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->Instance->ALRMASSR = subsecondtmpreg;
1142:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Enable Alarm A */
1143:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** __HAL_RTC_ALARMA_ENABLE(hrtc);
1144:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
1145:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** else
1146:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
1147:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Disable Alarm B */
1148:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** __HAL_RTC_ALARMB_DISABLE(hrtc);
1149:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1150:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* In case interrupt mode is used, the interrupt source must be disabled */
1151:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** __HAL_RTC_ALARM_DISABLE_IT(hrtc, RTC_IT_ALRB);
1152:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1153:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Clear Alarm B flag */
1154:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** __HAL_RTC_ALARM_CLEAR_FLAG(hrtc, RTC_FLAG_ALRBF);
1155:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1156:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Get tick */
1157:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** tickstart = HAL_GetTick();
1158:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1159:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Wait till RTC ALRBWF flag is set and if timeout is reached exit */
1160:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** while (__HAL_RTC_ALARM_GET_FLAG(hrtc, RTC_FLAG_ALRBWF) == 0U)
1161:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
1162:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** if ((HAL_GetTick() - tickstart) > RTC_TIMEOUT_VALUE)
1163:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
1164:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Enable the write protection for RTC registers */
1165:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc);
1166:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1167:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->State = HAL_RTC_STATE_TIMEOUT;
1168:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1169:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Process Unlocked */
1170:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** __HAL_UNLOCK(hrtc);
1171:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1172:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** return HAL_TIMEOUT;
1173:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
1174:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
1175:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1176:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Configure Alarm B register */
1177:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->Instance->ALRMBR = (uint32_t)tmpreg;
1178:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Configure Alarm B Subseconds register */
1179:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->Instance->ALRMBSSR = subsecondtmpreg;
1180:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Enable Alarm B */
1181:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** __HAL_RTC_ALARMB_ENABLE(hrtc);
1182:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
1183:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1184:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Enable the write protection for RTC registers */
1185:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc);
1186:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1187:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Change RTC state back to READY */
1188:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->State = HAL_RTC_STATE_READY;
ARM GAS /tmp/ccCGp3Cm.s page 23
1189:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1190:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Process Unlocked */
1191:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** __HAL_UNLOCK(hrtc);
1192:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1193:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** return HAL_OK;
1194:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
1195:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1196:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /**
1197:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @brief Sets the specified RTC Alarm with Interrupt.
1198:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @param hrtc pointer to a RTC_HandleTypeDef structure that contains
1199:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * the configuration information for RTC.
1200:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @param sAlarm Pointer to Alarm structure
1201:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @param Format Specifies the format of the entered parameters.
1202:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * This parameter can be one of the following values:
1203:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @arg RTC_FORMAT_BIN: Binary data format
1204:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @arg RTC_FORMAT_BCD: BCD data format
1205:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @note The Alarm register can only be written when the corresponding Alarm
1206:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * is disabled (Use the HAL_RTC_DeactivateAlarm()).
1207:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @note The HAL_RTC_SetTime() must be called before enabling the Alarm feature.
1208:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @retval HAL status
1209:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** */
1210:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** HAL_StatusTypeDef HAL_RTC_SetAlarm_IT(RTC_HandleTypeDef *hrtc, RTC_AlarmTypeDef *sAlarm, uint32_t F
1211:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
1212:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** __IO uint32_t count = RTC_TIMEOUT_VALUE * (SystemCoreClock / 32U / 1000U);
1213:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** uint32_t tmpreg = 0U;
1214:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** uint32_t subsecondtmpreg = 0U;
1215:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1216:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Check the parameters */
1217:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** assert_param(IS_RTC_FORMAT(Format));
1218:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** assert_param(IS_RTC_ALARM(sAlarm->Alarm));
1219:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** assert_param(IS_RTC_ALARM_MASK(sAlarm->AlarmMask));
1220:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** assert_param(IS_RTC_ALARM_DATE_WEEKDAY_SEL(sAlarm->AlarmDateWeekDaySel));
1221:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** assert_param(IS_RTC_ALARM_SUB_SECOND_VALUE(sAlarm->AlarmTime.SubSeconds));
1222:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** assert_param(IS_RTC_ALARM_SUB_SECOND_MASK(sAlarm->AlarmSubSecondMask));
1223:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1224:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Process Locked */
1225:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** __HAL_LOCK(hrtc);
1226:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1227:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Change RTC state to BUSY */
1228:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->State = HAL_RTC_STATE_BUSY;
1229:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1230:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Check the data format (binary or BCD) and store the Alarm time and date
1231:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** configuration accordingly */
1232:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** if (Format == RTC_FORMAT_BIN)
1233:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
1234:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** if ((hrtc->Instance->CR & RTC_CR_FMT) != 0U)
1235:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
1236:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** assert_param(IS_RTC_HOUR12(sAlarm->AlarmTime.Hours));
1237:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** assert_param(IS_RTC_HOURFORMAT12(sAlarm->AlarmTime.TimeFormat));
1238:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
1239:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** else
1240:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
1241:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** sAlarm->AlarmTime.TimeFormat = 0x00U;
1242:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** assert_param(IS_RTC_HOUR24(sAlarm->AlarmTime.Hours));
1243:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
1244:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** assert_param(IS_RTC_MINUTES(sAlarm->AlarmTime.Minutes));
1245:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** assert_param(IS_RTC_SECONDS(sAlarm->AlarmTime.Seconds));
ARM GAS /tmp/ccCGp3Cm.s page 24
1246:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1247:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** if (sAlarm->AlarmDateWeekDaySel == RTC_ALARMDATEWEEKDAYSEL_DATE)
1248:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
1249:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** assert_param(IS_RTC_ALARM_DATE_WEEKDAY_DATE(sAlarm->AlarmDateWeekDay));
1250:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
1251:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** else
1252:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
1253:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** assert_param(IS_RTC_ALARM_DATE_WEEKDAY_WEEKDAY(sAlarm->AlarmDateWeekDay));
1254:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
1255:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1256:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** tmpreg = (((uint32_t)RTC_ByteToBcd2(sAlarm->AlarmTime.Hours) << RTC_ALRMAR_HU_Pos) | \
1257:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ((uint32_t)RTC_ByteToBcd2(sAlarm->AlarmTime.Minutes) << RTC_ALRMAR_MNU_Pos) | \
1258:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ((uint32_t)RTC_ByteToBcd2(sAlarm->AlarmTime.Seconds)) | \
1259:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ((uint32_t)(sAlarm->AlarmTime.TimeFormat) << RTC_ALRMAR_PM_Pos) | \
1260:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ((uint32_t)RTC_ByteToBcd2(sAlarm->AlarmDateWeekDay) << RTC_ALRMAR_DU_Pos) | \
1261:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ((uint32_t)sAlarm->AlarmDateWeekDaySel) | \
1262:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ((uint32_t)sAlarm->AlarmMask));
1263:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
1264:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** else
1265:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
1266:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** if ((hrtc->Instance->CR & RTC_CR_FMT) != 0U)
1267:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
1268:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** assert_param(IS_RTC_HOUR12(RTC_Bcd2ToByte(sAlarm->AlarmTime.Hours)));
1269:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** assert_param(IS_RTC_HOURFORMAT12(sAlarm->AlarmTime.TimeFormat));
1270:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
1271:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** else
1272:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
1273:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** sAlarm->AlarmTime.TimeFormat = 0x00U;
1274:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** assert_param(IS_RTC_HOUR24(RTC_Bcd2ToByte(sAlarm->AlarmTime.Hours)));
1275:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
1276:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1277:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** assert_param(IS_RTC_MINUTES(RTC_Bcd2ToByte(sAlarm->AlarmTime.Minutes)));
1278:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** assert_param(IS_RTC_SECONDS(RTC_Bcd2ToByte(sAlarm->AlarmTime.Seconds)));
1279:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1280:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** if (sAlarm->AlarmDateWeekDaySel == RTC_ALARMDATEWEEKDAYSEL_DATE)
1281:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
1282:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** assert_param(IS_RTC_ALARM_DATE_WEEKDAY_DATE(RTC_Bcd2ToByte(sAlarm->AlarmDateWeekDay)));
1283:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
1284:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** else
1285:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
1286:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** assert_param(IS_RTC_ALARM_DATE_WEEKDAY_WEEKDAY(RTC_Bcd2ToByte(sAlarm->AlarmDateWeekDay)));
1287:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
1288:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1289:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** tmpreg = (((uint32_t)(sAlarm->AlarmTime.Hours) << RTC_ALRMAR_HU_Pos) | \
1290:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ((uint32_t)(sAlarm->AlarmTime.Minutes) << RTC_ALRMAR_MNU_Pos) | \
1291:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ((uint32_t) sAlarm->AlarmTime.Seconds) | \
1292:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ((uint32_t)(sAlarm->AlarmTime.TimeFormat) << RTC_ALRMAR_PM_Pos) | \
1293:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ((uint32_t)(sAlarm->AlarmDateWeekDay) << RTC_ALRMAR_DU_Pos) | \
1294:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ((uint32_t) sAlarm->AlarmDateWeekDaySel) | \
1295:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ((uint32_t) sAlarm->AlarmMask));
1296:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
1297:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1298:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Store the Alarm subseconds configuration */
1299:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** subsecondtmpreg = (uint32_t)((uint32_t)(sAlarm->AlarmTime.SubSeconds) | \
1300:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** (uint32_t)(sAlarm->AlarmSubSecondMask));
1301:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1302:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Disable the write protection for RTC registers */
ARM GAS /tmp/ccCGp3Cm.s page 25
1303:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** __HAL_RTC_WRITEPROTECTION_DISABLE(hrtc);
1304:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1305:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** if (sAlarm->Alarm == RTC_ALARM_A)
1306:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
1307:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Disable Alarm A */
1308:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** __HAL_RTC_ALARMA_DISABLE(hrtc);
1309:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1310:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Clear Alarm A flag */
1311:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** __HAL_RTC_ALARM_CLEAR_FLAG(hrtc, RTC_FLAG_ALRAF);
1312:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1313:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Wait till RTC ALRAWF flag is set and if timeout is reached exit */
1314:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** do
1315:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
1316:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** count = count - 1U;
1317:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** if (count == 0U)
1318:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
1319:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Enable the write protection for RTC registers */
1320:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc);
1321:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1322:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->State = HAL_RTC_STATE_TIMEOUT;
1323:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1324:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Process Unlocked */
1325:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** __HAL_UNLOCK(hrtc);
1326:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1327:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** return HAL_TIMEOUT;
1328:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
1329:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** } while (__HAL_RTC_ALARM_GET_FLAG(hrtc, RTC_FLAG_ALRAWF) == 0U);
1330:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1331:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Configure Alarm A register */
1332:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->Instance->ALRMAR = (uint32_t)tmpreg;
1333:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Configure Alarm A Subseconds register */
1334:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->Instance->ALRMASSR = subsecondtmpreg;
1335:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Enable Alarm A */
1336:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** __HAL_RTC_ALARMA_ENABLE(hrtc);
1337:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Enable Alarm A interrupt */
1338:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** __HAL_RTC_ALARM_ENABLE_IT(hrtc, RTC_IT_ALRA);
1339:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
1340:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** else
1341:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
1342:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Disable Alarm B */
1343:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** __HAL_RTC_ALARMB_DISABLE(hrtc);
1344:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1345:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Clear Alarm B flag */
1346:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** __HAL_RTC_ALARM_CLEAR_FLAG(hrtc, RTC_FLAG_ALRBF);
1347:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1348:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Reload the counter */
1349:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** count = RTC_TIMEOUT_VALUE * (SystemCoreClock / 32U / 1000U);
1350:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1351:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Wait till RTC ALRBWF flag is set and if timeout is reached exit */
1352:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** do
1353:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
1354:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** count = count - 1U;
1355:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** if (count == 0U)
1356:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
1357:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Enable the write protection for RTC registers */
1358:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc);
1359:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
ARM GAS /tmp/ccCGp3Cm.s page 26
1360:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->State = HAL_RTC_STATE_TIMEOUT;
1361:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1362:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Process Unlocked */
1363:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** __HAL_UNLOCK(hrtc);
1364:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1365:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** return HAL_TIMEOUT;
1366:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
1367:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** } while (__HAL_RTC_ALARM_GET_FLAG(hrtc, RTC_FLAG_ALRBWF) == 0U);
1368:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1369:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Configure Alarm B register */
1370:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->Instance->ALRMBR = (uint32_t)tmpreg;
1371:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Configure Alarm B Subseconds register */
1372:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->Instance->ALRMBSSR = subsecondtmpreg;
1373:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Enable Alarm B */
1374:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** __HAL_RTC_ALARMB_ENABLE(hrtc);
1375:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Enable Alarm B interrupt */
1376:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** __HAL_RTC_ALARM_ENABLE_IT(hrtc, RTC_IT_ALRB);
1377:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
1378:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1379:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Enable and configure the EXTI line associated to the RTC Alarm interrupt */
1380:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** __HAL_RTC_ALARM_EXTI_ENABLE_IT();
1381:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** __HAL_RTC_ALARM_EXTI_ENABLE_RISING_EDGE();
1382:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1383:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Enable the write protection for RTC registers */
1384:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc);
1385:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1386:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Change RTC state back to READY */
1387:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->State = HAL_RTC_STATE_READY;
1388:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1389:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Process Unlocked */
1390:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** __HAL_UNLOCK(hrtc);
1391:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1392:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** return HAL_OK;
1393:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
1394:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1395:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /**
1396:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @brief Deactivates the specified RTC Alarm.
1397:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @param hrtc pointer to a RTC_HandleTypeDef structure that contains
1398:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * the configuration information for RTC.
1399:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @param Alarm Specifies the Alarm.
1400:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * This parameter can be one of the following values:
1401:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @arg RTC_ALARM_A: Alarm A
1402:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @arg RTC_ALARM_B: Alarm B
1403:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @retval HAL status
1404:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** */
1405:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** HAL_StatusTypeDef HAL_RTC_DeactivateAlarm(RTC_HandleTypeDef *hrtc, uint32_t Alarm)
1406:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
72 .loc 1 1406 1 is_stmt 1 view -0
73 .cfi_startproc
74 @ args = 0, pretend = 0, frame = 0
75 @ frame_needed = 0, uses_anonymous_args = 0
76 .loc 1 1406 1 is_stmt 0 view .LVU7
77 0000 38B5 push {r3, r4, r5, lr}
78 .LCFI0:
79 .cfi_def_cfa_offset 16
80 .cfi_offset 3, -16
81 .cfi_offset 4, -12
ARM GAS /tmp/ccCGp3Cm.s page 27
82 .cfi_offset 5, -8
83 .cfi_offset 14, -4
1407:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** uint32_t tickstart = 0U;
84 .loc 1 1407 3 is_stmt 1 view .LVU8
85 .LVL3:
1408:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1409:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Check the parameters */
1410:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** assert_param(IS_RTC_ALARM(Alarm));
86 .loc 1 1410 3 view .LVU9
1411:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1412:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Process Locked */
1413:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** __HAL_LOCK(hrtc);
87 .loc 1 1413 3 view .LVU10
88 .loc 1 1413 3 view .LVU11
89 0002 037F ldrb r3, [r0, #28] @ zero_extendqisi2
90 0004 012B cmp r3, #1
91 0006 55D0 beq .L11
92 0008 0446 mov r4, r0
93 .loc 1 1413 3 discriminator 2 view .LVU12
94 000a 0123 movs r3, #1
95 000c 0377 strb r3, [r0, #28]
96 .loc 1 1413 3 discriminator 2 view .LVU13
1414:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1415:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->State = HAL_RTC_STATE_BUSY;
97 .loc 1 1415 3 discriminator 2 view .LVU14
98 .loc 1 1415 15 is_stmt 0 discriminator 2 view .LVU15
99 000e 0223 movs r3, #2
100 0010 4377 strb r3, [r0, #29]
1416:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1417:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Disable the write protection for RTC registers */
1418:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** __HAL_RTC_WRITEPROTECTION_DISABLE(hrtc);
101 .loc 1 1418 3 is_stmt 1 discriminator 2 view .LVU16
102 .loc 1 1418 3 discriminator 2 view .LVU17
103 0012 0368 ldr r3, [r0]
104 0014 CA22 movs r2, #202
105 0016 5A62 str r2, [r3, #36]
106 .loc 1 1418 3 discriminator 2 view .LVU18
107 0018 0368 ldr r3, [r0]
108 001a 5322 movs r2, #83
109 001c 5A62 str r2, [r3, #36]
110 .loc 1 1418 3 discriminator 2 view .LVU19
1419:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1420:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** if (Alarm == RTC_ALARM_A)
111 .loc 1 1420 3 discriminator 2 view .LVU20
112 .loc 1 1420 6 is_stmt 0 discriminator 2 view .LVU21
113 001e B1F5807F cmp r1, #256
114 0022 1FD0 beq .L13
1421:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
1422:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Disable Alarm A */
1423:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** __HAL_RTC_ALARMA_DISABLE(hrtc);
1424:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1425:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* In case interrupt mode is used, the interrupt source must be disabled */
1426:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** __HAL_RTC_ALARM_DISABLE_IT(hrtc, RTC_IT_ALRA);
1427:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1428:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Get tick */
1429:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** tickstart = HAL_GetTick();
1430:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
ARM GAS /tmp/ccCGp3Cm.s page 28
1431:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Wait till RTC ALRAWF flag is set and if timeout is reached exit */
1432:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** while (__HAL_RTC_ALARM_GET_FLAG(hrtc, RTC_FLAG_ALRAWF) == 0U)
1433:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
1434:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** if ((HAL_GetTick() - tickstart) > RTC_TIMEOUT_VALUE)
1435:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
1436:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Enable the write protection for RTC registers */
1437:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc);
1438:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1439:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->State = HAL_RTC_STATE_TIMEOUT;
1440:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1441:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Process Unlocked */
1442:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** __HAL_UNLOCK(hrtc);
1443:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1444:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** return HAL_TIMEOUT;
1445:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
1446:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
1447:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
1448:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** else
1449:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
1450:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Disable Alarm B */
1451:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** __HAL_RTC_ALARMB_DISABLE(hrtc);
115 .loc 1 1451 5 is_stmt 1 view .LVU22
116 0024 0268 ldr r2, [r0]
117 0026 9368 ldr r3, [r2, #8]
118 0028 23F40073 bic r3, r3, #512
119 002c 9360 str r3, [r2, #8]
1452:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1453:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* In case interrupt mode is used, the interrupt source must be disabled */
1454:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** __HAL_RTC_ALARM_DISABLE_IT(hrtc, RTC_IT_ALRB);
120 .loc 1 1454 5 view .LVU23
121 002e 0268 ldr r2, [r0]
122 0030 9368 ldr r3, [r2, #8]
123 0032 23F40053 bic r3, r3, #8192
124 0036 9360 str r3, [r2, #8]
1455:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1456:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Get tick */
1457:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** tickstart = HAL_GetTick();
125 .loc 1 1457 5 view .LVU24
126 .loc 1 1457 17 is_stmt 0 view .LVU25
127 0038 FFF7FEFF bl HAL_GetTick
128 .LVL4:
129 .loc 1 1457 17 view .LVU26
130 003c 0546 mov r5, r0
131 .LVL5:
1458:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1459:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Wait till RTC ALRBWF flag is set and if timeout is reached exit */
1460:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** while (__HAL_RTC_ALARM_GET_FLAG(hrtc, RTC_FLAG_ALRBWF) == 0U)
132 .loc 1 1460 5 is_stmt 1 view .LVU27
133 .L9:
134 .loc 1 1460 11 view .LVU28
135 .loc 1 1460 12 is_stmt 0 view .LVU29
136 003e 2368 ldr r3, [r4]
137 0040 DB68 ldr r3, [r3, #12]
138 .loc 1 1460 11 view .LVU30
139 0042 13F0020F tst r3, #2
140 0046 2DD1 bne .L8
1461:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
ARM GAS /tmp/ccCGp3Cm.s page 29
1462:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** if ((HAL_GetTick() - tickstart) > RTC_TIMEOUT_VALUE)
141 .loc 1 1462 7 is_stmt 1 view .LVU31
142 .loc 1 1462 12 is_stmt 0 view .LVU32
143 0048 FFF7FEFF bl HAL_GetTick
144 .LVL6:
145 .loc 1 1462 26 view .LVU33
146 004c 431B subs r3, r0, r5
147 .loc 1 1462 10 view .LVU34
148 004e B3F57A7F cmp r3, #1000
149 0052 F4D9 bls .L9
1463:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
1464:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Enable the write protection for RTC registers */
1465:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc);
150 .loc 1 1465 9 is_stmt 1 view .LVU35
151 .loc 1 1465 9 view .LVU36
152 0054 2368 ldr r3, [r4]
153 0056 FF22 movs r2, #255
154 0058 5A62 str r2, [r3, #36]
155 .loc 1 1465 9 view .LVU37
1466:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1467:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->State = HAL_RTC_STATE_TIMEOUT;
156 .loc 1 1467 9 view .LVU38
157 .loc 1 1467 21 is_stmt 0 view .LVU39
158 005a 0320 movs r0, #3
159 005c 6077 strb r0, [r4, #29]
1468:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1469:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Process Unlocked */
1470:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** __HAL_UNLOCK(hrtc);
160 .loc 1 1470 9 is_stmt 1 view .LVU40
161 .loc 1 1470 9 view .LVU41
162 005e 0023 movs r3, #0
163 0060 2377 strb r3, [r4, #28]
164 .loc 1 1470 9 view .LVU42
1471:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1472:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** return HAL_TIMEOUT;
165 .loc 1 1472 9 view .LVU43
166 .loc 1 1472 16 is_stmt 0 view .LVU44
167 0062 26E0 b .L4
168 .LVL7:
169 .L13:
1423:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
170 .loc 1 1423 5 is_stmt 1 view .LVU45
171 0064 0268 ldr r2, [r0]
172 0066 9368 ldr r3, [r2, #8]
173 0068 23F48073 bic r3, r3, #256
174 006c 9360 str r3, [r2, #8]
1426:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
175 .loc 1 1426 5 view .LVU46
176 006e 0268 ldr r2, [r0]
177 0070 9368 ldr r3, [r2, #8]
178 0072 23F48053 bic r3, r3, #4096
179 0076 9360 str r3, [r2, #8]
1429:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
180 .loc 1 1429 5 view .LVU47
1429:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
181 .loc 1 1429 17 is_stmt 0 view .LVU48
182 0078 FFF7FEFF bl HAL_GetTick
ARM GAS /tmp/ccCGp3Cm.s page 30
183 .LVL8:
1429:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
184 .loc 1 1429 17 view .LVU49
185 007c 0546 mov r5, r0
186 .LVL9:
1432:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
187 .loc 1 1432 5 is_stmt 1 view .LVU50
188 .L6:
1432:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
189 .loc 1 1432 11 view .LVU51
1432:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
190 .loc 1 1432 12 is_stmt 0 view .LVU52
191 007e 2368 ldr r3, [r4]
192 0080 DB68 ldr r3, [r3, #12]
1432:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
193 .loc 1 1432 11 view .LVU53
194 0082 13F0010F tst r3, #1
195 0086 0DD1 bne .L8
1434:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
196 .loc 1 1434 7 is_stmt 1 view .LVU54
1434:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
197 .loc 1 1434 12 is_stmt 0 view .LVU55
198 0088 FFF7FEFF bl HAL_GetTick
199 .LVL10:
1434:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
200 .loc 1 1434 26 view .LVU56
201 008c 401B subs r0, r0, r5
1434:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
202 .loc 1 1434 10 view .LVU57
203 008e B0F57A7F cmp r0, #1000
204 0092 F4D9 bls .L6
1437:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
205 .loc 1 1437 9 is_stmt 1 view .LVU58
1437:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
206 .loc 1 1437 9 view .LVU59
207 0094 2368 ldr r3, [r4]
208 0096 FF22 movs r2, #255
209 0098 5A62 str r2, [r3, #36]
1437:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
210 .loc 1 1437 9 view .LVU60
1439:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
211 .loc 1 1439 9 view .LVU61
1439:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
212 .loc 1 1439 21 is_stmt 0 view .LVU62
213 009a 0320 movs r0, #3
214 009c 6077 strb r0, [r4, #29]
1442:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
215 .loc 1 1442 9 is_stmt 1 view .LVU63
1442:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
216 .loc 1 1442 9 view .LVU64
217 009e 0023 movs r3, #0
218 00a0 2377 strb r3, [r4, #28]
1442:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
219 .loc 1 1442 9 view .LVU65
1444:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
220 .loc 1 1444 9 view .LVU66
1444:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
ARM GAS /tmp/ccCGp3Cm.s page 31
221 .loc 1 1444 16 is_stmt 0 view .LVU67
222 00a2 06E0 b .L4
223 .L8:
1473:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
1474:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
1475:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
1476:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1477:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Enable the write protection for RTC registers */
1478:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc);
224 .loc 1 1478 3 is_stmt 1 view .LVU68
225 .loc 1 1478 3 view .LVU69
226 00a4 2368 ldr r3, [r4]
227 00a6 FF22 movs r2, #255
228 00a8 5A62 str r2, [r3, #36]
229 .loc 1 1478 3 view .LVU70
1479:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1480:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->State = HAL_RTC_STATE_READY;
230 .loc 1 1480 3 view .LVU71
231 .loc 1 1480 15 is_stmt 0 view .LVU72
232 00aa 0123 movs r3, #1
233 00ac 6377 strb r3, [r4, #29]
1481:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1482:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Process Unlocked */
1483:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** __HAL_UNLOCK(hrtc);
234 .loc 1 1483 3 is_stmt 1 view .LVU73
235 .loc 1 1483 3 view .LVU74
236 00ae 0020 movs r0, #0
237 00b0 2077 strb r0, [r4, #28]
238 .loc 1 1483 3 view .LVU75
1484:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1485:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** return HAL_OK;
239 .loc 1 1485 3 view .LVU76
240 .LVL11:
241 .L4:
1486:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
242 .loc 1 1486 1 is_stmt 0 view .LVU77
243 00b2 38BD pop {r3, r4, r5, pc}
244 .LVL12:
245 .L11:
1413:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
246 .loc 1 1413 3 view .LVU78
247 00b4 0220 movs r0, #2
248 .LVL13:
1413:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
249 .loc 1 1413 3 view .LVU79
250 00b6 FCE7 b .L4
251 .cfi_endproc
252 .LFE144:
254 .section .text.HAL_RTC_AlarmAEventCallback,"ax",%progbits
255 .align 1
256 .weak HAL_RTC_AlarmAEventCallback
257 .syntax unified
258 .thumb
259 .thumb_func
261 HAL_RTC_AlarmAEventCallback:
262 .LVL14:
263 .LFB147:
ARM GAS /tmp/ccCGp3Cm.s page 32
1487:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1488:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /**
1489:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @brief Gets the RTC Alarm value and masks.
1490:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @param hrtc pointer to a RTC_HandleTypeDef structure that contains
1491:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * the configuration information for RTC.
1492:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @param sAlarm Pointer to Date structure
1493:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @param Alarm Specifies the Alarm.
1494:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * This parameter can be one of the following values:
1495:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @arg RTC_ALARM_A: Alarm A
1496:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @arg RTC_ALARM_B: Alarm B
1497:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @param Format Specifies the format of the entered parameters.
1498:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * This parameter can be one of the following values:
1499:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @arg RTC_FORMAT_BIN: Binary data format
1500:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @arg RTC_FORMAT_BCD: BCD data format
1501:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @retval HAL status
1502:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** */
1503:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** HAL_StatusTypeDef HAL_RTC_GetAlarm(RTC_HandleTypeDef *hrtc, RTC_AlarmTypeDef *sAlarm, uint32_t Alar
1504:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
1505:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** uint32_t tmpreg = 0U;
1506:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** uint32_t subsecondtmpreg = 0U;
1507:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1508:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Check the parameters */
1509:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** assert_param(IS_RTC_FORMAT(Format));
1510:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** assert_param(IS_RTC_ALARM(Alarm));
1511:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1512:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** if (Alarm == RTC_ALARM_A)
1513:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
1514:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** sAlarm->Alarm = RTC_ALARM_A;
1515:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1516:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** tmpreg = (uint32_t)(hrtc->Instance->ALRMAR);
1517:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** subsecondtmpreg = (uint32_t)((hrtc->Instance->ALRMASSR) & RTC_ALRMASSR_SS);
1518:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
1519:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** else
1520:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
1521:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** sAlarm->Alarm = RTC_ALARM_B;
1522:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1523:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** tmpreg = (uint32_t)(hrtc->Instance->ALRMBR);
1524:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** subsecondtmpreg = (uint32_t)((hrtc->Instance->ALRMBSSR) & RTC_ALRMBSSR_SS);
1525:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
1526:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1527:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Fill the structure with the read parameters */
1528:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** sAlarm->AlarmTime.Hours = (uint8_t) ((tmpreg & (RTC_ALRMAR_HT | RTC_ALRMAR_HU)) >> RTC_ALR
1529:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** sAlarm->AlarmTime.Minutes = (uint8_t) ((tmpreg & (RTC_ALRMAR_MNT | RTC_ALRMAR_MNU)) >> RTC_ALR
1530:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** sAlarm->AlarmTime.Seconds = (uint8_t) ( tmpreg & (RTC_ALRMAR_ST | RTC_ALRMAR_SU));
1531:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** sAlarm->AlarmTime.TimeFormat = (uint8_t) ((tmpreg & RTC_ALRMAR_PM) >> RTC_TR_
1532:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** sAlarm->AlarmTime.SubSeconds = (uint32_t) subsecondtmpreg;
1533:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** sAlarm->AlarmDateWeekDay = (uint8_t) ((tmpreg & (RTC_ALRMAR_DT | RTC_ALRMAR_DU)) >> RTC_ALR
1534:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** sAlarm->AlarmDateWeekDaySel = (uint32_t) (tmpreg & RTC_ALRMAR_WDSEL);
1535:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** sAlarm->AlarmMask = (uint32_t) (tmpreg & RTC_ALARMMASK_ALL);
1536:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1537:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** if (Format == RTC_FORMAT_BIN)
1538:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
1539:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** sAlarm->AlarmTime.Hours = RTC_Bcd2ToByte(sAlarm->AlarmTime.Hours);
1540:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** sAlarm->AlarmTime.Minutes = RTC_Bcd2ToByte(sAlarm->AlarmTime.Minutes);
1541:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** sAlarm->AlarmTime.Seconds = RTC_Bcd2ToByte(sAlarm->AlarmTime.Seconds);
1542:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** sAlarm->AlarmDateWeekDay = RTC_Bcd2ToByte(sAlarm->AlarmDateWeekDay);
1543:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
ARM GAS /tmp/ccCGp3Cm.s page 33
1544:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1545:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** return HAL_OK;
1546:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
1547:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1548:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /**
1549:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @brief Handles Alarm interrupt request.
1550:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @param hrtc pointer to a RTC_HandleTypeDef structure that contains
1551:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * the configuration information for RTC.
1552:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @retval None
1553:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** */
1554:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** void HAL_RTC_AlarmIRQHandler(RTC_HandleTypeDef *hrtc)
1555:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
1556:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Clear the EXTI flag associated to the RTC Alarm interrupt */
1557:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** __HAL_RTC_ALARM_EXTI_CLEAR_FLAG();
1558:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1559:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Get the Alarm A interrupt source enable status */
1560:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** if (__HAL_RTC_ALARM_GET_IT_SOURCE(hrtc, RTC_IT_ALRA) != 0U)
1561:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
1562:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Get the pending status of the Alarm A Interrupt */
1563:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** if (__HAL_RTC_ALARM_GET_FLAG(hrtc, RTC_FLAG_ALRAF) != 0U)
1564:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
1565:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Clear the Alarm A interrupt pending bit */
1566:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** __HAL_RTC_ALARM_CLEAR_FLAG(hrtc, RTC_FLAG_ALRAF);
1567:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1568:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Alarm A callback */
1569:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** #if (USE_HAL_RTC_REGISTER_CALLBACKS == 1)
1570:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->AlarmAEventCallback(hrtc);
1571:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** #else
1572:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** HAL_RTC_AlarmAEventCallback(hrtc);
1573:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** #endif /* USE_HAL_RTC_REGISTER_CALLBACKS */
1574:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
1575:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
1576:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1577:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Get the Alarm B interrupt source enable status */
1578:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** if (__HAL_RTC_ALARM_GET_IT_SOURCE(hrtc, RTC_IT_ALRB) != 0U)
1579:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
1580:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Get the pending status of the Alarm B Interrupt */
1581:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** if (__HAL_RTC_ALARM_GET_FLAG(hrtc, RTC_FLAG_ALRBF) != 0U)
1582:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
1583:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Clear the Alarm B interrupt pending bit */
1584:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** __HAL_RTC_ALARM_CLEAR_FLAG(hrtc, RTC_FLAG_ALRBF);
1585:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1586:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Alarm B callback */
1587:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** #if (USE_HAL_RTC_REGISTER_CALLBACKS == 1)
1588:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->AlarmBEventCallback(hrtc);
1589:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** #else
1590:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** HAL_RTCEx_AlarmBEventCallback(hrtc);
1591:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** #endif /* USE_HAL_RTC_REGISTER_CALLBACKS */
1592:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
1593:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
1594:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1595:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Change RTC state */
1596:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->State = HAL_RTC_STATE_READY;
1597:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
1598:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1599:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /**
1600:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @brief Alarm A callback.
ARM GAS /tmp/ccCGp3Cm.s page 34
1601:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @param hrtc pointer to a RTC_HandleTypeDef structure that contains
1602:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * the configuration information for RTC.
1603:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @retval None
1604:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** */
1605:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** __weak void HAL_RTC_AlarmAEventCallback(RTC_HandleTypeDef *hrtc)
1606:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
264 .loc 1 1606 1 is_stmt 1 view -0
265 .cfi_startproc
266 @ args = 0, pretend = 0, frame = 0
267 @ frame_needed = 0, uses_anonymous_args = 0
268 @ link register save eliminated.
1607:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Prevent unused argument(s) compilation warning */
1608:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** UNUSED(hrtc);
269 .loc 1 1608 3 view .LVU81
1609:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1610:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* NOTE: This function should not be modified, when the callback is needed,
1611:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** the HAL_RTC_AlarmAEventCallback could be implemented in the user file
1612:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** */
1613:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
270 .loc 1 1613 1 is_stmt 0 view .LVU82
271 0000 7047 bx lr
272 .cfi_endproc
273 .LFE147:
275 .section .text.HAL_RTC_AlarmIRQHandler,"ax",%progbits
276 .align 1
277 .global HAL_RTC_AlarmIRQHandler
278 .syntax unified
279 .thumb
280 .thumb_func
282 HAL_RTC_AlarmIRQHandler:
283 .LVL15:
284 .LFB146:
1555:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Clear the EXTI flag associated to the RTC Alarm interrupt */
285 .loc 1 1555 1 is_stmt 1 view -0
286 .cfi_startproc
287 @ args = 0, pretend = 0, frame = 0
288 @ frame_needed = 0, uses_anonymous_args = 0
1555:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Clear the EXTI flag associated to the RTC Alarm interrupt */
289 .loc 1 1555 1 is_stmt 0 view .LVU84
290 0000 10B5 push {r4, lr}
291 .LCFI1:
292 .cfi_def_cfa_offset 8
293 .cfi_offset 4, -8
294 .cfi_offset 14, -4
295 0002 0446 mov r4, r0
1557:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
296 .loc 1 1557 3 is_stmt 1 view .LVU85
297 0004 144B ldr r3, .L21
298 0006 4FF40032 mov r2, #131072
299 000a 5A61 str r2, [r3, #20]
1560:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
300 .loc 1 1560 3 view .LVU86
1560:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
301 .loc 1 1560 7 is_stmt 0 view .LVU87
302 000c 0368 ldr r3, [r0]
303 000e 9A68 ldr r2, [r3, #8]
1560:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
ARM GAS /tmp/ccCGp3Cm.s page 35
304 .loc 1 1560 6 view .LVU88
305 0010 12F4805F tst r2, #4096
306 0014 03D0 beq .L16
1563:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
307 .loc 1 1563 5 is_stmt 1 view .LVU89
1563:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
308 .loc 1 1563 9 is_stmt 0 view .LVU90
309 0016 DA68 ldr r2, [r3, #12]
1563:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
310 .loc 1 1563 8 view .LVU91
311 0018 12F4807F tst r2, #256
312 001c 0BD1 bne .L19
313 .LVL16:
314 .L16:
1578:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
315 .loc 1 1578 3 is_stmt 1 view .LVU92
1578:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
316 .loc 1 1578 7 is_stmt 0 view .LVU93
317 001e 2368 ldr r3, [r4]
318 0020 9A68 ldr r2, [r3, #8]
1578:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
319 .loc 1 1578 6 view .LVU94
320 0022 12F4005F tst r2, #8192
321 0026 03D0 beq .L17
1581:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
322 .loc 1 1581 5 is_stmt 1 view .LVU95
1581:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
323 .loc 1 1581 9 is_stmt 0 view .LVU96
324 0028 DA68 ldr r2, [r3, #12]
1581:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
325 .loc 1 1581 8 view .LVU97
326 002a 12F4007F tst r2, #512
327 002e 0AD1 bne .L20
328 .L17:
1596:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
329 .loc 1 1596 3 is_stmt 1 view .LVU98
1596:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
330 .loc 1 1596 15 is_stmt 0 view .LVU99
331 0030 0123 movs r3, #1
332 0032 6377 strb r3, [r4, #29]
1597:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
333 .loc 1 1597 1 view .LVU100
334 0034 10BD pop {r4, pc}
335 .LVL17:
336 .L19:
1566:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
337 .loc 1 1566 7 is_stmt 1 view .LVU101
338 0036 DA68 ldr r2, [r3, #12]
339 0038 D2B2 uxtb r2, r2
340 003a 62F4C072 orn r2, r2, #384
341 003e DA60 str r2, [r3, #12]
1572:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** #endif /* USE_HAL_RTC_REGISTER_CALLBACKS */
342 .loc 1 1572 7 view .LVU102
343 0040 FFF7FEFF bl HAL_RTC_AlarmAEventCallback
344 .LVL18:
1572:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** #endif /* USE_HAL_RTC_REGISTER_CALLBACKS */
345 .loc 1 1572 7 is_stmt 0 view .LVU103
ARM GAS /tmp/ccCGp3Cm.s page 36
346 0044 EBE7 b .L16
347 .L20:
1584:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
348 .loc 1 1584 7 is_stmt 1 view .LVU104
349 0046 DA68 ldr r2, [r3, #12]
350 0048 D2B2 uxtb r2, r2
351 004a 62F42072 orn r2, r2, #640
352 004e DA60 str r2, [r3, #12]
1590:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** #endif /* USE_HAL_RTC_REGISTER_CALLBACKS */
353 .loc 1 1590 7 view .LVU105
354 0050 2046 mov r0, r4
355 0052 FFF7FEFF bl HAL_RTCEx_AlarmBEventCallback
356 .LVL19:
357 0056 EBE7 b .L17
358 .L22:
359 .align 2
360 .L21:
361 0058 003C0140 .word 1073822720
362 .cfi_endproc
363 .LFE146:
365 .section .text.HAL_RTC_PollForAlarmAEvent,"ax",%progbits
366 .align 1
367 .global HAL_RTC_PollForAlarmAEvent
368 .syntax unified
369 .thumb
370 .thumb_func
372 HAL_RTC_PollForAlarmAEvent:
373 .LVL20:
374 .LFB148:
1614:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1615:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /**
1616:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @brief Handles Alarm A Polling request.
1617:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @param hrtc pointer to a RTC_HandleTypeDef structure that contains
1618:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * the configuration information for RTC.
1619:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @param Timeout Timeout duration
1620:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @retval HAL status
1621:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** */
1622:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** HAL_StatusTypeDef HAL_RTC_PollForAlarmAEvent(RTC_HandleTypeDef *hrtc, uint32_t Timeout)
1623:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
375 .loc 1 1623 1 view -0
376 .cfi_startproc
377 @ args = 0, pretend = 0, frame = 0
378 @ frame_needed = 0, uses_anonymous_args = 0
379 .loc 1 1623 1 is_stmt 0 view .LVU107
380 0000 70B5 push {r4, r5, r6, lr}
381 .LCFI2:
382 .cfi_def_cfa_offset 16
383 .cfi_offset 4, -16
384 .cfi_offset 5, -12
385 .cfi_offset 6, -8
386 .cfi_offset 14, -4
387 0002 0446 mov r4, r0
388 0004 0D46 mov r5, r1
1624:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** uint32_t tickstart = 0U;
389 .loc 1 1624 3 is_stmt 1 view .LVU108
390 .LVL21:
1625:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
ARM GAS /tmp/ccCGp3Cm.s page 37
1626:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Get tick */
1627:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** tickstart = HAL_GetTick();
391 .loc 1 1627 3 view .LVU109
392 .loc 1 1627 15 is_stmt 0 view .LVU110
393 0006 FFF7FEFF bl HAL_GetTick
394 .LVL22:
395 .loc 1 1627 15 view .LVU111
396 000a 0646 mov r6, r0
397 .LVL23:
1628:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1629:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Wait till RTC ALRAF flag is set and if timeout is reached exit */
1630:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** while (__HAL_RTC_ALARM_GET_FLAG(hrtc, RTC_FLAG_ALRAF) == 0U)
398 .loc 1 1630 3 is_stmt 1 view .LVU112
399 .L25:
400 .loc 1 1630 9 view .LVU113
401 .loc 1 1630 10 is_stmt 0 view .LVU114
402 000c 2368 ldr r3, [r4]
403 000e DA68 ldr r2, [r3, #12]
404 .loc 1 1630 9 view .LVU115
405 0010 12F4807F tst r2, #256
406 0014 0BD1 bne .L30
1631:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
1632:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** if (Timeout != HAL_MAX_DELAY)
407 .loc 1 1632 5 is_stmt 1 view .LVU116
408 .loc 1 1632 8 is_stmt 0 view .LVU117
409 0016 B5F1FF3F cmp r5, #-1
410 001a F7D0 beq .L25
1633:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
1634:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** if ((Timeout == 0U) || ((HAL_GetTick() - tickstart) > Timeout))
411 .loc 1 1634 7 is_stmt 1 view .LVU118
412 .loc 1 1634 10 is_stmt 0 view .LVU119
413 001c 25B1 cbz r5, .L26
414 .loc 1 1634 32 discriminator 1 view .LVU120
415 001e FFF7FEFF bl HAL_GetTick
416 .LVL24:
417 .loc 1 1634 46 discriminator 1 view .LVU121
418 0022 801B subs r0, r0, r6
419 .loc 1 1634 27 discriminator 1 view .LVU122
420 0024 A842 cmp r0, r5
421 0026 F1D9 bls .L25
422 .L26:
1635:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
1636:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->State = HAL_RTC_STATE_TIMEOUT;
423 .loc 1 1636 9 is_stmt 1 view .LVU123
424 .loc 1 1636 21 is_stmt 0 view .LVU124
425 0028 0320 movs r0, #3
426 002a 6077 strb r0, [r4, #29]
1637:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** return HAL_TIMEOUT;
427 .loc 1 1637 9 is_stmt 1 view .LVU125
428 .loc 1 1637 16 is_stmt 0 view .LVU126
429 002c 07E0 b .L27
430 .L30:
1638:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
1639:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
1640:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
1641:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1642:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Clear the Alarm flag */
ARM GAS /tmp/ccCGp3Cm.s page 38
1643:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** __HAL_RTC_ALARM_CLEAR_FLAG(hrtc, RTC_FLAG_ALRAF);
431 .loc 1 1643 3 is_stmt 1 view .LVU127
432 002e DA68 ldr r2, [r3, #12]
433 0030 D2B2 uxtb r2, r2
434 0032 62F4C072 orn r2, r2, #384
435 0036 DA60 str r2, [r3, #12]
1644:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1645:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Change RTC state */
1646:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->State = HAL_RTC_STATE_READY;
436 .loc 1 1646 3 view .LVU128
437 .loc 1 1646 15 is_stmt 0 view .LVU129
438 0038 0123 movs r3, #1
439 003a 6377 strb r3, [r4, #29]
1647:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1648:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** return HAL_OK;
440 .loc 1 1648 3 is_stmt 1 view .LVU130
441 .loc 1 1648 10 is_stmt 0 view .LVU131
442 003c 0020 movs r0, #0
443 .L27:
1649:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
444 .loc 1 1649 1 view .LVU132
445 003e 70BD pop {r4, r5, r6, pc}
446 .loc 1 1649 1 view .LVU133
447 .cfi_endproc
448 .LFE148:
450 .section .text.HAL_RTC_WaitForSynchro,"ax",%progbits
451 .align 1
452 .global HAL_RTC_WaitForSynchro
453 .syntax unified
454 .thumb
455 .thumb_func
457 HAL_RTC_WaitForSynchro:
458 .LVL25:
459 .LFB149:
1650:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1651:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /**
1652:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @}
1653:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** */
1654:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1655:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /** @defgroup RTC_Exported_Functions_Group4 Peripheral Control functions
1656:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @brief Peripheral Control functions
1657:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** *
1658:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** @verbatim
1659:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ===============================================================================
1660:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ##### Peripheral Control functions #####
1661:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ===============================================================================
1662:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** [..]
1663:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** This subsection provides functions allowing to
1664:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** (+) Wait for RTC Time and Date Synchronization
1665:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** (+) Manage RTC Summer or Winter time change
1666:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1667:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** @endverbatim
1668:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @{
1669:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** */
1670:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1671:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /**
1672:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @brief Waits until the RTC Time and Date registers (RTC_TR and RTC_DR) are
ARM GAS /tmp/ccCGp3Cm.s page 39
1673:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * synchronized with RTC APB clock.
1674:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @note The RTC Resynchronization mode is write protected, use the
1675:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * __HAL_RTC_WRITEPROTECTION_DISABLE() before calling this function.
1676:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @note To read the calendar through the shadow registers after Calendar
1677:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * initialization, calendar update or after wakeup from low power modes
1678:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * the software must first clear the RSF flag.
1679:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * The software must then wait until it is set again before reading
1680:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * the calendar, which means that the calendar registers have been
1681:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * correctly copied into the RTC_TR and RTC_DR shadow registers.
1682:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @param hrtc pointer to a RTC_HandleTypeDef structure that contains
1683:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * the configuration information for RTC.
1684:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @retval HAL status
1685:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** */
1686:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** HAL_StatusTypeDef HAL_RTC_WaitForSynchro(RTC_HandleTypeDef *hrtc)
1687:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
460 .loc 1 1687 1 is_stmt 1 view -0
461 .cfi_startproc
462 @ args = 0, pretend = 0, frame = 0
463 @ frame_needed = 0, uses_anonymous_args = 0
464 .loc 1 1687 1 is_stmt 0 view .LVU135
465 0000 38B5 push {r3, r4, r5, lr}
466 .LCFI3:
467 .cfi_def_cfa_offset 16
468 .cfi_offset 3, -16
469 .cfi_offset 4, -12
470 .cfi_offset 5, -8
471 .cfi_offset 14, -4
472 0002 0446 mov r4, r0
1688:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** uint32_t tickstart = 0U;
473 .loc 1 1688 3 is_stmt 1 view .LVU136
474 .LVL26:
1689:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1690:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Clear RSF flag, keep reserved bits at reset values (setting other flags has no effect) */
1691:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->Instance->ISR = ((uint32_t)(RTC_RSF_MASK & RTC_ISR_RESERVED_MASK));
475 .loc 1 1691 3 view .LVU137
476 .loc 1 1691 7 is_stmt 0 view .LVU138
477 0004 0368 ldr r3, [r0]
478 .loc 1 1691 23 view .LVU139
479 0006 0A4A ldr r2, .L38
480 0008 DA60 str r2, [r3, #12]
1692:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1693:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Get tick */
1694:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** tickstart = HAL_GetTick();
481 .loc 1 1694 3 is_stmt 1 view .LVU140
482 .loc 1 1694 15 is_stmt 0 view .LVU141
483 000a FFF7FEFF bl HAL_GetTick
484 .LVL27:
485 .loc 1 1694 15 view .LVU142
486 000e 0546 mov r5, r0
487 .LVL28:
1695:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1696:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Wait the registers to be synchronised */
1697:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** while ((hrtc->Instance->ISR & RTC_ISR_RSF) == 0U)
488 .loc 1 1697 3 is_stmt 1 view .LVU143
489 .L32:
490 .loc 1 1697 9 view .LVU144
491 .loc 1 1697 15 is_stmt 0 view .LVU145
ARM GAS /tmp/ccCGp3Cm.s page 40
492 0010 2368 ldr r3, [r4]
493 .loc 1 1697 25 view .LVU146
494 0012 DB68 ldr r3, [r3, #12]
495 .loc 1 1697 9 view .LVU147
496 0014 13F0200F tst r3, #32
497 0018 07D1 bne .L37
1698:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
1699:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** if ((HAL_GetTick() - tickstart) > RTC_TIMEOUT_VALUE)
498 .loc 1 1699 5 is_stmt 1 view .LVU148
499 .loc 1 1699 10 is_stmt 0 view .LVU149
500 001a FFF7FEFF bl HAL_GetTick
501 .LVL29:
502 .loc 1 1699 24 view .LVU150
503 001e 401B subs r0, r0, r5
504 .loc 1 1699 8 view .LVU151
505 0020 B0F57A7F cmp r0, #1000
506 0024 F4D9 bls .L32
1700:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
1701:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** return HAL_TIMEOUT;
507 .loc 1 1701 14 view .LVU152
508 0026 0320 movs r0, #3
509 0028 00E0 b .L33
510 .L37:
1702:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
1703:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
1704:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1705:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** return HAL_OK;
511 .loc 1 1705 10 view .LVU153
512 002a 0020 movs r0, #0
513 .L33:
1706:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
514 .loc 1 1706 1 view .LVU154
515 002c 38BD pop {r3, r4, r5, pc}
516 .LVL30:
517 .L39:
518 .loc 1 1706 1 view .LVU155
519 002e 00BF .align 2
520 .L38:
521 0030 5F7F0100 .word 98143
522 .cfi_endproc
523 .LFE149:
525 .section .text.HAL_RTC_DST_Add1Hour,"ax",%progbits
526 .align 1
527 .global HAL_RTC_DST_Add1Hour
528 .syntax unified
529 .thumb
530 .thumb_func
532 HAL_RTC_DST_Add1Hour:
533 .LVL31:
534 .LFB150:
1707:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1708:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /**
1709:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @brief Daylight Saving Time, adds one hour to the calendar in one
1710:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * single operation without going through the initialization procedure.
1711:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @param hrtc pointer to a RTC_HandleTypeDef structure that contains
1712:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * the configuration information for RTC.
1713:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @retval None
ARM GAS /tmp/ccCGp3Cm.s page 41
1714:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** */
1715:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** void HAL_RTC_DST_Add1Hour(RTC_HandleTypeDef *hrtc)
1716:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
535 .loc 1 1716 1 is_stmt 1 view -0
536 .cfi_startproc
537 @ args = 0, pretend = 0, frame = 0
538 @ frame_needed = 0, uses_anonymous_args = 0
539 @ link register save eliminated.
1717:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** __HAL_RTC_WRITEPROTECTION_DISABLE(hrtc);
540 .loc 1 1717 3 view .LVU157
541 .loc 1 1717 3 view .LVU158
542 0000 0368 ldr r3, [r0]
543 0002 CA22 movs r2, #202
544 0004 5A62 str r2, [r3, #36]
545 .loc 1 1717 3 view .LVU159
546 0006 0368 ldr r3, [r0]
547 0008 5322 movs r2, #83
548 000a 5A62 str r2, [r3, #36]
549 .loc 1 1717 3 view .LVU160
1718:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** SET_BIT(hrtc->Instance->CR, RTC_CR_ADD1H);
550 .loc 1 1718 3 view .LVU161
551 000c 0268 ldr r2, [r0]
552 000e 9368 ldr r3, [r2, #8]
553 0010 43F48033 orr r3, r3, #65536
554 0014 9360 str r3, [r2, #8]
1719:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc);
555 .loc 1 1719 3 view .LVU162
556 .loc 1 1719 3 view .LVU163
557 0016 0368 ldr r3, [r0]
558 0018 FF22 movs r2, #255
559 001a 5A62 str r2, [r3, #36]
560 .loc 1 1719 3 view .LVU164
1720:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
561 .loc 1 1720 1 is_stmt 0 view .LVU165
562 001c 7047 bx lr
563 .cfi_endproc
564 .LFE150:
566 .section .text.HAL_RTC_DST_Sub1Hour,"ax",%progbits
567 .align 1
568 .global HAL_RTC_DST_Sub1Hour
569 .syntax unified
570 .thumb
571 .thumb_func
573 HAL_RTC_DST_Sub1Hour:
574 .LVL32:
575 .LFB151:
1721:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1722:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /**
1723:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @brief Daylight Saving Time, subtracts one hour from the calendar in one
1724:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * single operation without going through the initialization procedure.
1725:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @param hrtc pointer to a RTC_HandleTypeDef structure that contains
1726:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * the configuration information for RTC.
1727:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @retval None
1728:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** */
1729:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** void HAL_RTC_DST_Sub1Hour(RTC_HandleTypeDef *hrtc)
1730:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
576 .loc 1 1730 1 is_stmt 1 view -0
ARM GAS /tmp/ccCGp3Cm.s page 42
577 .cfi_startproc
578 @ args = 0, pretend = 0, frame = 0
579 @ frame_needed = 0, uses_anonymous_args = 0
580 @ link register save eliminated.
1731:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** __HAL_RTC_WRITEPROTECTION_DISABLE(hrtc);
581 .loc 1 1731 3 view .LVU167
582 .loc 1 1731 3 view .LVU168
583 0000 0368 ldr r3, [r0]
584 0002 CA22 movs r2, #202
585 0004 5A62 str r2, [r3, #36]
586 .loc 1 1731 3 view .LVU169
587 0006 0368 ldr r3, [r0]
588 0008 5322 movs r2, #83
589 000a 5A62 str r2, [r3, #36]
590 .loc 1 1731 3 view .LVU170
1732:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** SET_BIT(hrtc->Instance->CR, RTC_CR_SUB1H);
591 .loc 1 1732 3 view .LVU171
592 000c 0268 ldr r2, [r0]
593 000e 9368 ldr r3, [r2, #8]
594 0010 43F40033 orr r3, r3, #131072
595 0014 9360 str r3, [r2, #8]
1733:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc);
596 .loc 1 1733 3 view .LVU172
597 .loc 1 1733 3 view .LVU173
598 0016 0368 ldr r3, [r0]
599 0018 FF22 movs r2, #255
600 001a 5A62 str r2, [r3, #36]
601 .loc 1 1733 3 view .LVU174
1734:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
602 .loc 1 1734 1 is_stmt 0 view .LVU175
603 001c 7047 bx lr
604 .cfi_endproc
605 .LFE151:
607 .section .text.HAL_RTC_DST_SetStoreOperation,"ax",%progbits
608 .align 1
609 .global HAL_RTC_DST_SetStoreOperation
610 .syntax unified
611 .thumb
612 .thumb_func
614 HAL_RTC_DST_SetStoreOperation:
615 .LVL33:
616 .LFB152:
1735:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1736:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /**
1737:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @brief Daylight Saving Time, sets the store operation bit.
1738:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @note It can be used by the software in order to memorize the DST status.
1739:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @param hrtc pointer to a RTC_HandleTypeDef structure that contains
1740:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * the configuration information for RTC.
1741:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @retval None
1742:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** */
1743:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** void HAL_RTC_DST_SetStoreOperation(RTC_HandleTypeDef *hrtc)
1744:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
617 .loc 1 1744 1 is_stmt 1 view -0
618 .cfi_startproc
619 @ args = 0, pretend = 0, frame = 0
620 @ frame_needed = 0, uses_anonymous_args = 0
621 @ link register save eliminated.
ARM GAS /tmp/ccCGp3Cm.s page 43
1745:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** __HAL_RTC_WRITEPROTECTION_DISABLE(hrtc);
622 .loc 1 1745 3 view .LVU177
623 .loc 1 1745 3 view .LVU178
624 0000 0368 ldr r3, [r0]
625 0002 CA22 movs r2, #202
626 0004 5A62 str r2, [r3, #36]
627 .loc 1 1745 3 view .LVU179
628 0006 0368 ldr r3, [r0]
629 0008 5322 movs r2, #83
630 000a 5A62 str r2, [r3, #36]
631 .loc 1 1745 3 view .LVU180
1746:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** SET_BIT(hrtc->Instance->CR, RTC_CR_BKP);
632 .loc 1 1746 3 view .LVU181
633 000c 0268 ldr r2, [r0]
634 000e 9368 ldr r3, [r2, #8]
635 0010 43F48023 orr r3, r3, #262144
636 0014 9360 str r3, [r2, #8]
1747:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc);
637 .loc 1 1747 3 view .LVU182
638 .loc 1 1747 3 view .LVU183
639 0016 0368 ldr r3, [r0]
640 0018 FF22 movs r2, #255
641 001a 5A62 str r2, [r3, #36]
642 .loc 1 1747 3 view .LVU184
1748:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
643 .loc 1 1748 1 is_stmt 0 view .LVU185
644 001c 7047 bx lr
645 .cfi_endproc
646 .LFE152:
648 .section .text.HAL_RTC_DST_ClearStoreOperation,"ax",%progbits
649 .align 1
650 .global HAL_RTC_DST_ClearStoreOperation
651 .syntax unified
652 .thumb
653 .thumb_func
655 HAL_RTC_DST_ClearStoreOperation:
656 .LVL34:
657 .LFB153:
1749:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1750:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /**
1751:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @brief Daylight Saving Time, clears the store operation bit.
1752:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @param hrtc pointer to a RTC_HandleTypeDef structure that contains
1753:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * the configuration information for RTC.
1754:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @retval None
1755:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** */
1756:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** void HAL_RTC_DST_ClearStoreOperation(RTC_HandleTypeDef *hrtc)
1757:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
658 .loc 1 1757 1 is_stmt 1 view -0
659 .cfi_startproc
660 @ args = 0, pretend = 0, frame = 0
661 @ frame_needed = 0, uses_anonymous_args = 0
662 @ link register save eliminated.
1758:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** __HAL_RTC_WRITEPROTECTION_DISABLE(hrtc);
663 .loc 1 1758 3 view .LVU187
664 .loc 1 1758 3 view .LVU188
665 0000 0368 ldr r3, [r0]
666 0002 CA22 movs r2, #202
ARM GAS /tmp/ccCGp3Cm.s page 44
667 0004 5A62 str r2, [r3, #36]
668 .loc 1 1758 3 view .LVU189
669 0006 0368 ldr r3, [r0]
670 0008 5322 movs r2, #83
671 000a 5A62 str r2, [r3, #36]
672 .loc 1 1758 3 view .LVU190
1759:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** CLEAR_BIT(hrtc->Instance->CR, RTC_CR_BKP);
673 .loc 1 1759 3 view .LVU191
674 000c 0268 ldr r2, [r0]
675 000e 9368 ldr r3, [r2, #8]
676 0010 23F48023 bic r3, r3, #262144
677 0014 9360 str r3, [r2, #8]
1760:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc);
678 .loc 1 1760 3 view .LVU192
679 .loc 1 1760 3 view .LVU193
680 0016 0368 ldr r3, [r0]
681 0018 FF22 movs r2, #255
682 001a 5A62 str r2, [r3, #36]
683 .loc 1 1760 3 view .LVU194
1761:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
684 .loc 1 1761 1 is_stmt 0 view .LVU195
685 001c 7047 bx lr
686 .cfi_endproc
687 .LFE153:
689 .section .text.HAL_RTC_DST_ReadStoreOperation,"ax",%progbits
690 .align 1
691 .global HAL_RTC_DST_ReadStoreOperation
692 .syntax unified
693 .thumb
694 .thumb_func
696 HAL_RTC_DST_ReadStoreOperation:
697 .LVL35:
698 .LFB154:
1762:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1763:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /**
1764:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @brief Daylight Saving Time, reads the store operation bit.
1765:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @param hrtc RTC handle
1766:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @retval operation see RTC_StoreOperation_Definitions
1767:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** */
1768:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** uint32_t HAL_RTC_DST_ReadStoreOperation(RTC_HandleTypeDef *hrtc)
1769:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
699 .loc 1 1769 1 is_stmt 1 view -0
700 .cfi_startproc
701 @ args = 0, pretend = 0, frame = 0
702 @ frame_needed = 0, uses_anonymous_args = 0
703 @ link register save eliminated.
1770:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** return READ_BIT(hrtc->Instance->CR, RTC_CR_BKP);
704 .loc 1 1770 3 view .LVU197
705 .loc 1 1770 10 is_stmt 0 view .LVU198
706 0000 0368 ldr r3, [r0]
707 0002 9868 ldr r0, [r3, #8]
708 .LVL36:
1771:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
709 .loc 1 1771 1 view .LVU199
710 0004 00F48020 and r0, r0, #262144
711 0008 7047 bx lr
712 .cfi_endproc
ARM GAS /tmp/ccCGp3Cm.s page 45
713 .LFE154:
715 .section .text.HAL_RTC_GetState,"ax",%progbits
716 .align 1
717 .global HAL_RTC_GetState
718 .syntax unified
719 .thumb
720 .thumb_func
722 HAL_RTC_GetState:
723 .LVL37:
724 .LFB155:
1772:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1773:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /**
1774:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @}
1775:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** */
1776:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1777:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /** @defgroup RTC_Exported_Functions_Group5 Peripheral State functions
1778:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @brief Peripheral State functions
1779:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** *
1780:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** @verbatim
1781:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ===============================================================================
1782:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ##### Peripheral State functions #####
1783:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ===============================================================================
1784:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** [..]
1785:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** This subsection provides functions allowing to
1786:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** (+) Get RTC state
1787:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1788:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** @endverbatim
1789:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @{
1790:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** */
1791:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /**
1792:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @brief Returns the RTC state.
1793:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @param hrtc pointer to a RTC_HandleTypeDef structure that contains
1794:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * the configuration information for RTC.
1795:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @retval HAL state
1796:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** */
1797:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** HAL_RTCStateTypeDef HAL_RTC_GetState(RTC_HandleTypeDef *hrtc)
1798:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
725 .loc 1 1798 1 is_stmt 1 view -0
726 .cfi_startproc
727 @ args = 0, pretend = 0, frame = 0
728 @ frame_needed = 0, uses_anonymous_args = 0
729 @ link register save eliminated.
1799:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** return hrtc->State;
730 .loc 1 1799 3 view .LVU201
731 .loc 1 1799 14 is_stmt 0 view .LVU202
732 0000 407F ldrb r0, [r0, #29] @ zero_extendqisi2
733 .LVL38:
1800:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
734 .loc 1 1800 1 view .LVU203
735 0002 7047 bx lr
736 .cfi_endproc
737 .LFE155:
739 .section .text.RTC_EnterInitMode,"ax",%progbits
740 .align 1
741 .global RTC_EnterInitMode
742 .syntax unified
743 .thumb
ARM GAS /tmp/ccCGp3Cm.s page 46
744 .thumb_func
746 RTC_EnterInitMode:
747 .LVL39:
748 .LFB156:
1801:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1802:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /**
1803:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @}
1804:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** */
1805:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1806:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1807:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /**
1808:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @}
1809:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** */
1810:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1811:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /** @addtogroup RTC_Private_Functions
1812:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @{
1813:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** */
1814:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1815:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /**
1816:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @brief Enters the RTC Initialization mode.
1817:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @note The RTC Initialization mode is write protected, use the
1818:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * __HAL_RTC_WRITEPROTECTION_DISABLE() before calling this function.
1819:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @param hrtc pointer to a RTC_HandleTypeDef structure that contains
1820:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * the configuration information for RTC.
1821:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @retval HAL status
1822:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** */
1823:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** HAL_StatusTypeDef RTC_EnterInitMode(RTC_HandleTypeDef *hrtc)
1824:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
749 .loc 1 1824 1 is_stmt 1 view -0
750 .cfi_startproc
751 @ args = 0, pretend = 0, frame = 0
752 @ frame_needed = 0, uses_anonymous_args = 0
753 .loc 1 1824 1 is_stmt 0 view .LVU205
754 0000 70B5 push {r4, r5, r6, lr}
755 .LCFI4:
756 .cfi_def_cfa_offset 16
757 .cfi_offset 4, -16
758 .cfi_offset 5, -12
759 .cfi_offset 6, -8
760 .cfi_offset 14, -4
1825:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** uint32_t tickstart = 0U;
761 .loc 1 1825 3 is_stmt 1 view .LVU206
762 .LVL40:
1826:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** HAL_StatusTypeDef status = HAL_OK;
763 .loc 1 1826 3 view .LVU207
1827:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1828:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Check that Initialization mode is not already set */
1829:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** if (READ_BIT(hrtc->Instance->ISR, RTC_ISR_INITF) == 0U)
764 .loc 1 1829 3 view .LVU208
765 .loc 1 1829 7 is_stmt 0 view .LVU209
766 0002 0368 ldr r3, [r0]
767 0004 DA68 ldr r2, [r3, #12]
768 .loc 1 1829 6 view .LVU210
769 0006 12F0400F tst r2, #64
770 000a 02D0 beq .L53
1826:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** HAL_StatusTypeDef status = HAL_OK;
771 .loc 1 1826 21 view .LVU211
ARM GAS /tmp/ccCGp3Cm.s page 47
772 000c 0025 movs r5, #0
773 .LVL41:
774 .L47:
1830:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
1831:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Set INIT bit to enter Initialization mode */
1832:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** SET_BIT(hrtc->Instance->ISR, RTC_ISR_INIT);
1833:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1834:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Get tick */
1835:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** tickstart = HAL_GetTick();
1836:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1837:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Wait till RTC is in INIT state and if timeout is reached exit */
1838:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** while ((READ_BIT(hrtc->Instance->ISR, RTC_ISR_INITF) == 0U) && (status != HAL_ERROR))
1839:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
1840:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** if ((HAL_GetTick() - tickstart) > RTC_TIMEOUT_VALUE)
1841:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
1842:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Set RTC state */
1843:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->State = HAL_RTC_STATE_ERROR;
1844:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** status = HAL_ERROR;
1845:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
1846:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
1847:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
1848:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1849:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** return status;
775 .loc 1 1849 3 is_stmt 1 view .LVU212
1850:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
776 .loc 1 1850 1 is_stmt 0 view .LVU213
777 000e 2846 mov r0, r5
778 0010 70BD pop {r4, r5, r6, pc}
779 .LVL42:
780 .L53:
781 .loc 1 1850 1 view .LVU214
782 0012 0446 mov r4, r0
1832:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
783 .loc 1 1832 5 is_stmt 1 view .LVU215
784 0014 DA68 ldr r2, [r3, #12]
785 0016 42F08002 orr r2, r2, #128
786 001a DA60 str r2, [r3, #12]
1835:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
787 .loc 1 1835 5 view .LVU216
1835:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
788 .loc 1 1835 17 is_stmt 0 view .LVU217
789 001c FFF7FEFF bl HAL_GetTick
790 .LVL43:
1835:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
791 .loc 1 1835 17 view .LVU218
792 0020 0646 mov r6, r0
793 .LVL44:
1838:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
794 .loc 1 1838 5 is_stmt 1 view .LVU219
1826:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
795 .loc 1 1826 21 is_stmt 0 view .LVU220
796 0022 0025 movs r5, #0
797 .LVL45:
798 .L49:
1838:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
799 .loc 1 1838 11 is_stmt 1 view .LVU221
1838:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
ARM GAS /tmp/ccCGp3Cm.s page 48
800 .loc 1 1838 13 is_stmt 0 view .LVU222
801 0024 2368 ldr r3, [r4]
802 0026 DB68 ldr r3, [r3, #12]
1838:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
803 .loc 1 1838 11 view .LVU223
804 0028 13F0400F tst r3, #64
805 002c EFD1 bne .L47
1838:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
806 .loc 1 1838 65 discriminator 1 view .LVU224
807 002e 002D cmp r5, #0
808 0030 EDD1 bne .L47
1840:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
809 .loc 1 1840 7 is_stmt 1 view .LVU225
1840:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
810 .loc 1 1840 12 is_stmt 0 view .LVU226
811 0032 FFF7FEFF bl HAL_GetTick
812 .LVL46:
1840:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
813 .loc 1 1840 26 view .LVU227
814 0036 831B subs r3, r0, r6
1840:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
815 .loc 1 1840 10 view .LVU228
816 0038 B3F57A7F cmp r3, #1000
817 003c F2D9 bls .L49
1843:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** status = HAL_ERROR;
818 .loc 1 1843 9 is_stmt 1 view .LVU229
1843:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** status = HAL_ERROR;
819 .loc 1 1843 21 is_stmt 0 view .LVU230
820 003e 0423 movs r3, #4
821 0040 6377 strb r3, [r4, #29]
1844:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
822 .loc 1 1844 9 is_stmt 1 view .LVU231
823 .LVL47:
1844:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
824 .loc 1 1844 16 is_stmt 0 view .LVU232
825 0042 0125 movs r5, #1
826 0044 EEE7 b .L49
827 .cfi_endproc
828 .LFE156:
830 .section .text.RTC_ExitInitMode,"ax",%progbits
831 .align 1
832 .global RTC_ExitInitMode
833 .syntax unified
834 .thumb
835 .thumb_func
837 RTC_ExitInitMode:
838 .LVL48:
839 .LFB157:
1851:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1852:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /**
1853:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @brief Exits the RTC Initialization mode.
1854:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @param hrtc pointer to a RTC_HandleTypeDef structure that contains
1855:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * the configuration information for RTC.
1856:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @retval HAL status
1857:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** */
1858:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** HAL_StatusTypeDef RTC_ExitInitMode(RTC_HandleTypeDef *hrtc)
1859:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
ARM GAS /tmp/ccCGp3Cm.s page 49
840 .loc 1 1859 1 is_stmt 1 view -0
841 .cfi_startproc
842 @ args = 0, pretend = 0, frame = 0
843 @ frame_needed = 0, uses_anonymous_args = 0
1860:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** HAL_StatusTypeDef status = HAL_OK;
844 .loc 1 1860 3 view .LVU234
1861:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1862:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Clear INIT bit to exit Initialization mode */
1863:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** CLEAR_BIT(hrtc->Instance->ISR, RTC_ISR_INIT);
845 .loc 1 1863 3 view .LVU235
846 0000 0268 ldr r2, [r0]
847 0002 D368 ldr r3, [r2, #12]
848 0004 23F08003 bic r3, r3, #128
849 0008 D360 str r3, [r2, #12]
1864:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1865:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* If CR_BYPSHAD bit = 0, wait for synchro */
1866:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** if (READ_BIT(hrtc->Instance->CR, RTC_CR_BYPSHAD) == 0U)
850 .loc 1 1866 3 view .LVU236
851 .loc 1 1866 7 is_stmt 0 view .LVU237
852 000a 0368 ldr r3, [r0]
853 000c 9B68 ldr r3, [r3, #8]
854 .loc 1 1866 6 view .LVU238
855 000e 13F0200F tst r3, #32
856 0012 01D0 beq .L61
1860:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
857 .loc 1 1860 21 view .LVU239
858 0014 0020 movs r0, #0
859 .LVL49:
1867:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
1868:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** if (HAL_RTC_WaitForSynchro(hrtc) != HAL_OK)
1869:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
1870:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Set RTC state */
1871:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->State = HAL_RTC_STATE_ERROR;
1872:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** status = HAL_ERROR;
1873:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
1874:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
1875:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1876:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** return status;
860 .loc 1 1876 3 is_stmt 1 view .LVU240
1877:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
861 .loc 1 1877 1 is_stmt 0 view .LVU241
862 0016 7047 bx lr
863 .LVL50:
864 .L61:
1859:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** HAL_StatusTypeDef status = HAL_OK;
865 .loc 1 1859 1 view .LVU242
866 0018 10B5 push {r4, lr}
867 .LCFI5:
868 .cfi_def_cfa_offset 8
869 .cfi_offset 4, -8
870 .cfi_offset 14, -4
871 001a 0446 mov r4, r0
1868:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
872 .loc 1 1868 5 is_stmt 1 view .LVU243
1868:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
873 .loc 1 1868 9 is_stmt 0 view .LVU244
874 001c FFF7FEFF bl HAL_RTC_WaitForSynchro
ARM GAS /tmp/ccCGp3Cm.s page 50
875 .LVL51:
1868:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
876 .loc 1 1868 8 view .LVU245
877 0020 10B1 cbz r0, .L55
1871:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** status = HAL_ERROR;
878 .loc 1 1871 7 is_stmt 1 view .LVU246
1871:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** status = HAL_ERROR;
879 .loc 1 1871 19 is_stmt 0 view .LVU247
880 0022 0423 movs r3, #4
881 0024 6377 strb r3, [r4, #29]
1872:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
882 .loc 1 1872 7 is_stmt 1 view .LVU248
883 .LVL52:
1872:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
884 .loc 1 1872 14 is_stmt 0 view .LVU249
885 0026 0120 movs r0, #1
886 .LVL53:
887 .L55:
1876:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
888 .loc 1 1876 3 is_stmt 1 view .LVU250
889 .loc 1 1877 1 is_stmt 0 view .LVU251
890 0028 10BD pop {r4, pc}
891 .loc 1 1877 1 view .LVU252
892 .cfi_endproc
893 .LFE157:
895 .section .text.HAL_RTC_Init,"ax",%progbits
896 .align 1
897 .global HAL_RTC_Init
898 .syntax unified
899 .thumb
900 .thumb_func
902 HAL_RTC_Init:
903 .LVL54:
904 .LFB134:
256:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** HAL_StatusTypeDef status;
905 .loc 1 256 1 is_stmt 1 view -0
906 .cfi_startproc
907 @ args = 0, pretend = 0, frame = 0
908 @ frame_needed = 0, uses_anonymous_args = 0
257:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
909 .loc 1 257 3 view .LVU254
260:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
910 .loc 1 260 3 view .LVU255
260:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
911 .loc 1 260 6 is_stmt 0 view .LVU256
912 0000 0028 cmp r0, #0
913 0002 49D0 beq .L68
256:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** HAL_StatusTypeDef status;
914 .loc 1 256 1 view .LVU257
915 0004 10B5 push {r4, lr}
916 .LCFI6:
917 .cfi_def_cfa_offset 8
918 .cfi_offset 4, -8
919 .cfi_offset 14, -4
920 0006 0446 mov r4, r0
266:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** assert_param(IS_RTC_HOUR_FORMAT(hrtc->Init.HourFormat));
921 .loc 1 266 3 is_stmt 1 view .LVU258
ARM GAS /tmp/ccCGp3Cm.s page 51
267:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** assert_param(IS_RTC_ASYNCH_PREDIV(hrtc->Init.AsynchPrediv));
922 .loc 1 267 3 view .LVU259
268:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** assert_param(IS_RTC_SYNCH_PREDIV(hrtc->Init.SynchPrediv));
923 .loc 1 268 3 view .LVU260
269:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** assert_param(IS_RTC_OUTPUT(hrtc->Init.OutPut));
924 .loc 1 269 3 view .LVU261
270:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** assert_param(IS_RTC_OUTPUT_POL(hrtc->Init.OutPutPolarity));
925 .loc 1 270 3 view .LVU262
271:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** assert_param(IS_RTC_OUTPUT_TYPE(hrtc->Init.OutPutType));
926 .loc 1 271 3 view .LVU263
272:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
927 .loc 1 272 3 view .LVU264
302:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
928 .loc 1 302 3 view .LVU265
302:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
929 .loc 1 302 11 is_stmt 0 view .LVU266
930 0008 437F ldrb r3, [r0, #29] @ zero_extendqisi2
302:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
931 .loc 1 302 6 view .LVU267
932 000a 53B1 cbz r3, .L74
933 .LVL55:
934 .L64:
313:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
935 .loc 1 313 3 is_stmt 1 view .LVU268
313:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
936 .loc 1 313 15 is_stmt 0 view .LVU269
937 000c 0223 movs r3, #2
938 000e 6377 strb r3, [r4, #29]
316:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
939 .loc 1 316 3 is_stmt 1 view .LVU270
316:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
940 .loc 1 316 7 is_stmt 0 view .LVU271
941 0010 2368 ldr r3, [r4]
942 0012 DA68 ldr r2, [r3, #12]
316:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
943 .loc 1 316 6 view .LVU272
944 0014 12F0100F tst r2, #16
945 0018 07D0 beq .L75
351:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
946 .loc 1 351 12 view .LVU273
947 001a 0020 movs r0, #0
948 .L65:
356:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
949 .loc 1 356 5 is_stmt 1 view .LVU274
356:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
950 .loc 1 356 17 is_stmt 0 view .LVU275
951 001c 0123 movs r3, #1
952 001e 6377 strb r3, [r4, #29]
953 .L63:
360:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
954 .loc 1 360 1 view .LVU276
955 0020 10BD pop {r4, pc}
956 .LVL56:
957 .L74:
305:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
958 .loc 1 305 5 is_stmt 1 view .LVU277
305:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
ARM GAS /tmp/ccCGp3Cm.s page 52
959 .loc 1 305 16 is_stmt 0 view .LVU278
960 0022 0377 strb r3, [r0, #28]
308:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
961 .loc 1 308 5 is_stmt 1 view .LVU279
962 0024 FFF7FEFF bl HAL_RTC_MspInit
963 .LVL57:
308:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
964 .loc 1 308 5 is_stmt 0 view .LVU280
965 0028 F0E7 b .L64
966 .L75:
319:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
967 .loc 1 319 5 is_stmt 1 view .LVU281
319:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
968 .loc 1 319 5 view .LVU282
969 002a CA22 movs r2, #202
970 002c 5A62 str r2, [r3, #36]
319:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
971 .loc 1 319 5 view .LVU283
972 002e 2368 ldr r3, [r4]
973 0030 5322 movs r2, #83
974 0032 5A62 str r2, [r3, #36]
319:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
975 .loc 1 319 5 view .LVU284
322:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
976 .loc 1 322 5 view .LVU285
322:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
977 .loc 1 322 14 is_stmt 0 view .LVU286
978 0034 2046 mov r0, r4
979 0036 FFF7FEFF bl RTC_EnterInitMode
980 .LVL58:
324:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
981 .loc 1 324 5 is_stmt 1 view .LVU287
324:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
982 .loc 1 324 8 is_stmt 0 view .LVU288
983 003a 80B1 cbz r0, .L76
984 .L66:
339:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
985 .loc 1 339 5 is_stmt 1 view .LVU289
339:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
986 .loc 1 339 8 is_stmt 0 view .LVU290
987 003c 48B9 cbnz r0, .L67
341:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->Instance->TAFCR |= (uint32_t)(hrtc->Init.OutPutType);
988 .loc 1 341 7 is_stmt 1 view .LVU291
341:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->Instance->TAFCR |= (uint32_t)(hrtc->Init.OutPutType);
989 .loc 1 341 11 is_stmt 0 view .LVU292
990 003e 2268 ldr r2, [r4]
341:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->Instance->TAFCR |= (uint32_t)(hrtc->Init.OutPutType);
991 .loc 1 341 29 view .LVU293
992 0040 136C ldr r3, [r2, #64]
993 0042 23F48023 bic r3, r3, #262144
994 0046 1364 str r3, [r2, #64]
342:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
995 .loc 1 342 7 is_stmt 1 view .LVU294
342:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
996 .loc 1 342 11 is_stmt 0 view .LVU295
997 0048 2268 ldr r2, [r4]
342:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
ARM GAS /tmp/ccCGp3Cm.s page 53
998 .loc 1 342 29 view .LVU296
999 004a 136C ldr r3, [r2, #64]
342:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
1000 .loc 1 342 53 view .LVU297
1001 004c A169 ldr r1, [r4, #24]
342:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
1002 .loc 1 342 29 view .LVU298
1003 004e 0B43 orrs r3, r3, r1
1004 0050 1364 str r3, [r2, #64]
1005 .L67:
346:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
1006 .loc 1 346 5 is_stmt 1 view .LVU299
346:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
1007 .loc 1 346 5 view .LVU300
1008 0052 2368 ldr r3, [r4]
1009 0054 FF22 movs r2, #255
1010 0056 5A62 str r2, [r3, #36]
346:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
1011 .loc 1 346 5 view .LVU301
354:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
1012 .loc 1 354 3 view .LVU302
354:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
1013 .loc 1 354 6 is_stmt 0 view .LVU303
1014 0058 0028 cmp r0, #0
1015 005a E1D1 bne .L63
1016 005c DEE7 b .L65
1017 .L76:
327:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Set RTC_CR register */
1018 .loc 1 327 7 is_stmt 1 view .LVU304
327:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Set RTC_CR register */
1019 .loc 1 327 11 is_stmt 0 view .LVU305
1020 005e 2268 ldr r2, [r4]
327:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Set RTC_CR register */
1021 .loc 1 327 26 view .LVU306
1022 0060 9368 ldr r3, [r2, #8]
1023 0062 23F4E003 bic r3, r3, #7340032
1024 0066 23F04003 bic r3, r3, #64
1025 006a 9360 str r3, [r2, #8]
329:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1026 .loc 1 329 7 is_stmt 1 view .LVU307
329:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1027 .loc 1 329 11 is_stmt 0 view .LVU308
1028 006c 2168 ldr r1, [r4]
329:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1029 .loc 1 329 26 view .LVU309
1030 006e 8A68 ldr r2, [r1, #8]
329:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1031 .loc 1 329 50 view .LVU310
1032 0070 6368 ldr r3, [r4, #4]
329:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1033 .loc 1 329 74 view .LVU311
1034 0072 2069 ldr r0, [r4, #16]
1035 .LVL59:
329:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1036 .loc 1 329 62 view .LVU312
1037 0074 0343 orrs r3, r3, r0
329:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
ARM GAS /tmp/ccCGp3Cm.s page 54
1038 .loc 1 329 94 view .LVU313
1039 0076 6069 ldr r0, [r4, #20]
329:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1040 .loc 1 329 82 view .LVU314
1041 0078 0343 orrs r3, r3, r0
329:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1042 .loc 1 329 26 view .LVU315
1043 007a 1343 orrs r3, r3, r2
1044 007c 8B60 str r3, [r1, #8]
332:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->Instance->PRER |= (uint32_t)(hrtc->Init.AsynchPrediv << RTC_PRER_PREDIV_A_Pos);
1045 .loc 1 332 7 is_stmt 1 view .LVU316
332:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->Instance->PRER |= (uint32_t)(hrtc->Init.AsynchPrediv << RTC_PRER_PREDIV_A_Pos);
1046 .loc 1 332 11 is_stmt 0 view .LVU317
1047 007e 2368 ldr r3, [r4]
332:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->Instance->PRER |= (uint32_t)(hrtc->Init.AsynchPrediv << RTC_PRER_PREDIV_A_Pos);
1048 .loc 1 332 51 view .LVU318
1049 0080 E268 ldr r2, [r4, #12]
332:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->Instance->PRER |= (uint32_t)(hrtc->Init.AsynchPrediv << RTC_PRER_PREDIV_A_Pos);
1050 .loc 1 332 28 view .LVU319
1051 0082 1A61 str r2, [r3, #16]
333:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1052 .loc 1 333 7 is_stmt 1 view .LVU320
333:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1053 .loc 1 333 11 is_stmt 0 view .LVU321
1054 0084 2268 ldr r2, [r4]
333:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1055 .loc 1 333 28 view .LVU322
1056 0086 1369 ldr r3, [r2, #16]
333:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1057 .loc 1 333 52 view .LVU323
1058 0088 A168 ldr r1, [r4, #8]
333:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1059 .loc 1 333 28 view .LVU324
1060 008a 43EA0143 orr r3, r3, r1, lsl #16
1061 008e 1361 str r3, [r2, #16]
336:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
1062 .loc 1 336 7 is_stmt 1 view .LVU325
336:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
1063 .loc 1 336 16 is_stmt 0 view .LVU326
1064 0090 2046 mov r0, r4
1065 0092 FFF7FEFF bl RTC_ExitInitMode
1066 .LVL60:
336:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
1067 .loc 1 336 16 view .LVU327
1068 0096 D1E7 b .L66
1069 .LVL61:
1070 .L68:
1071 .LCFI7:
1072 .cfi_def_cfa_offset 0
1073 .cfi_restore 4
1074 .cfi_restore 14
262:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
1075 .loc 1 262 12 view .LVU328
1076 0098 0120 movs r0, #1
1077 .LVL62:
360:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1078 .loc 1 360 1 view .LVU329
ARM GAS /tmp/ccCGp3Cm.s page 55
1079 009a 7047 bx lr
1080 .cfi_endproc
1081 .LFE134:
1083 .section .text.HAL_RTC_DeInit,"ax",%progbits
1084 .align 1
1085 .global HAL_RTC_DeInit
1086 .syntax unified
1087 .thumb
1088 .thumb_func
1090 HAL_RTC_DeInit:
1091 .LVL63:
1092 .LFB135:
370:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** HAL_StatusTypeDef status;
1093 .loc 1 370 1 is_stmt 1 view -0
1094 .cfi_startproc
1095 @ args = 0, pretend = 0, frame = 0
1096 @ frame_needed = 0, uses_anonymous_args = 0
370:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** HAL_StatusTypeDef status;
1097 .loc 1 370 1 is_stmt 0 view .LVU331
1098 0000 70B5 push {r4, r5, r6, lr}
1099 .LCFI8:
1100 .cfi_def_cfa_offset 16
1101 .cfi_offset 4, -16
1102 .cfi_offset 5, -12
1103 .cfi_offset 6, -8
1104 .cfi_offset 14, -4
1105 0002 0446 mov r4, r0
371:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1106 .loc 1 371 3 is_stmt 1 view .LVU332
374:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1107 .loc 1 374 3 view .LVU333
377:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1108 .loc 1 377 3 view .LVU334
377:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1109 .loc 1 377 15 is_stmt 0 view .LVU335
1110 0004 0223 movs r3, #2
1111 0006 4377 strb r3, [r0, #29]
380:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1112 .loc 1 380 3 is_stmt 1 view .LVU336
380:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1113 .loc 1 380 3 view .LVU337
1114 0008 0368 ldr r3, [r0]
1115 000a CA22 movs r2, #202
1116 000c 5A62 str r2, [r3, #36]
380:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1117 .loc 1 380 3 view .LVU338
1118 000e 0368 ldr r3, [r0]
1119 0010 5322 movs r2, #83
1120 0012 5A62 str r2, [r3, #36]
380:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1121 .loc 1 380 3 view .LVU339
383:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1122 .loc 1 383 3 view .LVU340
383:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1123 .loc 1 383 12 is_stmt 0 view .LVU341
1124 0014 FFF7FEFF bl RTC_EnterInitMode
1125 .LVL64:
ARM GAS /tmp/ccCGp3Cm.s page 56
385:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
1126 .loc 1 385 3 is_stmt 1 view .LVU342
385:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
1127 .loc 1 385 6 is_stmt 0 view .LVU343
1128 0018 0546 mov r5, r0
1129 001a 38B1 cbz r0, .L81
1130 .LVL65:
1131 .L78:
406:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1132 .loc 1 406 3 is_stmt 1 view .LVU344
406:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1133 .loc 1 406 3 view .LVU345
1134 001c 2368 ldr r3, [r4]
1135 001e FF22 movs r2, #255
1136 0020 5A62 str r2, [r3, #36]
406:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1137 .loc 1 406 3 view .LVU346
408:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
1138 .loc 1 408 3 view .LVU347
408:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
1139 .loc 1 408 6 is_stmt 0 view .LVU348
1140 0022 35B3 cbz r5, .L82
1141 .L79:
430:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1142 .loc 1 430 3 is_stmt 1 view .LVU349
430:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1143 .loc 1 430 3 view .LVU350
1144 0024 0023 movs r3, #0
1145 0026 2377 strb r3, [r4, #28]
430:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1146 .loc 1 430 3 view .LVU351
432:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
1147 .loc 1 432 3 view .LVU352
433:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1148 .loc 1 433 1 is_stmt 0 view .LVU353
1149 0028 2846 mov r0, r5
1150 002a 70BD pop {r4, r5, r6, pc}
1151 .LVL66:
1152 .L81:
388:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->Instance->DR = (RTC_DR_WDU_0 | RTC_DR_MU_0 | RTC_DR_DU_0);
1153 .loc 1 388 5 is_stmt 1 view .LVU354
388:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->Instance->DR = (RTC_DR_WDU_0 | RTC_DR_MU_0 | RTC_DR_DU_0);
1154 .loc 1 388 9 is_stmt 0 view .LVU355
1155 002c 2268 ldr r2, [r4]
388:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->Instance->DR = (RTC_DR_WDU_0 | RTC_DR_MU_0 | RTC_DR_DU_0);
1156 .loc 1 388 24 view .LVU356
1157 002e 0023 movs r3, #0
1158 0030 1360 str r3, [r2]
389:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->Instance->CR = 0x00000000U;
1159 .loc 1 389 5 is_stmt 1 view .LVU357
389:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->Instance->CR = 0x00000000U;
1160 .loc 1 389 9 is_stmt 0 view .LVU358
1161 0032 2268 ldr r2, [r4]
389:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->Instance->CR = 0x00000000U;
1162 .loc 1 389 24 view .LVU359
1163 0034 42F20111 movw r1, #8449
1164 0038 5160 str r1, [r2, #4]
ARM GAS /tmp/ccCGp3Cm.s page 57
390:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->Instance->WUTR = RTC_WUTR_WUT;
1165 .loc 1 390 5 is_stmt 1 view .LVU360
390:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->Instance->WUTR = RTC_WUTR_WUT;
1166 .loc 1 390 9 is_stmt 0 view .LVU361
1167 003a 2268 ldr r2, [r4]
390:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->Instance->WUTR = RTC_WUTR_WUT;
1168 .loc 1 390 24 view .LVU362
1169 003c 9360 str r3, [r2, #8]
391:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->Instance->PRER = (uint32_t)(RTC_PRER_PREDIV_A | 0x000000FFU);
1170 .loc 1 391 5 is_stmt 1 view .LVU363
391:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->Instance->PRER = (uint32_t)(RTC_PRER_PREDIV_A | 0x000000FFU);
1171 .loc 1 391 9 is_stmt 0 view .LVU364
1172 003e 2268 ldr r2, [r4]
391:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->Instance->PRER = (uint32_t)(RTC_PRER_PREDIV_A | 0x000000FFU);
1173 .loc 1 391 26 view .LVU365
1174 0040 4FF6FF71 movw r1, #65535
1175 0044 5161 str r1, [r2, #20]
392:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->Instance->CALIBR = 0x00000000U;
1176 .loc 1 392 5 is_stmt 1 view .LVU366
392:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->Instance->CALIBR = 0x00000000U;
1177 .loc 1 392 9 is_stmt 0 view .LVU367
1178 0046 2268 ldr r2, [r4]
392:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->Instance->CALIBR = 0x00000000U;
1179 .loc 1 392 26 view .LVU368
1180 0048 0E49 ldr r1, .L83
1181 004a 1161 str r1, [r2, #16]
393:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->Instance->ALRMAR = 0x00000000U;
1182 .loc 1 393 5 is_stmt 1 view .LVU369
393:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->Instance->ALRMAR = 0x00000000U;
1183 .loc 1 393 9 is_stmt 0 view .LVU370
1184 004c 2268 ldr r2, [r4]
393:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->Instance->ALRMAR = 0x00000000U;
1185 .loc 1 393 30 view .LVU371
1186 004e 9361 str r3, [r2, #24]
394:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->Instance->ALRMBR = 0x00000000U;
1187 .loc 1 394 5 is_stmt 1 view .LVU372
394:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->Instance->ALRMBR = 0x00000000U;
1188 .loc 1 394 9 is_stmt 0 view .LVU373
1189 0050 2268 ldr r2, [r4]
394:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->Instance->ALRMBR = 0x00000000U;
1190 .loc 1 394 30 view .LVU374
1191 0052 D361 str r3, [r2, #28]
395:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->Instance->CALR = 0x00000000U;
1192 .loc 1 395 5 is_stmt 1 view .LVU375
395:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->Instance->CALR = 0x00000000U;
1193 .loc 1 395 9 is_stmt 0 view .LVU376
1194 0054 2268 ldr r2, [r4]
395:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->Instance->CALR = 0x00000000U;
1195 .loc 1 395 30 view .LVU377
1196 0056 1362 str r3, [r2, #32]
396:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->Instance->SHIFTR = 0x00000000U;
1197 .loc 1 396 5 is_stmt 1 view .LVU378
396:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->Instance->SHIFTR = 0x00000000U;
1198 .loc 1 396 9 is_stmt 0 view .LVU379
1199 0058 2268 ldr r2, [r4]
396:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->Instance->SHIFTR = 0x00000000U;
1200 .loc 1 396 30 view .LVU380
ARM GAS /tmp/ccCGp3Cm.s page 58
1201 005a D363 str r3, [r2, #60]
397:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->Instance->ALRMASSR = 0x00000000U;
1202 .loc 1 397 5 is_stmt 1 view .LVU381
397:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->Instance->ALRMASSR = 0x00000000U;
1203 .loc 1 397 9 is_stmt 0 view .LVU382
1204 005c 2268 ldr r2, [r4]
397:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->Instance->ALRMASSR = 0x00000000U;
1205 .loc 1 397 30 view .LVU383
1206 005e D362 str r3, [r2, #44]
398:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->Instance->ALRMBSSR = 0x00000000U;
1207 .loc 1 398 5 is_stmt 1 view .LVU384
398:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->Instance->ALRMBSSR = 0x00000000U;
1208 .loc 1 398 9 is_stmt 0 view .LVU385
1209 0060 2268 ldr r2, [r4]
398:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** hrtc->Instance->ALRMBSSR = 0x00000000U;
1210 .loc 1 398 30 view .LVU386
1211 0062 5364 str r3, [r2, #68]
399:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1212 .loc 1 399 5 is_stmt 1 view .LVU387
399:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1213 .loc 1 399 9 is_stmt 0 view .LVU388
1214 0064 2268 ldr r2, [r4]
399:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1215 .loc 1 399 30 view .LVU389
1216 0066 9364 str r3, [r2, #72]
402:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
1217 .loc 1 402 5 is_stmt 1 view .LVU390
402:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
1218 .loc 1 402 14 is_stmt 0 view .LVU391
1219 0068 2046 mov r0, r4
1220 .LVL67:
402:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
1221 .loc 1 402 14 view .LVU392
1222 006a FFF7FEFF bl RTC_ExitInitMode
1223 .LVL68:
1224 006e 0546 mov r5, r0
1225 .LVL69:
402:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
1226 .loc 1 402 14 view .LVU393
1227 0070 D4E7 b .L78
1228 .L82:
411:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1229 .loc 1 411 5 is_stmt 1 view .LVU394
411:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1230 .loc 1 411 9 is_stmt 0 view .LVU395
1231 0072 2368 ldr r3, [r4]
411:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1232 .loc 1 411 27 view .LVU396
1233 0074 0026 movs r6, #0
1234 0076 1E64 str r6, [r3, #64]
423:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** #endif /* USE_HAL_RTC_REGISTER_CALLBACKS */
1235 .loc 1 423 5 is_stmt 1 view .LVU397
1236 0078 2046 mov r0, r4
1237 007a FFF7FEFF bl HAL_RTC_MspDeInit
1238 .LVL70:
426:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
1239 .loc 1 426 5 view .LVU398
ARM GAS /tmp/ccCGp3Cm.s page 59
426:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
1240 .loc 1 426 17 is_stmt 0 view .LVU399
1241 007e 6677 strb r6, [r4, #29]
1242 0080 D0E7 b .L79
1243 .L84:
1244 0082 00BF .align 2
1245 .L83:
1246 0084 FF007F00 .word 8323327
1247 .cfi_endproc
1248 .LFE135:
1250 .section .text.RTC_ByteToBcd2,"ax",%progbits
1251 .align 1
1252 .global RTC_ByteToBcd2
1253 .syntax unified
1254 .thumb
1255 .thumb_func
1257 RTC_ByteToBcd2:
1258 .LVL71:
1259 .LFB158:
1878:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1879:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /**
1880:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @brief Converts a 2-digit number from decimal to BCD format.
1881:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @param number decimal-formatted number (from 0 to 99) to be converted
1882:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @retval Converted byte
1883:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** */
1884:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** uint8_t RTC_ByteToBcd2(uint8_t number)
1885:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
1260 .loc 1 1885 1 is_stmt 1 view -0
1261 .cfi_startproc
1262 @ args = 0, pretend = 0, frame = 0
1263 @ frame_needed = 0, uses_anonymous_args = 0
1264 @ link register save eliminated.
1886:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** uint32_t bcdhigh = 0U;
1265 .loc 1 1886 3 view .LVU401
1887:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1888:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** while (number >= 10U)
1266 .loc 1 1888 3 view .LVU402
1886:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** uint32_t bcdhigh = 0U;
1267 .loc 1 1886 12 is_stmt 0 view .LVU403
1268 0000 0023 movs r3, #0
1269 .loc 1 1888 9 view .LVU404
1270 0002 02E0 b .L86
1271 .LVL72:
1272 .L87:
1889:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
1890:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** bcdhigh++;
1273 .loc 1 1890 5 is_stmt 1 view .LVU405
1274 .loc 1 1890 12 is_stmt 0 view .LVU406
1275 0004 0133 adds r3, r3, #1
1276 .LVL73:
1891:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** number -= 10U;
1277 .loc 1 1891 5 is_stmt 1 view .LVU407
1278 .loc 1 1891 12 is_stmt 0 view .LVU408
1279 0006 0A38 subs r0, r0, #10
1280 .LVL74:
1281 .loc 1 1891 12 view .LVU409
1282 0008 C0B2 uxtb r0, r0
ARM GAS /tmp/ccCGp3Cm.s page 60
1283 .LVL75:
1284 .L86:
1888:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
1285 .loc 1 1888 9 is_stmt 1 view .LVU410
1286 000a 0928 cmp r0, #9
1287 000c FAD8 bhi .L87
1892:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
1893:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1894:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** return ((uint8_t)(bcdhigh << 4U) | number);
1288 .loc 1 1894 3 view .LVU411
1289 .loc 1 1894 11 is_stmt 0 view .LVU412
1290 000e 1B01 lsls r3, r3, #4
1291 .LVL76:
1292 .loc 1 1894 11 view .LVU413
1293 0010 DBB2 uxtb r3, r3
1895:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
1294 .loc 1 1895 1 view .LVU414
1295 0012 1843 orrs r0, r0, r3
1296 .LVL77:
1297 .loc 1 1895 1 view .LVU415
1298 0014 7047 bx lr
1299 .cfi_endproc
1300 .LFE158:
1302 .section .text.HAL_RTC_SetTime,"ax",%progbits
1303 .align 1
1304 .global HAL_RTC_SetTime
1305 .syntax unified
1306 .thumb
1307 .thumb_func
1309 HAL_RTC_SetTime:
1310 .LVL78:
1311 .LFB138:
707:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** uint32_t tmpreg = 0U;
1312 .loc 1 707 1 is_stmt 1 view -0
1313 .cfi_startproc
1314 @ args = 0, pretend = 0, frame = 0
1315 @ frame_needed = 0, uses_anonymous_args = 0
708:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** HAL_StatusTypeDef status;
1316 .loc 1 708 3 view .LVU417
709:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1317 .loc 1 709 3 view .LVU418
712:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** assert_param(IS_RTC_DAYLIGHT_SAVING(sTime->DayLightSaving));
1318 .loc 1 712 3 view .LVU419
713:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** assert_param(IS_RTC_STORE_OPERATION(sTime->StoreOperation));
1319 .loc 1 713 3 view .LVU420
714:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1320 .loc 1 714 3 view .LVU421
717:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1321 .loc 1 717 3 view .LVU422
717:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1322 .loc 1 717 3 view .LVU423
1323 0000 037F ldrb r3, [r0, #28] @ zero_extendqisi2
1324 0002 012B cmp r3, #1
1325 0004 59D0 beq .L96
707:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** uint32_t tmpreg = 0U;
1326 .loc 1 707 1 is_stmt 0 discriminator 2 view .LVU424
1327 0006 70B5 push {r4, r5, r6, lr}
ARM GAS /tmp/ccCGp3Cm.s page 61
1328 .LCFI9:
1329 .cfi_def_cfa_offset 16
1330 .cfi_offset 4, -16
1331 .cfi_offset 5, -12
1332 .cfi_offset 6, -8
1333 .cfi_offset 14, -4
1334 0008 0446 mov r4, r0
1335 000a 0E46 mov r6, r1
717:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1336 .loc 1 717 3 is_stmt 1 discriminator 2 view .LVU425
1337 000c 0123 movs r3, #1
1338 000e 0377 strb r3, [r0, #28]
717:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1339 .loc 1 717 3 discriminator 2 view .LVU426
719:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1340 .loc 1 719 3 discriminator 2 view .LVU427
719:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1341 .loc 1 719 15 is_stmt 0 discriminator 2 view .LVU428
1342 0010 0223 movs r3, #2
1343 0012 4377 strb r3, [r0, #29]
721:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
1344 .loc 1 721 3 is_stmt 1 discriminator 2 view .LVU429
721:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
1345 .loc 1 721 6 is_stmt 0 discriminator 2 view .LVU430
1346 0014 4ABB cbnz r2, .L90
723:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
1347 .loc 1 723 5 is_stmt 1 view .LVU431
723:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
1348 .loc 1 723 14 is_stmt 0 view .LVU432
1349 0016 0368 ldr r3, [r0]
723:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
1350 .loc 1 723 24 view .LVU433
1351 0018 9B68 ldr r3, [r3, #8]
723:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
1352 .loc 1 723 8 view .LVU434
1353 001a 13F0400F tst r3, #64
1354 001e 01D1 bne .L91
730:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** assert_param(IS_RTC_HOUR24(sTime->Hours));
1355 .loc 1 730 7 is_stmt 1 view .LVU435
730:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** assert_param(IS_RTC_HOUR24(sTime->Hours));
1356 .loc 1 730 25 is_stmt 0 view .LVU436
1357 0020 0023 movs r3, #0
1358 0022 CB70 strb r3, [r1, #3]
1359 .L91:
731:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
1360 .loc 1 731 7 is_stmt 1 view .LVU437
733:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** assert_param(IS_RTC_SECONDS(sTime->Seconds));
1361 .loc 1 733 5 view .LVU438
734:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1362 .loc 1 734 5 view .LVU439
736:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ( (uint32_t)RTC_ByteToBcd2(sTime->Minutes) << RTC_TR_MNU_Pos) | \
1363 .loc 1 736 5 view .LVU440
736:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ( (uint32_t)RTC_ByteToBcd2(sTime->Minutes) << RTC_TR_MNU_Pos) | \
1364 .loc 1 736 37 is_stmt 0 view .LVU441
1365 0024 3078 ldrb r0, [r6] @ zero_extendqisi2
1366 .LVL79:
736:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ( (uint32_t)RTC_ByteToBcd2(sTime->Minutes) << RTC_TR_MNU_Pos) | \
ARM GAS /tmp/ccCGp3Cm.s page 62
1367 .loc 1 736 37 view .LVU442
1368 0026 FFF7FEFF bl RTC_ByteToBcd2
1369 .LVL80:
736:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ( (uint32_t)RTC_ByteToBcd2(sTime->Minutes) << RTC_TR_MNU_Pos) | \
1370 .loc 1 736 68 view .LVU443
1371 002a 0504 lsls r5, r0, #16
737:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ( (uint32_t)RTC_ByteToBcd2(sTime->Seconds)) | \
1372 .loc 1 737 37 view .LVU444
1373 002c 7078 ldrb r0, [r6, #1] @ zero_extendqisi2
1374 002e FFF7FEFF bl RTC_ByteToBcd2
1375 .LVL81:
736:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ( (uint32_t)RTC_ByteToBcd2(sTime->Minutes) << RTC_TR_MNU_Pos) | \
1376 .loc 1 736 87 view .LVU445
1377 0032 45EA0025 orr r5, r5, r0, lsl #8
738:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** (((uint32_t)sTime->TimeFormat) << RTC_TR_PM_Pos));
1378 .loc 1 738 37 view .LVU446
1379 0036 B078 ldrb r0, [r6, #2] @ zero_extendqisi2
1380 0038 FFF7FEFF bl RTC_ByteToBcd2
1381 .LVL82:
737:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ( (uint32_t)RTC_ByteToBcd2(sTime->Seconds)) | \
1382 .loc 1 737 87 view .LVU447
1383 003c 0543 orrs r5, r5, r0
739:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
1384 .loc 1 739 42 view .LVU448
1385 003e F078 ldrb r0, [r6, #3] @ zero_extendqisi2
736:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ( (uint32_t)RTC_ByteToBcd2(sTime->Minutes) << RTC_TR_MNU_Pos) | \
1386 .loc 1 736 12 view .LVU449
1387 0040 45EA8055 orr r5, r5, r0, lsl #22
1388 .LVL83:
1389 .L92:
762:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1390 .loc 1 762 3 is_stmt 1 view .LVU450
762:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1391 .loc 1 762 3 view .LVU451
1392 0044 2368 ldr r3, [r4]
1393 0046 CA22 movs r2, #202
1394 0048 5A62 str r2, [r3, #36]
762:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1395 .loc 1 762 3 view .LVU452
1396 004a 2368 ldr r3, [r4]
1397 004c 5322 movs r2, #83
1398 004e 5A62 str r2, [r3, #36]
762:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1399 .loc 1 762 3 view .LVU453
765:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1400 .loc 1 765 3 view .LVU454
765:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1401 .loc 1 765 12 is_stmt 0 view .LVU455
1402 0050 2046 mov r0, r4
1403 0052 FFF7FEFF bl RTC_EnterInitMode
1404 .LVL84:
767:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
1405 .loc 1 767 3 is_stmt 1 view .LVU456
767:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
1406 .loc 1 767 6 is_stmt 0 view .LVU457
1407 0056 D0B1 cbz r0, .L101
1408 .LVL85:
ARM GAS /tmp/ccCGp3Cm.s page 63
1409 .L94:
782:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
1410 .loc 1 782 3 is_stmt 1 view .LVU458
782:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
1411 .loc 1 782 6 is_stmt 0 view .LVU459
1412 0058 08B9 cbnz r0, .L95
784:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
1413 .loc 1 784 5 is_stmt 1 view .LVU460
784:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
1414 .loc 1 784 17 is_stmt 0 view .LVU461
1415 005a 0123 movs r3, #1
1416 005c 6377 strb r3, [r4, #29]
1417 .L95:
788:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1418 .loc 1 788 3 is_stmt 1 view .LVU462
788:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1419 .loc 1 788 3 view .LVU463
1420 005e 2368 ldr r3, [r4]
1421 0060 FF22 movs r2, #255
1422 0062 5A62 str r2, [r3, #36]
788:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1423 .loc 1 788 3 view .LVU464
791:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1424 .loc 1 791 3 view .LVU465
791:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1425 .loc 1 791 3 view .LVU466
1426 0064 0023 movs r3, #0
1427 0066 2377 strb r3, [r4, #28]
791:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1428 .loc 1 791 3 view .LVU467
793:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
1429 .loc 1 793 3 view .LVU468
794:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1430 .loc 1 794 1 is_stmt 0 view .LVU469
1431 0068 70BD pop {r4, r5, r6, pc}
1432 .LVL86:
1433 .L90:
743:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
1434 .loc 1 743 5 is_stmt 1 view .LVU470
743:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
1435 .loc 1 743 14 is_stmt 0 view .LVU471
1436 006a 0368 ldr r3, [r0]
743:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
1437 .loc 1 743 24 view .LVU472
1438 006c 9B68 ldr r3, [r3, #8]
743:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
1439 .loc 1 743 8 view .LVU473
1440 006e 13F0400F tst r3, #64
1441 0072 01D1 bne .L93
750:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** assert_param(IS_RTC_HOUR24(RTC_Bcd2ToByte(sTime->Hours)));
1442 .loc 1 750 7 is_stmt 1 view .LVU474
750:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** assert_param(IS_RTC_HOUR24(RTC_Bcd2ToByte(sTime->Hours)));
1443 .loc 1 750 25 is_stmt 0 view .LVU475
1444 0074 0023 movs r3, #0
1445 0076 CB70 strb r3, [r1, #3]
1446 .L93:
751:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
ARM GAS /tmp/ccCGp3Cm.s page 64
1447 .loc 1 751 7 is_stmt 1 view .LVU476
753:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** assert_param(IS_RTC_SECONDS(RTC_Bcd2ToByte(sTime->Seconds)));
1448 .loc 1 753 5 view .LVU477
754:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** tmpreg = (((uint32_t)(sTime->Hours) << RTC_TR_HU_Pos) | \
1449 .loc 1 754 5 view .LVU478
755:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ((uint32_t)(sTime->Minutes) << RTC_TR_MNU_Pos) | \
1450 .loc 1 755 5 view .LVU479
755:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ((uint32_t)(sTime->Minutes) << RTC_TR_MNU_Pos) | \
1451 .loc 1 755 32 is_stmt 0 view .LVU480
1452 0078 3378 ldrb r3, [r6] @ zero_extendqisi2
756:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ((uint32_t) sTime->Seconds) | \
1453 .loc 1 756 32 view .LVU481
1454 007a 7578 ldrb r5, [r6, #1] @ zero_extendqisi2
756:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ((uint32_t) sTime->Seconds) | \
1455 .loc 1 756 46 view .LVU482
1456 007c 2D02 lsls r5, r5, #8
755:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ((uint32_t)(sTime->Minutes) << RTC_TR_MNU_Pos) | \
1457 .loc 1 755 65 view .LVU483
1458 007e 45EA0345 orr r5, r5, r3, lsl #16
757:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ((uint32_t)(sTime->TimeFormat) << RTC_TR_PM_Pos));
1459 .loc 1 757 32 view .LVU484
1460 0082 B078 ldrb r0, [r6, #2] @ zero_extendqisi2
1461 .LVL87:
756:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ((uint32_t) sTime->Seconds) | \
1462 .loc 1 756 65 view .LVU485
1463 0084 0543 orrs r5, r5, r0
758:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
1464 .loc 1 758 32 view .LVU486
1465 0086 F078 ldrb r0, [r6, #3] @ zero_extendqisi2
755:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ((uint32_t)(sTime->Minutes) << RTC_TR_MNU_Pos) | \
1466 .loc 1 755 12 view .LVU487
1467 0088 45EA8055 orr r5, r5, r0, lsl #22
1468 .LVL88:
755:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ((uint32_t)(sTime->Minutes) << RTC_TR_MNU_Pos) | \
1469 .loc 1 755 12 view .LVU488
1470 008c DAE7 b .L92
1471 .LVL89:
1472 .L101:
770:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1473 .loc 1 770 5 is_stmt 1 view .LVU489
770:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1474 .loc 1 770 9 is_stmt 0 view .LVU490
1475 008e 2368 ldr r3, [r4]
770:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1476 .loc 1 770 26 view .LVU491
1477 0090 05F07F35 and r5, r5, #2139062143
1478 .LVL90:
770:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1479 .loc 1 770 26 view .LVU492
1480 0094 25F0FE45 bic r5, r5, #2130706432
770:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1481 .loc 1 770 24 view .LVU493
1482 0098 1D60 str r5, [r3]
773:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1483 .loc 1 773 5 is_stmt 1 view .LVU494
773:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1484 .loc 1 773 9 is_stmt 0 view .LVU495
ARM GAS /tmp/ccCGp3Cm.s page 65
1485 009a 2268 ldr r2, [r4]
773:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1486 .loc 1 773 24 view .LVU496
1487 009c 9368 ldr r3, [r2, #8]
1488 009e 23F48023 bic r3, r3, #262144
1489 00a2 9360 str r3, [r2, #8]
776:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1490 .loc 1 776 5 is_stmt 1 view .LVU497
776:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1491 .loc 1 776 9 is_stmt 0 view .LVU498
1492 00a4 2168 ldr r1, [r4]
776:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1493 .loc 1 776 24 view .LVU499
1494 00a6 8B68 ldr r3, [r1, #8]
776:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1495 .loc 1 776 43 view .LVU500
1496 00a8 F268 ldr r2, [r6, #12]
776:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1497 .loc 1 776 67 view .LVU501
1498 00aa 3069 ldr r0, [r6, #16]
1499 .LVL91:
776:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1500 .loc 1 776 60 view .LVU502
1501 00ac 0243 orrs r2, r2, r0
776:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1502 .loc 1 776 24 view .LVU503
1503 00ae 1343 orrs r3, r3, r2
1504 00b0 8B60 str r3, [r1, #8]
779:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
1505 .loc 1 779 5 is_stmt 1 view .LVU504
779:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
1506 .loc 1 779 14 is_stmt 0 view .LVU505
1507 00b2 2046 mov r0, r4
1508 00b4 FFF7FEFF bl RTC_ExitInitMode
1509 .LVL92:
779:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
1510 .loc 1 779 14 view .LVU506
1511 00b8 CEE7 b .L94
1512 .LVL93:
1513 .L96:
1514 .LCFI10:
1515 .cfi_def_cfa_offset 0
1516 .cfi_restore 4
1517 .cfi_restore 5
1518 .cfi_restore 6
1519 .cfi_restore 14
717:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1520 .loc 1 717 3 view .LVU507
1521 00ba 0220 movs r0, #2
1522 .LVL94:
794:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1523 .loc 1 794 1 view .LVU508
1524 00bc 7047 bx lr
1525 .cfi_endproc
1526 .LFE138:
1528 .section .text.HAL_RTC_SetDate,"ax",%progbits
1529 .align 1
ARM GAS /tmp/ccCGp3Cm.s page 66
1530 .global HAL_RTC_SetDate
1531 .syntax unified
1532 .thumb
1533 .thumb_func
1535 HAL_RTC_SetDate:
1536 .LVL95:
1537 .LFB140:
866:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** uint32_t datetmpreg = 0U;
1538 .loc 1 866 1 is_stmt 1 view -0
1539 .cfi_startproc
1540 @ args = 0, pretend = 0, frame = 0
1541 @ frame_needed = 0, uses_anonymous_args = 0
867:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** HAL_StatusTypeDef status;
1542 .loc 1 867 3 view .LVU510
868:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1543 .loc 1 868 3 view .LVU511
871:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1544 .loc 1 871 3 view .LVU512
874:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1545 .loc 1 874 3 view .LVU513
874:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1546 .loc 1 874 3 view .LVU514
1547 0000 037F ldrb r3, [r0, #28] @ zero_extendqisi2
1548 0002 012B cmp r3, #1
1549 0004 48D0 beq .L109
866:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** uint32_t datetmpreg = 0U;
1550 .loc 1 866 1 is_stmt 0 discriminator 2 view .LVU515
1551 0006 70B5 push {r4, r5, r6, lr}
1552 .LCFI11:
1553 .cfi_def_cfa_offset 16
1554 .cfi_offset 4, -16
1555 .cfi_offset 5, -12
1556 .cfi_offset 6, -8
1557 .cfi_offset 14, -4
1558 0008 0446 mov r4, r0
1559 000a 0E46 mov r6, r1
874:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1560 .loc 1 874 3 is_stmt 1 discriminator 2 view .LVU516
1561 000c 0123 movs r3, #1
1562 000e 0377 strb r3, [r0, #28]
874:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1563 .loc 1 874 3 discriminator 2 view .LVU517
876:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1564 .loc 1 876 3 discriminator 2 view .LVU518
876:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1565 .loc 1 876 15 is_stmt 0 discriminator 2 view .LVU519
1566 0010 0223 movs r3, #2
1567 0012 4377 strb r3, [r0, #29]
878:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
1568 .loc 1 878 3 is_stmt 1 discriminator 2 view .LVU520
878:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
1569 .loc 1 878 6 is_stmt 0 discriminator 2 view .LVU521
1570 0014 3AB9 cbnz r2, .L104
878:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
1571 .loc 1 878 44 discriminator 1 view .LVU522
1572 0016 4B78 ldrb r3, [r1, #1] @ zero_extendqisi2
878:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
ARM GAS /tmp/ccCGp3Cm.s page 67
1573 .loc 1 878 34 discriminator 1 view .LVU523
1574 0018 13F0100F tst r3, #16
1575 001c 03D0 beq .L104
880:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
1576 .loc 1 880 5 is_stmt 1 view .LVU524
880:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
1577 .loc 1 880 44 is_stmt 0 view .LVU525
1578 001e 03F0EF03 and r3, r3, #239
880:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
1579 .loc 1 880 20 view .LVU526
1580 0022 0A33 adds r3, r3, #10
880:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
1581 .loc 1 880 18 view .LVU527
1582 0024 4B70 strb r3, [r1, #1]
1583 .L104:
883:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1584 .loc 1 883 3 is_stmt 1 view .LVU528
885:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
1585 .loc 1 885 3 view .LVU529
885:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
1586 .loc 1 885 6 is_stmt 0 view .LVU530
1587 0026 12BB cbnz r2, .L105
887:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** assert_param(IS_RTC_MONTH(sDate->Month));
1588 .loc 1 887 5 is_stmt 1 view .LVU531
888:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** assert_param(IS_RTC_DATE(sDate->Date));
1589 .loc 1 888 5 view .LVU532
889:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1590 .loc 1 889 5 view .LVU533
891:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ((uint32_t)RTC_ByteToBcd2(sDate->Month) << RTC_DR_MU_Pos) | \
1591 .loc 1 891 5 view .LVU534
891:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ((uint32_t)RTC_ByteToBcd2(sDate->Month) << RTC_DR_MU_Pos) | \
1592 .loc 1 891 30 is_stmt 0 view .LVU535
1593 0028 F078 ldrb r0, [r6, #3] @ zero_extendqisi2
1594 .LVL96:
891:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ((uint32_t)RTC_ByteToBcd2(sDate->Month) << RTC_DR_MU_Pos) | \
1595 .loc 1 891 30 view .LVU536
1596 002a FFF7FEFF bl RTC_ByteToBcd2
1597 .LVL97:
891:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ((uint32_t)RTC_ByteToBcd2(sDate->Month) << RTC_DR_MU_Pos) | \
1598 .loc 1 891 59 view .LVU537
1599 002e 0504 lsls r5, r0, #16
892:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ((uint32_t)RTC_ByteToBcd2(sDate->Date)) | \
1600 .loc 1 892 30 view .LVU538
1601 0030 7078 ldrb r0, [r6, #1] @ zero_extendqisi2
1602 0032 FFF7FEFF bl RTC_ByteToBcd2
1603 .LVL98:
891:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ((uint32_t)RTC_ByteToBcd2(sDate->Month) << RTC_DR_MU_Pos) | \
1604 .loc 1 891 77 view .LVU539
1605 0036 45EA0025 orr r5, r5, r0, lsl #8
893:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ((uint32_t)sDate->WeekDay << RTC_DR_WDU_Pos));
1606 .loc 1 893 30 view .LVU540
1607 003a B078 ldrb r0, [r6, #2] @ zero_extendqisi2
1608 003c FFF7FEFF bl RTC_ByteToBcd2
1609 .LVL99:
892:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ((uint32_t)RTC_ByteToBcd2(sDate->Date)) | \
1610 .loc 1 892 77 view .LVU541
1611 0040 0543 orrs r5, r5, r0
ARM GAS /tmp/ccCGp3Cm.s page 68
894:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
1612 .loc 1 894 35 view .LVU542
1613 0042 3078 ldrb r0, [r6] @ zero_extendqisi2
891:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ((uint32_t)RTC_ByteToBcd2(sDate->Month) << RTC_DR_MU_Pos) | \
1614 .loc 1 891 16 view .LVU543
1615 0044 45EA4035 orr r5, r5, r0, lsl #13
1616 .LVL100:
1617 .L106:
909:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1618 .loc 1 909 3 is_stmt 1 view .LVU544
909:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1619 .loc 1 909 3 view .LVU545
1620 0048 2368 ldr r3, [r4]
1621 004a CA22 movs r2, #202
1622 004c 5A62 str r2, [r3, #36]
909:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1623 .loc 1 909 3 view .LVU546
1624 004e 2368 ldr r3, [r4]
1625 0050 5322 movs r2, #83
1626 0052 5A62 str r2, [r3, #36]
909:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1627 .loc 1 909 3 view .LVU547
912:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1628 .loc 1 912 3 view .LVU548
912:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1629 .loc 1 912 12 is_stmt 0 view .LVU549
1630 0054 2046 mov r0, r4
1631 0056 FFF7FEFF bl RTC_EnterInitMode
1632 .LVL101:
914:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
1633 .loc 1 914 3 is_stmt 1 view .LVU550
914:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
1634 .loc 1 914 6 is_stmt 0 view .LVU551
1635 005a 98B1 cbz r0, .L114
1636 .LVL102:
1637 .L107:
923:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
1638 .loc 1 923 3 is_stmt 1 view .LVU552
923:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
1639 .loc 1 923 6 is_stmt 0 view .LVU553
1640 005c 08B9 cbnz r0, .L108
925:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
1641 .loc 1 925 5 is_stmt 1 view .LVU554
925:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
1642 .loc 1 925 17 is_stmt 0 view .LVU555
1643 005e 0123 movs r3, #1
1644 0060 6377 strb r3, [r4, #29]
1645 .L108:
929:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1646 .loc 1 929 3 is_stmt 1 view .LVU556
929:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1647 .loc 1 929 3 view .LVU557
1648 0062 2368 ldr r3, [r4]
1649 0064 FF22 movs r2, #255
1650 0066 5A62 str r2, [r3, #36]
929:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1651 .loc 1 929 3 view .LVU558
ARM GAS /tmp/ccCGp3Cm.s page 69
932:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1652 .loc 1 932 3 view .LVU559
932:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1653 .loc 1 932 3 view .LVU560
1654 0068 0023 movs r3, #0
1655 006a 2377 strb r3, [r4, #28]
932:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1656 .loc 1 932 3 view .LVU561
934:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
1657 .loc 1 934 3 view .LVU562
935:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1658 .loc 1 935 1 is_stmt 0 view .LVU563
1659 006c 70BD pop {r4, r5, r6, pc}
1660 .LVL103:
1661 .L105:
898:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** assert_param(IS_RTC_MONTH(RTC_Bcd2ToByte(sDate->Month)));
1662 .loc 1 898 5 is_stmt 1 view .LVU564
899:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** assert_param(IS_RTC_DATE(RTC_Bcd2ToByte(sDate->Date)));
1663 .loc 1 899 5 view .LVU565
900:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1664 .loc 1 900 5 view .LVU566
902:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** (((uint32_t)sDate->Month) << RTC_DR_MU_Pos) | \
1665 .loc 1 902 5 view .LVU567
902:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** (((uint32_t)sDate->Month) << RTC_DR_MU_Pos) | \
1666 .loc 1 902 36 is_stmt 0 view .LVU568
1667 006e F378 ldrb r3, [r6, #3] @ zero_extendqisi2
903:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ((uint32_t) sDate->Date) | \
1668 .loc 1 903 36 view .LVU569
1669 0070 7578 ldrb r5, [r6, #1] @ zero_extendqisi2
903:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ((uint32_t) sDate->Date) | \
1670 .loc 1 903 47 view .LVU570
1671 0072 2D02 lsls r5, r5, #8
902:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** (((uint32_t)sDate->Month) << RTC_DR_MU_Pos) | \
1672 .loc 1 902 65 view .LVU571
1673 0074 45EA0345 orr r5, r5, r3, lsl #16
904:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** (((uint32_t)sDate->WeekDay) << RTC_DR_WDU_Pos));
1674 .loc 1 904 36 view .LVU572
1675 0078 B078 ldrb r0, [r6, #2] @ zero_extendqisi2
1676 .LVL104:
903:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ((uint32_t) sDate->Date) | \
1677 .loc 1 903 65 view .LVU573
1678 007a 0543 orrs r5, r5, r0
905:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
1679 .loc 1 905 36 view .LVU574
1680 007c 3078 ldrb r0, [r6] @ zero_extendqisi2
902:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** (((uint32_t)sDate->Month) << RTC_DR_MU_Pos) | \
1681 .loc 1 902 16 view .LVU575
1682 007e 45EA4035 orr r5, r5, r0, lsl #13
1683 .LVL105:
902:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** (((uint32_t)sDate->Month) << RTC_DR_MU_Pos) | \
1684 .loc 1 902 16 view .LVU576
1685 0082 E1E7 b .L106
1686 .LVL106:
1687 .L114:
917:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1688 .loc 1 917 5 is_stmt 1 view .LVU577
917:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
ARM GAS /tmp/ccCGp3Cm.s page 70
1689 .loc 1 917 9 is_stmt 0 view .LVU578
1690 0084 2368 ldr r3, [r4]
917:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1691 .loc 1 917 26 view .LVU579
1692 0086 25F07F45 bic r5, r5, #-16777216
1693 .LVL107:
917:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1694 .loc 1 917 26 view .LVU580
1695 008a 25F0C005 bic r5, r5, #192
917:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1696 .loc 1 917 24 view .LVU581
1697 008e 5D60 str r5, [r3, #4]
920:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
1698 .loc 1 920 5 is_stmt 1 view .LVU582
920:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
1699 .loc 1 920 14 is_stmt 0 view .LVU583
1700 0090 2046 mov r0, r4
1701 .LVL108:
920:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
1702 .loc 1 920 14 view .LVU584
1703 0092 FFF7FEFF bl RTC_ExitInitMode
1704 .LVL109:
920:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
1705 .loc 1 920 14 view .LVU585
1706 0096 E1E7 b .L107
1707 .LVL110:
1708 .L109:
1709 .LCFI12:
1710 .cfi_def_cfa_offset 0
1711 .cfi_restore 4
1712 .cfi_restore 5
1713 .cfi_restore 6
1714 .cfi_restore 14
874:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1715 .loc 1 874 3 view .LVU586
1716 0098 0220 movs r0, #2
1717 .LVL111:
935:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1718 .loc 1 935 1 view .LVU587
1719 009a 7047 bx lr
1720 .cfi_endproc
1721 .LFE140:
1723 .section .text.HAL_RTC_SetAlarm,"ax",%progbits
1724 .align 1
1725 .global HAL_RTC_SetAlarm
1726 .syntax unified
1727 .thumb
1728 .thumb_func
1730 HAL_RTC_SetAlarm:
1731 .LVL112:
1732 .LFB142:
1013:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** uint32_t tickstart = 0U;
1733 .loc 1 1013 1 is_stmt 1 view -0
1734 .cfi_startproc
1735 @ args = 0, pretend = 0, frame = 0
1736 @ frame_needed = 0, uses_anonymous_args = 0
1013:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** uint32_t tickstart = 0U;
ARM GAS /tmp/ccCGp3Cm.s page 71
1737 .loc 1 1013 1 is_stmt 0 view .LVU589
1738 0000 F8B5 push {r3, r4, r5, r6, r7, lr}
1739 .LCFI13:
1740 .cfi_def_cfa_offset 24
1741 .cfi_offset 3, -24
1742 .cfi_offset 4, -20
1743 .cfi_offset 5, -16
1744 .cfi_offset 6, -12
1745 .cfi_offset 7, -8
1746 .cfi_offset 14, -4
1014:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** uint32_t tmpreg = 0U;
1747 .loc 1 1014 3 is_stmt 1 view .LVU590
1748 .LVL113:
1015:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** uint32_t subsecondtmpreg = 0U;
1749 .loc 1 1015 3 view .LVU591
1016:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1750 .loc 1 1016 3 view .LVU592
1019:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** assert_param(IS_RTC_ALARM(sAlarm->Alarm));
1751 .loc 1 1019 3 view .LVU593
1020:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** assert_param(IS_RTC_ALARM_MASK(sAlarm->AlarmMask));
1752 .loc 1 1020 3 view .LVU594
1021:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** assert_param(IS_RTC_ALARM_DATE_WEEKDAY_SEL(sAlarm->AlarmDateWeekDaySel));
1753 .loc 1 1021 3 view .LVU595
1022:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** assert_param(IS_RTC_ALARM_SUB_SECOND_VALUE(sAlarm->AlarmTime.SubSeconds));
1754 .loc 1 1022 3 view .LVU596
1023:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** assert_param(IS_RTC_ALARM_SUB_SECOND_MASK(sAlarm->AlarmSubSecondMask));
1755 .loc 1 1023 3 view .LVU597
1024:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1756 .loc 1 1024 3 view .LVU598
1027:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1757 .loc 1 1027 3 view .LVU599
1027:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1758 .loc 1 1027 3 view .LVU600
1759 0002 037F ldrb r3, [r0, #28] @ zero_extendqisi2
1760 0004 012B cmp r3, #1
1761 0006 00F0B580 beq .L127
1762 000a 0446 mov r4, r0
1763 000c 0D46 mov r5, r1
1027:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1764 .loc 1 1027 3 discriminator 2 view .LVU601
1765 000e 0123 movs r3, #1
1766 0010 0377 strb r3, [r0, #28]
1027:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1767 .loc 1 1027 3 discriminator 2 view .LVU602
1030:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1768 .loc 1 1030 3 discriminator 2 view .LVU603
1030:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1769 .loc 1 1030 15 is_stmt 0 discriminator 2 view .LVU604
1770 0012 0223 movs r3, #2
1771 0014 4377 strb r3, [r0, #29]
1034:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
1772 .loc 1 1034 3 is_stmt 1 discriminator 2 view .LVU605
1034:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
1773 .loc 1 1034 6 is_stmt 0 discriminator 2 view .LVU606
1774 0016 002A cmp r2, #0
1775 0018 53D1 bne .L117
1036:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
ARM GAS /tmp/ccCGp3Cm.s page 72
1776 .loc 1 1036 5 is_stmt 1 view .LVU607
1036:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
1777 .loc 1 1036 14 is_stmt 0 view .LVU608
1778 001a 0368 ldr r3, [r0]
1036:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
1779 .loc 1 1036 24 view .LVU609
1780 001c 9B68 ldr r3, [r3, #8]
1036:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
1781 .loc 1 1036 8 view .LVU610
1782 001e 13F0400F tst r3, #64
1783 0022 01D1 bne .L118
1043:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** assert_param(IS_RTC_HOUR24(sAlarm->AlarmTime.Hours));
1784 .loc 1 1043 7 is_stmt 1 view .LVU611
1043:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** assert_param(IS_RTC_HOUR24(sAlarm->AlarmTime.Hours));
1785 .loc 1 1043 36 is_stmt 0 view .LVU612
1786 0024 0023 movs r3, #0
1787 0026 CB70 strb r3, [r1, #3]
1788 .L118:
1044:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
1789 .loc 1 1044 7 is_stmt 1 view .LVU613
1046:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** assert_param(IS_RTC_SECONDS(sAlarm->AlarmTime.Seconds));
1790 .loc 1 1046 5 view .LVU614
1047:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1791 .loc 1 1047 5 view .LVU615
1049:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
1792 .loc 1 1049 5 view .LVU616
1049:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
1793 .loc 1 1049 15 is_stmt 0 view .LVU617
1794 0028 EE69 ldr r6, [r5, #28]
1055:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
1795 .loc 1 1055 7 is_stmt 1 view .LVU618
1058:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ((uint32_t)RTC_ByteToBcd2(sAlarm->AlarmTime.Minutes) << RTC_ALRMAR_MNU_Pos) | \
1796 .loc 1 1058 5 view .LVU619
1058:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ((uint32_t)RTC_ByteToBcd2(sAlarm->AlarmTime.Minutes) << RTC_ALRMAR_MNU_Pos) | \
1797 .loc 1 1058 26 is_stmt 0 view .LVU620
1798 002a 2878 ldrb r0, [r5] @ zero_extendqisi2
1799 .LVL114:
1058:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ((uint32_t)RTC_ByteToBcd2(sAlarm->AlarmTime.Minutes) << RTC_ALRMAR_MNU_Pos) | \
1800 .loc 1 1058 26 view .LVU621
1801 002c FFF7FEFF bl RTC_ByteToBcd2
1802 .LVL115:
1058:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ((uint32_t)RTC_ByteToBcd2(sAlarm->AlarmTime.Minutes) << RTC_ALRMAR_MNU_Pos) | \
1803 .loc 1 1058 68 view .LVU622
1804 0030 0704 lsls r7, r0, #16
1059:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ((uint32_t)RTC_ByteToBcd2(sAlarm->AlarmTime.Seconds)) | \
1805 .loc 1 1059 26 view .LVU623
1806 0032 6878 ldrb r0, [r5, #1] @ zero_extendqisi2
1807 0034 FFF7FEFF bl RTC_ByteToBcd2
1808 .LVL116:
1058:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ((uint32_t)RTC_ByteToBcd2(sAlarm->AlarmTime.Minutes) << RTC_ALRMAR_MNU_Pos) | \
1809 .loc 1 1058 91 view .LVU624
1810 0038 47EA0027 orr r7, r7, r0, lsl #8
1060:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ((uint32_t)(sAlarm->AlarmTime.TimeFormat) << RTC_ALRMAR_PM_Pos) | \
1811 .loc 1 1060 26 view .LVU625
1812 003c A878 ldrb r0, [r5, #2] @ zero_extendqisi2
1813 003e FFF7FEFF bl RTC_ByteToBcd2
1814 .LVL117:
ARM GAS /tmp/ccCGp3Cm.s page 73
1059:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ((uint32_t)RTC_ByteToBcd2(sAlarm->AlarmTime.Seconds)) | \
1815 .loc 1 1059 91 view .LVU626
1816 0042 0743 orrs r7, r7, r0
1061:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ((uint32_t)RTC_ByteToBcd2(sAlarm->AlarmDateWeekDay) << RTC_ALRMAR_DU_Pos) | \
1817 .loc 1 1061 44 view .LVU627
1818 0044 E878 ldrb r0, [r5, #3] @ zero_extendqisi2
1060:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ((uint32_t)(sAlarm->AlarmTime.TimeFormat) << RTC_ALRMAR_PM_Pos) | \
1819 .loc 1 1060 91 view .LVU628
1820 0046 47EA8057 orr r7, r7, r0, lsl #22
1062:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ((uint32_t)sAlarm->AlarmDateWeekDaySel) | \
1821 .loc 1 1062 26 view .LVU629
1822 004a 95F82000 ldrb r0, [r5, #32] @ zero_extendqisi2
1823 004e FFF7FEFF bl RTC_ByteToBcd2
1824 .LVL118:
1061:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ((uint32_t)RTC_ByteToBcd2(sAlarm->AlarmDateWeekDay) << RTC_ALRMAR_DU_Pos) | \
1825 .loc 1 1061 91 view .LVU630
1826 0052 47EA0067 orr r7, r7, r0, lsl #24
1062:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ((uint32_t)sAlarm->AlarmDateWeekDaySel) | \
1827 .loc 1 1062 91 view .LVU631
1828 0056 3E43 orrs r6, r6, r7
1064:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
1829 .loc 1 1064 32 view .LVU632
1830 0058 6B69 ldr r3, [r5, #20]
1058:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ((uint32_t)RTC_ByteToBcd2(sAlarm->AlarmTime.Minutes) << RTC_ALRMAR_MNU_Pos) | \
1831 .loc 1 1058 12 view .LVU633
1832 005a 1E43 orrs r6, r6, r3
1833 .LVL119:
1834 .L119:
1101:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** (uint32_t)(sAlarm->AlarmSubSecondMask));
1835 .loc 1 1101 3 is_stmt 1 view .LVU634
1101:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** (uint32_t)(sAlarm->AlarmSubSecondMask));
1836 .loc 1 1101 60 is_stmt 0 view .LVU635
1837 005c 6F68 ldr r7, [r5, #4]
1102:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1838 .loc 1 1102 49 view .LVU636
1839 005e AB69 ldr r3, [r5, #24]
1101:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** (uint32_t)(sAlarm->AlarmSubSecondMask));
1840 .loc 1 1101 19 view .LVU637
1841 0060 1F43 orrs r7, r7, r3
1842 .LVL120:
1105:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1843 .loc 1 1105 3 is_stmt 1 view .LVU638
1105:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1844 .loc 1 1105 3 view .LVU639
1845 0062 2368 ldr r3, [r4]
1846 0064 CA22 movs r2, #202
1847 0066 5A62 str r2, [r3, #36]
1105:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1848 .loc 1 1105 3 view .LVU640
1849 0068 2368 ldr r3, [r4]
1850 006a 5322 movs r2, #83
1851 006c 5A62 str r2, [r3, #36]
1105:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1852 .loc 1 1105 3 view .LVU641
1107:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
1853 .loc 1 1107 3 view .LVU642
1107:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
ARM GAS /tmp/ccCGp3Cm.s page 74
1854 .loc 1 1107 13 is_stmt 0 view .LVU643
1855 006e 6B6A ldr r3, [r5, #36]
1107:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
1856 .loc 1 1107 6 view .LVU644
1857 0070 B3F5807F cmp r3, #256
1858 0074 3FD0 beq .L129
1148:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1859 .loc 1 1148 5 is_stmt 1 view .LVU645
1860 0076 2268 ldr r2, [r4]
1861 0078 9368 ldr r3, [r2, #8]
1862 007a 23F40073 bic r3, r3, #512
1863 007e 9360 str r3, [r2, #8]
1151:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1864 .loc 1 1151 5 view .LVU646
1865 0080 2268 ldr r2, [r4]
1866 0082 9368 ldr r3, [r2, #8]
1867 0084 23F40053 bic r3, r3, #8192
1868 0088 9360 str r3, [r2, #8]
1154:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1869 .loc 1 1154 5 view .LVU647
1870 008a 2268 ldr r2, [r4]
1871 008c D368 ldr r3, [r2, #12]
1872 008e DBB2 uxtb r3, r3
1873 0090 63F42073 orn r3, r3, #640
1874 0094 D360 str r3, [r2, #12]
1157:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1875 .loc 1 1157 5 view .LVU648
1157:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1876 .loc 1 1157 17 is_stmt 0 view .LVU649
1877 0096 FFF7FEFF bl HAL_GetTick
1878 .LVL121:
1879 009a 0546 mov r5, r0
1880 .LVL122:
1160:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
1881 .loc 1 1160 5 is_stmt 1 view .LVU650
1882 .L125:
1160:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
1883 .loc 1 1160 11 view .LVU651
1160:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
1884 .loc 1 1160 12 is_stmt 0 view .LVU652
1885 009c 2368 ldr r3, [r4]
1886 009e DA68 ldr r2, [r3, #12]
1160:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
1887 .loc 1 1160 11 view .LVU653
1888 00a0 12F0020F tst r2, #2
1889 00a4 56D1 bne .L130
1162:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
1890 .loc 1 1162 7 is_stmt 1 view .LVU654
1162:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
1891 .loc 1 1162 12 is_stmt 0 view .LVU655
1892 00a6 FFF7FEFF bl HAL_GetTick
1893 .LVL123:
1162:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
1894 .loc 1 1162 26 view .LVU656
1895 00aa 401B subs r0, r0, r5
1162:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
1896 .loc 1 1162 10 view .LVU657
ARM GAS /tmp/ccCGp3Cm.s page 75
1897 00ac B0F57A7F cmp r0, #1000
1898 00b0 F4D9 bls .L125
1165:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1899 .loc 1 1165 9 is_stmt 1 view .LVU658
1165:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1900 .loc 1 1165 9 view .LVU659
1901 00b2 2368 ldr r3, [r4]
1902 00b4 FF22 movs r2, #255
1903 00b6 5A62 str r2, [r3, #36]
1165:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1904 .loc 1 1165 9 view .LVU660
1167:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1905 .loc 1 1167 9 view .LVU661
1167:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1906 .loc 1 1167 21 is_stmt 0 view .LVU662
1907 00b8 0320 movs r0, #3
1908 00ba 6077 strb r0, [r4, #29]
1170:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1909 .loc 1 1170 9 is_stmt 1 view .LVU663
1170:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1910 .loc 1 1170 9 view .LVU664
1911 00bc 0023 movs r3, #0
1912 00be 2377 strb r3, [r4, #28]
1170:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1913 .loc 1 1170 9 view .LVU665
1172:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
1914 .loc 1 1172 9 view .LVU666
1172:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
1915 .loc 1 1172 16 is_stmt 0 view .LVU667
1916 00c0 57E0 b .L116
1917 .LVL124:
1918 .L117:
1068:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
1919 .loc 1 1068 5 is_stmt 1 view .LVU668
1068:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
1920 .loc 1 1068 14 is_stmt 0 view .LVU669
1921 00c2 0368 ldr r3, [r0]
1068:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
1922 .loc 1 1068 24 view .LVU670
1923 00c4 9B68 ldr r3, [r3, #8]
1068:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
1924 .loc 1 1068 8 view .LVU671
1925 00c6 13F0400F tst r3, #64
1926 00ca 01D1 bne .L120
1075:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** assert_param(IS_RTC_HOUR24(RTC_Bcd2ToByte(sAlarm->AlarmTime.Hours)));
1927 .loc 1 1075 7 is_stmt 1 view .LVU672
1075:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** assert_param(IS_RTC_HOUR24(RTC_Bcd2ToByte(sAlarm->AlarmTime.Hours)));
1928 .loc 1 1075 36 is_stmt 0 view .LVU673
1929 00cc 0023 movs r3, #0
1930 00ce CB70 strb r3, [r1, #3]
1931 .L120:
1076:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
1932 .loc 1 1076 7 is_stmt 1 view .LVU674
1079:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** assert_param(IS_RTC_SECONDS(RTC_Bcd2ToByte(sAlarm->AlarmTime.Seconds)));
1933 .loc 1 1079 5 view .LVU675
1080:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1934 .loc 1 1080 5 view .LVU676
ARM GAS /tmp/ccCGp3Cm.s page 76
1082:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
1935 .loc 1 1082 5 view .LVU677
1082:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
1936 .loc 1 1082 15 is_stmt 0 view .LVU678
1937 00d0 EE69 ldr r6, [r5, #28]
1088:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
1938 .loc 1 1088 7 is_stmt 1 view .LVU679
1091:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ((uint32_t)(sAlarm->AlarmTime.Minutes) << RTC_ALRMAR_MNU_Pos) | \
1939 .loc 1 1091 5 view .LVU680
1091:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ((uint32_t)(sAlarm->AlarmTime.Minutes) << RTC_ALRMAR_MNU_Pos) | \
1940 .loc 1 1091 44 is_stmt 0 view .LVU681
1941 00d2 2A78 ldrb r2, [r5] @ zero_extendqisi2
1942 .LVL125:
1092:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ((uint32_t) sAlarm->AlarmTime.Seconds) | \
1943 .loc 1 1092 44 view .LVU682
1944 00d4 6B78 ldrb r3, [r5, #1] @ zero_extendqisi2
1092:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ((uint32_t) sAlarm->AlarmTime.Seconds) | \
1945 .loc 1 1092 57 view .LVU683
1946 00d6 1B02 lsls r3, r3, #8
1091:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ((uint32_t)(sAlarm->AlarmTime.Minutes) << RTC_ALRMAR_MNU_Pos) | \
1947 .loc 1 1091 80 view .LVU684
1948 00d8 43EA0243 orr r3, r3, r2, lsl #16
1093:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ((uint32_t)(sAlarm->AlarmTime.TimeFormat) << RTC_ALRMAR_PM_Pos) | \
1949 .loc 1 1093 44 view .LVU685
1950 00dc AA78 ldrb r2, [r5, #2] @ zero_extendqisi2
1092:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ((uint32_t) sAlarm->AlarmTime.Seconds) | \
1951 .loc 1 1092 80 view .LVU686
1952 00de 1343 orrs r3, r3, r2
1094:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ((uint32_t)(sAlarm->AlarmDateWeekDay) << RTC_ALRMAR_DU_Pos) | \
1953 .loc 1 1094 44 view .LVU687
1954 00e0 EA78 ldrb r2, [r5, #3] @ zero_extendqisi2
1093:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ((uint32_t)(sAlarm->AlarmTime.TimeFormat) << RTC_ALRMAR_PM_Pos) | \
1955 .loc 1 1093 80 view .LVU688
1956 00e2 43EA8253 orr r3, r3, r2, lsl #22
1095:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ((uint32_t) sAlarm->AlarmDateWeekDaySel) | \
1957 .loc 1 1095 33 view .LVU689
1958 00e6 95F82020 ldrb r2, [r5, #32] @ zero_extendqisi2
1094:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ((uint32_t)(sAlarm->AlarmDateWeekDay) << RTC_ALRMAR_DU_Pos) | \
1959 .loc 1 1094 80 view .LVU690
1960 00ea 43EA0263 orr r3, r3, r2, lsl #24
1095:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ((uint32_t) sAlarm->AlarmDateWeekDaySel) | \
1961 .loc 1 1095 80 view .LVU691
1962 00ee 1E43 orrs r6, r6, r3
1097:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
1963 .loc 1 1097 33 view .LVU692
1964 00f0 6B69 ldr r3, [r5, #20]
1091:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ((uint32_t)(sAlarm->AlarmTime.Minutes) << RTC_ALRMAR_MNU_Pos) | \
1965 .loc 1 1091 12 view .LVU693
1966 00f2 1E43 orrs r6, r6, r3
1967 .LVL126:
1091:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ((uint32_t)(sAlarm->AlarmTime.Minutes) << RTC_ALRMAR_MNU_Pos) | \
1968 .loc 1 1091 12 view .LVU694
1969 00f4 B2E7 b .L119
1970 .LVL127:
1971 .L129:
1110:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1972 .loc 1 1110 5 is_stmt 1 view .LVU695
ARM GAS /tmp/ccCGp3Cm.s page 77
1973 00f6 2268 ldr r2, [r4]
1974 00f8 9368 ldr r3, [r2, #8]
1975 00fa 23F48073 bic r3, r3, #256
1976 00fe 9360 str r3, [r2, #8]
1113:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1977 .loc 1 1113 5 view .LVU696
1978 0100 2268 ldr r2, [r4]
1979 0102 9368 ldr r3, [r2, #8]
1980 0104 23F48053 bic r3, r3, #4096
1981 0108 9360 str r3, [r2, #8]
1116:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1982 .loc 1 1116 5 view .LVU697
1983 010a 2268 ldr r2, [r4]
1984 010c D368 ldr r3, [r2, #12]
1985 010e DBB2 uxtb r3, r3
1986 0110 63F4C073 orn r3, r3, #384
1987 0114 D360 str r3, [r2, #12]
1119:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1988 .loc 1 1119 5 view .LVU698
1119:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1989 .loc 1 1119 17 is_stmt 0 view .LVU699
1990 0116 FFF7FEFF bl HAL_GetTick
1991 .LVL128:
1992 011a 0546 mov r5, r0
1993 .LVL129:
1122:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
1994 .loc 1 1122 5 is_stmt 1 view .LVU700
1995 .L122:
1122:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
1996 .loc 1 1122 11 view .LVU701
1122:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
1997 .loc 1 1122 12 is_stmt 0 view .LVU702
1998 011c 2368 ldr r3, [r4]
1999 011e DA68 ldr r2, [r3, #12]
1122:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
2000 .loc 1 1122 11 view .LVU703
2001 0120 12F0010F tst r2, #1
2002 0124 0DD1 bne .L131
1124:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
2003 .loc 1 1124 7 is_stmt 1 view .LVU704
1124:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
2004 .loc 1 1124 12 is_stmt 0 view .LVU705
2005 0126 FFF7FEFF bl HAL_GetTick
2006 .LVL130:
1124:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
2007 .loc 1 1124 26 view .LVU706
2008 012a 401B subs r0, r0, r5
1124:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
2009 .loc 1 1124 10 view .LVU707
2010 012c B0F57A7F cmp r0, #1000
2011 0130 F4D9 bls .L122
1127:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
2012 .loc 1 1127 9 is_stmt 1 view .LVU708
1127:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
2013 .loc 1 1127 9 view .LVU709
2014 0132 2368 ldr r3, [r4]
2015 0134 FF22 movs r2, #255
ARM GAS /tmp/ccCGp3Cm.s page 78
2016 0136 5A62 str r2, [r3, #36]
1127:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
2017 .loc 1 1127 9 view .LVU710
1129:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
2018 .loc 1 1129 9 view .LVU711
1129:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
2019 .loc 1 1129 21 is_stmt 0 view .LVU712
2020 0138 0320 movs r0, #3
2021 013a 6077 strb r0, [r4, #29]
1132:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
2022 .loc 1 1132 9 is_stmt 1 view .LVU713
1132:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
2023 .loc 1 1132 9 view .LVU714
2024 013c 0023 movs r3, #0
2025 013e 2377 strb r3, [r4, #28]
1132:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
2026 .loc 1 1132 9 view .LVU715
1134:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
2027 .loc 1 1134 9 view .LVU716
1134:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
2028 .loc 1 1134 16 is_stmt 0 view .LVU717
2029 0140 17E0 b .L116
2030 .L131:
1139:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Configure Alarm A Subseconds register */
2031 .loc 1 1139 5 is_stmt 1 view .LVU718
1139:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Configure Alarm A Subseconds register */
2032 .loc 1 1139 28 is_stmt 0 view .LVU719
2033 0142 DE61 str r6, [r3, #28]
1141:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Enable Alarm A */
2034 .loc 1 1141 5 is_stmt 1 view .LVU720
1141:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Enable Alarm A */
2035 .loc 1 1141 9 is_stmt 0 view .LVU721
2036 0144 2368 ldr r3, [r4]
1141:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Enable Alarm A */
2037 .loc 1 1141 30 view .LVU722
2038 0146 5F64 str r7, [r3, #68]
1143:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
2039 .loc 1 1143 5 is_stmt 1 view .LVU723
2040 0148 2268 ldr r2, [r4]
2041 014a 9368 ldr r3, [r2, #8]
2042 014c 43F48073 orr r3, r3, #256
2043 0150 9360 str r3, [r2, #8]
2044 0152 07E0 b .L124
2045 .L130:
1177:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Configure Alarm B Subseconds register */
2046 .loc 1 1177 5 view .LVU724
1177:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Configure Alarm B Subseconds register */
2047 .loc 1 1177 28 is_stmt 0 view .LVU725
2048 0154 1E62 str r6, [r3, #32]
1179:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Enable Alarm B */
2049 .loc 1 1179 5 is_stmt 1 view .LVU726
1179:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Enable Alarm B */
2050 .loc 1 1179 9 is_stmt 0 view .LVU727
2051 0156 2368 ldr r3, [r4]
1179:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Enable Alarm B */
2052 .loc 1 1179 30 view .LVU728
2053 0158 9F64 str r7, [r3, #72]
ARM GAS /tmp/ccCGp3Cm.s page 79
1181:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
2054 .loc 1 1181 5 is_stmt 1 view .LVU729
2055 015a 2268 ldr r2, [r4]
2056 015c 9368 ldr r3, [r2, #8]
2057 015e 43F40073 orr r3, r3, #512
2058 0162 9360 str r3, [r2, #8]
2059 .L124:
1185:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
2060 .loc 1 1185 3 view .LVU730
1185:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
2061 .loc 1 1185 3 view .LVU731
2062 0164 2368 ldr r3, [r4]
2063 0166 FF22 movs r2, #255
2064 0168 5A62 str r2, [r3, #36]
1185:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
2065 .loc 1 1185 3 view .LVU732
1188:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
2066 .loc 1 1188 3 view .LVU733
1188:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
2067 .loc 1 1188 15 is_stmt 0 view .LVU734
2068 016a 0123 movs r3, #1
2069 016c 6377 strb r3, [r4, #29]
1191:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
2070 .loc 1 1191 3 is_stmt 1 view .LVU735
1191:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
2071 .loc 1 1191 3 view .LVU736
2072 016e 0020 movs r0, #0
2073 0170 2077 strb r0, [r4, #28]
1191:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
2074 .loc 1 1191 3 view .LVU737
1193:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
2075 .loc 1 1193 3 view .LVU738
2076 .LVL131:
2077 .L116:
1194:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
2078 .loc 1 1194 1 is_stmt 0 view .LVU739
2079 0172 F8BD pop {r3, r4, r5, r6, r7, pc}
2080 .LVL132:
2081 .L127:
1027:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
2082 .loc 1 1027 3 view .LVU740
2083 0174 0220 movs r0, #2
2084 .LVL133:
1027:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
2085 .loc 1 1027 3 view .LVU741
2086 0176 FCE7 b .L116
2087 .cfi_endproc
2088 .LFE142:
2090 .section .text.HAL_RTC_SetAlarm_IT,"ax",%progbits
2091 .align 1
2092 .global HAL_RTC_SetAlarm_IT
2093 .syntax unified
2094 .thumb
2095 .thumb_func
2097 HAL_RTC_SetAlarm_IT:
2098 .LVL134:
2099 .LFB143:
ARM GAS /tmp/ccCGp3Cm.s page 80
1211:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** __IO uint32_t count = RTC_TIMEOUT_VALUE * (SystemCoreClock / 32U / 1000U);
2100 .loc 1 1211 1 is_stmt 1 view -0
2101 .cfi_startproc
2102 @ args = 0, pretend = 0, frame = 8
2103 @ frame_needed = 0, uses_anonymous_args = 0
1211:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** __IO uint32_t count = RTC_TIMEOUT_VALUE * (SystemCoreClock / 32U / 1000U);
2104 .loc 1 1211 1 is_stmt 0 view .LVU743
2105 0000 F0B5 push {r4, r5, r6, r7, lr}
2106 .LCFI14:
2107 .cfi_def_cfa_offset 20
2108 .cfi_offset 4, -20
2109 .cfi_offset 5, -16
2110 .cfi_offset 6, -12
2111 .cfi_offset 7, -8
2112 .cfi_offset 14, -4
2113 0002 83B0 sub sp, sp, #12
2114 .LCFI15:
2115 .cfi_def_cfa_offset 32
2116 0004 0D46 mov r5, r1
1212:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** uint32_t tmpreg = 0U;
2117 .loc 1 1212 3 is_stmt 1 view .LVU744
1212:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** uint32_t tmpreg = 0U;
2118 .loc 1 1212 69 is_stmt 0 view .LVU745
2119 0006 694B ldr r3, .L149
2120 0008 1B68 ldr r3, [r3]
2121 000a 6949 ldr r1, .L149+4
2122 .LVL135:
1212:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** uint32_t tmpreg = 0U;
2123 .loc 1 1212 69 view .LVU746
2124 000c A1FB0313 umull r1, r3, r1, r3
2125 0010 DB0A lsrs r3, r3, #11
1212:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** uint32_t tmpreg = 0U;
2126 .loc 1 1212 44 view .LVU747
2127 0012 4FF47A71 mov r1, #1000
2128 0016 01FB03F3 mul r3, r1, r3
1212:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** uint32_t tmpreg = 0U;
2129 .loc 1 1212 17 view .LVU748
2130 001a 0193 str r3, [sp, #4]
1213:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** uint32_t subsecondtmpreg = 0U;
2131 .loc 1 1213 8 is_stmt 1 view .LVU749
2132 .LVL136:
1214:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
2133 .loc 1 1214 8 view .LVU750
1217:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** assert_param(IS_RTC_ALARM(sAlarm->Alarm));
2134 .loc 1 1217 3 view .LVU751
1218:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** assert_param(IS_RTC_ALARM_MASK(sAlarm->AlarmMask));
2135 .loc 1 1218 3 view .LVU752
1219:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** assert_param(IS_RTC_ALARM_DATE_WEEKDAY_SEL(sAlarm->AlarmDateWeekDaySel));
2136 .loc 1 1219 3 view .LVU753
1220:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** assert_param(IS_RTC_ALARM_SUB_SECOND_VALUE(sAlarm->AlarmTime.SubSeconds));
2137 .loc 1 1220 3 view .LVU754
1221:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** assert_param(IS_RTC_ALARM_SUB_SECOND_MASK(sAlarm->AlarmSubSecondMask));
2138 .loc 1 1221 3 view .LVU755
1222:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
2139 .loc 1 1222 3 view .LVU756
1225:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
2140 .loc 1 1225 3 view .LVU757
ARM GAS /tmp/ccCGp3Cm.s page 81
1225:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
2141 .loc 1 1225 3 view .LVU758
2142 001c 037F ldrb r3, [r0, #28] @ zero_extendqisi2
2143 001e 012B cmp r3, #1
2144 0020 00F0C280 beq .L144
2145 0024 0446 mov r4, r0
1225:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
2146 .loc 1 1225 3 discriminator 2 view .LVU759
2147 0026 0123 movs r3, #1
2148 0028 0377 strb r3, [r0, #28]
1225:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
2149 .loc 1 1225 3 discriminator 2 view .LVU760
1228:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
2150 .loc 1 1228 3 discriminator 2 view .LVU761
1228:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
2151 .loc 1 1228 15 is_stmt 0 discriminator 2 view .LVU762
2152 002a 0223 movs r3, #2
2153 002c 4377 strb r3, [r0, #29]
1232:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
2154 .loc 1 1232 3 is_stmt 1 discriminator 2 view .LVU763
1232:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
2155 .loc 1 1232 6 is_stmt 0 discriminator 2 view .LVU764
2156 002e 002A cmp r2, #0
2157 0030 6DD1 bne .L134
1234:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
2158 .loc 1 1234 5 is_stmt 1 view .LVU765
1234:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
2159 .loc 1 1234 14 is_stmt 0 view .LVU766
2160 0032 0368 ldr r3, [r0]
1234:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
2161 .loc 1 1234 24 view .LVU767
2162 0034 9B68 ldr r3, [r3, #8]
1234:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
2163 .loc 1 1234 8 view .LVU768
2164 0036 13F0400F tst r3, #64
2165 003a 01D1 bne .L135
1241:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** assert_param(IS_RTC_HOUR24(sAlarm->AlarmTime.Hours));
2166 .loc 1 1241 7 is_stmt 1 view .LVU769
1241:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** assert_param(IS_RTC_HOUR24(sAlarm->AlarmTime.Hours));
2167 .loc 1 1241 36 is_stmt 0 view .LVU770
2168 003c 0023 movs r3, #0
2169 003e EB70 strb r3, [r5, #3]
2170 .L135:
1242:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
2171 .loc 1 1242 7 is_stmt 1 view .LVU771
1244:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** assert_param(IS_RTC_SECONDS(sAlarm->AlarmTime.Seconds));
2172 .loc 1 1244 5 view .LVU772
1245:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
2173 .loc 1 1245 5 view .LVU773
1247:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
2174 .loc 1 1247 5 view .LVU774
1247:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
2175 .loc 1 1247 15 is_stmt 0 view .LVU775
2176 0040 EF69 ldr r7, [r5, #28]
1253:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
2177 .loc 1 1253 7 is_stmt 1 view .LVU776
1256:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ((uint32_t)RTC_ByteToBcd2(sAlarm->AlarmTime.Minutes) << RTC_ALRMAR_MNU_Pos) | \
ARM GAS /tmp/ccCGp3Cm.s page 82
2178 .loc 1 1256 5 view .LVU777
1256:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ((uint32_t)RTC_ByteToBcd2(sAlarm->AlarmTime.Minutes) << RTC_ALRMAR_MNU_Pos) | \
2179 .loc 1 1256 26 is_stmt 0 view .LVU778
2180 0042 2878 ldrb r0, [r5] @ zero_extendqisi2
2181 .LVL137:
1256:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ((uint32_t)RTC_ByteToBcd2(sAlarm->AlarmTime.Minutes) << RTC_ALRMAR_MNU_Pos) | \
2182 .loc 1 1256 26 view .LVU779
2183 0044 FFF7FEFF bl RTC_ByteToBcd2
2184 .LVL138:
1256:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ((uint32_t)RTC_ByteToBcd2(sAlarm->AlarmTime.Minutes) << RTC_ALRMAR_MNU_Pos) | \
2185 .loc 1 1256 68 view .LVU780
2186 0048 0604 lsls r6, r0, #16
1257:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ((uint32_t)RTC_ByteToBcd2(sAlarm->AlarmTime.Seconds)) | \
2187 .loc 1 1257 26 view .LVU781
2188 004a 6878 ldrb r0, [r5, #1] @ zero_extendqisi2
2189 004c FFF7FEFF bl RTC_ByteToBcd2
2190 .LVL139:
1256:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ((uint32_t)RTC_ByteToBcd2(sAlarm->AlarmTime.Minutes) << RTC_ALRMAR_MNU_Pos) | \
2191 .loc 1 1256 91 view .LVU782
2192 0050 46EA0026 orr r6, r6, r0, lsl #8
1258:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ((uint32_t)(sAlarm->AlarmTime.TimeFormat) << RTC_ALRMAR_PM_Pos) | \
2193 .loc 1 1258 26 view .LVU783
2194 0054 A878 ldrb r0, [r5, #2] @ zero_extendqisi2
2195 0056 FFF7FEFF bl RTC_ByteToBcd2
2196 .LVL140:
1257:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ((uint32_t)RTC_ByteToBcd2(sAlarm->AlarmTime.Seconds)) | \
2197 .loc 1 1257 91 view .LVU784
2198 005a 0643 orrs r6, r6, r0
1259:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ((uint32_t)RTC_ByteToBcd2(sAlarm->AlarmDateWeekDay) << RTC_ALRMAR_DU_Pos) | \
2199 .loc 1 1259 44 view .LVU785
2200 005c E878 ldrb r0, [r5, #3] @ zero_extendqisi2
1258:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ((uint32_t)(sAlarm->AlarmTime.TimeFormat) << RTC_ALRMAR_PM_Pos) | \
2201 .loc 1 1258 91 view .LVU786
2202 005e 46EA8056 orr r6, r6, r0, lsl #22
1260:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ((uint32_t)sAlarm->AlarmDateWeekDaySel) | \
2203 .loc 1 1260 26 view .LVU787
2204 0062 95F82000 ldrb r0, [r5, #32] @ zero_extendqisi2
2205 0066 FFF7FEFF bl RTC_ByteToBcd2
2206 .LVL141:
1259:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ((uint32_t)RTC_ByteToBcd2(sAlarm->AlarmDateWeekDay) << RTC_ALRMAR_DU_Pos) | \
2207 .loc 1 1259 91 view .LVU788
2208 006a 46EA0066 orr r6, r6, r0, lsl #24
1260:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ((uint32_t)sAlarm->AlarmDateWeekDaySel) | \
2209 .loc 1 1260 91 view .LVU789
2210 006e 3E43 orrs r6, r6, r7
1262:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
2211 .loc 1 1262 32 view .LVU790
2212 0070 6B69 ldr r3, [r5, #20]
1256:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ((uint32_t)RTC_ByteToBcd2(sAlarm->AlarmTime.Minutes) << RTC_ALRMAR_MNU_Pos) | \
2213 .loc 1 1256 12 view .LVU791
2214 0072 1E43 orrs r6, r6, r3
2215 .LVL142:
2216 .L136:
1299:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** (uint32_t)(sAlarm->AlarmSubSecondMask));
2217 .loc 1 1299 3 is_stmt 1 view .LVU792
1299:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** (uint32_t)(sAlarm->AlarmSubSecondMask));
2218 .loc 1 1299 60 is_stmt 0 view .LVU793
ARM GAS /tmp/ccCGp3Cm.s page 83
2219 0074 6868 ldr r0, [r5, #4]
1300:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
2220 .loc 1 1300 49 view .LVU794
2221 0076 AB69 ldr r3, [r5, #24]
1299:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** (uint32_t)(sAlarm->AlarmSubSecondMask));
2222 .loc 1 1299 19 view .LVU795
2223 0078 1843 orrs r0, r0, r3
2224 .LVL143:
1303:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
2225 .loc 1 1303 3 is_stmt 1 view .LVU796
1303:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
2226 .loc 1 1303 3 view .LVU797
2227 007a 2368 ldr r3, [r4]
2228 007c CA22 movs r2, #202
2229 007e 5A62 str r2, [r3, #36]
1303:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
2230 .loc 1 1303 3 view .LVU798
2231 0080 2368 ldr r3, [r4]
2232 0082 5322 movs r2, #83
2233 0084 5A62 str r2, [r3, #36]
1303:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
2234 .loc 1 1303 3 view .LVU799
1305:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
2235 .loc 1 1305 3 view .LVU800
1305:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
2236 .loc 1 1305 13 is_stmt 0 view .LVU801
2237 0086 6B6A ldr r3, [r5, #36]
1305:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
2238 .loc 1 1305 6 view .LVU802
2239 0088 B3F5807F cmp r3, #256
2240 008c 59D0 beq .L146
1343:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
2241 .loc 1 1343 5 is_stmt 1 view .LVU803
2242 008e 2268 ldr r2, [r4]
2243 0090 9368 ldr r3, [r2, #8]
2244 0092 23F40073 bic r3, r3, #512
2245 0096 9360 str r3, [r2, #8]
1346:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
2246 .loc 1 1346 5 view .LVU804
2247 0098 2268 ldr r2, [r4]
2248 009a D368 ldr r3, [r2, #12]
2249 009c DBB2 uxtb r3, r3
2250 009e 63F42073 orn r3, r3, #640
2251 00a2 D360 str r3, [r2, #12]
1349:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
2252 .loc 1 1349 5 view .LVU805
1349:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
2253 .loc 1 1349 56 is_stmt 0 view .LVU806
2254 00a4 414B ldr r3, .L149
2255 00a6 1B68 ldr r3, [r3]
2256 00a8 414A ldr r2, .L149+4
2257 00aa A2FB0323 umull r2, r3, r2, r3
2258 00ae DB0A lsrs r3, r3, #11
1349:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
2259 .loc 1 1349 31 view .LVU807
2260 00b0 4FF47A72 mov r2, #1000
2261 00b4 02FB03F3 mul r3, r2, r3
ARM GAS /tmp/ccCGp3Cm.s page 84
1349:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
2262 .loc 1 1349 11 view .LVU808
2263 00b8 0193 str r3, [sp, #4]
2264 .L143:
1352:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
2265 .loc 1 1352 5 is_stmt 1 view .LVU809
1354:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** if (count == 0U)
2266 .loc 1 1354 7 view .LVU810
1354:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** if (count == 0U)
2267 .loc 1 1354 21 is_stmt 0 view .LVU811
2268 00ba 019B ldr r3, [sp, #4]
2269 00bc 013B subs r3, r3, #1
1354:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** if (count == 0U)
2270 .loc 1 1354 13 view .LVU812
2271 00be 0193 str r3, [sp, #4]
1355:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
2272 .loc 1 1355 7 is_stmt 1 view .LVU813
1355:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
2273 .loc 1 1355 17 is_stmt 0 view .LVU814
2274 00c0 019B ldr r3, [sp, #4]
1355:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
2275 .loc 1 1355 10 view .LVU815
2276 00c2 002B cmp r3, #0
2277 00c4 68D0 beq .L147
1367:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
2278 .loc 1 1367 13 is_stmt 1 view .LVU816
1367:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
2279 .loc 1 1367 14 is_stmt 0 view .LVU817
2280 00c6 2368 ldr r3, [r4]
2281 00c8 DA68 ldr r2, [r3, #12]
1367:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
2282 .loc 1 1367 5 view .LVU818
2283 00ca 12F0020F tst r2, #2
2284 00ce F4D0 beq .L143
1370:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Configure Alarm B Subseconds register */
2285 .loc 1 1370 5 is_stmt 1 view .LVU819
1370:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Configure Alarm B Subseconds register */
2286 .loc 1 1370 28 is_stmt 0 view .LVU820
2287 00d0 1E62 str r6, [r3, #32]
1372:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Enable Alarm B */
2288 .loc 1 1372 5 is_stmt 1 view .LVU821
1372:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Enable Alarm B */
2289 .loc 1 1372 9 is_stmt 0 view .LVU822
2290 00d2 2368 ldr r3, [r4]
1372:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Enable Alarm B */
2291 .loc 1 1372 30 view .LVU823
2292 00d4 9864 str r0, [r3, #72]
1374:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Enable Alarm B interrupt */
2293 .loc 1 1374 5 is_stmt 1 view .LVU824
2294 00d6 2268 ldr r2, [r4]
2295 00d8 9368 ldr r3, [r2, #8]
2296 00da 43F40073 orr r3, r3, #512
2297 00de 9360 str r3, [r2, #8]
1376:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
2298 .loc 1 1376 5 view .LVU825
2299 00e0 2268 ldr r2, [r4]
2300 00e2 9368 ldr r3, [r2, #8]
ARM GAS /tmp/ccCGp3Cm.s page 85
2301 00e4 43F40053 orr r3, r3, #8192
2302 00e8 9360 str r3, [r2, #8]
2303 .L141:
1380:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** __HAL_RTC_ALARM_EXTI_ENABLE_RISING_EDGE();
2304 .loc 1 1380 3 view .LVU826
2305 00ea 324B ldr r3, .L149+8
2306 00ec 1A68 ldr r2, [r3]
2307 00ee 42F40032 orr r2, r2, #131072
2308 00f2 1A60 str r2, [r3]
1381:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
2309 .loc 1 1381 3 view .LVU827
2310 00f4 9A68 ldr r2, [r3, #8]
2311 00f6 42F40032 orr r2, r2, #131072
2312 00fa 9A60 str r2, [r3, #8]
1384:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
2313 .loc 1 1384 3 view .LVU828
1384:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
2314 .loc 1 1384 3 view .LVU829
2315 00fc 2368 ldr r3, [r4]
2316 00fe FF22 movs r2, #255
2317 0100 5A62 str r2, [r3, #36]
1384:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
2318 .loc 1 1384 3 view .LVU830
1387:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
2319 .loc 1 1387 3 view .LVU831
1387:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
2320 .loc 1 1387 15 is_stmt 0 view .LVU832
2321 0102 0123 movs r3, #1
2322 0104 6377 strb r3, [r4, #29]
1390:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
2323 .loc 1 1390 3 is_stmt 1 view .LVU833
1390:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
2324 .loc 1 1390 3 view .LVU834
2325 0106 0020 movs r0, #0
2326 .LVL144:
1390:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
2327 .loc 1 1390 3 is_stmt 0 view .LVU835
2328 0108 2077 strb r0, [r4, #28]
1390:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
2329 .loc 1 1390 3 is_stmt 1 view .LVU836
1392:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
2330 .loc 1 1392 3 view .LVU837
2331 .LVL145:
2332 .L133:
1393:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
2333 .loc 1 1393 1 is_stmt 0 view .LVU838
2334 010a 03B0 add sp, sp, #12
2335 .LCFI16:
2336 .cfi_remember_state
2337 .cfi_def_cfa_offset 20
2338 @ sp needed
2339 010c F0BD pop {r4, r5, r6, r7, pc}
2340 .LVL146:
2341 .L134:
2342 .LCFI17:
2343 .cfi_restore_state
1266:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
ARM GAS /tmp/ccCGp3Cm.s page 86
2344 .loc 1 1266 5 is_stmt 1 view .LVU839
1266:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
2345 .loc 1 1266 14 is_stmt 0 view .LVU840
2346 010e 0368 ldr r3, [r0]
1266:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
2347 .loc 1 1266 24 view .LVU841
2348 0110 9B68 ldr r3, [r3, #8]
1266:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
2349 .loc 1 1266 8 view .LVU842
2350 0112 13F0400F tst r3, #64
2351 0116 01D1 bne .L137
1273:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** assert_param(IS_RTC_HOUR24(RTC_Bcd2ToByte(sAlarm->AlarmTime.Hours)));
2352 .loc 1 1273 7 is_stmt 1 view .LVU843
1273:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** assert_param(IS_RTC_HOUR24(RTC_Bcd2ToByte(sAlarm->AlarmTime.Hours)));
2353 .loc 1 1273 36 is_stmt 0 view .LVU844
2354 0118 0023 movs r3, #0
2355 011a EB70 strb r3, [r5, #3]
2356 .L137:
1274:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
2357 .loc 1 1274 7 is_stmt 1 view .LVU845
1277:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** assert_param(IS_RTC_SECONDS(RTC_Bcd2ToByte(sAlarm->AlarmTime.Seconds)));
2358 .loc 1 1277 5 view .LVU846
1278:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
2359 .loc 1 1278 5 view .LVU847
1280:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
2360 .loc 1 1280 5 view .LVU848
1280:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
2361 .loc 1 1280 15 is_stmt 0 view .LVU849
2362 011c EA69 ldr r2, [r5, #28]
2363 .LVL147:
1286:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
2364 .loc 1 1286 7 is_stmt 1 view .LVU850
1289:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ((uint32_t)(sAlarm->AlarmTime.Minutes) << RTC_ALRMAR_MNU_Pos) | \
2365 .loc 1 1289 5 view .LVU851
1289:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ((uint32_t)(sAlarm->AlarmTime.Minutes) << RTC_ALRMAR_MNU_Pos) | \
2366 .loc 1 1289 44 is_stmt 0 view .LVU852
2367 011e 2978 ldrb r1, [r5] @ zero_extendqisi2
1290:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ((uint32_t) sAlarm->AlarmTime.Seconds) | \
2368 .loc 1 1290 44 view .LVU853
2369 0120 6B78 ldrb r3, [r5, #1] @ zero_extendqisi2
1290:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ((uint32_t) sAlarm->AlarmTime.Seconds) | \
2370 .loc 1 1290 57 view .LVU854
2371 0122 1B02 lsls r3, r3, #8
1289:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ((uint32_t)(sAlarm->AlarmTime.Minutes) << RTC_ALRMAR_MNU_Pos) | \
2372 .loc 1 1289 80 view .LVU855
2373 0124 43EA0143 orr r3, r3, r1, lsl #16
1291:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ((uint32_t)(sAlarm->AlarmTime.TimeFormat) << RTC_ALRMAR_PM_Pos) | \
2374 .loc 1 1291 44 view .LVU856
2375 0128 A978 ldrb r1, [r5, #2] @ zero_extendqisi2
1290:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ((uint32_t) sAlarm->AlarmTime.Seconds) | \
2376 .loc 1 1290 80 view .LVU857
2377 012a 0B43 orrs r3, r3, r1
1292:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ((uint32_t)(sAlarm->AlarmDateWeekDay) << RTC_ALRMAR_DU_Pos) | \
2378 .loc 1 1292 44 view .LVU858
2379 012c E978 ldrb r1, [r5, #3] @ zero_extendqisi2
1291:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ((uint32_t)(sAlarm->AlarmTime.TimeFormat) << RTC_ALRMAR_PM_Pos) | \
2380 .loc 1 1291 80 view .LVU859
ARM GAS /tmp/ccCGp3Cm.s page 87
2381 012e 43EA8153 orr r3, r3, r1, lsl #22
1293:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ((uint32_t) sAlarm->AlarmDateWeekDaySel) | \
2382 .loc 1 1293 33 view .LVU860
2383 0132 95F82010 ldrb r1, [r5, #32] @ zero_extendqisi2
1292:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ((uint32_t)(sAlarm->AlarmDateWeekDay) << RTC_ALRMAR_DU_Pos) | \
2384 .loc 1 1292 80 view .LVU861
2385 0136 43EA0163 orr r3, r3, r1, lsl #24
1293:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ((uint32_t) sAlarm->AlarmDateWeekDaySel) | \
2386 .loc 1 1293 80 view .LVU862
2387 013a 1343 orrs r3, r3, r2
1295:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
2388 .loc 1 1295 33 view .LVU863
2389 013c 6E69 ldr r6, [r5, #20]
1289:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ((uint32_t)(sAlarm->AlarmTime.Minutes) << RTC_ALRMAR_MNU_Pos) | \
2390 .loc 1 1289 12 view .LVU864
2391 013e 1E43 orrs r6, r6, r3
2392 .LVL148:
1289:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** ((uint32_t)(sAlarm->AlarmTime.Minutes) << RTC_ALRMAR_MNU_Pos) | \
2393 .loc 1 1289 12 view .LVU865
2394 0140 98E7 b .L136
2395 .LVL149:
2396 .L146:
1308:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
2397 .loc 1 1308 5 is_stmt 1 view .LVU866
2398 0142 2268 ldr r2, [r4]
2399 0144 9368 ldr r3, [r2, #8]
2400 0146 23F48073 bic r3, r3, #256
2401 014a 9360 str r3, [r2, #8]
1311:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
2402 .loc 1 1311 5 view .LVU867
2403 014c 2268 ldr r2, [r4]
2404 014e D368 ldr r3, [r2, #12]
2405 0150 DBB2 uxtb r3, r3
2406 0152 63F4C073 orn r3, r3, #384
2407 0156 D360 str r3, [r2, #12]
2408 .L140:
1314:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
2409 .loc 1 1314 5 view .LVU868
1316:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** if (count == 0U)
2410 .loc 1 1316 7 view .LVU869
1316:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** if (count == 0U)
2411 .loc 1 1316 21 is_stmt 0 view .LVU870
2412 0158 019B ldr r3, [sp, #4]
2413 015a 013B subs r3, r3, #1
1316:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** if (count == 0U)
2414 .loc 1 1316 13 view .LVU871
2415 015c 0193 str r3, [sp, #4]
1317:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
2416 .loc 1 1317 7 is_stmt 1 view .LVU872
1317:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
2417 .loc 1 1317 17 is_stmt 0 view .LVU873
2418 015e 019B ldr r3, [sp, #4]
1317:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
2419 .loc 1 1317 10 view .LVU874
2420 0160 93B1 cbz r3, .L148
1329:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
2421 .loc 1 1329 13 is_stmt 1 view .LVU875
ARM GAS /tmp/ccCGp3Cm.s page 88
1329:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
2422 .loc 1 1329 14 is_stmt 0 view .LVU876
2423 0162 2368 ldr r3, [r4]
2424 0164 D968 ldr r1, [r3, #12]
1329:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
2425 .loc 1 1329 5 view .LVU877
2426 0166 11F0010F tst r1, #1
2427 016a F5D0 beq .L140
1332:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Configure Alarm A Subseconds register */
2428 .loc 1 1332 5 is_stmt 1 view .LVU878
1332:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Configure Alarm A Subseconds register */
2429 .loc 1 1332 28 is_stmt 0 view .LVU879
2430 016c DE61 str r6, [r3, #28]
1334:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Enable Alarm A */
2431 .loc 1 1334 5 is_stmt 1 view .LVU880
1334:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Enable Alarm A */
2432 .loc 1 1334 9 is_stmt 0 view .LVU881
2433 016e 2368 ldr r3, [r4]
1334:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Enable Alarm A */
2434 .loc 1 1334 30 view .LVU882
2435 0170 5864 str r0, [r3, #68]
1336:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /* Enable Alarm A interrupt */
2436 .loc 1 1336 5 is_stmt 1 view .LVU883
2437 0172 2268 ldr r2, [r4]
2438 0174 9368 ldr r3, [r2, #8]
2439 0176 43F48073 orr r3, r3, #256
2440 017a 9360 str r3, [r2, #8]
1338:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
2441 .loc 1 1338 5 view .LVU884
2442 017c 2268 ldr r2, [r4]
2443 017e 9368 ldr r3, [r2, #8]
2444 0180 43F48053 orr r3, r3, #4096
2445 0184 9360 str r3, [r2, #8]
2446 0186 B0E7 b .L141
2447 .L148:
1320:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
2448 .loc 1 1320 9 view .LVU885
1320:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
2449 .loc 1 1320 9 view .LVU886
2450 0188 2368 ldr r3, [r4]
2451 018a FF22 movs r2, #255
2452 018c 5A62 str r2, [r3, #36]
1320:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
2453 .loc 1 1320 9 view .LVU887
1322:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
2454 .loc 1 1322 9 view .LVU888
1322:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
2455 .loc 1 1322 21 is_stmt 0 view .LVU889
2456 018e 0320 movs r0, #3
2457 .LVL150:
1322:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
2458 .loc 1 1322 21 view .LVU890
2459 0190 6077 strb r0, [r4, #29]
1325:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
2460 .loc 1 1325 9 is_stmt 1 view .LVU891
1325:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
2461 .loc 1 1325 9 view .LVU892
ARM GAS /tmp/ccCGp3Cm.s page 89
2462 0192 0023 movs r3, #0
2463 0194 2377 strb r3, [r4, #28]
1325:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
2464 .loc 1 1325 9 view .LVU893
1327:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
2465 .loc 1 1327 9 view .LVU894
1327:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
2466 .loc 1 1327 16 is_stmt 0 view .LVU895
2467 0196 B8E7 b .L133
2468 .LVL151:
2469 .L147:
1358:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
2470 .loc 1 1358 9 is_stmt 1 view .LVU896
1358:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
2471 .loc 1 1358 9 view .LVU897
2472 0198 2368 ldr r3, [r4]
2473 019a FF22 movs r2, #255
2474 019c 5A62 str r2, [r3, #36]
1358:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
2475 .loc 1 1358 9 view .LVU898
1360:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
2476 .loc 1 1360 9 view .LVU899
1360:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
2477 .loc 1 1360 21 is_stmt 0 view .LVU900
2478 019e 0320 movs r0, #3
2479 .LVL152:
1360:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
2480 .loc 1 1360 21 view .LVU901
2481 01a0 6077 strb r0, [r4, #29]
1363:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
2482 .loc 1 1363 9 is_stmt 1 view .LVU902
1363:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
2483 .loc 1 1363 9 view .LVU903
2484 01a2 0023 movs r3, #0
2485 01a4 2377 strb r3, [r4, #28]
1363:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
2486 .loc 1 1363 9 view .LVU904
1365:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
2487 .loc 1 1365 9 view .LVU905
1365:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
2488 .loc 1 1365 16 is_stmt 0 view .LVU906
2489 01a6 B0E7 b .L133
2490 .LVL153:
2491 .L144:
1225:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
2492 .loc 1 1225 3 view .LVU907
2493 01a8 0220 movs r0, #2
2494 .LVL154:
1225:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
2495 .loc 1 1225 3 view .LVU908
2496 01aa AEE7 b .L133
2497 .L150:
2498 .align 2
2499 .L149:
2500 01ac 00000000 .word SystemCoreClock
2501 01b0 D34D6210 .word 274877907
2502 01b4 003C0140 .word 1073822720
ARM GAS /tmp/ccCGp3Cm.s page 90
2503 .cfi_endproc
2504 .LFE143:
2506 .section .text.RTC_Bcd2ToByte,"ax",%progbits
2507 .align 1
2508 .global RTC_Bcd2ToByte
2509 .syntax unified
2510 .thumb
2511 .thumb_func
2513 RTC_Bcd2ToByte:
2514 .LVL155:
2515 .LFB159:
1896:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
1897:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** /**
1898:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @brief Converts a 2-digit number from BCD to decimal format.
1899:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @param number BCD-formatted number (from 00 to 99) to be converted
1900:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** * @retval Converted word
1901:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** */
1902:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** uint8_t RTC_Bcd2ToByte(uint8_t number)
1903:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
2516 .loc 1 1903 1 is_stmt 1 view -0
2517 .cfi_startproc
2518 @ args = 0, pretend = 0, frame = 0
2519 @ frame_needed = 0, uses_anonymous_args = 0
2520 @ link register save eliminated.
1904:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** uint32_t tens = 0U;
2521 .loc 1 1904 3 view .LVU910
1905:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** tens = (((uint32_t)number & 0xF0U) >> 4U) * 10U;
2522 .loc 1 1905 3 view .LVU911
2523 .loc 1 1905 38 is_stmt 0 view .LVU912
2524 0000 0309 lsrs r3, r0, #4
2525 .loc 1 1905 8 view .LVU913
2526 0002 03EB8303 add r3, r3, r3, lsl #2
2527 .LVL156:
1906:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** return (uint8_t)(tens + ((uint32_t)number & 0x0FU));
2528 .loc 1 1906 3 is_stmt 1 view .LVU914
2529 .loc 1 1906 45 is_stmt 0 view .LVU915
2530 0006 00F00F00 and r0, r0, #15
2531 .LVL157:
2532 .loc 1 1906 10 view .LVU916
2533 000a 00EB4300 add r0, r0, r3, lsl #1
1907:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
2534 .loc 1 1907 1 view .LVU917
2535 000e C0B2 uxtb r0, r0
2536 0010 7047 bx lr
2537 .cfi_endproc
2538 .LFE159:
2540 .section .text.HAL_RTC_GetTime,"ax",%progbits
2541 .align 1
2542 .global HAL_RTC_GetTime
2543 .syntax unified
2544 .thumb
2545 .thumb_func
2547 HAL_RTC_GetTime:
2548 .LVL158:
2549 .LFB139:
821:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** uint32_t tmpreg = 0U;
2550 .loc 1 821 1 is_stmt 1 view -0
ARM GAS /tmp/ccCGp3Cm.s page 91
2551 .cfi_startproc
2552 @ args = 0, pretend = 0, frame = 0
2553 @ frame_needed = 0, uses_anonymous_args = 0
821:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** uint32_t tmpreg = 0U;
2554 .loc 1 821 1 is_stmt 0 view .LVU919
2555 0000 70B5 push {r4, r5, r6, lr}
2556 .LCFI18:
2557 .cfi_def_cfa_offset 16
2558 .cfi_offset 4, -16
2559 .cfi_offset 5, -12
2560 .cfi_offset 6, -8
2561 .cfi_offset 14, -4
822:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
2562 .loc 1 822 3 is_stmt 1 view .LVU920
2563 .LVL159:
825:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
2564 .loc 1 825 3 view .LVU921
828:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
2565 .loc 1 828 3 view .LVU922
828:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
2566 .loc 1 828 38 is_stmt 0 view .LVU923
2567 0002 0368 ldr r3, [r0]
828:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
2568 .loc 1 828 48 view .LVU924
2569 0004 9B6A ldr r3, [r3, #40]
828:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
2570 .loc 1 828 21 view .LVU925
2571 0006 4B60 str r3, [r1, #4]
831:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
2572 .loc 1 831 3 is_stmt 1 view .LVU926
831:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
2573 .loc 1 831 42 is_stmt 0 view .LVU927
2574 0008 0368 ldr r3, [r0]
831:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
2575 .loc 1 831 52 view .LVU928
2576 000a 1B69 ldr r3, [r3, #16]
831:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
2577 .loc 1 831 27 view .LVU929
2578 000c C3F30E03 ubfx r3, r3, #0, #15
831:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
2579 .loc 1 831 25 view .LVU930
2580 0010 8B60 str r3, [r1, #8]
834:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
2581 .loc 1 834 3 is_stmt 1 view .LVU931
834:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
2582 .loc 1 834 27 is_stmt 0 view .LVU932
2583 0012 0368 ldr r3, [r0]
834:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
2584 .loc 1 834 37 view .LVU933
2585 0014 1B68 ldr r3, [r3]
2586 .LVL160:
837:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** sTime->Minutes = (uint8_t)((tmpreg & (RTC_TR_MNT | RTC_TR_MNU)) >> RTC_TR_MNU_Pos);
2587 .loc 1 837 3 is_stmt 1 view .LVU934
837:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** sTime->Minutes = (uint8_t)((tmpreg & (RTC_TR_MNT | RTC_TR_MNU)) >> RTC_TR_MNU_Pos);
2588 .loc 1 837 23 is_stmt 0 view .LVU935
2589 0016 C3F30540 ubfx r0, r3, #16, #6
2590 .LVL161:
ARM GAS /tmp/ccCGp3Cm.s page 92
837:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** sTime->Minutes = (uint8_t)((tmpreg & (RTC_TR_MNT | RTC_TR_MNU)) >> RTC_TR_MNU_Pos);
2591 .loc 1 837 21 view .LVU936
2592 001a 0870 strb r0, [r1]
838:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** sTime->Seconds = (uint8_t)( tmpreg & (RTC_TR_ST | RTC_TR_SU));
2593 .loc 1 838 3 is_stmt 1 view .LVU937
838:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** sTime->Seconds = (uint8_t)( tmpreg & (RTC_TR_ST | RTC_TR_SU));
2594 .loc 1 838 23 is_stmt 0 view .LVU938
2595 001c C3F30626 ubfx r6, r3, #8, #7
838:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** sTime->Seconds = (uint8_t)( tmpreg & (RTC_TR_ST | RTC_TR_SU));
2596 .loc 1 838 21 view .LVU939
2597 0020 4E70 strb r6, [r1, #1]
839:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** sTime->TimeFormat = (uint8_t)((tmpreg & (RTC_TR_PM)) >> RTC_TR_PM_Pos);
2598 .loc 1 839 3 is_stmt 1 view .LVU940
839:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** sTime->TimeFormat = (uint8_t)((tmpreg & (RTC_TR_PM)) >> RTC_TR_PM_Pos);
2599 .loc 1 839 23 is_stmt 0 view .LVU941
2600 0022 03F07F05 and r5, r3, #127
839:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** sTime->TimeFormat = (uint8_t)((tmpreg & (RTC_TR_PM)) >> RTC_TR_PM_Pos);
2601 .loc 1 839 21 view .LVU942
2602 0026 8D70 strb r5, [r1, #2]
840:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
2603 .loc 1 840 3 is_stmt 1 view .LVU943
840:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
2604 .loc 1 840 23 is_stmt 0 view .LVU944
2605 0028 C3F38053 ubfx r3, r3, #22, #1
2606 .LVL162:
840:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
2607 .loc 1 840 21 view .LVU945
2608 002c CB70 strb r3, [r1, #3]
843:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
2609 .loc 1 843 3 is_stmt 1 view .LVU946
843:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
2610 .loc 1 843 6 is_stmt 0 view .LVU947
2611 002e 5AB9 cbnz r2, .L153
2612 0030 0C46 mov r4, r1
846:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** sTime->Minutes = (uint8_t)RTC_Bcd2ToByte(sTime->Minutes);
2613 .loc 1 846 5 is_stmt 1 view .LVU948
846:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** sTime->Minutes = (uint8_t)RTC_Bcd2ToByte(sTime->Minutes);
2614 .loc 1 846 29 is_stmt 0 view .LVU949
2615 0032 FFF7FEFF bl RTC_Bcd2ToByte
2616 .LVL163:
846:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** sTime->Minutes = (uint8_t)RTC_Bcd2ToByte(sTime->Minutes);
2617 .loc 1 846 18 view .LVU950
2618 0036 2070 strb r0, [r4]
847:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** sTime->Seconds = (uint8_t)RTC_Bcd2ToByte(sTime->Seconds);
2619 .loc 1 847 5 is_stmt 1 view .LVU951
847:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** sTime->Seconds = (uint8_t)RTC_Bcd2ToByte(sTime->Seconds);
2620 .loc 1 847 31 is_stmt 0 view .LVU952
2621 0038 3046 mov r0, r6
2622 003a FFF7FEFF bl RTC_Bcd2ToByte
2623 .LVL164:
847:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** sTime->Seconds = (uint8_t)RTC_Bcd2ToByte(sTime->Seconds);
2624 .loc 1 847 20 view .LVU953
2625 003e 6070 strb r0, [r4, #1]
848:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
2626 .loc 1 848 5 is_stmt 1 view .LVU954
848:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
2627 .loc 1 848 31 is_stmt 0 view .LVU955
ARM GAS /tmp/ccCGp3Cm.s page 93
2628 0040 2846 mov r0, r5
2629 0042 FFF7FEFF bl RTC_Bcd2ToByte
2630 .LVL165:
848:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
2631 .loc 1 848 20 view .LVU956
2632 0046 A070 strb r0, [r4, #2]
2633 .LVL166:
2634 .L153:
851:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
2635 .loc 1 851 3 is_stmt 1 view .LVU957
852:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
2636 .loc 1 852 1 is_stmt 0 view .LVU958
2637 0048 0020 movs r0, #0
2638 004a 70BD pop {r4, r5, r6, pc}
2639 .cfi_endproc
2640 .LFE139:
2642 .section .text.HAL_RTC_GetDate,"ax",%progbits
2643 .align 1
2644 .global HAL_RTC_GetDate
2645 .syntax unified
2646 .thumb
2647 .thumb_func
2649 HAL_RTC_GetDate:
2650 .LVL167:
2651 .LFB141:
955:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** uint32_t datetmpreg = 0U;
2652 .loc 1 955 1 is_stmt 1 view -0
2653 .cfi_startproc
2654 @ args = 0, pretend = 0, frame = 0
2655 @ frame_needed = 0, uses_anonymous_args = 0
955:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** uint32_t datetmpreg = 0U;
2656 .loc 1 955 1 is_stmt 0 view .LVU960
2657 0000 70B5 push {r4, r5, r6, lr}
2658 .LCFI19:
2659 .cfi_def_cfa_offset 16
2660 .cfi_offset 4, -16
2661 .cfi_offset 5, -12
2662 .cfi_offset 6, -8
2663 .cfi_offset 14, -4
956:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
2664 .loc 1 956 3 is_stmt 1 view .LVU961
2665 .LVL168:
959:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
2666 .loc 1 959 3 view .LVU962
962:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
2667 .loc 1 962 3 view .LVU963
962:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
2668 .loc 1 962 31 is_stmt 0 view .LVU964
2669 0002 0368 ldr r3, [r0]
962:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
2670 .loc 1 962 41 view .LVU965
2671 0004 5B68 ldr r3, [r3, #4]
2672 .LVL169:
965:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** sDate->Month = (uint8_t)((datetmpreg & (RTC_DR_MT | RTC_DR_MU)) >> RTC_DR_MU_Pos);
2673 .loc 1 965 3 is_stmt 1 view .LVU966
965:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** sDate->Month = (uint8_t)((datetmpreg & (RTC_DR_MT | RTC_DR_MU)) >> RTC_DR_MU_Pos);
2674 .loc 1 965 20 is_stmt 0 view .LVU967
ARM GAS /tmp/ccCGp3Cm.s page 94
2675 0006 C3F30740 ubfx r0, r3, #16, #8
2676 .LVL170:
965:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** sDate->Month = (uint8_t)((datetmpreg & (RTC_DR_MT | RTC_DR_MU)) >> RTC_DR_MU_Pos);
2677 .loc 1 965 18 view .LVU968
2678 000a C870 strb r0, [r1, #3]
966:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** sDate->Date = (uint8_t) (datetmpreg & (RTC_DR_DT | RTC_DR_DU));
2679 .loc 1 966 3 is_stmt 1 view .LVU969
966:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** sDate->Date = (uint8_t) (datetmpreg & (RTC_DR_DT | RTC_DR_DU));
2680 .loc 1 966 20 is_stmt 0 view .LVU970
2681 000c C3F30426 ubfx r6, r3, #8, #5
966:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** sDate->Date = (uint8_t) (datetmpreg & (RTC_DR_DT | RTC_DR_DU));
2682 .loc 1 966 18 view .LVU971
2683 0010 4E70 strb r6, [r1, #1]
967:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** sDate->WeekDay = (uint8_t)((datetmpreg & (RTC_DR_WDU)) >> RTC_DR_WDU_Pos);
2684 .loc 1 967 3 is_stmt 1 view .LVU972
967:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** sDate->WeekDay = (uint8_t)((datetmpreg & (RTC_DR_WDU)) >> RTC_DR_WDU_Pos);
2685 .loc 1 967 20 is_stmt 0 view .LVU973
2686 0012 03F03F05 and r5, r3, #63
967:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** sDate->WeekDay = (uint8_t)((datetmpreg & (RTC_DR_WDU)) >> RTC_DR_WDU_Pos);
2687 .loc 1 967 18 view .LVU974
2688 0016 8D70 strb r5, [r1, #2]
968:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
2689 .loc 1 968 3 is_stmt 1 view .LVU975
968:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
2690 .loc 1 968 20 is_stmt 0 view .LVU976
2691 0018 C3F34233 ubfx r3, r3, #13, #3
2692 .LVL171:
968:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
2693 .loc 1 968 18 view .LVU977
2694 001c 0B70 strb r3, [r1]
971:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
2695 .loc 1 971 3 is_stmt 1 view .LVU978
971:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
2696 .loc 1 971 6 is_stmt 0 view .LVU979
2697 001e 5AB9 cbnz r2, .L156
2698 0020 0C46 mov r4, r1
974:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** sDate->Month = (uint8_t)RTC_Bcd2ToByte(sDate->Month);
2699 .loc 1 974 5 is_stmt 1 view .LVU980
974:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** sDate->Month = (uint8_t)RTC_Bcd2ToByte(sDate->Month);
2700 .loc 1 974 29 is_stmt 0 view .LVU981
2701 0022 FFF7FEFF bl RTC_Bcd2ToByte
2702 .LVL172:
974:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** sDate->Month = (uint8_t)RTC_Bcd2ToByte(sDate->Month);
2703 .loc 1 974 18 view .LVU982
2704 0026 E070 strb r0, [r4, #3]
975:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** sDate->Date = (uint8_t)RTC_Bcd2ToByte(sDate->Date);
2705 .loc 1 975 5 is_stmt 1 view .LVU983
975:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** sDate->Date = (uint8_t)RTC_Bcd2ToByte(sDate->Date);
2706 .loc 1 975 29 is_stmt 0 view .LVU984
2707 0028 3046 mov r0, r6
2708 002a FFF7FEFF bl RTC_Bcd2ToByte
2709 .LVL173:
975:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** sDate->Date = (uint8_t)RTC_Bcd2ToByte(sDate->Date);
2710 .loc 1 975 18 view .LVU985
2711 002e 6070 strb r0, [r4, #1]
976:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
2712 .loc 1 976 5 is_stmt 1 view .LVU986
ARM GAS /tmp/ccCGp3Cm.s page 95
976:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
2713 .loc 1 976 29 is_stmt 0 view .LVU987
2714 0030 2846 mov r0, r5
2715 0032 FFF7FEFF bl RTC_Bcd2ToByte
2716 .LVL174:
976:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
2717 .loc 1 976 18 view .LVU988
2718 0036 A070 strb r0, [r4, #2]
2719 .LVL175:
2720 .L156:
978:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
2721 .loc 1 978 3 is_stmt 1 view .LVU989
979:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
2722 .loc 1 979 1 is_stmt 0 view .LVU990
2723 0038 0020 movs r0, #0
2724 003a 70BD pop {r4, r5, r6, pc}
2725 .cfi_endproc
2726 .LFE141:
2728 .section .text.HAL_RTC_GetAlarm,"ax",%progbits
2729 .align 1
2730 .global HAL_RTC_GetAlarm
2731 .syntax unified
2732 .thumb
2733 .thumb_func
2735 HAL_RTC_GetAlarm:
2736 .LVL176:
2737 .LFB145:
1504:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** uint32_t tmpreg = 0U;
2738 .loc 1 1504 1 is_stmt 1 view -0
2739 .cfi_startproc
2740 @ args = 0, pretend = 0, frame = 0
2741 @ frame_needed = 0, uses_anonymous_args = 0
1504:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** uint32_t tmpreg = 0U;
2742 .loc 1 1504 1 is_stmt 0 view .LVU992
2743 0000 F8B5 push {r3, r4, r5, r6, r7, lr}
2744 .LCFI20:
2745 .cfi_def_cfa_offset 24
2746 .cfi_offset 3, -24
2747 .cfi_offset 4, -20
2748 .cfi_offset 5, -16
2749 .cfi_offset 6, -12
2750 .cfi_offset 7, -8
2751 .cfi_offset 14, -4
2752 0002 0C46 mov r4, r1
1505:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** uint32_t subsecondtmpreg = 0U;
2753 .loc 1 1505 3 is_stmt 1 view .LVU993
2754 .LVL177:
1506:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
2755 .loc 1 1506 3 view .LVU994
1509:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** assert_param(IS_RTC_ALARM(Alarm));
2756 .loc 1 1509 3 view .LVU995
1510:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
2757 .loc 1 1510 3 view .LVU996
1512:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
2758 .loc 1 1512 3 view .LVU997
1512:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
2759 .loc 1 1512 6 is_stmt 0 view .LVU998
ARM GAS /tmp/ccCGp3Cm.s page 96
2760 0004 B2F5807F cmp r2, #256
2761 0008 31D0 beq .L163
1521:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
2762 .loc 1 1521 5 is_stmt 1 view .LVU999
1521:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
2763 .loc 1 1521 19 is_stmt 0 view .LVU1000
2764 000a 4FF40072 mov r2, #512
2765 .LVL178:
1521:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
2766 .loc 1 1521 19 view .LVU1001
2767 000e 4A62 str r2, [r1, #36]
1523:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** subsecondtmpreg = (uint32_t)((hrtc->Instance->ALRMBSSR) & RTC_ALRMBSSR_SS);
2768 .loc 1 1523 5 is_stmt 1 view .LVU1002
1523:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** subsecondtmpreg = (uint32_t)((hrtc->Instance->ALRMBSSR) & RTC_ALRMBSSR_SS);
2769 .loc 1 1523 29 is_stmt 0 view .LVU1003
2770 0010 0168 ldr r1, [r0]
2771 .LVL179:
1523:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** subsecondtmpreg = (uint32_t)((hrtc->Instance->ALRMBSSR) & RTC_ALRMBSSR_SS);
2772 .loc 1 1523 12 view .LVU1004
2773 0012 0A6A ldr r2, [r1, #32]
2774 .LVL180:
1524:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
2775 .loc 1 1524 5 is_stmt 1 view .LVU1005
1524:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
2776 .loc 1 1524 49 is_stmt 0 view .LVU1006
2777 0014 896C ldr r1, [r1, #72]
1524:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
2778 .loc 1 1524 21 view .LVU1007
2779 0016 C1F30E01 ubfx r1, r1, #0, #15
2780 .LVL181:
2781 .L160:
1528:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** sAlarm->AlarmTime.Minutes = (uint8_t) ((tmpreg & (RTC_ALRMAR_MNT | RTC_ALRMAR_MNU)) >> RTC_ALR
2782 .loc 1 1528 3 is_stmt 1 view .LVU1008
1528:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** sAlarm->AlarmTime.Minutes = (uint8_t) ((tmpreg & (RTC_ALRMAR_MNT | RTC_ALRMAR_MNU)) >> RTC_ALR
2783 .loc 1 1528 34 is_stmt 0 view .LVU1009
2784 001a C2F30540 ubfx r0, r2, #16, #6
2785 .LVL182:
1528:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** sAlarm->AlarmTime.Minutes = (uint8_t) ((tmpreg & (RTC_ALRMAR_MNT | RTC_ALRMAR_MNU)) >> RTC_ALR
2786 .loc 1 1528 32 view .LVU1010
2787 001e 2070 strb r0, [r4]
1529:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** sAlarm->AlarmTime.Seconds = (uint8_t) ( tmpreg & (RTC_ALRMAR_ST | RTC_ALRMAR_SU));
2788 .loc 1 1529 3 is_stmt 1 view .LVU1011
1529:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** sAlarm->AlarmTime.Seconds = (uint8_t) ( tmpreg & (RTC_ALRMAR_ST | RTC_ALRMAR_SU));
2789 .loc 1 1529 34 is_stmt 0 view .LVU1012
2790 0020 C2F30627 ubfx r7, r2, #8, #7
1529:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** sAlarm->AlarmTime.Seconds = (uint8_t) ( tmpreg & (RTC_ALRMAR_ST | RTC_ALRMAR_SU));
2791 .loc 1 1529 32 view .LVU1013
2792 0024 6770 strb r7, [r4, #1]
1530:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** sAlarm->AlarmTime.TimeFormat = (uint8_t) ((tmpreg & RTC_ALRMAR_PM) >> RTC_TR_
2793 .loc 1 1530 3 is_stmt 1 view .LVU1014
1530:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** sAlarm->AlarmTime.TimeFormat = (uint8_t) ((tmpreg & RTC_ALRMAR_PM) >> RTC_TR_
2794 .loc 1 1530 34 is_stmt 0 view .LVU1015
2795 0026 02F07F06 and r6, r2, #127
1530:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** sAlarm->AlarmTime.TimeFormat = (uint8_t) ((tmpreg & RTC_ALRMAR_PM) >> RTC_TR_
2796 .loc 1 1530 32 view .LVU1016
2797 002a A670 strb r6, [r4, #2]
1531:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** sAlarm->AlarmTime.SubSeconds = (uint32_t) subsecondtmpreg;
ARM GAS /tmp/ccCGp3Cm.s page 97
2798 .loc 1 1531 3 is_stmt 1 view .LVU1017
1531:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** sAlarm->AlarmTime.SubSeconds = (uint32_t) subsecondtmpreg;
2799 .loc 1 1531 34 is_stmt 0 view .LVU1018
2800 002c C2F38055 ubfx r5, r2, #22, #1
1531:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** sAlarm->AlarmTime.SubSeconds = (uint32_t) subsecondtmpreg;
2801 .loc 1 1531 32 view .LVU1019
2802 0030 E570 strb r5, [r4, #3]
1532:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** sAlarm->AlarmDateWeekDay = (uint8_t) ((tmpreg & (RTC_ALRMAR_DT | RTC_ALRMAR_DU)) >> RTC_ALR
2803 .loc 1 1532 3 is_stmt 1 view .LVU1020
1532:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** sAlarm->AlarmDateWeekDay = (uint8_t) ((tmpreg & (RTC_ALRMAR_DT | RTC_ALRMAR_DU)) >> RTC_ALR
2804 .loc 1 1532 32 is_stmt 0 view .LVU1021
2805 0032 6160 str r1, [r4, #4]
1533:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** sAlarm->AlarmDateWeekDaySel = (uint32_t) (tmpreg & RTC_ALRMAR_WDSEL);
2806 .loc 1 1533 3 is_stmt 1 view .LVU1022
1533:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** sAlarm->AlarmDateWeekDaySel = (uint32_t) (tmpreg & RTC_ALRMAR_WDSEL);
2807 .loc 1 1533 34 is_stmt 0 view .LVU1023
2808 0034 C2F30565 ubfx r5, r2, #24, #6
1533:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** sAlarm->AlarmDateWeekDaySel = (uint32_t) (tmpreg & RTC_ALRMAR_WDSEL);
2809 .loc 1 1533 32 view .LVU1024
2810 0038 84F82050 strb r5, [r4, #32]
1534:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** sAlarm->AlarmMask = (uint32_t) (tmpreg & RTC_ALARMMASK_ALL);
2811 .loc 1 1534 3 is_stmt 1 view .LVU1025
1534:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** sAlarm->AlarmMask = (uint32_t) (tmpreg & RTC_ALARMMASK_ALL);
2812 .loc 1 1534 34 is_stmt 0 view .LVU1026
2813 003c 02F08041 and r1, r2, #1073741824
2814 .LVL183:
1534:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** sAlarm->AlarmMask = (uint32_t) (tmpreg & RTC_ALARMMASK_ALL);
2815 .loc 1 1534 32 view .LVU1027
2816 0040 E161 str r1, [r4, #28]
1535:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
2817 .loc 1 1535 3 is_stmt 1 view .LVU1028
1535:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
2818 .loc 1 1535 34 is_stmt 0 view .LVU1029
2819 0042 02F08032 and r2, r2, #-2139062144
2820 .LVL184:
1535:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
2821 .loc 1 1535 32 view .LVU1030
2822 0046 6261 str r2, [r4, #20]
1537:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
2823 .loc 1 1537 3 is_stmt 1 view .LVU1031
1537:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** {
2824 .loc 1 1537 6 is_stmt 0 view .LVU1032
2825 0048 7BB9 cbnz r3, .L161
1539:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** sAlarm->AlarmTime.Minutes = RTC_Bcd2ToByte(sAlarm->AlarmTime.Minutes);
2826 .loc 1 1539 5 is_stmt 1 view .LVU1033
1539:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** sAlarm->AlarmTime.Minutes = RTC_Bcd2ToByte(sAlarm->AlarmTime.Minutes);
2827 .loc 1 1539 33 is_stmt 0 view .LVU1034
2828 004a FFF7FEFF bl RTC_Bcd2ToByte
2829 .LVL185:
1539:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** sAlarm->AlarmTime.Minutes = RTC_Bcd2ToByte(sAlarm->AlarmTime.Minutes);
2830 .loc 1 1539 31 view .LVU1035
2831 004e 2070 strb r0, [r4]
1540:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** sAlarm->AlarmTime.Seconds = RTC_Bcd2ToByte(sAlarm->AlarmTime.Seconds);
2832 .loc 1 1540 5 is_stmt 1 view .LVU1036
1540:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** sAlarm->AlarmTime.Seconds = RTC_Bcd2ToByte(sAlarm->AlarmTime.Seconds);
2833 .loc 1 1540 33 is_stmt 0 view .LVU1037
2834 0050 3846 mov r0, r7
ARM GAS /tmp/ccCGp3Cm.s page 98
2835 0052 FFF7FEFF bl RTC_Bcd2ToByte
2836 .LVL186:
1540:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** sAlarm->AlarmTime.Seconds = RTC_Bcd2ToByte(sAlarm->AlarmTime.Seconds);
2837 .loc 1 1540 31 view .LVU1038
2838 0056 6070 strb r0, [r4, #1]
1541:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** sAlarm->AlarmDateWeekDay = RTC_Bcd2ToByte(sAlarm->AlarmDateWeekDay);
2839 .loc 1 1541 5 is_stmt 1 view .LVU1039
1541:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** sAlarm->AlarmDateWeekDay = RTC_Bcd2ToByte(sAlarm->AlarmDateWeekDay);
2840 .loc 1 1541 33 is_stmt 0 view .LVU1040
2841 0058 3046 mov r0, r6
2842 005a FFF7FEFF bl RTC_Bcd2ToByte
2843 .LVL187:
1541:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** sAlarm->AlarmDateWeekDay = RTC_Bcd2ToByte(sAlarm->AlarmDateWeekDay);
2844 .loc 1 1541 31 view .LVU1041
2845 005e A070 strb r0, [r4, #2]
1542:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
2846 .loc 1 1542 5 is_stmt 1 view .LVU1042
1542:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
2847 .loc 1 1542 33 is_stmt 0 view .LVU1043
2848 0060 2846 mov r0, r5
2849 0062 FFF7FEFF bl RTC_Bcd2ToByte
2850 .LVL188:
1542:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
2851 .loc 1 1542 31 view .LVU1044
2852 0066 84F82000 strb r0, [r4, #32]
2853 .L161:
1545:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
2854 .loc 1 1545 3 is_stmt 1 view .LVU1045
1546:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
2855 .loc 1 1546 1 is_stmt 0 view .LVU1046
2856 006a 0020 movs r0, #0
2857 006c F8BD pop {r3, r4, r5, r6, r7, pc}
2858 .LVL189:
2859 .L163:
1514:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
2860 .loc 1 1514 5 is_stmt 1 view .LVU1047
1514:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c ****
2861 .loc 1 1514 19 is_stmt 0 view .LVU1048
2862 006e 4A62 str r2, [r1, #36]
1516:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** subsecondtmpreg = (uint32_t)((hrtc->Instance->ALRMASSR) & RTC_ALRMASSR_SS);
2863 .loc 1 1516 5 is_stmt 1 view .LVU1049
1516:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** subsecondtmpreg = (uint32_t)((hrtc->Instance->ALRMASSR) & RTC_ALRMASSR_SS);
2864 .loc 1 1516 29 is_stmt 0 view .LVU1050
2865 0070 0168 ldr r1, [r0]
2866 .LVL190:
1516:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** subsecondtmpreg = (uint32_t)((hrtc->Instance->ALRMASSR) & RTC_ALRMASSR_SS);
2867 .loc 1 1516 12 view .LVU1051
2868 0072 CA69 ldr r2, [r1, #28]
2869 .LVL191:
1517:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
2870 .loc 1 1517 5 is_stmt 1 view .LVU1052
1517:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
2871 .loc 1 1517 49 is_stmt 0 view .LVU1053
2872 0074 496C ldr r1, [r1, #68]
1517:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
2873 .loc 1 1517 21 view .LVU1054
2874 0076 C1F30E01 ubfx r1, r1, #0, #15
ARM GAS /tmp/ccCGp3Cm.s page 99
2875 .LVL192:
1517:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc.c **** }
2876 .loc 1 1517 21 view .LVU1055
2877 007a CEE7 b .L160
2878 .cfi_endproc
2879 .LFE145:
2881 .text
2882 .Letext0:
2883 .file 2 "/home/jfen/toolchain/gcc-arm-none-eabi-10.3-2021.10/arm-none-eabi/include/machine/_defaul
2884 .file 3 "/home/jfen/toolchain/gcc-arm-none-eabi-10.3-2021.10/arm-none-eabi/include/sys/_stdint.h"
2885 .file 4 "Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f407xx.h"
2886 .file 5 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h"
2887 .file 6 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rtc.h"
2888 .file 7 "Drivers/CMSIS/Device/ST/STM32F4xx/Include/system_stm32f4xx.h"
2889 .file 8 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h"
2890 .file 9 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rtc_ex.h"
ARM GAS /tmp/ccCGp3Cm.s page 100
DEFINED SYMBOLS
*ABS*:0000000000000000 stm32f4xx_hal_rtc.c
/tmp/ccCGp3Cm.s:20 .text.HAL_RTC_MspInit:0000000000000000 $t
/tmp/ccCGp3Cm.s:26 .text.HAL_RTC_MspInit:0000000000000000 HAL_RTC_MspInit
/tmp/ccCGp3Cm.s:42 .text.HAL_RTC_MspDeInit:0000000000000000 $t
/tmp/ccCGp3Cm.s:48 .text.HAL_RTC_MspDeInit:0000000000000000 HAL_RTC_MspDeInit
/tmp/ccCGp3Cm.s:63 .text.HAL_RTC_DeactivateAlarm:0000000000000000 $t
/tmp/ccCGp3Cm.s:69 .text.HAL_RTC_DeactivateAlarm:0000000000000000 HAL_RTC_DeactivateAlarm
/tmp/ccCGp3Cm.s:255 .text.HAL_RTC_AlarmAEventCallback:0000000000000000 $t
/tmp/ccCGp3Cm.s:261 .text.HAL_RTC_AlarmAEventCallback:0000000000000000 HAL_RTC_AlarmAEventCallback
/tmp/ccCGp3Cm.s:276 .text.HAL_RTC_AlarmIRQHandler:0000000000000000 $t
/tmp/ccCGp3Cm.s:282 .text.HAL_RTC_AlarmIRQHandler:0000000000000000 HAL_RTC_AlarmIRQHandler
/tmp/ccCGp3Cm.s:361 .text.HAL_RTC_AlarmIRQHandler:0000000000000058 $d
/tmp/ccCGp3Cm.s:366 .text.HAL_RTC_PollForAlarmAEvent:0000000000000000 $t
/tmp/ccCGp3Cm.s:372 .text.HAL_RTC_PollForAlarmAEvent:0000000000000000 HAL_RTC_PollForAlarmAEvent
/tmp/ccCGp3Cm.s:451 .text.HAL_RTC_WaitForSynchro:0000000000000000 $t
/tmp/ccCGp3Cm.s:457 .text.HAL_RTC_WaitForSynchro:0000000000000000 HAL_RTC_WaitForSynchro
/tmp/ccCGp3Cm.s:521 .text.HAL_RTC_WaitForSynchro:0000000000000030 $d
/tmp/ccCGp3Cm.s:526 .text.HAL_RTC_DST_Add1Hour:0000000000000000 $t
/tmp/ccCGp3Cm.s:532 .text.HAL_RTC_DST_Add1Hour:0000000000000000 HAL_RTC_DST_Add1Hour
/tmp/ccCGp3Cm.s:567 .text.HAL_RTC_DST_Sub1Hour:0000000000000000 $t
/tmp/ccCGp3Cm.s:573 .text.HAL_RTC_DST_Sub1Hour:0000000000000000 HAL_RTC_DST_Sub1Hour
/tmp/ccCGp3Cm.s:608 .text.HAL_RTC_DST_SetStoreOperation:0000000000000000 $t
/tmp/ccCGp3Cm.s:614 .text.HAL_RTC_DST_SetStoreOperation:0000000000000000 HAL_RTC_DST_SetStoreOperation
/tmp/ccCGp3Cm.s:649 .text.HAL_RTC_DST_ClearStoreOperation:0000000000000000 $t
/tmp/ccCGp3Cm.s:655 .text.HAL_RTC_DST_ClearStoreOperation:0000000000000000 HAL_RTC_DST_ClearStoreOperation
/tmp/ccCGp3Cm.s:690 .text.HAL_RTC_DST_ReadStoreOperation:0000000000000000 $t
/tmp/ccCGp3Cm.s:696 .text.HAL_RTC_DST_ReadStoreOperation:0000000000000000 HAL_RTC_DST_ReadStoreOperation
/tmp/ccCGp3Cm.s:716 .text.HAL_RTC_GetState:0000000000000000 $t
/tmp/ccCGp3Cm.s:722 .text.HAL_RTC_GetState:0000000000000000 HAL_RTC_GetState
/tmp/ccCGp3Cm.s:740 .text.RTC_EnterInitMode:0000000000000000 $t
/tmp/ccCGp3Cm.s:746 .text.RTC_EnterInitMode:0000000000000000 RTC_EnterInitMode
/tmp/ccCGp3Cm.s:831 .text.RTC_ExitInitMode:0000000000000000 $t
/tmp/ccCGp3Cm.s:837 .text.RTC_ExitInitMode:0000000000000000 RTC_ExitInitMode
/tmp/ccCGp3Cm.s:896 .text.HAL_RTC_Init:0000000000000000 $t
/tmp/ccCGp3Cm.s:902 .text.HAL_RTC_Init:0000000000000000 HAL_RTC_Init
/tmp/ccCGp3Cm.s:1084 .text.HAL_RTC_DeInit:0000000000000000 $t
/tmp/ccCGp3Cm.s:1090 .text.HAL_RTC_DeInit:0000000000000000 HAL_RTC_DeInit
/tmp/ccCGp3Cm.s:1246 .text.HAL_RTC_DeInit:0000000000000084 $d
/tmp/ccCGp3Cm.s:1251 .text.RTC_ByteToBcd2:0000000000000000 $t
/tmp/ccCGp3Cm.s:1257 .text.RTC_ByteToBcd2:0000000000000000 RTC_ByteToBcd2
/tmp/ccCGp3Cm.s:1303 .text.HAL_RTC_SetTime:0000000000000000 $t
/tmp/ccCGp3Cm.s:1309 .text.HAL_RTC_SetTime:0000000000000000 HAL_RTC_SetTime
/tmp/ccCGp3Cm.s:1529 .text.HAL_RTC_SetDate:0000000000000000 $t
/tmp/ccCGp3Cm.s:1535 .text.HAL_RTC_SetDate:0000000000000000 HAL_RTC_SetDate
/tmp/ccCGp3Cm.s:1724 .text.HAL_RTC_SetAlarm:0000000000000000 $t
/tmp/ccCGp3Cm.s:1730 .text.HAL_RTC_SetAlarm:0000000000000000 HAL_RTC_SetAlarm
/tmp/ccCGp3Cm.s:2091 .text.HAL_RTC_SetAlarm_IT:0000000000000000 $t
/tmp/ccCGp3Cm.s:2097 .text.HAL_RTC_SetAlarm_IT:0000000000000000 HAL_RTC_SetAlarm_IT
/tmp/ccCGp3Cm.s:2500 .text.HAL_RTC_SetAlarm_IT:00000000000001ac $d
/tmp/ccCGp3Cm.s:2507 .text.RTC_Bcd2ToByte:0000000000000000 $t
/tmp/ccCGp3Cm.s:2513 .text.RTC_Bcd2ToByte:0000000000000000 RTC_Bcd2ToByte
/tmp/ccCGp3Cm.s:2541 .text.HAL_RTC_GetTime:0000000000000000 $t
/tmp/ccCGp3Cm.s:2547 .text.HAL_RTC_GetTime:0000000000000000 HAL_RTC_GetTime
/tmp/ccCGp3Cm.s:2643 .text.HAL_RTC_GetDate:0000000000000000 $t
/tmp/ccCGp3Cm.s:2649 .text.HAL_RTC_GetDate:0000000000000000 HAL_RTC_GetDate
/tmp/ccCGp3Cm.s:2729 .text.HAL_RTC_GetAlarm:0000000000000000 $t
ARM GAS /tmp/ccCGp3Cm.s page 101
/tmp/ccCGp3Cm.s:2735 .text.HAL_RTC_GetAlarm:0000000000000000 HAL_RTC_GetAlarm
UNDEFINED SYMBOLS
HAL_GetTick
HAL_RTCEx_AlarmBEventCallback
SystemCoreClock