ARM GAS /tmp/ccAvd9CD.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_ex.c" 16 .text 17 .Ltext0: 18 .cfi_sections .debug_frame 19 .section .text.HAL_RTCEx_SetTimeStamp,"ax",%progbits 20 .align 1 21 .global HAL_RTCEx_SetTimeStamp 22 .syntax unified 23 .thumb 24 .thumb_func 26 HAL_RTCEx_SetTimeStamp: 27 .LVL0: 28 .LFB134: 29 .file 1 "Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c" 1:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /** 2:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** ****************************************************************************** 3:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @file stm32f4xx_hal_rtc_ex.c 4:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @author MCD Application Team 5:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @brief Extended RTC HAL module driver. 6:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * This file provides firmware functions to manage the following 7:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * functionalities of the Real-Time Clock (RTC) Extended peripheral: 8:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * + RTC Timestamp functions 9:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * + RTC Tamper functions 10:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * + RTC Wakeup functions 11:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * + Extended Control functions 12:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * + Extended RTC features functions 13:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * 14:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** ****************************************************************************** 15:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @attention 16:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * 17:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * Copyright (c) 2016 STMicroelectronics. 18:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * All rights reserved. 19:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * 20:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * This software is licensed under terms that can be found in the LICENSE file 21:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * in the root directory of this software component. 22:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * If no LICENSE file comes with this software, it is provided AS-IS. 23:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * 24:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** ****************************************************************************** 25:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** @verbatim 26:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** ============================================================================== 27:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** ##### How to use this driver ##### 28:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** ============================================================================== 29:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** [..] ARM GAS /tmp/ccAvd9CD.s page 2 30:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** (+) Enable the RTC domain access. 31:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** (+) Configure the RTC Prescaler (Asynchronous and Synchronous) and RTC hour 32:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** format using the HAL_RTC_Init() function. 33:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 34:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** *** RTC Wakeup configuration *** 35:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** ================================ 36:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** [..] 37:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** (+) To configure the RTC Wakeup Clock source and Counter use the 38:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** HAL_RTCEx_SetWakeUpTimer() function. 39:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** You can also configure the RTC Wakeup timer in interrupt mode using the 40:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** HAL_RTCEx_SetWakeUpTimer_IT() function. 41:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** (+) To read the RTC Wakeup Counter register, use the HAL_RTCEx_GetWakeUpTimer() 42:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** function. 43:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 44:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** *** Timestamp configuration *** 45:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** =============================== 46:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** [..] 47:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** (+) To configure the RTC Timestamp use the HAL_RTCEx_SetTimeStamp() function. 48:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** You can also configure the RTC Timestamp with interrupt mode using the 49:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** HAL_RTCEx_SetTimeStamp_IT() function. 50:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** (+) To read the RTC Timestamp Time and Date register, use the 51:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** HAL_RTCEx_GetTimeStamp() function. 52:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** (+) The Timestamp alternate function can be mapped either to RTC_AF1 (PC13) 53:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** or RTC_AF2 (PI8) depending on the value of TSINSEL bit in RTC_TAFCR 54:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** register. 55:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** For STM32F446xx devices RTC_AF2 corresponds to pin PA0 and not to pin PI8. 56:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** The corresponding pin is also selected by HAL_RTCEx_SetTimeStamp() 57:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** or HAL_RTCEx_SetTimeStamp_IT() functions. 58:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 59:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** *** Tamper configuration *** 60:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** ============================ 61:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** [..] 62:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** (+) To enable the RTC Tamper and configure the Tamper filter count, trigger 63:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** Edge or Level according to the Tamper filter value (if equal to 0 Edge 64:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** else Level), sampling frequency, precharge or discharge and Pull-UP use 65:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** the HAL_RTCEx_SetTamper() function. 66:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** You can configure RTC Tamper in interrupt mode using HAL_RTCEx_SetTamper_IT() 67:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** function. 68:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** (+) The TAMPER1 alternate function can be mapped either to RTC_AF1 (PC13) 69:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** or RTC_AF2 (PI8) depending on the value of TAMP1INSEL bit in RTC_TAFCR 70:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** register. 71:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** The corresponding pin is also selected by HAL_RTCEx_SetTamper() 72:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** or HAL_RTCEx_SetTamper_IT() functions. 73:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** (+) The TAMPER2 alternate function is mapped to RTC_AF2 (PI8). 74:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** For STM32F446xx devices RTC_AF2 corresponds to pin PA0 and not to pin PI8. 75:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 76:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** *** Backup Data Registers configuration *** 77:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** =========================================== 78:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** [..] 79:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** (+) To write to the RTC Backup Data registers, use the HAL_RTCEx_BKUPWrite() 80:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** function. 81:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** (+) To read the RTC Backup Data registers, use the HAL_RTCEx_BKUPRead() 82:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** function. 83:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 84:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** *** Coarse Digital Calibration configuration *** 85:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** ================================================ 86:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** [..] ARM GAS /tmp/ccAvd9CD.s page 3 87:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** (+) The Coarse Digital Calibration can be used to compensate crystal inaccuracy 88:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** by setting the DCS bit in RTC_CALIBR register. 89:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** (+) When positive calibration is enabled (DCS = ‘0’), 2 asynchronous prescaler 90:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** clock cycles are added every minute during 2xDC minutes. 91:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** This causes the calendar to be updated sooner, thereby adjusting the 92:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** effective RTC frequency to be a bit higher. 93:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** (+) When negative calibration is enabled (DCS = ‘1’), 1 asynchronous prescaler 94:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** clock cycle is removed every minute during 2xDC minutes. 95:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** This causes the calendar to be updated later, thereby adjusting the 96:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** effective RTC frequency to be a bit lower. 97:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** (+) DC is configured through bits DC[4:0] of RTC_CALIBR register. This number 98:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** ranges from 0 to 31 corresponding to a time interval (2xDC) ranging from 99:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 0 to 62. 100:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** (+) In order to measure the clock deviation, a 512 Hz clock is output for 101:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** calibration. 102:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** (+) To configure the RTC Coarse Digital Calibration value and sign use the 103:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** HAL_RTCEx_SetCoarseCalib() function. 104:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 105:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** *** Smooth Digital Calibration configuration *** 106:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** ================================================ 107:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** [..] 108:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** (+) RTC frequency can be digitally calibrated with a resolution of about 109:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 0.954 ppm with a range from -487.1 ppm to +488.5 ppm. 110:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** The correction of the frequency is performed using a series of small 111:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** adjustments (adding and/or subtracting individual RTCCLK pulses). 112:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** (+) The smooth digital calibration is performed during a cycle of about 2^20 113:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** RTCCLK pulses (or 32 seconds) when the input frequency is 32,768 Hz. 114:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** This cycle is maintained by a 20-bit counter clocked by RTCCLK. 115:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** (+) The smooth calibration register (RTC_CALR) specifies the number of RTCCLK 116:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** clock cycles to be masked during the 32-second cycle. 117:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** (+) To configure the RTC Smooth Digital Calibration value and the corresponding 118:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** calibration cycle period (32s,16s and 8s) use the HAL_RTCEx_SetSmoothCalib() 119:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** function. 120:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 121:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** @endverbatim 122:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** ****************************************************************************** 123:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** */ 124:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 125:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Includes ------------------------------------------------------------------*/ 126:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** #include "stm32f4xx_hal.h" 127:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 128:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /** @addtogroup STM32F4xx_HAL_Driver 129:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @{ 130:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** */ 131:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 132:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /** @defgroup RTCEx RTCEx 133:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @brief RTC Extended HAL module driver 134:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @{ 135:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** */ 136:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 137:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** #ifdef HAL_RTC_MODULE_ENABLED 138:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 139:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Private typedef -----------------------------------------------------------*/ 140:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Private define ------------------------------------------------------------*/ 141:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Private macro -------------------------------------------------------------*/ 142:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Private variables ---------------------------------------------------------*/ 143:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Private function prototypes -----------------------------------------------*/ ARM GAS /tmp/ccAvd9CD.s page 4 144:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Exported functions --------------------------------------------------------*/ 145:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 146:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /** @defgroup RTCEx_Exported_Functions RTCEx Exported Functions 147:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @{ 148:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** */ 149:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 150:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /** @defgroup RTCEx_Exported_Functions_Group1 RTC Timestamp and Tamper functions 151:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @brief RTC Timestamp and Tamper functions 152:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * 153:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** @verbatim 154:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** =============================================================================== 155:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** ##### RTC Timestamp and Tamper functions ##### 156:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** =============================================================================== 157:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 158:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** [..] This section provides functions allowing to configure Timestamp feature 159:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 160:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** @endverbatim 161:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @{ 162:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** */ 163:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 164:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /** 165:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @brief Sets Timestamp. 166:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @note This API must be called before enabling the Timestamp feature. 167:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @param hrtc pointer to a RTC_HandleTypeDef structure that contains 168:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * the configuration information for RTC. 169:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @param RTC_TimeStampEdge Specifies the pin edge on which the Timestamp is 170:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * activated. 171:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * This parameter can be one of the following values: 172:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @arg RTC_TIMESTAMPEDGE_RISING: the Timestamp event occurs on 173:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * the rising edge of the related pin. 174:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @arg RTC_TIMESTAMPEDGE_FALLING: the Timestamp event occurs on 175:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * the falling edge of the related pin. 176:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @param RTC_TimeStampPin Specifies the RTC Timestamp Pin. 177:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * This parameter can be one of the following values: 178:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @arg RTC_TIMESTAMPPIN_DEFAULT: PC13 is selected as RTC Timestamp Pin. 179:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @arg RTC_TIMESTAMPPIN_POS1: PI8 is selected as RTC Timestamp Pin. 180:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @note RTC_TIMESTAMPPIN_POS1 corresponds to pin PA0 in the case of 181:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * STM32F446xx devices. 182:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @note RTC_TIMESTAMPPIN_POS1 is not applicable to the following list of devices: 183:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * STM32F412xx, STM32F413xx and STM32F423xx. 184:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @retval HAL status 185:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** */ 186:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** HAL_StatusTypeDef HAL_RTCEx_SetTimeStamp(RTC_HandleTypeDef *hrtc, uint32_t RTC_TimeStampEdge, uint3 187:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 30 .loc 1 187 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. 188:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** uint32_t tmpreg = 0U; 35 .loc 1 188 3 view .LVU1 189:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 190:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Check the parameters */ 191:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** assert_param(IS_TIMESTAMP_EDGE(RTC_TimeStampEdge)); 36 .loc 1 191 3 view .LVU2 192:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** assert_param(IS_RTC_TIMESTAMP_PIN(RTC_TimeStampPin)); 37 .loc 1 192 3 view .LVU3 ARM GAS /tmp/ccAvd9CD.s page 5 193:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 194:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Process Locked */ 195:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_LOCK(hrtc); 38 .loc 1 195 3 view .LVU4 39 .loc 1 195 3 view .LVU5 40 0000 037F ldrb r3, [r0, #28] @ zero_extendqisi2 41 0002 012B cmp r3, #1 42 0004 39D0 beq .L3 187:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** uint32_t tmpreg = 0U; 43 .loc 1 187 1 is_stmt 0 discriminator 2 view .LVU6 44 0006 10B4 push {r4} 45 .LCFI0: 46 .cfi_def_cfa_offset 4 47 .cfi_offset 4, -4 48 .loc 1 195 3 is_stmt 1 discriminator 2 view .LVU7 49 0008 4FF0010C mov ip, #1 50 000c 80F81CC0 strb ip, [r0, #28] 51 .loc 1 195 3 discriminator 2 view .LVU8 196:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 197:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Change RTC state to BUSY */ 198:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** hrtc->State = HAL_RTC_STATE_BUSY; 52 .loc 1 198 3 discriminator 2 view .LVU9 53 .loc 1 198 15 is_stmt 0 discriminator 2 view .LVU10 54 0010 0223 movs r3, #2 55 0012 4377 strb r3, [r0, #29] 199:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 200:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** hrtc->Instance->TAFCR &= (uint32_t)~RTC_TAFCR_TSINSEL; 56 .loc 1 200 3 is_stmt 1 discriminator 2 view .LVU11 57 .loc 1 200 7 is_stmt 0 discriminator 2 view .LVU12 58 0014 0468 ldr r4, [r0] 59 .loc 1 200 25 discriminator 2 view .LVU13 60 0016 236C ldr r3, [r4, #64] 61 0018 23F40033 bic r3, r3, #131072 62 001c 2364 str r3, [r4, #64] 201:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** hrtc->Instance->TAFCR |= (uint32_t)(RTC_TimeStampPin); 63 .loc 1 201 3 is_stmt 1 discriminator 2 view .LVU14 64 .loc 1 201 7 is_stmt 0 discriminator 2 view .LVU15 65 001e 0468 ldr r4, [r0] 66 .loc 1 201 25 discriminator 2 view .LVU16 67 0020 236C ldr r3, [r4, #64] 68 0022 1A43 orrs r2, r2, r3 69 .LVL1: 70 .loc 1 201 25 discriminator 2 view .LVU17 71 0024 2264 str r2, [r4, #64] 202:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 203:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Get the RTC_CR register and clear the bits to be configured */ 204:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** tmpreg = (uint32_t)(hrtc->Instance->CR & (uint32_t)~(RTC_CR_TSEDGE | RTC_CR_TSE)); 72 .loc 1 204 3 is_stmt 1 discriminator 2 view .LVU18 73 .loc 1 204 27 is_stmt 0 discriminator 2 view .LVU19 74 0026 0468 ldr r4, [r0] 75 .loc 1 204 37 discriminator 2 view .LVU20 76 0028 A368 ldr r3, [r4, #8] 77 .loc 1 204 10 discriminator 2 view .LVU21 78 002a 23F40063 bic r3, r3, #2048 79 002e 23F00803 bic r3, r3, #8 80 .LVL2: 205:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** ARM GAS /tmp/ccAvd9CD.s page 6 206:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Configure the Timestamp TSEDGE bit */ 207:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** tmpreg |= RTC_TimeStampEdge; 81 .loc 1 207 3 is_stmt 1 discriminator 2 view .LVU22 82 .loc 1 207 10 is_stmt 0 discriminator 2 view .LVU23 83 0032 0B43 orrs r3, r3, r1 84 .LVL3: 208:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 209:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Disable the write protection for RTC registers */ 210:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_RTC_WRITEPROTECTION_DISABLE(hrtc); 85 .loc 1 210 3 is_stmt 1 discriminator 2 view .LVU24 86 .loc 1 210 3 discriminator 2 view .LVU25 87 0034 CA22 movs r2, #202 88 0036 6262 str r2, [r4, #36] 89 .loc 1 210 3 discriminator 2 view .LVU26 90 0038 0268 ldr r2, [r0] 91 003a 5321 movs r1, #83 92 .LVL4: 93 .loc 1 210 3 is_stmt 0 discriminator 2 view .LVU27 94 003c 5162 str r1, [r2, #36] 95 .loc 1 210 3 is_stmt 1 discriminator 2 view .LVU28 211:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 212:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Copy the desired configuration into the CR register */ 213:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** hrtc->Instance->CR = (uint32_t)tmpreg; 96 .loc 1 213 3 discriminator 2 view .LVU29 97 .loc 1 213 7 is_stmt 0 discriminator 2 view .LVU30 98 003e 0268 ldr r2, [r0] 99 .loc 1 213 22 discriminator 2 view .LVU31 100 0040 9360 str r3, [r2, #8] 214:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 215:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Clear RTC Timestamp flag */ 216:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_RTC_TIMESTAMP_CLEAR_FLAG(hrtc, RTC_FLAG_TSF); 101 .loc 1 216 3 is_stmt 1 discriminator 2 view .LVU32 102 0042 0268 ldr r2, [r0] 103 0044 D368 ldr r3, [r2, #12] 104 .LVL5: 105 .loc 1 216 3 is_stmt 0 discriminator 2 view .LVU33 106 0046 DBB2 uxtb r3, r3 107 0048 63F40863 orn r3, r3, #2176 108 004c D360 str r3, [r2, #12] 217:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 218:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Clear RTC Timestamp overrun Flag */ 219:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_RTC_TIMESTAMP_CLEAR_FLAG(hrtc, RTC_FLAG_TSOVF); 109 .loc 1 219 3 is_stmt 1 discriminator 2 view .LVU34 110 004e 0268 ldr r2, [r0] 111 0050 D368 ldr r3, [r2, #12] 112 0052 DBB2 uxtb r3, r3 113 0054 63F48453 orn r3, r3, #4224 114 0058 D360 str r3, [r2, #12] 220:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 221:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Enable the Timestamp saving */ 222:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_RTC_TIMESTAMP_ENABLE(hrtc); 115 .loc 1 222 3 discriminator 2 view .LVU35 116 005a 0268 ldr r2, [r0] 117 005c 9368 ldr r3, [r2, #8] 118 005e 43F40063 orr r3, r3, #2048 119 0062 9360 str r3, [r2, #8] 223:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** ARM GAS /tmp/ccAvd9CD.s page 7 224:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Enable the write protection for RTC registers */ 225:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); 120 .loc 1 225 3 discriminator 2 view .LVU36 121 .loc 1 225 3 discriminator 2 view .LVU37 122 0064 0368 ldr r3, [r0] 123 0066 FF22 movs r2, #255 124 0068 5A62 str r2, [r3, #36] 125 .loc 1 225 3 discriminator 2 view .LVU38 226:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 227:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Change RTC state back to READY */ 228:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** hrtc->State = HAL_RTC_STATE_READY; 126 .loc 1 228 3 discriminator 2 view .LVU39 127 .loc 1 228 15 is_stmt 0 discriminator 2 view .LVU40 128 006a 80F81DC0 strb ip, [r0, #29] 229:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 230:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Process Unlocked */ 231:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_UNLOCK(hrtc); 129 .loc 1 231 3 is_stmt 1 discriminator 2 view .LVU41 130 .loc 1 231 3 discriminator 2 view .LVU42 131 006e 0023 movs r3, #0 132 0070 0377 strb r3, [r0, #28] 133 .loc 1 231 3 discriminator 2 view .LVU43 232:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 233:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** return HAL_OK; 134 .loc 1 233 3 discriminator 2 view .LVU44 135 .loc 1 233 10 is_stmt 0 discriminator 2 view .LVU45 136 0072 1846 mov r0, r3 137 .LVL6: 234:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 138 .loc 1 234 1 discriminator 2 view .LVU46 139 0074 5DF8044B ldr r4, [sp], #4 140 .LCFI1: 141 .cfi_restore 4 142 .cfi_def_cfa_offset 0 143 0078 7047 bx lr 144 .LVL7: 145 .L3: 195:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 146 .loc 1 195 3 view .LVU47 147 007a 0220 movs r0, #2 148 .LVL8: 149 .loc 1 234 1 view .LVU48 150 007c 7047 bx lr 151 .cfi_endproc 152 .LFE134: 154 .section .text.HAL_RTCEx_SetTimeStamp_IT,"ax",%progbits 155 .align 1 156 .global HAL_RTCEx_SetTimeStamp_IT 157 .syntax unified 158 .thumb 159 .thumb_func 161 HAL_RTCEx_SetTimeStamp_IT: 162 .LVL9: 163 .LFB135: 235:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 236:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /** 237:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @brief Sets Timestamp with Interrupt. ARM GAS /tmp/ccAvd9CD.s page 8 238:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @param hrtc pointer to a RTC_HandleTypeDef structure that contains 239:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * the configuration information for RTC. 240:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @note This API must be called before enabling the Timestamp feature. 241:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @param RTC_TimeStampEdge Specifies the pin edge on which the Timestamp is 242:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * activated. 243:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * This parameter can be one of the following values: 244:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @arg RTC_TIMESTAMPEDGE_RISING: the Timestamp event occurs on 245:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * the rising edge of the related pin. 246:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @arg RTC_TIMESTAMPEDGE_FALLING: the Timestamp event occurs on 247:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * the falling edge of the related pin. 248:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @param RTC_TimeStampPin Specifies the RTC Timestamp Pin. 249:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * This parameter can be one of the following values: 250:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @arg RTC_TIMESTAMPPIN_DEFAULT: PC13 is selected as RTC Timestamp Pin. 251:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @arg RTC_TIMESTAMPPIN_POS1: PI8 is selected as RTC Timestamp Pin. 252:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @note RTC_TIMESTAMPPIN_POS1 corresponds to pin PA0 in the case of 253:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * STM32F446xx devices. 254:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @note RTC_TIMESTAMPPIN_POS1 is not applicable to the following list of devices: 255:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * STM32F412xx, STM32F413xx and STM32F423xx. 256:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @retval HAL status 257:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** */ 258:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** HAL_StatusTypeDef HAL_RTCEx_SetTimeStamp_IT(RTC_HandleTypeDef *hrtc, uint32_t RTC_TimeStampEdge, ui 259:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 164 .loc 1 259 1 is_stmt 1 view -0 165 .cfi_startproc 166 @ args = 0, pretend = 0, frame = 0 167 @ frame_needed = 0, uses_anonymous_args = 0 168 @ link register save eliminated. 260:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** uint32_t tmpreg = 0U; 169 .loc 1 260 3 view .LVU50 261:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 262:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Check the parameters */ 263:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** assert_param(IS_TIMESTAMP_EDGE(RTC_TimeStampEdge)); 170 .loc 1 263 3 view .LVU51 264:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** assert_param(IS_RTC_TIMESTAMP_PIN(RTC_TimeStampPin)); 171 .loc 1 264 3 view .LVU52 265:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 266:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Process Locked */ 267:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_LOCK(hrtc); 172 .loc 1 267 3 view .LVU53 173 .loc 1 267 3 view .LVU54 174 0000 037F ldrb r3, [r0, #28] @ zero_extendqisi2 175 0002 012B cmp r3, #1 176 0004 47D0 beq .L10 259:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** uint32_t tmpreg = 0U; 177 .loc 1 259 1 is_stmt 0 discriminator 2 view .LVU55 178 0006 10B4 push {r4} 179 .LCFI2: 180 .cfi_def_cfa_offset 4 181 .cfi_offset 4, -4 182 .loc 1 267 3 is_stmt 1 discriminator 2 view .LVU56 183 0008 4FF0010C mov ip, #1 184 000c 80F81CC0 strb ip, [r0, #28] 185 .loc 1 267 3 discriminator 2 view .LVU57 268:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 269:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Change RTC state to BUSY */ 270:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** hrtc->State = HAL_RTC_STATE_BUSY; 186 .loc 1 270 3 discriminator 2 view .LVU58 ARM GAS /tmp/ccAvd9CD.s page 9 187 .loc 1 270 15 is_stmt 0 discriminator 2 view .LVU59 188 0010 0223 movs r3, #2 189 0012 4377 strb r3, [r0, #29] 271:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 272:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** hrtc->Instance->TAFCR &= (uint32_t)~RTC_TAFCR_TSINSEL; 190 .loc 1 272 3 is_stmt 1 discriminator 2 view .LVU60 191 .loc 1 272 7 is_stmt 0 discriminator 2 view .LVU61 192 0014 0468 ldr r4, [r0] 193 .loc 1 272 25 discriminator 2 view .LVU62 194 0016 236C ldr r3, [r4, #64] 195 0018 23F40033 bic r3, r3, #131072 196 001c 2364 str r3, [r4, #64] 273:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** hrtc->Instance->TAFCR |= (uint32_t)(RTC_TimeStampPin); 197 .loc 1 273 3 is_stmt 1 discriminator 2 view .LVU63 198 .loc 1 273 7 is_stmt 0 discriminator 2 view .LVU64 199 001e 0468 ldr r4, [r0] 200 .loc 1 273 25 discriminator 2 view .LVU65 201 0020 236C ldr r3, [r4, #64] 202 0022 1A43 orrs r2, r2, r3 203 .LVL10: 204 .loc 1 273 25 discriminator 2 view .LVU66 205 0024 2264 str r2, [r4, #64] 274:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 275:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Get the RTC_CR register and clear the bits to be configured */ 276:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** tmpreg = (uint32_t)(hrtc->Instance->CR & (uint32_t)~(RTC_CR_TSEDGE | RTC_CR_TSE)); 206 .loc 1 276 3 is_stmt 1 discriminator 2 view .LVU67 207 .loc 1 276 27 is_stmt 0 discriminator 2 view .LVU68 208 0026 0468 ldr r4, [r0] 209 .loc 1 276 37 discriminator 2 view .LVU69 210 0028 A368 ldr r3, [r4, #8] 211 .loc 1 276 10 discriminator 2 view .LVU70 212 002a 23F40063 bic r3, r3, #2048 213 002e 23F00803 bic r3, r3, #8 214 .LVL11: 277:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 278:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Configure the Timestamp TSEDGE bit */ 279:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** tmpreg |= RTC_TimeStampEdge; 215 .loc 1 279 3 is_stmt 1 discriminator 2 view .LVU71 216 .loc 1 279 10 is_stmt 0 discriminator 2 view .LVU72 217 0032 0B43 orrs r3, r3, r1 218 .LVL12: 280:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 281:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Disable the write protection for RTC registers */ 282:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_RTC_WRITEPROTECTION_DISABLE(hrtc); 219 .loc 1 282 3 is_stmt 1 discriminator 2 view .LVU73 220 .loc 1 282 3 discriminator 2 view .LVU74 221 0034 CA22 movs r2, #202 222 0036 6262 str r2, [r4, #36] 223 .loc 1 282 3 discriminator 2 view .LVU75 224 0038 0268 ldr r2, [r0] 225 003a 5321 movs r1, #83 226 .LVL13: 227 .loc 1 282 3 is_stmt 0 discriminator 2 view .LVU76 228 003c 5162 str r1, [r2, #36] 229 .loc 1 282 3 is_stmt 1 discriminator 2 view .LVU77 283:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 284:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Copy the desired configuration into the CR register */ ARM GAS /tmp/ccAvd9CD.s page 10 285:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** hrtc->Instance->CR = (uint32_t)tmpreg; 230 .loc 1 285 3 discriminator 2 view .LVU78 231 .loc 1 285 7 is_stmt 0 discriminator 2 view .LVU79 232 003e 0268 ldr r2, [r0] 233 .loc 1 285 22 discriminator 2 view .LVU80 234 0040 9360 str r3, [r2, #8] 286:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 287:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Clear RTC Timestamp flag */ 288:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_RTC_TIMESTAMP_CLEAR_FLAG(hrtc, RTC_FLAG_TSF); 235 .loc 1 288 3 is_stmt 1 discriminator 2 view .LVU81 236 0042 0268 ldr r2, [r0] 237 0044 D368 ldr r3, [r2, #12] 238 .LVL14: 239 .loc 1 288 3 is_stmt 0 discriminator 2 view .LVU82 240 0046 DBB2 uxtb r3, r3 241 0048 63F40863 orn r3, r3, #2176 242 004c D360 str r3, [r2, #12] 289:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 290:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Clear RTC Timestamp overrun Flag */ 291:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_RTC_TIMESTAMP_CLEAR_FLAG(hrtc, RTC_FLAG_TSOVF); 243 .loc 1 291 3 is_stmt 1 discriminator 2 view .LVU83 244 004e 0268 ldr r2, [r0] 245 0050 D368 ldr r3, [r2, #12] 246 0052 DBB2 uxtb r3, r3 247 0054 63F48453 orn r3, r3, #4224 248 0058 D360 str r3, [r2, #12] 292:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 293:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Enable the Timestamp saving */ 294:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_RTC_TIMESTAMP_ENABLE(hrtc); 249 .loc 1 294 3 discriminator 2 view .LVU84 250 005a 0268 ldr r2, [r0] 251 005c 9368 ldr r3, [r2, #8] 252 005e 43F40063 orr r3, r3, #2048 253 0062 9360 str r3, [r2, #8] 295:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 296:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Enable IT Timestamp */ 297:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_RTC_TIMESTAMP_ENABLE_IT(hrtc, RTC_IT_TS); 254 .loc 1 297 3 discriminator 2 view .LVU85 255 0064 0268 ldr r2, [r0] 256 0066 9368 ldr r3, [r2, #8] 257 0068 43F40043 orr r3, r3, #32768 258 006c 9360 str r3, [r2, #8] 298:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 299:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Enable the write protection for RTC registers */ 300:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); 259 .loc 1 300 3 discriminator 2 view .LVU86 260 .loc 1 300 3 discriminator 2 view .LVU87 261 006e 0368 ldr r3, [r0] 262 0070 FF22 movs r2, #255 263 0072 5A62 str r2, [r3, #36] 264 .loc 1 300 3 discriminator 2 view .LVU88 301:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 302:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Enable and configure the EXTI line associated to the RTC Timestamp and Tamper interrupts */ 303:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_RTC_TAMPER_TIMESTAMP_EXTI_ENABLE_IT(); 265 .loc 1 303 3 discriminator 2 view .LVU89 266 0074 094B ldr r3, .L15 267 0076 1A68 ldr r2, [r3] ARM GAS /tmp/ccAvd9CD.s page 11 268 0078 42F40012 orr r2, r2, #2097152 269 007c 1A60 str r2, [r3] 304:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_RTC_TAMPER_TIMESTAMP_EXTI_ENABLE_RISING_EDGE(); 270 .loc 1 304 3 discriminator 2 view .LVU90 271 007e 9A68 ldr r2, [r3, #8] 272 0080 42F40012 orr r2, r2, #2097152 273 0084 9A60 str r2, [r3, #8] 305:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 306:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Change RTC state back to READY */ 307:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** hrtc->State = HAL_RTC_STATE_READY; 274 .loc 1 307 3 discriminator 2 view .LVU91 275 .loc 1 307 15 is_stmt 0 discriminator 2 view .LVU92 276 0086 80F81DC0 strb ip, [r0, #29] 308:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 309:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Process Unlocked */ 310:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_UNLOCK(hrtc); 277 .loc 1 310 3 is_stmt 1 discriminator 2 view .LVU93 278 .loc 1 310 3 discriminator 2 view .LVU94 279 008a 0023 movs r3, #0 280 008c 0377 strb r3, [r0, #28] 281 .loc 1 310 3 discriminator 2 view .LVU95 311:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 312:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** return HAL_OK; 282 .loc 1 312 3 discriminator 2 view .LVU96 283 .loc 1 312 10 is_stmt 0 discriminator 2 view .LVU97 284 008e 1846 mov r0, r3 285 .LVL15: 313:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 286 .loc 1 313 1 discriminator 2 view .LVU98 287 0090 5DF8044B ldr r4, [sp], #4 288 .LCFI3: 289 .cfi_restore 4 290 .cfi_def_cfa_offset 0 291 0094 7047 bx lr 292 .LVL16: 293 .L10: 267:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 294 .loc 1 267 3 view .LVU99 295 0096 0220 movs r0, #2 296 .LVL17: 297 .loc 1 313 1 view .LVU100 298 0098 7047 bx lr 299 .L16: 300 009a 00BF .align 2 301 .L15: 302 009c 003C0140 .word 1073822720 303 .cfi_endproc 304 .LFE135: 306 .section .text.HAL_RTCEx_DeactivateTimeStamp,"ax",%progbits 307 .align 1 308 .global HAL_RTCEx_DeactivateTimeStamp 309 .syntax unified 310 .thumb 311 .thumb_func 313 HAL_RTCEx_DeactivateTimeStamp: 314 .LVL18: 315 .LFB136: ARM GAS /tmp/ccAvd9CD.s page 12 314:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 315:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /** 316:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @brief Deactivates Timestamp. 317:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @param hrtc pointer to a RTC_HandleTypeDef structure that contains 318:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * the configuration information for RTC. 319:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @retval HAL status 320:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** */ 321:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** HAL_StatusTypeDef HAL_RTCEx_DeactivateTimeStamp(RTC_HandleTypeDef *hrtc) 322:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 316 .loc 1 322 1 is_stmt 1 view -0 317 .cfi_startproc 318 @ args = 0, pretend = 0, frame = 0 319 @ frame_needed = 0, uses_anonymous_args = 0 320 @ link register save eliminated. 323:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** uint32_t tmpreg = 0U; 321 .loc 1 323 3 view .LVU102 324:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 325:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Process Locked */ 326:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_LOCK(hrtc); 322 .loc 1 326 3 view .LVU103 323 .loc 1 326 3 view .LVU104 324 0000 037F ldrb r3, [r0, #28] @ zero_extendqisi2 325 0002 012B cmp r3, #1 326 0004 1DD0 beq .L19 327 .loc 1 326 3 discriminator 2 view .LVU105 328 0006 0122 movs r2, #1 329 0008 0277 strb r2, [r0, #28] 330 .loc 1 326 3 discriminator 2 view .LVU106 327:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 328:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** hrtc->State = HAL_RTC_STATE_BUSY; 331 .loc 1 328 3 discriminator 2 view .LVU107 332 .loc 1 328 15 is_stmt 0 discriminator 2 view .LVU108 333 000a 0223 movs r3, #2 334 000c 4377 strb r3, [r0, #29] 329:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 330:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Disable the write protection for RTC registers */ 331:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_RTC_WRITEPROTECTION_DISABLE(hrtc); 335 .loc 1 331 3 is_stmt 1 discriminator 2 view .LVU109 336 .loc 1 331 3 discriminator 2 view .LVU110 337 000e 0368 ldr r3, [r0] 338 0010 CA21 movs r1, #202 339 0012 5962 str r1, [r3, #36] 340 .loc 1 331 3 discriminator 2 view .LVU111 341 0014 0368 ldr r3, [r0] 342 0016 5321 movs r1, #83 343 0018 5962 str r1, [r3, #36] 344 .loc 1 331 3 discriminator 2 view .LVU112 332:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 333:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* In case interrupt mode is used, the interrupt source must disabled */ 334:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_RTC_TIMESTAMP_DISABLE_IT(hrtc, RTC_IT_TS); 345 .loc 1 334 3 discriminator 2 view .LVU113 346 001a 0168 ldr r1, [r0] 347 001c 8B68 ldr r3, [r1, #8] 348 001e 23F40043 bic r3, r3, #32768 349 0022 8B60 str r3, [r1, #8] 335:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 336:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Get the RTC_CR register and clear the bits to be configured */ ARM GAS /tmp/ccAvd9CD.s page 13 337:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** tmpreg = (uint32_t)(hrtc->Instance->CR & (uint32_t)~(RTC_CR_TSEDGE | RTC_CR_TSE)); 350 .loc 1 337 3 discriminator 2 view .LVU114 351 .loc 1 337 27 is_stmt 0 discriminator 2 view .LVU115 352 0024 0168 ldr r1, [r0] 353 .loc 1 337 37 discriminator 2 view .LVU116 354 0026 8B68 ldr r3, [r1, #8] 355 .loc 1 337 10 discriminator 2 view .LVU117 356 0028 23F40063 bic r3, r3, #2048 357 002c 23F00803 bic r3, r3, #8 358 .LVL19: 338:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 339:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Configure the Timestamp TSEDGE and Enable bits */ 340:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** hrtc->Instance->CR = (uint32_t)tmpreg; 359 .loc 1 340 3 is_stmt 1 discriminator 2 view .LVU118 360 .loc 1 340 22 is_stmt 0 discriminator 2 view .LVU119 361 0030 8B60 str r3, [r1, #8] 341:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 342:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Enable the write protection for RTC registers */ 343:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); 362 .loc 1 343 3 is_stmt 1 discriminator 2 view .LVU120 363 .loc 1 343 3 discriminator 2 view .LVU121 364 0032 0368 ldr r3, [r0] 365 .LVL20: 366 .loc 1 343 3 is_stmt 0 discriminator 2 view .LVU122 367 0034 FF21 movs r1, #255 368 .LVL21: 369 .loc 1 343 3 discriminator 2 view .LVU123 370 0036 5962 str r1, [r3, #36] 371 .loc 1 343 3 is_stmt 1 discriminator 2 view .LVU124 344:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 345:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** hrtc->State = HAL_RTC_STATE_READY; 372 .loc 1 345 3 discriminator 2 view .LVU125 373 .loc 1 345 15 is_stmt 0 discriminator 2 view .LVU126 374 0038 4277 strb r2, [r0, #29] 346:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 347:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Process Unlocked */ 348:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_UNLOCK(hrtc); 375 .loc 1 348 3 is_stmt 1 discriminator 2 view .LVU127 376 .loc 1 348 3 discriminator 2 view .LVU128 377 003a 0023 movs r3, #0 378 003c 0377 strb r3, [r0, #28] 379 .loc 1 348 3 discriminator 2 view .LVU129 349:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 350:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** return HAL_OK; 380 .loc 1 350 3 discriminator 2 view .LVU130 381 .loc 1 350 10 is_stmt 0 discriminator 2 view .LVU131 382 003e 1846 mov r0, r3 383 .LVL22: 384 .loc 1 350 10 discriminator 2 view .LVU132 385 0040 7047 bx lr 386 .LVL23: 387 .L19: 326:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 388 .loc 1 326 3 view .LVU133 389 0042 0220 movs r0, #2 390 .LVL24: 351:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } ARM GAS /tmp/ccAvd9CD.s page 14 391 .loc 1 351 1 view .LVU134 392 0044 7047 bx lr 393 .cfi_endproc 394 .LFE136: 396 .section .text.HAL_RTCEx_GetTimeStamp,"ax",%progbits 397 .align 1 398 .global HAL_RTCEx_GetTimeStamp 399 .syntax unified 400 .thumb 401 .thumb_func 403 HAL_RTCEx_GetTimeStamp: 404 .LVL25: 405 .LFB137: 352:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 353:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /** 354:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @brief Gets the RTC Timestamp value. 355:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @param hrtc pointer to a RTC_HandleTypeDef structure that contains 356:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * the configuration information for RTC. 357:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @param sTimeStamp Pointer to Time structure 358:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @param sTimeStampDate Pointer to Date structure 359:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @param Format specifies the format of the entered parameters. 360:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * This parameter can be one of the following values: 361:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @arg RTC_FORMAT_BIN: Binary data format 362:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @arg RTC_FORMAT_BCD: BCD data format 363:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @retval HAL status 364:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** */ 365:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** HAL_StatusTypeDef HAL_RTCEx_GetTimeStamp(RTC_HandleTypeDef *hrtc, RTC_TimeTypeDef *sTimeStamp, RTC_ 366:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 406 .loc 1 366 1 is_stmt 1 view -0 407 .cfi_startproc 408 @ args = 0, pretend = 0, frame = 0 409 @ frame_needed = 0, uses_anonymous_args = 0 410 .loc 1 366 1 is_stmt 0 view .LVU136 411 0000 70B5 push {r4, r5, r6, lr} 412 .LCFI4: 413 .cfi_def_cfa_offset 16 414 .cfi_offset 4, -16 415 .cfi_offset 5, -12 416 .cfi_offset 6, -8 417 .cfi_offset 14, -4 418 0002 0646 mov r6, r0 419 0004 0C46 mov r4, r1 420 0006 1546 mov r5, r2 367:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** uint32_t tmptime = 0U; 421 .loc 1 367 3 is_stmt 1 view .LVU137 422 .LVL26: 368:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** uint32_t tmpdate = 0U; 423 .loc 1 368 3 view .LVU138 369:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 370:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Check the parameters */ 371:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** assert_param(IS_RTC_FORMAT(Format)); 424 .loc 1 371 3 view .LVU139 372:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 373:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Get the Timestamp time and date registers values */ 374:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** tmptime = (uint32_t)(hrtc->Instance->TSTR & RTC_TR_RESERVED_MASK); 425 .loc 1 374 3 view .LVU140 426 .loc 1 374 28 is_stmt 0 view .LVU141 ARM GAS /tmp/ccAvd9CD.s page 15 427 0008 0168 ldr r1, [r0] 428 .LVL27: 429 .loc 1 374 38 view .LVU142 430 000a 0A6B ldr r2, [r1, #48] 431 .LVL28: 375:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** tmpdate = (uint32_t)(hrtc->Instance->TSDR & RTC_DR_RESERVED_MASK); 432 .loc 1 375 3 is_stmt 1 view .LVU143 433 .loc 1 375 38 is_stmt 0 view .LVU144 434 000c 496B ldr r1, [r1, #52] 435 .LVL29: 376:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 377:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Fill the Time structure fields with the read parameters */ 378:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** sTimeStamp->Hours = (uint8_t)((tmptime & (RTC_TSTR_HT | RTC_TSTR_HU)) >> RTC_TSTR_HU_Pos); 436 .loc 1 378 3 is_stmt 1 view .LVU145 437 .loc 1 378 28 is_stmt 0 view .LVU146 438 000e C2F30540 ubfx r0, r2, #16, #6 439 .LVL30: 440 .loc 1 378 26 view .LVU147 441 0012 2070 strb r0, [r4] 379:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** sTimeStamp->Minutes = (uint8_t)((tmptime & (RTC_TSTR_MNT | RTC_TSTR_MNU)) >> RTC_TSTR_MNU_Pos) 442 .loc 1 379 3 is_stmt 1 view .LVU148 443 .loc 1 379 28 is_stmt 0 view .LVU149 444 0014 C2F30620 ubfx r0, r2, #8, #7 445 .loc 1 379 26 view .LVU150 446 0018 6070 strb r0, [r4, #1] 380:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** sTimeStamp->Seconds = (uint8_t)((tmptime & (RTC_TSTR_ST | RTC_TSTR_SU)) >> RTC_TSTR_SU_Pos); 447 .loc 1 380 3 is_stmt 1 view .LVU151 448 .loc 1 380 28 is_stmt 0 view .LVU152 449 001a 02F07F00 and r0, r2, #127 450 .loc 1 380 26 view .LVU153 451 001e A070 strb r0, [r4, #2] 381:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** sTimeStamp->TimeFormat = (uint8_t)((tmptime & (RTC_TSTR_PM)) >> RTC_TSTR_PM_Pos); 452 .loc 1 381 3 is_stmt 1 view .LVU154 453 .loc 1 381 28 is_stmt 0 view .LVU155 454 0020 C2F38052 ubfx r2, r2, #22, #1 455 .LVL31: 456 .loc 1 381 26 view .LVU156 457 0024 E270 strb r2, [r4, #3] 382:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** sTimeStamp->SubSeconds = (uint32_t) hrtc->Instance->TSSSR; 458 .loc 1 382 3 is_stmt 1 view .LVU157 459 .loc 1 382 43 is_stmt 0 view .LVU158 460 0026 3268 ldr r2, [r6] 461 .loc 1 382 53 view .LVU159 462 0028 926B ldr r2, [r2, #56] 463 .loc 1 382 26 view .LVU160 464 002a 6260 str r2, [r4, #4] 383:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 384:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Fill the Date structure fields with the read parameters */ 385:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** sTimeStampDate->Year = 0U; 465 .loc 1 385 3 is_stmt 1 view .LVU161 466 .loc 1 385 27 is_stmt 0 view .LVU162 467 002c 0022 movs r2, #0 468 002e EA70 strb r2, [r5, #3] 386:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** sTimeStampDate->Month = (uint8_t)((tmpdate & (RTC_TSDR_MT | RTC_TSDR_MU)) >> RTC_TSDR_MU_Pos); 469 .loc 1 386 3 is_stmt 1 view .LVU163 470 .loc 1 386 29 is_stmt 0 view .LVU164 471 0030 C1F30422 ubfx r2, r1, #8, #5 ARM GAS /tmp/ccAvd9CD.s page 16 472 .loc 1 386 27 view .LVU165 473 0034 6A70 strb r2, [r5, #1] 387:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** sTimeStampDate->Date = (uint8_t)((tmpdate & (RTC_TSDR_DT | RTC_TSDR_DU)) >> RTC_TSDR_DU_Pos); 474 .loc 1 387 3 is_stmt 1 view .LVU166 475 .loc 1 387 29 is_stmt 0 view .LVU167 476 0036 01F03F02 and r2, r1, #63 477 .loc 1 387 27 view .LVU168 478 003a AA70 strb r2, [r5, #2] 388:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** sTimeStampDate->WeekDay = (uint8_t)((tmpdate & (RTC_TSDR_WDU)) >> RTC_TSDR_WDU_Pos); 479 .loc 1 388 3 is_stmt 1 view .LVU169 480 .loc 1 388 29 is_stmt 0 view .LVU170 481 003c C1F34231 ubfx r1, r1, #13, #3 482 .LVL32: 483 .loc 1 388 27 view .LVU171 484 0040 2970 strb r1, [r5] 389:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 390:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Check the input parameters format */ 391:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** if (Format == RTC_FORMAT_BIN) 485 .loc 1 391 3 is_stmt 1 view .LVU172 486 .loc 1 391 6 is_stmt 0 view .LVU173 487 0042 3BB1 cbz r3, .L23 488 .LVL33: 489 .L21: 392:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 393:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Convert the Timestamp structure parameters to Binary format */ 394:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** sTimeStamp->Hours = (uint8_t)RTC_Bcd2ToByte(sTimeStamp->Hours); 395:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** sTimeStamp->Minutes = (uint8_t)RTC_Bcd2ToByte(sTimeStamp->Minutes); 396:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** sTimeStamp->Seconds = (uint8_t)RTC_Bcd2ToByte(sTimeStamp->Seconds); 397:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 398:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Convert the DateTimeStamp structure parameters to Binary format */ 399:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** sTimeStampDate->Month = (uint8_t)RTC_Bcd2ToByte(sTimeStampDate->Month); 400:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** sTimeStampDate->Date = (uint8_t)RTC_Bcd2ToByte(sTimeStampDate->Date); 401:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** sTimeStampDate->WeekDay = (uint8_t)RTC_Bcd2ToByte(sTimeStampDate->WeekDay); 402:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 403:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 404:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Clear the Timestamp Flag */ 405:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_RTC_TIMESTAMP_CLEAR_FLAG(hrtc, RTC_FLAG_TSF); 490 .loc 1 405 3 is_stmt 1 view .LVU174 491 0044 3268 ldr r2, [r6] 492 0046 D368 ldr r3, [r2, #12] 493 0048 DBB2 uxtb r3, r3 494 004a 63F40863 orn r3, r3, #2176 495 004e D360 str r3, [r2, #12] 406:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 407:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** return HAL_OK; 496 .loc 1 407 3 view .LVU175 408:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 497 .loc 1 408 1 is_stmt 0 view .LVU176 498 0050 0020 movs r0, #0 499 0052 70BD pop {r4, r5, r6, pc} 500 .LVL34: 501 .L23: 394:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** sTimeStamp->Minutes = (uint8_t)RTC_Bcd2ToByte(sTimeStamp->Minutes); 502 .loc 1 394 5 is_stmt 1 view .LVU177 394:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** sTimeStamp->Minutes = (uint8_t)RTC_Bcd2ToByte(sTimeStamp->Minutes); 503 .loc 1 394 36 is_stmt 0 view .LVU178 504 0054 2078 ldrb r0, [r4] @ zero_extendqisi2 ARM GAS /tmp/ccAvd9CD.s page 17 505 0056 FFF7FEFF bl RTC_Bcd2ToByte 506 .LVL35: 394:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** sTimeStamp->Minutes = (uint8_t)RTC_Bcd2ToByte(sTimeStamp->Minutes); 507 .loc 1 394 25 view .LVU179 508 005a 2070 strb r0, [r4] 395:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** sTimeStamp->Seconds = (uint8_t)RTC_Bcd2ToByte(sTimeStamp->Seconds); 509 .loc 1 395 5 is_stmt 1 view .LVU180 395:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** sTimeStamp->Seconds = (uint8_t)RTC_Bcd2ToByte(sTimeStamp->Seconds); 510 .loc 1 395 36 is_stmt 0 view .LVU181 511 005c 6078 ldrb r0, [r4, #1] @ zero_extendqisi2 512 005e FFF7FEFF bl RTC_Bcd2ToByte 513 .LVL36: 395:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** sTimeStamp->Seconds = (uint8_t)RTC_Bcd2ToByte(sTimeStamp->Seconds); 514 .loc 1 395 25 view .LVU182 515 0062 6070 strb r0, [r4, #1] 396:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 516 .loc 1 396 5 is_stmt 1 view .LVU183 396:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 517 .loc 1 396 36 is_stmt 0 view .LVU184 518 0064 A078 ldrb r0, [r4, #2] @ zero_extendqisi2 519 0066 FFF7FEFF bl RTC_Bcd2ToByte 520 .LVL37: 396:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 521 .loc 1 396 25 view .LVU185 522 006a A070 strb r0, [r4, #2] 399:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** sTimeStampDate->Date = (uint8_t)RTC_Bcd2ToByte(sTimeStampDate->Date); 523 .loc 1 399 5 is_stmt 1 view .LVU186 399:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** sTimeStampDate->Date = (uint8_t)RTC_Bcd2ToByte(sTimeStampDate->Date); 524 .loc 1 399 40 is_stmt 0 view .LVU187 525 006c 6878 ldrb r0, [r5, #1] @ zero_extendqisi2 526 006e FFF7FEFF bl RTC_Bcd2ToByte 527 .LVL38: 399:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** sTimeStampDate->Date = (uint8_t)RTC_Bcd2ToByte(sTimeStampDate->Date); 528 .loc 1 399 29 view .LVU188 529 0072 6870 strb r0, [r5, #1] 400:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** sTimeStampDate->WeekDay = (uint8_t)RTC_Bcd2ToByte(sTimeStampDate->WeekDay); 530 .loc 1 400 5 is_stmt 1 view .LVU189 400:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** sTimeStampDate->WeekDay = (uint8_t)RTC_Bcd2ToByte(sTimeStampDate->WeekDay); 531 .loc 1 400 40 is_stmt 0 view .LVU190 532 0074 A878 ldrb r0, [r5, #2] @ zero_extendqisi2 533 0076 FFF7FEFF bl RTC_Bcd2ToByte 534 .LVL39: 400:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** sTimeStampDate->WeekDay = (uint8_t)RTC_Bcd2ToByte(sTimeStampDate->WeekDay); 535 .loc 1 400 29 view .LVU191 536 007a A870 strb r0, [r5, #2] 401:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 537 .loc 1 401 5 is_stmt 1 view .LVU192 401:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 538 .loc 1 401 40 is_stmt 0 view .LVU193 539 007c 2878 ldrb r0, [r5] @ zero_extendqisi2 540 007e FFF7FEFF bl RTC_Bcd2ToByte 541 .LVL40: 401:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 542 .loc 1 401 29 view .LVU194 543 0082 2870 strb r0, [r5] 544 0084 DEE7 b .L21 545 .cfi_endproc ARM GAS /tmp/ccAvd9CD.s page 18 546 .LFE137: 548 .section .text.HAL_RTCEx_SetTamper,"ax",%progbits 549 .align 1 550 .global HAL_RTCEx_SetTamper 551 .syntax unified 552 .thumb 553 .thumb_func 555 HAL_RTCEx_SetTamper: 556 .LVL41: 557 .LFB138: 409:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 410:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /** 411:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @brief Sets Tamper. 412:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @note By calling this API the tamper global interrupt will be disabled. 413:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @param hrtc pointer to a RTC_HandleTypeDef structure that contains 414:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * the configuration information for RTC. 415:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @param sTamper Pointer to Tamper Structure. 416:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @retval HAL status 417:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** */ 418:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** HAL_StatusTypeDef HAL_RTCEx_SetTamper(RTC_HandleTypeDef *hrtc, RTC_TamperTypeDef *sTamper) 419:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 558 .loc 1 419 1 is_stmt 1 view -0 559 .cfi_startproc 560 @ args = 0, pretend = 0, frame = 0 561 @ frame_needed = 0, uses_anonymous_args = 0 562 @ link register save eliminated. 420:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** uint32_t tmpreg = 0U; 563 .loc 1 420 3 view .LVU196 421:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 422:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Check the parameters */ 423:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** assert_param(IS_RTC_TAMPER(sTamper->Tamper)); 564 .loc 1 423 3 view .LVU197 424:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** assert_param(IS_RTC_TAMPER_PIN(sTamper->PinSelection)); 565 .loc 1 424 3 view .LVU198 425:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** assert_param(IS_RTC_TAMPER_TRIGGER(sTamper->Trigger)); 566 .loc 1 425 3 view .LVU199 426:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** assert_param(IS_RTC_TAMPER_FILTER(sTamper->Filter)); 567 .loc 1 426 3 view .LVU200 427:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** assert_param(IS_RTC_TAMPER_FILTER_CONFIG_CORRECT(sTamper->Filter, sTamper->Trigger)); 568 .loc 1 427 3 view .LVU201 428:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** assert_param(IS_RTC_TAMPER_SAMPLING_FREQ(sTamper->SamplingFrequency)); 569 .loc 1 428 3 view .LVU202 429:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** assert_param(IS_RTC_TAMPER_PRECHARGE_DURATION(sTamper->PrechargeDuration)); 570 .loc 1 429 3 view .LVU203 430:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** assert_param(IS_RTC_TAMPER_PULLUP_STATE(sTamper->TamperPullUp)); 571 .loc 1 430 3 view .LVU204 431:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** assert_param(IS_RTC_TAMPER_TIMESTAMPONTAMPER_DETECTION(sTamper->TimeStampOnTamperDetection)); 572 .loc 1 431 3 view .LVU205 432:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 433:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Process Locked */ 434:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_LOCK(hrtc); 573 .loc 1 434 3 view .LVU206 574 .loc 1 434 3 view .LVU207 575 0000 037F ldrb r3, [r0, #28] @ zero_extendqisi2 576 0002 012B cmp r3, #1 577 0004 2AD0 beq .L28 419:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** uint32_t tmpreg = 0U; ARM GAS /tmp/ccAvd9CD.s page 19 578 .loc 1 419 1 is_stmt 0 discriminator 2 view .LVU208 579 0006 30B4 push {r4, r5} 580 .LCFI5: 581 .cfi_def_cfa_offset 8 582 .cfi_offset 4, -8 583 .cfi_offset 5, -4 584 .loc 1 434 3 is_stmt 1 discriminator 2 view .LVU209 585 0008 0123 movs r3, #1 586 000a 0377 strb r3, [r0, #28] 587 .loc 1 434 3 discriminator 2 view .LVU210 435:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 436:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** hrtc->State = HAL_RTC_STATE_BUSY; 588 .loc 1 436 3 discriminator 2 view .LVU211 589 .loc 1 436 15 is_stmt 0 discriminator 2 view .LVU212 590 000c 0223 movs r3, #2 591 000e 4377 strb r3, [r0, #29] 437:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 438:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Copy control register into temporary variable */ 439:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** tmpreg = hrtc->Instance->TAFCR; 592 .loc 1 439 3 is_stmt 1 discriminator 2 view .LVU213 593 .loc 1 439 16 is_stmt 0 discriminator 2 view .LVU214 594 0010 0468 ldr r4, [r0] 595 .loc 1 439 10 discriminator 2 view .LVU215 596 0012 226C ldr r2, [r4, #64] 597 .LVL42: 440:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 441:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Enable selected tamper */ 442:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** tmpreg |= (sTamper->Tamper); 598 .loc 1 442 3 is_stmt 1 discriminator 2 view .LVU216 599 .loc 1 442 21 is_stmt 0 discriminator 2 view .LVU217 600 0014 0B68 ldr r3, [r1] 601 .loc 1 442 10 discriminator 2 view .LVU218 602 0016 1A43 orrs r2, r2, r3 603 .LVL43: 443:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 444:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Configure the tamper trigger bit (this bit is just on the right of the 445:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** tamper enable bit, hence the one-time right shift before updating it) */ 446:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** if (sTamper->Trigger == RTC_TAMPERTRIGGER_FALLINGEDGE) 604 .loc 1 446 3 is_stmt 1 discriminator 2 view .LVU219 605 .loc 1 446 6 is_stmt 0 discriminator 2 view .LVU220 606 0018 8D68 ldr r5, [r1, #8] 607 001a 022D cmp r5, #2 608 001c 1BD0 beq .L33 447:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 448:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Set the tamper trigger bit (case of falling edge or high level) */ 449:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** tmpreg |= (uint32_t)(sTamper->Tamper << 1U); 450:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 451:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** else 452:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 453:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Clear the tamper trigger bit (case of rising edge or low level) */ 454:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** tmpreg &= (uint32_t)~(sTamper->Tamper << 1U); 609 .loc 1 454 5 is_stmt 1 view .LVU221 610 .loc 1 454 12 is_stmt 0 view .LVU222 611 001e 22EA4303 bic r3, r2, r3, lsl #1 612 .LVL44: 613 .L27: 455:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } ARM GAS /tmp/ccAvd9CD.s page 20 456:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 457:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Clear remaining fields before setting them */ 458:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** tmpreg &= ~(RTC_TAMPERFILTER_MASK | \ 614 .loc 1 458 3 is_stmt 1 view .LVU223 615 .loc 1 458 10 is_stmt 0 view .LVU224 616 0022 23F4FF32 bic r2, r3, #130560 617 0026 22F4C072 bic r2, r2, #384 618 .LVL45: 459:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** RTC_TAMPERSAMPLINGFREQ_RTCCLK_MASK | \ 460:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** RTC_TAMPERPRECHARGEDURATION_MASK | \ 461:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** RTC_TAMPER_PULLUP_MASK | \ 462:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** RTC_TAFCR_TAMP1INSEL | \ 463:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** RTC_TIMESTAMPONTAMPERDETECTION_MASK); 464:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 465:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Set remaining parameters of desired configuration into temporary variable */ 466:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** tmpreg |= ((uint32_t)sTamper->Filter | \ 619 .loc 1 466 3 is_stmt 1 view .LVU225 620 .loc 1 466 31 is_stmt 0 view .LVU226 621 002a CB68 ldr r3, [r1, #12] 622 .loc 1 466 51 view .LVU227 623 002c 0D69 ldr r5, [r1, #16] 624 002e 2B43 orrs r3, r3, r5 467:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** (uint32_t)sTamper->SamplingFrequency | \ 625 .loc 1 467 51 view .LVU228 626 0030 4D69 ldr r5, [r1, #20] 627 0032 2B43 orrs r3, r3, r5 468:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** (uint32_t)sTamper->PrechargeDuration | \ 628 .loc 1 468 51 view .LVU229 629 0034 8D69 ldr r5, [r1, #24] 630 0036 2B43 orrs r3, r3, r5 469:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** (uint32_t)sTamper->TamperPullUp | \ 631 .loc 1 469 51 view .LVU230 632 0038 4D68 ldr r5, [r1, #4] 633 003a 2B43 orrs r3, r3, r5 470:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** (uint32_t)sTamper->PinSelection | \ 471:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** (uint32_t)sTamper->TimeStampOnTamperDetection); 634 .loc 1 471 31 view .LVU231 635 003c C969 ldr r1, [r1, #28] 636 .LVL46: 470:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** (uint32_t)sTamper->PinSelection | \ 637 .loc 1 470 51 view .LVU232 638 003e 0B43 orrs r3, r3, r1 466:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** (uint32_t)sTamper->SamplingFrequency | \ 639 .loc 1 466 10 view .LVU233 640 0040 1343 orrs r3, r3, r2 641 .LVL47: 472:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 473:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Disable tamper global interrupt in case it is enabled */ 474:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** tmpreg &= (uint32_t)~RTC_TAFCR_TAMPIE; 642 .loc 1 474 3 is_stmt 1 view .LVU234 643 .loc 1 474 10 is_stmt 0 view .LVU235 644 0042 23F00403 bic r3, r3, #4 645 .LVL48: 475:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 476:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Copy desired configuration into configuration register */ 477:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** hrtc->Instance->TAFCR = tmpreg; 646 .loc 1 477 3 is_stmt 1 view .LVU236 ARM GAS /tmp/ccAvd9CD.s page 21 647 .loc 1 477 25 is_stmt 0 view .LVU237 648 0046 2364 str r3, [r4, #64] 478:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 479:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** hrtc->State = HAL_RTC_STATE_READY; 649 .loc 1 479 3 is_stmt 1 view .LVU238 650 .loc 1 479 15 is_stmt 0 view .LVU239 651 0048 0123 movs r3, #1 652 .LVL49: 653 .loc 1 479 15 view .LVU240 654 004a 4377 strb r3, [r0, #29] 655 .LVL50: 480:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 481:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Process Unlocked */ 482:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_UNLOCK(hrtc); 656 .loc 1 482 3 is_stmt 1 view .LVU241 657 .loc 1 482 3 view .LVU242 658 004c 0023 movs r3, #0 659 004e 0377 strb r3, [r0, #28] 660 .loc 1 482 3 view .LVU243 483:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 484:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** return HAL_OK; 661 .loc 1 484 3 view .LVU244 662 .loc 1 484 10 is_stmt 0 view .LVU245 663 0050 1846 mov r0, r3 664 .LVL51: 485:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 665 .loc 1 485 1 view .LVU246 666 0052 30BC pop {r4, r5} 667 .LCFI6: 668 .cfi_remember_state 669 .cfi_restore 5 670 .cfi_restore 4 671 .cfi_def_cfa_offset 0 672 0054 7047 bx lr 673 .LVL52: 674 .L33: 675 .LCFI7: 676 .cfi_restore_state 449:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 677 .loc 1 449 5 is_stmt 1 view .LVU247 449:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 678 .loc 1 449 12 is_stmt 0 view .LVU248 679 0056 42EA4303 orr r3, r2, r3, lsl #1 680 .LVL53: 449:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 681 .loc 1 449 12 view .LVU249 682 005a E2E7 b .L27 683 .LVL54: 684 .L28: 685 .LCFI8: 686 .cfi_def_cfa_offset 0 687 .cfi_restore 4 688 .cfi_restore 5 434:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 689 .loc 1 434 3 view .LVU250 690 005c 0220 movs r0, #2 691 .LVL55: ARM GAS /tmp/ccAvd9CD.s page 22 692 .loc 1 485 1 view .LVU251 693 005e 7047 bx lr 694 .cfi_endproc 695 .LFE138: 697 .section .text.HAL_RTCEx_SetTamper_IT,"ax",%progbits 698 .align 1 699 .global HAL_RTCEx_SetTamper_IT 700 .syntax unified 701 .thumb 702 .thumb_func 704 HAL_RTCEx_SetTamper_IT: 705 .LVL56: 706 .LFB139: 486:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 487:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /** 488:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @brief Sets Tamper with interrupt. 489:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @note By calling this API the tamper global interrupt will be enabled. 490:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @param hrtc pointer to a RTC_HandleTypeDef structure that contains 491:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * the configuration information for RTC. 492:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @param sTamper Pointer to RTC Tamper. 493:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @retval HAL status 494:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** */ 495:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** HAL_StatusTypeDef HAL_RTCEx_SetTamper_IT(RTC_HandleTypeDef *hrtc, RTC_TamperTypeDef *sTamper) 496:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 707 .loc 1 496 1 is_stmt 1 view -0 708 .cfi_startproc 709 @ args = 0, pretend = 0, frame = 0 710 @ frame_needed = 0, uses_anonymous_args = 0 711 @ link register save eliminated. 497:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** uint32_t tmpreg = 0U; 712 .loc 1 497 3 view .LVU253 498:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 499:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Check the parameters */ 500:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** assert_param(IS_RTC_TAMPER(sTamper->Tamper)); 713 .loc 1 500 3 view .LVU254 501:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** assert_param(IS_RTC_TAMPER_PIN(sTamper->PinSelection)); 714 .loc 1 501 3 view .LVU255 502:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** assert_param(IS_RTC_TAMPER_TRIGGER(sTamper->Trigger)); 715 .loc 1 502 3 view .LVU256 503:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** assert_param(IS_RTC_TAMPER_FILTER(sTamper->Filter)); 716 .loc 1 503 3 view .LVU257 504:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** assert_param(IS_RTC_TAMPER_FILTER_CONFIG_CORRECT(sTamper->Filter, sTamper->Trigger)); 717 .loc 1 504 3 view .LVU258 505:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** assert_param(IS_RTC_TAMPER_SAMPLING_FREQ(sTamper->SamplingFrequency)); 718 .loc 1 505 3 view .LVU259 506:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** assert_param(IS_RTC_TAMPER_PRECHARGE_DURATION(sTamper->PrechargeDuration)); 719 .loc 1 506 3 view .LVU260 507:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** assert_param(IS_RTC_TAMPER_PULLUP_STATE(sTamper->TamperPullUp)); 720 .loc 1 507 3 view .LVU261 508:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** assert_param(IS_RTC_TAMPER_TIMESTAMPONTAMPER_DETECTION(sTamper->TimeStampOnTamperDetection)); 721 .loc 1 508 3 view .LVU262 509:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 510:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Process Locked */ 511:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_LOCK(hrtc); 722 .loc 1 511 3 view .LVU263 723 .loc 1 511 3 view .LVU264 724 0000 037F ldrb r3, [r0, #28] @ zero_extendqisi2 ARM GAS /tmp/ccAvd9CD.s page 23 725 0002 012B cmp r3, #1 726 0004 33D0 beq .L38 496:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** uint32_t tmpreg = 0U; 727 .loc 1 496 1 is_stmt 0 discriminator 2 view .LVU265 728 0006 30B4 push {r4, r5} 729 .LCFI9: 730 .cfi_def_cfa_offset 8 731 .cfi_offset 4, -8 732 .cfi_offset 5, -4 733 .loc 1 511 3 is_stmt 1 discriminator 2 view .LVU266 734 0008 0123 movs r3, #1 735 000a 0377 strb r3, [r0, #28] 736 .loc 1 511 3 discriminator 2 view .LVU267 512:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 513:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** hrtc->State = HAL_RTC_STATE_BUSY; 737 .loc 1 513 3 discriminator 2 view .LVU268 738 .loc 1 513 15 is_stmt 0 discriminator 2 view .LVU269 739 000c 0223 movs r3, #2 740 000e 4377 strb r3, [r0, #29] 514:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 515:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Copy control register into temporary variable */ 516:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** tmpreg = hrtc->Instance->TAFCR; 741 .loc 1 516 3 is_stmt 1 discriminator 2 view .LVU270 742 .loc 1 516 16 is_stmt 0 discriminator 2 view .LVU271 743 0010 0468 ldr r4, [r0] 744 .loc 1 516 10 discriminator 2 view .LVU272 745 0012 226C ldr r2, [r4, #64] 746 .LVL57: 517:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 518:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Enable selected tamper */ 519:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** tmpreg |= (sTamper->Tamper); 747 .loc 1 519 3 is_stmt 1 discriminator 2 view .LVU273 748 .loc 1 519 21 is_stmt 0 discriminator 2 view .LVU274 749 0014 0B68 ldr r3, [r1] 750 .loc 1 519 10 discriminator 2 view .LVU275 751 0016 1A43 orrs r2, r2, r3 752 .LVL58: 520:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 521:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Configure the tamper trigger bit (this bit is just on the right of the 522:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** tamper enable bit, hence the one-time right shift before updating it) */ 523:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** if (sTamper->Trigger == RTC_TAMPERTRIGGER_FALLINGEDGE) 753 .loc 1 523 3 is_stmt 1 discriminator 2 view .LVU276 754 .loc 1 523 6 is_stmt 0 discriminator 2 view .LVU277 755 0018 8D68 ldr r5, [r1, #8] 756 001a 022D cmp r5, #2 757 001c 24D0 beq .L43 524:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 525:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Set the tamper trigger bit (case of falling edge or high level) */ 526:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** tmpreg |= (uint32_t)(sTamper->Tamper << 1U); 527:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 528:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** else 529:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 530:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Clear the tamper trigger bit (case of rising edge or low level) */ 531:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** tmpreg &= (uint32_t)~(sTamper->Tamper << 1U); 758 .loc 1 531 5 is_stmt 1 view .LVU278 759 .loc 1 531 12 is_stmt 0 view .LVU279 760 001e 22EA4303 bic r3, r2, r3, lsl #1 ARM GAS /tmp/ccAvd9CD.s page 24 761 .LVL59: 762 .L37: 532:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 533:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 534:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Clear remaining fields before setting them */ 535:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** tmpreg &= ~(RTC_TAMPERFILTER_MASK | \ 763 .loc 1 535 3 is_stmt 1 view .LVU280 764 .loc 1 535 10 is_stmt 0 view .LVU281 765 0022 23F4FF32 bic r2, r3, #130560 766 0026 22F4C072 bic r2, r2, #384 767 .LVL60: 536:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** RTC_TAMPERSAMPLINGFREQ_RTCCLK_MASK | \ 537:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** RTC_TAMPERPRECHARGEDURATION_MASK | \ 538:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** RTC_TAMPER_PULLUP_MASK | \ 539:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** RTC_TAFCR_TAMP1INSEL | \ 540:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** RTC_TIMESTAMPONTAMPERDETECTION_MASK); 541:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 542:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Set remaining parameters of desired configuration into temporary variable */ 543:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** tmpreg |= ((uint32_t)sTamper->Filter | \ 768 .loc 1 543 3 is_stmt 1 view .LVU282 769 .loc 1 543 31 is_stmt 0 view .LVU283 770 002a CB68 ldr r3, [r1, #12] 771 .loc 1 543 51 view .LVU284 772 002c 0D69 ldr r5, [r1, #16] 773 002e 2B43 orrs r3, r3, r5 544:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** (uint32_t)sTamper->SamplingFrequency | \ 774 .loc 1 544 51 view .LVU285 775 0030 4D69 ldr r5, [r1, #20] 776 0032 2B43 orrs r3, r3, r5 545:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** (uint32_t)sTamper->PrechargeDuration | \ 777 .loc 1 545 51 view .LVU286 778 0034 8D69 ldr r5, [r1, #24] 779 0036 2B43 orrs r3, r3, r5 546:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** (uint32_t)sTamper->TamperPullUp | \ 780 .loc 1 546 51 view .LVU287 781 0038 4D68 ldr r5, [r1, #4] 782 003a 2B43 orrs r3, r3, r5 547:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** (uint32_t)sTamper->PinSelection | \ 548:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** (uint32_t)sTamper->TimeStampOnTamperDetection); 783 .loc 1 548 31 view .LVU288 784 003c C969 ldr r1, [r1, #28] 785 .LVL61: 547:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** (uint32_t)sTamper->PinSelection | \ 786 .loc 1 547 51 view .LVU289 787 003e 0B43 orrs r3, r3, r1 543:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** (uint32_t)sTamper->SamplingFrequency | \ 788 .loc 1 543 10 view .LVU290 789 0040 1343 orrs r3, r3, r2 790 .LVL62: 549:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 550:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Enable global tamper interrupt */ 551:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** tmpreg |= (uint32_t)RTC_TAFCR_TAMPIE; 791 .loc 1 551 3 is_stmt 1 view .LVU291 792 .loc 1 551 10 is_stmt 0 view .LVU292 793 0042 43F00403 orr r3, r3, #4 794 .LVL63: 552:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** ARM GAS /tmp/ccAvd9CD.s page 25 553:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Copy desired configuration into configuration register */ 554:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** hrtc->Instance->TAFCR = tmpreg; 795 .loc 1 554 3 is_stmt 1 view .LVU293 796 .loc 1 554 25 is_stmt 0 view .LVU294 797 0046 2364 str r3, [r4, #64] 555:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 556:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Enable and configure the EXTI line associated to the RTC Timestamp and Tamper interrupts */ 557:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_RTC_TAMPER_TIMESTAMP_EXTI_ENABLE_IT(); 798 .loc 1 557 3 is_stmt 1 view .LVU295 799 0048 0A4B ldr r3, .L44 800 .LVL64: 801 .loc 1 557 3 is_stmt 0 view .LVU296 802 004a 1A68 ldr r2, [r3] 803 004c 42F40012 orr r2, r2, #2097152 804 0050 1A60 str r2, [r3] 805 .LVL65: 558:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_RTC_TAMPER_TIMESTAMP_EXTI_ENABLE_RISING_EDGE(); 806 .loc 1 558 3 is_stmt 1 view .LVU297 807 0052 9A68 ldr r2, [r3, #8] 808 0054 42F40012 orr r2, r2, #2097152 809 0058 9A60 str r2, [r3, #8] 559:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 560:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** hrtc->State = HAL_RTC_STATE_READY; 810 .loc 1 560 3 view .LVU298 811 .loc 1 560 15 is_stmt 0 view .LVU299 812 005a 0123 movs r3, #1 813 005c 4377 strb r3, [r0, #29] 561:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 562:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Process Unlocked */ 563:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_UNLOCK(hrtc); 814 .loc 1 563 3 is_stmt 1 view .LVU300 815 .loc 1 563 3 view .LVU301 816 005e 0023 movs r3, #0 817 0060 0377 strb r3, [r0, #28] 818 .loc 1 563 3 view .LVU302 564:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 565:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** return HAL_OK; 819 .loc 1 565 3 view .LVU303 820 .loc 1 565 10 is_stmt 0 view .LVU304 821 0062 1846 mov r0, r3 822 .LVL66: 566:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 823 .loc 1 566 1 view .LVU305 824 0064 30BC pop {r4, r5} 825 .LCFI10: 826 .cfi_remember_state 827 .cfi_restore 5 828 .cfi_restore 4 829 .cfi_def_cfa_offset 0 830 0066 7047 bx lr 831 .LVL67: 832 .L43: 833 .LCFI11: 834 .cfi_restore_state 526:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 835 .loc 1 526 5 is_stmt 1 view .LVU306 526:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } ARM GAS /tmp/ccAvd9CD.s page 26 836 .loc 1 526 12 is_stmt 0 view .LVU307 837 0068 42EA4303 orr r3, r2, r3, lsl #1 838 .LVL68: 526:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 839 .loc 1 526 12 view .LVU308 840 006c D9E7 b .L37 841 .LVL69: 842 .L38: 843 .LCFI12: 844 .cfi_def_cfa_offset 0 845 .cfi_restore 4 846 .cfi_restore 5 511:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 847 .loc 1 511 3 view .LVU309 848 006e 0220 movs r0, #2 849 .LVL70: 850 .loc 1 566 1 view .LVU310 851 0070 7047 bx lr 852 .L45: 853 0072 00BF .align 2 854 .L44: 855 0074 003C0140 .word 1073822720 856 .cfi_endproc 857 .LFE139: 859 .section .text.HAL_RTCEx_DeactivateTamper,"ax",%progbits 860 .align 1 861 .global HAL_RTCEx_DeactivateTamper 862 .syntax unified 863 .thumb 864 .thumb_func 866 HAL_RTCEx_DeactivateTamper: 867 .LVL71: 868 .LFB140: 567:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 568:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /** 569:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @brief Deactivates Tamper. 570:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @note The tamper global interrupt bit will remain unchanged. 571:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @param hrtc pointer to a RTC_HandleTypeDef structure that contains 572:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * the configuration information for RTC. 573:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @param Tamper Selected tamper pin. 574:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * This parameter can be any combination of the following values: 575:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @arg RTC_TAMPER_1: Tamper 1 576:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @arg RTC_TAMPER_2: Tamper 2 (*) 577:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * 578:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * (*) value not applicable to all devices. 579:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @retval HAL status 580:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** */ 581:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** HAL_StatusTypeDef HAL_RTCEx_DeactivateTamper(RTC_HandleTypeDef *hrtc, uint32_t Tamper) 582:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 869 .loc 1 582 1 is_stmt 1 view -0 870 .cfi_startproc 871 @ args = 0, pretend = 0, frame = 0 872 @ frame_needed = 0, uses_anonymous_args = 0 873 @ link register save eliminated. 583:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** assert_param(IS_RTC_TAMPER(Tamper)); 874 .loc 1 583 3 view .LVU312 584:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** ARM GAS /tmp/ccAvd9CD.s page 27 585:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Process Locked */ 586:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_LOCK(hrtc); 875 .loc 1 586 3 view .LVU313 876 .loc 1 586 3 view .LVU314 877 0000 037F ldrb r3, [r0, #28] @ zero_extendqisi2 878 0002 012B cmp r3, #1 879 0004 10D0 beq .L48 582:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** assert_param(IS_RTC_TAMPER(Tamper)); 880 .loc 1 582 1 is_stmt 0 discriminator 2 view .LVU315 881 0006 10B4 push {r4} 882 .LCFI13: 883 .cfi_def_cfa_offset 4 884 .cfi_offset 4, -4 885 .loc 1 586 3 is_stmt 1 discriminator 2 view .LVU316 886 0008 0122 movs r2, #1 887 000a 0277 strb r2, [r0, #28] 888 .loc 1 586 3 discriminator 2 view .LVU317 587:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 588:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** hrtc->State = HAL_RTC_STATE_BUSY; 889 .loc 1 588 3 discriminator 2 view .LVU318 890 .loc 1 588 15 is_stmt 0 discriminator 2 view .LVU319 891 000c 0223 movs r3, #2 892 000e 4377 strb r3, [r0, #29] 589:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 590:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Disable the selected Tamper pin */ 591:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** hrtc->Instance->TAFCR &= (uint32_t)~Tamper; 893 .loc 1 591 3 is_stmt 1 discriminator 2 view .LVU320 894 .loc 1 591 7 is_stmt 0 discriminator 2 view .LVU321 895 0010 0468 ldr r4, [r0] 896 .loc 1 591 25 discriminator 2 view .LVU322 897 0012 236C ldr r3, [r4, #64] 898 0014 23EA0101 bic r1, r3, r1 899 .LVL72: 900 .loc 1 591 25 discriminator 2 view .LVU323 901 0018 2164 str r1, [r4, #64] 592:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 593:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** hrtc->State = HAL_RTC_STATE_READY; 902 .loc 1 593 3 is_stmt 1 discriminator 2 view .LVU324 903 .loc 1 593 15 is_stmt 0 discriminator 2 view .LVU325 904 001a 4277 strb r2, [r0, #29] 594:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 595:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Process Unlocked */ 596:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_UNLOCK(hrtc); 905 .loc 1 596 3 is_stmt 1 discriminator 2 view .LVU326 906 .loc 1 596 3 discriminator 2 view .LVU327 907 001c 0023 movs r3, #0 908 001e 0377 strb r3, [r0, #28] 909 .loc 1 596 3 discriminator 2 view .LVU328 597:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 598:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** return HAL_OK; 910 .loc 1 598 3 discriminator 2 view .LVU329 911 .loc 1 598 10 is_stmt 0 discriminator 2 view .LVU330 912 0020 1846 mov r0, r3 913 .LVL73: 599:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 914 .loc 1 599 1 discriminator 2 view .LVU331 915 0022 5DF8044B ldr r4, [sp], #4 ARM GAS /tmp/ccAvd9CD.s page 28 916 .LCFI14: 917 .cfi_restore 4 918 .cfi_def_cfa_offset 0 919 0026 7047 bx lr 920 .LVL74: 921 .L48: 586:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 922 .loc 1 586 3 view .LVU332 923 0028 0220 movs r0, #2 924 .LVL75: 925 .loc 1 599 1 view .LVU333 926 002a 7047 bx lr 927 .cfi_endproc 928 .LFE140: 930 .section .text.HAL_RTCEx_TimeStampEventCallback,"ax",%progbits 931 .align 1 932 .weak HAL_RTCEx_TimeStampEventCallback 933 .syntax unified 934 .thumb 935 .thumb_func 937 HAL_RTCEx_TimeStampEventCallback: 938 .LVL76: 939 .LFB142: 600:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 601:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /** 602:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @brief Handles Timestamp and Tamper interrupt request. 603:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @param hrtc pointer to a RTC_HandleTypeDef structure that contains 604:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * the configuration information for RTC. 605:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @retval None 606:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** */ 607:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** void HAL_RTCEx_TamperTimeStampIRQHandler(RTC_HandleTypeDef *hrtc) 608:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 609:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Clear the EXTI flag associated to the RTC Timestamp and Tamper interrupts */ 610:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_RTC_TAMPER_TIMESTAMP_EXTI_CLEAR_FLAG(); 611:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 612:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Get the Timestamp interrupt source enable status */ 613:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** if (__HAL_RTC_TIMESTAMP_GET_IT_SOURCE(hrtc, RTC_IT_TS) != 0U) 614:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 615:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Get the pending status of the Timestamp Interrupt */ 616:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** if (__HAL_RTC_TIMESTAMP_GET_FLAG(hrtc, RTC_FLAG_TSF) != 0U) 617:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 618:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Timestamp callback */ 619:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** #if (USE_HAL_RTC_REGISTER_CALLBACKS == 1) 620:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** hrtc->TimeStampEventCallback(hrtc); 621:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** #else 622:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** HAL_RTCEx_TimeStampEventCallback(hrtc); 623:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** #endif /* USE_HAL_RTC_REGISTER_CALLBACKS */ 624:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 625:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Clear the Timestamp interrupt pending bit after returning from callback 626:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** as RTC_TSTR and RTC_TSDR registers are cleared when TSF bit is reset */ 627:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_RTC_TIMESTAMP_CLEAR_FLAG(hrtc, RTC_FLAG_TSF); 628:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 629:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 630:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 631:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Get the Tamper 1 interrupt source enable status */ 632:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** if (__HAL_RTC_TAMPER_GET_IT_SOURCE(hrtc, RTC_IT_TAMP) != 0U) 633:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { ARM GAS /tmp/ccAvd9CD.s page 29 634:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Get the pending status of the Tamper 1 Interrupt */ 635:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** if (__HAL_RTC_TAMPER_GET_FLAG(hrtc, RTC_FLAG_TAMP1F) != 0U) 636:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 637:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Clear the Tamper interrupt pending bit */ 638:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_RTC_TAMPER_CLEAR_FLAG(hrtc, RTC_FLAG_TAMP1F); 639:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 640:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Tamper callback */ 641:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** #if (USE_HAL_RTC_REGISTER_CALLBACKS == 1) 642:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** hrtc->Tamper1EventCallback(hrtc); 643:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** #else 644:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** HAL_RTCEx_Tamper1EventCallback(hrtc); 645:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** #endif /* USE_HAL_RTC_REGISTER_CALLBACKS */ 646:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 647:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 648:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 649:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** #if defined(RTC_TAMPER2_SUPPORT) 650:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Get the Tamper 2 interrupt source enable status */ 651:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** if (__HAL_RTC_TAMPER_GET_IT_SOURCE(hrtc, RTC_IT_TAMP) != 0U) 652:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 653:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Get the pending status of the Tamper 2 Interrupt */ 654:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** if (__HAL_RTC_TAMPER_GET_FLAG(hrtc, RTC_FLAG_TAMP2F) != 0U) 655:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 656:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Clear the Tamper interrupt pending bit */ 657:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_RTC_TAMPER_CLEAR_FLAG(hrtc, RTC_FLAG_TAMP2F); 658:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 659:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Tamper callback */ 660:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** #if (USE_HAL_RTC_REGISTER_CALLBACKS == 1) 661:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** hrtc->Tamper2EventCallback(hrtc); 662:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** #else 663:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** HAL_RTCEx_Tamper2EventCallback(hrtc); 664:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** #endif /* USE_HAL_RTC_REGISTER_CALLBACKS */ 665:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 666:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 667:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** #endif /* RTC_TAMPER2_SUPPORT */ 668:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 669:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Change RTC state */ 670:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** hrtc->State = HAL_RTC_STATE_READY; 671:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 672:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 673:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /** 674:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @brief Timestamp callback. 675:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @param hrtc pointer to a RTC_HandleTypeDef structure that contains 676:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * the configuration information for RTC. 677:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @retval None 678:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** */ 679:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __weak void HAL_RTCEx_TimeStampEventCallback(RTC_HandleTypeDef *hrtc) 680:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 940 .loc 1 680 1 is_stmt 1 view -0 941 .cfi_startproc 942 @ args = 0, pretend = 0, frame = 0 943 @ frame_needed = 0, uses_anonymous_args = 0 944 @ link register save eliminated. 681:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Prevent unused argument(s) compilation warning */ 682:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** UNUSED(hrtc); 945 .loc 1 682 3 view .LVU335 683:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 684:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* NOTE: This function should not be modified, when the callback is needed, ARM GAS /tmp/ccAvd9CD.s page 30 685:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** the HAL_RTCEx_TimeStampEventCallback could be implemented in the user file 686:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** */ 687:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 946 .loc 1 687 1 is_stmt 0 view .LVU336 947 0000 7047 bx lr 948 .cfi_endproc 949 .LFE142: 951 .section .text.HAL_RTCEx_Tamper1EventCallback,"ax",%progbits 952 .align 1 953 .weak HAL_RTCEx_Tamper1EventCallback 954 .syntax unified 955 .thumb 956 .thumb_func 958 HAL_RTCEx_Tamper1EventCallback: 959 .LVL77: 960 .LFB143: 688:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 689:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /** 690:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @brief Tamper 1 callback. 691:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @param hrtc pointer to a RTC_HandleTypeDef structure that contains 692:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * the configuration information for RTC. 693:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @retval None 694:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** */ 695:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __weak void HAL_RTCEx_Tamper1EventCallback(RTC_HandleTypeDef *hrtc) 696:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 961 .loc 1 696 1 is_stmt 1 view -0 962 .cfi_startproc 963 @ args = 0, pretend = 0, frame = 0 964 @ frame_needed = 0, uses_anonymous_args = 0 965 @ link register save eliminated. 697:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Prevent unused argument(s) compilation warning */ 698:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** UNUSED(hrtc); 966 .loc 1 698 3 view .LVU338 699:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 700:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* NOTE: This function should not be modified, when the callback is needed, 701:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** the HAL_RTCEx_Tamper1EventCallback could be implemented in the user file 702:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** */ 703:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 967 .loc 1 703 1 is_stmt 0 view .LVU339 968 0000 7047 bx lr 969 .cfi_endproc 970 .LFE143: 972 .section .text.HAL_RTCEx_Tamper2EventCallback,"ax",%progbits 973 .align 1 974 .weak HAL_RTCEx_Tamper2EventCallback 975 .syntax unified 976 .thumb 977 .thumb_func 979 HAL_RTCEx_Tamper2EventCallback: 980 .LVL78: 981 .LFB144: 704:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 705:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** #if defined(RTC_TAMPER2_SUPPORT) 706:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /** 707:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @brief Tamper 2 callback. 708:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @param hrtc pointer to a RTC_HandleTypeDef structure that contains 709:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * the configuration information for RTC. ARM GAS /tmp/ccAvd9CD.s page 31 710:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @retval None 711:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** */ 712:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __weak void HAL_RTCEx_Tamper2EventCallback(RTC_HandleTypeDef *hrtc) 713:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 982 .loc 1 713 1 is_stmt 1 view -0 983 .cfi_startproc 984 @ args = 0, pretend = 0, frame = 0 985 @ frame_needed = 0, uses_anonymous_args = 0 986 @ link register save eliminated. 714:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Prevent unused argument(s) compilation warning */ 715:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** UNUSED(hrtc); 987 .loc 1 715 3 view .LVU341 716:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 717:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* NOTE: This function should not be modified, when the callback is needed, 718:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** the HAL_RTCEx_Tamper2EventCallback could be implemented in the user file 719:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** */ 720:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 988 .loc 1 720 1 is_stmt 0 view .LVU342 989 0000 7047 bx lr 990 .cfi_endproc 991 .LFE144: 993 .section .text.HAL_RTCEx_TamperTimeStampIRQHandler,"ax",%progbits 994 .align 1 995 .global HAL_RTCEx_TamperTimeStampIRQHandler 996 .syntax unified 997 .thumb 998 .thumb_func 1000 HAL_RTCEx_TamperTimeStampIRQHandler: 1001 .LVL79: 1002 .LFB141: 608:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Clear the EXTI flag associated to the RTC Timestamp and Tamper interrupts */ 1003 .loc 1 608 1 is_stmt 1 view -0 1004 .cfi_startproc 1005 @ args = 0, pretend = 0, frame = 0 1006 @ frame_needed = 0, uses_anonymous_args = 0 608:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Clear the EXTI flag associated to the RTC Timestamp and Tamper interrupts */ 1007 .loc 1 608 1 is_stmt 0 view .LVU344 1008 0000 10B5 push {r4, lr} 1009 .LCFI15: 1010 .cfi_def_cfa_offset 8 1011 .cfi_offset 4, -8 1012 .cfi_offset 14, -4 1013 0002 0446 mov r4, r0 610:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1014 .loc 1 610 3 is_stmt 1 view .LVU345 1015 0004 1E4B ldr r3, .L64 1016 0006 4FF40012 mov r2, #2097152 1017 000a 5A61 str r2, [r3, #20] 613:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 1018 .loc 1 613 3 view .LVU346 613:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 1019 .loc 1 613 7 is_stmt 0 view .LVU347 1020 000c 0368 ldr r3, [r0] 1021 000e 9A68 ldr r2, [r3, #8] 613:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 1022 .loc 1 613 6 view .LVU348 1023 0010 12F4004F tst r2, #32768 ARM GAS /tmp/ccAvd9CD.s page 32 1024 0014 03D0 beq .L57 616:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 1025 .loc 1 616 5 is_stmt 1 view .LVU349 616:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 1026 .loc 1 616 9 is_stmt 0 view .LVU350 1027 0016 DB68 ldr r3, [r3, #12] 616:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 1028 .loc 1 616 8 view .LVU351 1029 0018 13F4006F tst r3, #2048 1030 001c 14D1 bne .L61 1031 .LVL80: 1032 .L57: 632:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 1033 .loc 1 632 3 is_stmt 1 view .LVU352 632:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 1034 .loc 1 632 7 is_stmt 0 view .LVU353 1035 001e 2368 ldr r3, [r4] 1036 0020 1A6C ldr r2, [r3, #64] 632:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 1037 .loc 1 632 6 view .LVU354 1038 0022 12F0040F tst r2, #4 1039 0026 03D0 beq .L58 635:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 1040 .loc 1 635 5 is_stmt 1 view .LVU355 635:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 1041 .loc 1 635 9 is_stmt 0 view .LVU356 1042 0028 DA68 ldr r2, [r3, #12] 635:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 1043 .loc 1 635 8 view .LVU357 1044 002a 12F4005F tst r2, #8192 1045 002e 14D1 bne .L62 1046 .L58: 651:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 1047 .loc 1 651 3 is_stmt 1 view .LVU358 651:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 1048 .loc 1 651 7 is_stmt 0 view .LVU359 1049 0030 2368 ldr r3, [r4] 1050 0032 1A6C ldr r2, [r3, #64] 651:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 1051 .loc 1 651 6 view .LVU360 1052 0034 12F0040F tst r2, #4 1053 0038 03D0 beq .L59 654:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 1054 .loc 1 654 5 is_stmt 1 view .LVU361 654:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 1055 .loc 1 654 9 is_stmt 0 view .LVU362 1056 003a DA68 ldr r2, [r3, #12] 654:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 1057 .loc 1 654 8 view .LVU363 1058 003c 12F4804F tst r2, #16384 1059 0040 14D1 bne .L63 1060 .L59: 670:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 1061 .loc 1 670 3 is_stmt 1 view .LVU364 670:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 1062 .loc 1 670 15 is_stmt 0 view .LVU365 1063 0042 0123 movs r3, #1 ARM GAS /tmp/ccAvd9CD.s page 33 1064 0044 6377 strb r3, [r4, #29] 671:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1065 .loc 1 671 1 view .LVU366 1066 0046 10BD pop {r4, pc} 1067 .LVL81: 1068 .L61: 622:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** #endif /* USE_HAL_RTC_REGISTER_CALLBACKS */ 1069 .loc 1 622 7 is_stmt 1 view .LVU367 1070 0048 FFF7FEFF bl HAL_RTCEx_TimeStampEventCallback 1071 .LVL82: 627:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 1072 .loc 1 627 7 view .LVU368 1073 004c 2268 ldr r2, [r4] 1074 004e D368 ldr r3, [r2, #12] 1075 0050 DBB2 uxtb r3, r3 1076 0052 63F40863 orn r3, r3, #2176 1077 0056 D360 str r3, [r2, #12] 1078 0058 E1E7 b .L57 1079 .L62: 638:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1080 .loc 1 638 7 view .LVU369 1081 005a DA68 ldr r2, [r3, #12] 1082 005c D2B2 uxtb r2, r2 1083 005e 62F40252 orn r2, r2, #8320 1084 0062 DA60 str r2, [r3, #12] 644:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** #endif /* USE_HAL_RTC_REGISTER_CALLBACKS */ 1085 .loc 1 644 7 view .LVU370 1086 0064 2046 mov r0, r4 1087 0066 FFF7FEFF bl HAL_RTCEx_Tamper1EventCallback 1088 .LVL83: 1089 006a E1E7 b .L58 1090 .L63: 657:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1091 .loc 1 657 7 view .LVU371 1092 006c DA68 ldr r2, [r3, #12] 1093 006e D2B2 uxtb r2, r2 1094 0070 62F48142 orn r2, r2, #16512 1095 0074 DA60 str r2, [r3, #12] 663:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** #endif /* USE_HAL_RTC_REGISTER_CALLBACKS */ 1096 .loc 1 663 7 view .LVU372 1097 0076 2046 mov r0, r4 1098 0078 FFF7FEFF bl HAL_RTCEx_Tamper2EventCallback 1099 .LVL84: 1100 007c E1E7 b .L59 1101 .L65: 1102 007e 00BF .align 2 1103 .L64: 1104 0080 003C0140 .word 1073822720 1105 .cfi_endproc 1106 .LFE141: 1108 .section .text.HAL_RTCEx_PollForTimeStampEvent,"ax",%progbits 1109 .align 1 1110 .global HAL_RTCEx_PollForTimeStampEvent 1111 .syntax unified 1112 .thumb 1113 .thumb_func 1115 HAL_RTCEx_PollForTimeStampEvent: ARM GAS /tmp/ccAvd9CD.s page 34 1116 .LVL85: 1117 .LFB145: 721:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** #endif /* RTC_TAMPER2_SUPPORT */ 722:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 723:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /** 724:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @brief Handles Timestamp polling request. 725:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @param hrtc pointer to a RTC_HandleTypeDef structure that contains 726:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * the configuration information for RTC. 727:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @param Timeout Timeout duration 728:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @retval HAL status 729:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** */ 730:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** HAL_StatusTypeDef HAL_RTCEx_PollForTimeStampEvent(RTC_HandleTypeDef *hrtc, uint32_t Timeout) 731:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 1118 .loc 1 731 1 view -0 1119 .cfi_startproc 1120 @ args = 0, pretend = 0, frame = 0 1121 @ frame_needed = 0, uses_anonymous_args = 0 1122 .loc 1 731 1 is_stmt 0 view .LVU374 1123 0000 70B5 push {r4, r5, r6, lr} 1124 .LCFI16: 1125 .cfi_def_cfa_offset 16 1126 .cfi_offset 4, -16 1127 .cfi_offset 5, -12 1128 .cfi_offset 6, -8 1129 .cfi_offset 14, -4 1130 0002 0546 mov r5, r0 1131 0004 0C46 mov r4, r1 732:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** uint32_t tickstart = 0U; 1132 .loc 1 732 3 is_stmt 1 view .LVU375 1133 .LVL86: 733:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 734:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Get tick */ 735:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** tickstart = HAL_GetTick(); 1134 .loc 1 735 3 view .LVU376 1135 .loc 1 735 15 is_stmt 0 view .LVU377 1136 0006 FFF7FEFF bl HAL_GetTick 1137 .LVL87: 1138 .loc 1 735 15 view .LVU378 1139 000a 0646 mov r6, r0 1140 .LVL88: 736:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 737:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** while (__HAL_RTC_TIMESTAMP_GET_FLAG(hrtc, RTC_FLAG_TSF) == 0U) 1141 .loc 1 737 3 is_stmt 1 view .LVU379 1142 .loc 1 737 9 is_stmt 0 view .LVU380 1143 000c 04E0 b .L67 1144 .LVL89: 1145 .L68: 738:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 739:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** if (Timeout != HAL_MAX_DELAY) 740:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 741:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** if ((Timeout == 0U) || ((HAL_GetTick() - tickstart) > Timeout)) 742:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 743:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** hrtc->State = HAL_RTC_STATE_TIMEOUT; 744:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** return HAL_TIMEOUT; 745:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 746:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 747:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** ARM GAS /tmp/ccAvd9CD.s page 35 748:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** if (__HAL_RTC_TIMESTAMP_GET_FLAG(hrtc, RTC_FLAG_TSOVF) != 0U) 1146 .loc 1 748 5 is_stmt 1 view .LVU381 1147 .loc 1 748 9 is_stmt 0 view .LVU382 1148 000e 2B68 ldr r3, [r5] 1149 0010 DA68 ldr r2, [r3, #12] 1150 .loc 1 748 8 view .LVU383 1151 0012 12F4805F tst r2, #4096 1152 0016 10D1 bne .L73 1153 .L67: 737:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 1154 .loc 1 737 9 is_stmt 1 view .LVU384 737:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 1155 .loc 1 737 10 is_stmt 0 view .LVU385 1156 0018 2B68 ldr r3, [r5] 1157 001a DB68 ldr r3, [r3, #12] 737:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 1158 .loc 1 737 9 view .LVU386 1159 001c 13F4006F tst r3, #2048 1160 0020 14D1 bne .L74 739:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 1161 .loc 1 739 5 is_stmt 1 view .LVU387 739:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 1162 .loc 1 739 8 is_stmt 0 view .LVU388 1163 0022 B4F1FF3F cmp r4, #-1 1164 0026 F2D0 beq .L68 741:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 1165 .loc 1 741 7 is_stmt 1 view .LVU389 741:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 1166 .loc 1 741 10 is_stmt 0 view .LVU390 1167 0028 24B1 cbz r4, .L69 741:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 1168 .loc 1 741 32 discriminator 1 view .LVU391 1169 002a FFF7FEFF bl HAL_GetTick 1170 .LVL90: 741:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 1171 .loc 1 741 46 discriminator 1 view .LVU392 1172 002e 831B subs r3, r0, r6 741:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 1173 .loc 1 741 27 discriminator 1 view .LVU393 1174 0030 A342 cmp r3, r4 1175 0032 ECD9 bls .L68 1176 .L69: 743:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** return HAL_TIMEOUT; 1177 .loc 1 743 9 is_stmt 1 view .LVU394 743:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** return HAL_TIMEOUT; 1178 .loc 1 743 21 is_stmt 0 view .LVU395 1179 0034 0320 movs r0, #3 1180 0036 6877 strb r0, [r5, #29] 744:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 1181 .loc 1 744 9 is_stmt 1 view .LVU396 1182 .L70: 749:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 750:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Clear the Timestamp Overrun Flag */ 751:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_RTC_TIMESTAMP_CLEAR_FLAG(hrtc, RTC_FLAG_TSOVF); 752:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 753:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Change Timestamp state */ 754:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** hrtc->State = HAL_RTC_STATE_ERROR; ARM GAS /tmp/ccAvd9CD.s page 36 755:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 756:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** return HAL_ERROR; 757:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 758:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 759:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 760:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Change RTC state */ 761:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** hrtc->State = HAL_RTC_STATE_READY; 762:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 763:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** return HAL_OK; 764:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 1183 .loc 1 764 1 is_stmt 0 view .LVU397 1184 0038 70BD pop {r4, r5, r6, pc} 1185 .LVL91: 1186 .L73: 751:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1187 .loc 1 751 7 is_stmt 1 view .LVU398 1188 003a DA68 ldr r2, [r3, #12] 1189 003c D2B2 uxtb r2, r2 1190 003e 62F48452 orn r2, r2, #4224 1191 0042 DA60 str r2, [r3, #12] 754:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1192 .loc 1 754 7 view .LVU399 754:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1193 .loc 1 754 19 is_stmt 0 view .LVU400 1194 0044 0423 movs r3, #4 1195 0046 6B77 strb r3, [r5, #29] 756:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 1196 .loc 1 756 7 is_stmt 1 view .LVU401 756:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 1197 .loc 1 756 14 is_stmt 0 view .LVU402 1198 0048 0120 movs r0, #1 1199 004a F5E7 b .L70 1200 .L74: 761:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1201 .loc 1 761 3 is_stmt 1 view .LVU403 761:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1202 .loc 1 761 15 is_stmt 0 view .LVU404 1203 004c 0123 movs r3, #1 1204 004e 6B77 strb r3, [r5, #29] 763:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 1205 .loc 1 763 3 is_stmt 1 view .LVU405 763:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 1206 .loc 1 763 10 is_stmt 0 view .LVU406 1207 0050 0020 movs r0, #0 1208 0052 F1E7 b .L70 1209 .cfi_endproc 1210 .LFE145: 1212 .section .text.HAL_RTCEx_PollForTamper1Event,"ax",%progbits 1213 .align 1 1214 .global HAL_RTCEx_PollForTamper1Event 1215 .syntax unified 1216 .thumb 1217 .thumb_func 1219 HAL_RTCEx_PollForTamper1Event: 1220 .LVL92: 1221 .LFB146: 765:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** ARM GAS /tmp/ccAvd9CD.s page 37 766:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /** 767:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @brief Handles Tamper 1 Polling. 768:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @param hrtc pointer to a RTC_HandleTypeDef structure that contains 769:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * the configuration information for RTC. 770:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @param Timeout Timeout duration 771:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @retval HAL status 772:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** */ 773:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** HAL_StatusTypeDef HAL_RTCEx_PollForTamper1Event(RTC_HandleTypeDef *hrtc, uint32_t Timeout) 774:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 1222 .loc 1 774 1 is_stmt 1 view -0 1223 .cfi_startproc 1224 @ args = 0, pretend = 0, frame = 0 1225 @ frame_needed = 0, uses_anonymous_args = 0 1226 .loc 1 774 1 is_stmt 0 view .LVU408 1227 0000 70B5 push {r4, r5, r6, lr} 1228 .LCFI17: 1229 .cfi_def_cfa_offset 16 1230 .cfi_offset 4, -16 1231 .cfi_offset 5, -12 1232 .cfi_offset 6, -8 1233 .cfi_offset 14, -4 1234 0002 0446 mov r4, r0 1235 0004 0D46 mov r5, r1 775:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** uint32_t tickstart = 0U; 1236 .loc 1 775 3 is_stmt 1 view .LVU409 1237 .LVL93: 776:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 777:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Get tick */ 778:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** tickstart = HAL_GetTick(); 1238 .loc 1 778 3 view .LVU410 1239 .loc 1 778 15 is_stmt 0 view .LVU411 1240 0006 FFF7FEFF bl HAL_GetTick 1241 .LVL94: 1242 .loc 1 778 15 view .LVU412 1243 000a 0646 mov r6, r0 1244 .LVL95: 779:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 780:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Get the status of the Interrupt */ 781:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** while (__HAL_RTC_TAMPER_GET_FLAG(hrtc, RTC_FLAG_TAMP1F) == 0U) 1245 .loc 1 781 3 is_stmt 1 view .LVU413 1246 .L77: 1247 .loc 1 781 9 view .LVU414 1248 .loc 1 781 10 is_stmt 0 view .LVU415 1249 000c 2368 ldr r3, [r4] 1250 000e DA68 ldr r2, [r3, #12] 1251 .loc 1 781 9 view .LVU416 1252 0010 12F4005F tst r2, #8192 1253 0014 0BD1 bne .L82 782:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 783:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** if (Timeout != HAL_MAX_DELAY) 1254 .loc 1 783 5 is_stmt 1 view .LVU417 1255 .loc 1 783 8 is_stmt 0 view .LVU418 1256 0016 B5F1FF3F cmp r5, #-1 1257 001a F7D0 beq .L77 784:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 785:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** if ((Timeout == 0U) || ((HAL_GetTick() - tickstart) > Timeout)) 1258 .loc 1 785 7 is_stmt 1 view .LVU419 ARM GAS /tmp/ccAvd9CD.s page 38 1259 .loc 1 785 10 is_stmt 0 view .LVU420 1260 001c 25B1 cbz r5, .L78 1261 .loc 1 785 32 discriminator 1 view .LVU421 1262 001e FFF7FEFF bl HAL_GetTick 1263 .LVL96: 1264 .loc 1 785 46 discriminator 1 view .LVU422 1265 0022 801B subs r0, r0, r6 1266 .loc 1 785 27 discriminator 1 view .LVU423 1267 0024 A842 cmp r0, r5 1268 0026 F1D9 bls .L77 1269 .L78: 786:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 787:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** hrtc->State = HAL_RTC_STATE_TIMEOUT; 1270 .loc 1 787 9 is_stmt 1 view .LVU424 1271 .loc 1 787 21 is_stmt 0 view .LVU425 1272 0028 0320 movs r0, #3 1273 002a 6077 strb r0, [r4, #29] 788:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** return HAL_TIMEOUT; 1274 .loc 1 788 9 is_stmt 1 view .LVU426 1275 .loc 1 788 16 is_stmt 0 view .LVU427 1276 002c 07E0 b .L79 1277 .L82: 789:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 790:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 791:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 792:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 793:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Clear the Tamper Flag */ 794:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_RTC_TAMPER_CLEAR_FLAG(hrtc, RTC_FLAG_TAMP1F); 1278 .loc 1 794 3 is_stmt 1 view .LVU428 1279 002e DA68 ldr r2, [r3, #12] 1280 0030 D2B2 uxtb r2, r2 1281 0032 62F40252 orn r2, r2, #8320 1282 0036 DA60 str r2, [r3, #12] 795:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 796:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Change RTC state */ 797:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** hrtc->State = HAL_RTC_STATE_READY; 1283 .loc 1 797 3 view .LVU429 1284 .loc 1 797 15 is_stmt 0 view .LVU430 1285 0038 0123 movs r3, #1 1286 003a 6377 strb r3, [r4, #29] 798:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 799:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** return HAL_OK; 1287 .loc 1 799 3 is_stmt 1 view .LVU431 1288 .loc 1 799 10 is_stmt 0 view .LVU432 1289 003c 0020 movs r0, #0 1290 .L79: 800:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 1291 .loc 1 800 1 view .LVU433 1292 003e 70BD pop {r4, r5, r6, pc} 1293 .loc 1 800 1 view .LVU434 1294 .cfi_endproc 1295 .LFE146: 1297 .section .text.HAL_RTCEx_PollForTamper2Event,"ax",%progbits 1298 .align 1 1299 .global HAL_RTCEx_PollForTamper2Event 1300 .syntax unified 1301 .thumb ARM GAS /tmp/ccAvd9CD.s page 39 1302 .thumb_func 1304 HAL_RTCEx_PollForTamper2Event: 1305 .LVL97: 1306 .LFB147: 801:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 802:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** #if defined(RTC_TAMPER2_SUPPORT) 803:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /** 804:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @brief Handles Tamper 2 Polling. 805:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @param hrtc pointer to a RTC_HandleTypeDef structure that contains 806:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * the configuration information for RTC. 807:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @param Timeout Timeout duration 808:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @retval HAL status 809:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** */ 810:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** HAL_StatusTypeDef HAL_RTCEx_PollForTamper2Event(RTC_HandleTypeDef *hrtc, uint32_t Timeout) 811:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 1307 .loc 1 811 1 is_stmt 1 view -0 1308 .cfi_startproc 1309 @ args = 0, pretend = 0, frame = 0 1310 @ frame_needed = 0, uses_anonymous_args = 0 1311 .loc 1 811 1 is_stmt 0 view .LVU436 1312 0000 70B5 push {r4, r5, r6, lr} 1313 .LCFI18: 1314 .cfi_def_cfa_offset 16 1315 .cfi_offset 4, -16 1316 .cfi_offset 5, -12 1317 .cfi_offset 6, -8 1318 .cfi_offset 14, -4 1319 0002 0446 mov r4, r0 1320 0004 0D46 mov r5, r1 812:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** uint32_t tickstart = 0U; 1321 .loc 1 812 3 is_stmt 1 view .LVU437 1322 .LVL98: 813:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 814:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Get tick */ 815:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** tickstart = HAL_GetTick(); 1323 .loc 1 815 3 view .LVU438 1324 .loc 1 815 15 is_stmt 0 view .LVU439 1325 0006 FFF7FEFF bl HAL_GetTick 1326 .LVL99: 1327 .loc 1 815 15 view .LVU440 1328 000a 0646 mov r6, r0 1329 .LVL100: 816:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 817:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Get the status of the Interrupt */ 818:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** while (__HAL_RTC_TAMPER_GET_FLAG(hrtc, RTC_FLAG_TAMP2F) == 0U) 1330 .loc 1 818 3 is_stmt 1 view .LVU441 1331 .L85: 1332 .loc 1 818 9 view .LVU442 1333 .loc 1 818 10 is_stmt 0 view .LVU443 1334 000c 2368 ldr r3, [r4] 1335 000e DA68 ldr r2, [r3, #12] 1336 .loc 1 818 9 view .LVU444 1337 0010 12F4804F tst r2, #16384 1338 0014 0BD1 bne .L90 819:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 820:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** if (Timeout != HAL_MAX_DELAY) 1339 .loc 1 820 5 is_stmt 1 view .LVU445 ARM GAS /tmp/ccAvd9CD.s page 40 1340 .loc 1 820 8 is_stmt 0 view .LVU446 1341 0016 B5F1FF3F cmp r5, #-1 1342 001a F7D0 beq .L85 821:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 822:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** if ((Timeout == 0U) || ((HAL_GetTick() - tickstart) > Timeout)) 1343 .loc 1 822 7 is_stmt 1 view .LVU447 1344 .loc 1 822 10 is_stmt 0 view .LVU448 1345 001c 25B1 cbz r5, .L86 1346 .loc 1 822 32 discriminator 1 view .LVU449 1347 001e FFF7FEFF bl HAL_GetTick 1348 .LVL101: 1349 .loc 1 822 46 discriminator 1 view .LVU450 1350 0022 801B subs r0, r0, r6 1351 .loc 1 822 27 discriminator 1 view .LVU451 1352 0024 A842 cmp r0, r5 1353 0026 F1D9 bls .L85 1354 .L86: 823:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 824:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** hrtc->State = HAL_RTC_STATE_TIMEOUT; 1355 .loc 1 824 9 is_stmt 1 view .LVU452 1356 .loc 1 824 21 is_stmt 0 view .LVU453 1357 0028 0320 movs r0, #3 1358 002a 6077 strb r0, [r4, #29] 825:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** return HAL_TIMEOUT; 1359 .loc 1 825 9 is_stmt 1 view .LVU454 1360 .loc 1 825 16 is_stmt 0 view .LVU455 1361 002c 07E0 b .L87 1362 .L90: 826:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 827:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 828:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 829:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 830:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Clear the Tamper Flag */ 831:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_RTC_TAMPER_CLEAR_FLAG(hrtc, RTC_FLAG_TAMP2F); 1363 .loc 1 831 3 is_stmt 1 view .LVU456 1364 002e DA68 ldr r2, [r3, #12] 1365 0030 D2B2 uxtb r2, r2 1366 0032 62F48142 orn r2, r2, #16512 1367 0036 DA60 str r2, [r3, #12] 832:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 833:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Change RTC state */ 834:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** hrtc->State = HAL_RTC_STATE_READY; 1368 .loc 1 834 3 view .LVU457 1369 .loc 1 834 15 is_stmt 0 view .LVU458 1370 0038 0123 movs r3, #1 1371 003a 6377 strb r3, [r4, #29] 835:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 836:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** return HAL_OK; 1372 .loc 1 836 3 is_stmt 1 view .LVU459 1373 .loc 1 836 10 is_stmt 0 view .LVU460 1374 003c 0020 movs r0, #0 1375 .L87: 837:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 1376 .loc 1 837 1 view .LVU461 1377 003e 70BD pop {r4, r5, r6, pc} 1378 .loc 1 837 1 view .LVU462 1379 .cfi_endproc ARM GAS /tmp/ccAvd9CD.s page 41 1380 .LFE147: 1382 .section .text.HAL_RTCEx_SetWakeUpTimer,"ax",%progbits 1383 .align 1 1384 .global HAL_RTCEx_SetWakeUpTimer 1385 .syntax unified 1386 .thumb 1387 .thumb_func 1389 HAL_RTCEx_SetWakeUpTimer: 1390 .LVL102: 1391 .LFB148: 838:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** #endif /* RTC_TAMPER2_SUPPORT */ 839:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 840:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /** 841:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @} 842:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** */ 843:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 844:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /** @defgroup RTCEx_Exported_Functions_Group2 RTC Wakeup functions 845:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @brief RTC Wakeup functions 846:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * 847:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** @verbatim 848:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** =============================================================================== 849:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** ##### RTC Wakeup functions ##### 850:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** =============================================================================== 851:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 852:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** [..] This section provides functions allowing to configure Wakeup feature 853:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 854:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** @endverbatim 855:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @{ 856:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** */ 857:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 858:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /** 859:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @brief Sets wakeup timer. 860:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @param hrtc pointer to a RTC_HandleTypeDef structure that contains 861:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * the configuration information for RTC. 862:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @param WakeUpCounter Wakeup counter 863:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @param WakeUpClock Wakeup clock 864:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @retval HAL status 865:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** */ 866:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** HAL_StatusTypeDef HAL_RTCEx_SetWakeUpTimer(RTC_HandleTypeDef *hrtc, uint32_t WakeUpCounter, uint32_ 867:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 1392 .loc 1 867 1 is_stmt 1 view -0 1393 .cfi_startproc 1394 @ args = 0, pretend = 0, frame = 0 1395 @ frame_needed = 0, uses_anonymous_args = 0 1396 .loc 1 867 1 is_stmt 0 view .LVU464 1397 0000 F8B5 push {r3, r4, r5, r6, r7, lr} 1398 .LCFI19: 1399 .cfi_def_cfa_offset 24 1400 .cfi_offset 3, -24 1401 .cfi_offset 4, -20 1402 .cfi_offset 5, -16 1403 .cfi_offset 6, -12 1404 .cfi_offset 7, -8 1405 .cfi_offset 14, -4 868:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** uint32_t tickstart = 0U; 1406 .loc 1 868 3 is_stmt 1 view .LVU465 1407 .LVL103: ARM GAS /tmp/ccAvd9CD.s page 42 869:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 870:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Check the parameters */ 871:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** assert_param(IS_RTC_WAKEUP_CLOCK(WakeUpClock)); 1408 .loc 1 871 3 view .LVU466 872:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** assert_param(IS_RTC_WAKEUP_COUNTER(WakeUpCounter)); 1409 .loc 1 872 3 view .LVU467 873:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 874:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Process Locked */ 875:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_LOCK(hrtc); 1410 .loc 1 875 3 view .LVU468 1411 .loc 1 875 3 view .LVU469 1412 0002 037F ldrb r3, [r0, #28] @ zero_extendqisi2 1413 0004 012B cmp r3, #1 1414 0006 5FD0 beq .L98 1415 0008 0446 mov r4, r0 1416 000a 0D46 mov r5, r1 1417 000c 1646 mov r6, r2 1418 .loc 1 875 3 discriminator 2 view .LVU470 1419 000e 0123 movs r3, #1 1420 0010 0377 strb r3, [r0, #28] 1421 .loc 1 875 3 discriminator 2 view .LVU471 876:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 877:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** hrtc->State = HAL_RTC_STATE_BUSY; 1422 .loc 1 877 3 discriminator 2 view .LVU472 1423 .loc 1 877 15 is_stmt 0 discriminator 2 view .LVU473 1424 0012 0223 movs r3, #2 1425 0014 4377 strb r3, [r0, #29] 878:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 879:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Disable the write protection for RTC registers */ 880:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_RTC_WRITEPROTECTION_DISABLE(hrtc); 1426 .loc 1 880 3 is_stmt 1 discriminator 2 view .LVU474 1427 .loc 1 880 3 discriminator 2 view .LVU475 1428 0016 0368 ldr r3, [r0] 1429 0018 CA22 movs r2, #202 1430 .LVL104: 1431 .loc 1 880 3 is_stmt 0 discriminator 2 view .LVU476 1432 001a 5A62 str r2, [r3, #36] 1433 .loc 1 880 3 is_stmt 1 discriminator 2 view .LVU477 1434 001c 0368 ldr r3, [r0] 1435 001e 5322 movs r2, #83 1436 0020 5A62 str r2, [r3, #36] 1437 .loc 1 880 3 discriminator 2 view .LVU478 881:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 882:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Check RTC WUTWF flag is reset only when wakeup timer enabled*/ 883:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** if ((hrtc->Instance->CR & RTC_CR_WUTE) != 0U) 1438 .loc 1 883 3 discriminator 2 view .LVU479 1439 .loc 1 883 12 is_stmt 0 discriminator 2 view .LVU480 1440 0022 0368 ldr r3, [r0] 1441 .loc 1 883 22 discriminator 2 view .LVU481 1442 0024 9B68 ldr r3, [r3, #8] 1443 .loc 1 883 6 discriminator 2 view .LVU482 1444 0026 13F4806F tst r3, #1024 1445 002a 15D0 beq .L93 884:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 885:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** tickstart = HAL_GetTick(); 1446 .loc 1 885 5 is_stmt 1 view .LVU483 1447 .loc 1 885 17 is_stmt 0 view .LVU484 ARM GAS /tmp/ccAvd9CD.s page 43 1448 002c FFF7FEFF bl HAL_GetTick 1449 .LVL105: 1450 .loc 1 885 17 view .LVU485 1451 0030 0746 mov r7, r0 1452 .LVL106: 886:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 887:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Wait till RTC WUTWF flag is reset and if timeout is reached exit */ 888:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** while (__HAL_RTC_WAKEUPTIMER_GET_FLAG(hrtc, RTC_FLAG_WUTWF) != 0U) 1453 .loc 1 888 5 is_stmt 1 view .LVU486 1454 .L94: 1455 .loc 1 888 11 view .LVU487 1456 .loc 1 888 12 is_stmt 0 view .LVU488 1457 0032 2368 ldr r3, [r4] 1458 0034 DB68 ldr r3, [r3, #12] 1459 .loc 1 888 11 view .LVU489 1460 0036 13F0040F tst r3, #4 1461 003a 0DD0 beq .L93 889:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 890:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** if ((HAL_GetTick() - tickstart) > RTC_TIMEOUT_VALUE) 1462 .loc 1 890 7 is_stmt 1 view .LVU490 1463 .loc 1 890 12 is_stmt 0 view .LVU491 1464 003c FFF7FEFF bl HAL_GetTick 1465 .LVL107: 1466 .loc 1 890 26 view .LVU492 1467 0040 C01B subs r0, r0, r7 1468 .loc 1 890 10 view .LVU493 1469 0042 B0F57A7F cmp r0, #1000 1470 0046 F4D9 bls .L94 891:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 892:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Enable the write protection for RTC registers */ 893:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); 1471 .loc 1 893 9 is_stmt 1 view .LVU494 1472 .loc 1 893 9 view .LVU495 1473 0048 2368 ldr r3, [r4] 1474 004a FF22 movs r2, #255 1475 004c 5A62 str r2, [r3, #36] 1476 .loc 1 893 9 view .LVU496 894:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 895:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** hrtc->State = HAL_RTC_STATE_TIMEOUT; 1477 .loc 1 895 9 view .LVU497 1478 .loc 1 895 21 is_stmt 0 view .LVU498 1479 004e 0320 movs r0, #3 1480 0050 6077 strb r0, [r4, #29] 896:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 897:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Process Unlocked */ 898:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_UNLOCK(hrtc); 1481 .loc 1 898 9 is_stmt 1 view .LVU499 1482 .loc 1 898 9 view .LVU500 1483 0052 0023 movs r3, #0 1484 0054 2377 strb r3, [r4, #28] 1485 .loc 1 898 9 view .LVU501 899:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 900:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** return HAL_TIMEOUT; 1486 .loc 1 900 9 view .LVU502 1487 .loc 1 900 16 is_stmt 0 view .LVU503 1488 0056 36E0 b .L92 1489 .LVL108: ARM GAS /tmp/ccAvd9CD.s page 44 1490 .L93: 901:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 902:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 903:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 904:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 905:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Disable the Wakeup timer */ 906:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_RTC_WAKEUPTIMER_DISABLE(hrtc); 1491 .loc 1 906 3 is_stmt 1 view .LVU504 1492 0058 2268 ldr r2, [r4] 1493 005a 9368 ldr r3, [r2, #8] 1494 005c 23F48063 bic r3, r3, #1024 1495 0060 9360 str r3, [r2, #8] 907:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 908:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Clear the Wakeup flag */ 909:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_RTC_WAKEUPTIMER_CLEAR_FLAG(hrtc, RTC_FLAG_WUTF); 1496 .loc 1 909 3 view .LVU505 1497 0062 2268 ldr r2, [r4] 1498 0064 D368 ldr r3, [r2, #12] 1499 0066 DBB2 uxtb r3, r3 1500 0068 63F49063 orn r3, r3, #1152 1501 006c D360 str r3, [r2, #12] 910:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 911:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Get tick */ 912:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** tickstart = HAL_GetTick(); 1502 .loc 1 912 3 view .LVU506 1503 .loc 1 912 15 is_stmt 0 view .LVU507 1504 006e FFF7FEFF bl HAL_GetTick 1505 .LVL109: 1506 0072 0746 mov r7, r0 1507 .LVL110: 913:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 914:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Wait till RTC WUTWF flag is set and if timeout is reached exit */ 915:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** while (__HAL_RTC_WAKEUPTIMER_GET_FLAG(hrtc, RTC_FLAG_WUTWF) == 0U) 1508 .loc 1 915 3 is_stmt 1 view .LVU508 1509 .L96: 1510 .loc 1 915 9 view .LVU509 1511 .loc 1 915 10 is_stmt 0 view .LVU510 1512 0074 2368 ldr r3, [r4] 1513 0076 DA68 ldr r2, [r3, #12] 1514 .loc 1 915 9 view .LVU511 1515 0078 12F0040F tst r2, #4 1516 007c 0DD1 bne .L100 916:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 917:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** if ((HAL_GetTick() - tickstart) > RTC_TIMEOUT_VALUE) 1517 .loc 1 917 5 is_stmt 1 view .LVU512 1518 .loc 1 917 10 is_stmt 0 view .LVU513 1519 007e FFF7FEFF bl HAL_GetTick 1520 .LVL111: 1521 .loc 1 917 24 view .LVU514 1522 0082 C01B subs r0, r0, r7 1523 .loc 1 917 8 view .LVU515 1524 0084 B0F57A7F cmp r0, #1000 1525 0088 F4D9 bls .L96 918:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 919:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Enable the write protection for RTC registers */ 920:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); 1526 .loc 1 920 7 is_stmt 1 view .LVU516 ARM GAS /tmp/ccAvd9CD.s page 45 1527 .loc 1 920 7 view .LVU517 1528 008a 2368 ldr r3, [r4] 1529 008c FF22 movs r2, #255 1530 008e 5A62 str r2, [r3, #36] 1531 .loc 1 920 7 view .LVU518 921:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 922:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** hrtc->State = HAL_RTC_STATE_TIMEOUT; 1532 .loc 1 922 7 view .LVU519 1533 .loc 1 922 19 is_stmt 0 view .LVU520 1534 0090 0320 movs r0, #3 1535 0092 6077 strb r0, [r4, #29] 923:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 924:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Process Unlocked */ 925:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_UNLOCK(hrtc); 1536 .loc 1 925 7 is_stmt 1 view .LVU521 1537 .loc 1 925 7 view .LVU522 1538 0094 0023 movs r3, #0 1539 0096 2377 strb r3, [r4, #28] 1540 .loc 1 925 7 view .LVU523 926:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 927:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** return HAL_TIMEOUT; 1541 .loc 1 927 7 view .LVU524 1542 .loc 1 927 14 is_stmt 0 view .LVU525 1543 0098 15E0 b .L92 1544 .L100: 928:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 929:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 930:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 931:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Clear the Wakeup Timer clock source bits in CR register */ 932:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** hrtc->Instance->CR &= (uint32_t)~RTC_CR_WUCKSEL; 1545 .loc 1 932 3 is_stmt 1 view .LVU526 1546 .loc 1 932 22 is_stmt 0 view .LVU527 1547 009a 9A68 ldr r2, [r3, #8] 1548 009c 22F00702 bic r2, r2, #7 1549 00a0 9A60 str r2, [r3, #8] 933:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 934:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Configure the clock source */ 935:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** hrtc->Instance->CR |= (uint32_t)WakeUpClock; 1550 .loc 1 935 3 is_stmt 1 view .LVU528 1551 .loc 1 935 7 is_stmt 0 view .LVU529 1552 00a2 2268 ldr r2, [r4] 1553 .loc 1 935 22 view .LVU530 1554 00a4 9368 ldr r3, [r2, #8] 1555 00a6 1E43 orrs r6, r6, r3 1556 .LVL112: 1557 .loc 1 935 22 view .LVU531 1558 00a8 9660 str r6, [r2, #8] 936:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 937:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Configure the Wakeup Timer counter */ 938:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** hrtc->Instance->WUTR = (uint32_t)WakeUpCounter; 1559 .loc 1 938 3 is_stmt 1 view .LVU532 1560 .loc 1 938 7 is_stmt 0 view .LVU533 1561 00aa 2368 ldr r3, [r4] 1562 .loc 1 938 24 view .LVU534 1563 00ac 5D61 str r5, [r3, #20] 939:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 940:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Enable the Wakeup Timer */ ARM GAS /tmp/ccAvd9CD.s page 46 941:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_RTC_WAKEUPTIMER_ENABLE(hrtc); 1564 .loc 1 941 3 is_stmt 1 view .LVU535 1565 00ae 2268 ldr r2, [r4] 1566 00b0 9368 ldr r3, [r2, #8] 1567 00b2 43F48063 orr r3, r3, #1024 1568 00b6 9360 str r3, [r2, #8] 942:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 943:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Enable the write protection for RTC registers */ 944:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); 1569 .loc 1 944 3 view .LVU536 1570 .loc 1 944 3 view .LVU537 1571 00b8 2368 ldr r3, [r4] 1572 00ba FF22 movs r2, #255 1573 00bc 5A62 str r2, [r3, #36] 1574 .loc 1 944 3 view .LVU538 945:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 946:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** hrtc->State = HAL_RTC_STATE_READY; 1575 .loc 1 946 3 view .LVU539 1576 .loc 1 946 15 is_stmt 0 view .LVU540 1577 00be 0123 movs r3, #1 1578 00c0 6377 strb r3, [r4, #29] 947:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 948:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Process Unlocked */ 949:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_UNLOCK(hrtc); 1579 .loc 1 949 3 is_stmt 1 view .LVU541 1580 .loc 1 949 3 view .LVU542 1581 00c2 0020 movs r0, #0 1582 00c4 2077 strb r0, [r4, #28] 1583 .loc 1 949 3 view .LVU543 950:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 951:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** return HAL_OK; 1584 .loc 1 951 3 view .LVU544 1585 .LVL113: 1586 .L92: 952:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 1587 .loc 1 952 1 is_stmt 0 view .LVU545 1588 00c6 F8BD pop {r3, r4, r5, r6, r7, pc} 1589 .LVL114: 1590 .L98: 875:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1591 .loc 1 875 3 view .LVU546 1592 00c8 0220 movs r0, #2 1593 .LVL115: 875:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1594 .loc 1 875 3 view .LVU547 1595 00ca FCE7 b .L92 1596 .cfi_endproc 1597 .LFE148: 1599 .section .text.HAL_RTCEx_SetWakeUpTimer_IT,"ax",%progbits 1600 .align 1 1601 .global HAL_RTCEx_SetWakeUpTimer_IT 1602 .syntax unified 1603 .thumb 1604 .thumb_func 1606 HAL_RTCEx_SetWakeUpTimer_IT: 1607 .LVL116: 1608 .LFB149: ARM GAS /tmp/ccAvd9CD.s page 47 953:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 954:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /** 955:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @brief Sets wakeup timer with interrupt. 956:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @param hrtc pointer to a RTC_HandleTypeDef structure that contains 957:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * the configuration information for RTC. 958:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @param WakeUpCounter Wakeup counter 959:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @param WakeUpClock Wakeup clock 960:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @retval HAL status 961:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** */ 962:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** HAL_StatusTypeDef HAL_RTCEx_SetWakeUpTimer_IT(RTC_HandleTypeDef *hrtc, uint32_t WakeUpCounter, uint 963:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 1609 .loc 1 963 1 is_stmt 1 view -0 1610 .cfi_startproc 1611 @ args = 0, pretend = 0, frame = 8 1612 @ frame_needed = 0, uses_anonymous_args = 0 1613 @ link register save eliminated. 1614 .loc 1 963 1 is_stmt 0 view .LVU549 1615 0000 30B4 push {r4, r5} 1616 .LCFI20: 1617 .cfi_def_cfa_offset 8 1618 .cfi_offset 4, -8 1619 .cfi_offset 5, -4 1620 0002 82B0 sub sp, sp, #8 1621 .LCFI21: 1622 .cfi_def_cfa_offset 16 964:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __IO uint32_t count = RTC_TIMEOUT_VALUE * (SystemCoreClock / 32U / 1000U); 1623 .loc 1 964 3 is_stmt 1 view .LVU550 1624 .loc 1 964 69 is_stmt 0 view .LVU551 1625 0004 3B4B ldr r3, .L112 1626 0006 1C68 ldr r4, [r3] 1627 0008 3B4B ldr r3, .L112+4 1628 000a A3FB0434 umull r3, r4, r3, r4 1629 000e E40A lsrs r4, r4, #11 1630 .loc 1 964 44 view .LVU552 1631 0010 4FF47A73 mov r3, #1000 1632 0014 03FB04F4 mul r4, r3, r4 1633 .loc 1 964 17 view .LVU553 1634 0018 0194 str r4, [sp, #4] 965:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 966:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Check the parameters */ 967:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** assert_param(IS_RTC_WAKEUP_CLOCK(WakeUpClock)); 1635 .loc 1 967 3 is_stmt 1 view .LVU554 968:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** assert_param(IS_RTC_WAKEUP_COUNTER(WakeUpCounter)); 1636 .loc 1 968 3 view .LVU555 969:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 970:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Process Locked */ 971:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_LOCK(hrtc); 1637 .loc 1 971 3 view .LVU556 1638 .loc 1 971 3 view .LVU557 1639 001a 037F ldrb r3, [r0, #28] @ zero_extendqisi2 1640 001c 012B cmp r3, #1 1641 001e 67D0 beq .L108 1642 .loc 1 971 3 discriminator 2 view .LVU558 1643 0020 0123 movs r3, #1 1644 0022 0377 strb r3, [r0, #28] 1645 .loc 1 971 3 discriminator 2 view .LVU559 972:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** ARM GAS /tmp/ccAvd9CD.s page 48 973:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** hrtc->State = HAL_RTC_STATE_BUSY; 1646 .loc 1 973 3 discriminator 2 view .LVU560 1647 .loc 1 973 15 is_stmt 0 discriminator 2 view .LVU561 1648 0024 0223 movs r3, #2 1649 0026 4377 strb r3, [r0, #29] 974:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 975:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Disable the write protection for RTC registers */ 976:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_RTC_WRITEPROTECTION_DISABLE(hrtc); 1650 .loc 1 976 3 is_stmt 1 discriminator 2 view .LVU562 1651 .loc 1 976 3 discriminator 2 view .LVU563 1652 0028 0368 ldr r3, [r0] 1653 002a CA25 movs r5, #202 1654 002c 5D62 str r5, [r3, #36] 1655 .loc 1 976 3 discriminator 2 view .LVU564 1656 002e 0368 ldr r3, [r0] 1657 0030 5325 movs r5, #83 1658 0032 5D62 str r5, [r3, #36] 1659 .loc 1 976 3 discriminator 2 view .LVU565 977:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 978:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Check RTC WUTWF flag is reset only when wakeup timer enabled */ 979:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** if ((hrtc->Instance->CR & RTC_CR_WUTE) != 0U) 1660 .loc 1 979 3 discriminator 2 view .LVU566 1661 .loc 1 979 12 is_stmt 0 discriminator 2 view .LVU567 1662 0034 0568 ldr r5, [r0] 1663 .loc 1 979 22 discriminator 2 view .LVU568 1664 0036 AB68 ldr r3, [r5, #8] 1665 .loc 1 979 6 discriminator 2 view .LVU569 1666 0038 13F4806F tst r3, #1024 1667 003c 09D0 beq .L103 1668 .L105: 980:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 981:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Wait till RTC WUTWF flag is reset and if timeout is reached exit */ 982:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** do 1669 .loc 1 982 5 is_stmt 1 view .LVU570 983:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 984:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** count = count - 1U; 1670 .loc 1 984 7 view .LVU571 1671 .loc 1 984 21 is_stmt 0 view .LVU572 1672 003e 019B ldr r3, [sp, #4] 1673 0040 013B subs r3, r3, #1 1674 .loc 1 984 13 view .LVU573 1675 0042 0193 str r3, [sp, #4] 985:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** if (count == 0U) 1676 .loc 1 985 7 is_stmt 1 view .LVU574 1677 .loc 1 985 17 is_stmt 0 view .LVU575 1678 0044 019B ldr r3, [sp, #4] 1679 .loc 1 985 10 view .LVU576 1680 0046 002B cmp r3, #0 1681 0048 3FD0 beq .L110 986:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 987:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Enable the write protection for RTC registers */ 988:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); 989:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 990:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** hrtc->State = HAL_RTC_STATE_TIMEOUT; 991:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 992:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Process Unlocked */ 993:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_UNLOCK(hrtc); ARM GAS /tmp/ccAvd9CD.s page 49 994:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 995:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** return HAL_TIMEOUT; 996:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 997:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } while (__HAL_RTC_WAKEUPTIMER_GET_FLAG(hrtc, RTC_FLAG_WUTWF) != 0U); 1682 .loc 1 997 13 is_stmt 1 view .LVU577 1683 .loc 1 997 14 is_stmt 0 view .LVU578 1684 004a EB68 ldr r3, [r5, #12] 1685 .loc 1 997 5 view .LVU579 1686 004c 13F0040F tst r3, #4 1687 0050 F5D1 bne .L105 1688 .L103: 998:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 999:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1000:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Disable the Wakeup timer */ 1001:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_RTC_WAKEUPTIMER_DISABLE(hrtc); 1689 .loc 1 1001 3 is_stmt 1 view .LVU580 1690 0052 AB68 ldr r3, [r5, #8] 1691 0054 23F48063 bic r3, r3, #1024 1692 0058 AB60 str r3, [r5, #8] 1002:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1003:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Clear the Wakeup flag */ 1004:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_RTC_WAKEUPTIMER_CLEAR_FLAG(hrtc, RTC_FLAG_WUTF); 1693 .loc 1 1004 3 view .LVU581 1694 005a 0568 ldr r5, [r0] 1695 005c EB68 ldr r3, [r5, #12] 1696 005e DBB2 uxtb r3, r3 1697 0060 63F49063 orn r3, r3, #1152 1698 0064 EB60 str r3, [r5, #12] 1005:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1006:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Reload the counter */ 1007:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** count = RTC_TIMEOUT_VALUE * (SystemCoreClock / 32U / 1000U); 1699 .loc 1 1007 3 view .LVU582 1700 .loc 1 1007 9 is_stmt 0 view .LVU583 1701 0066 0194 str r4, [sp, #4] 1702 .L107: 1008:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1009:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Wait till RTC WUTWF flag is set and if timeout is reached exit */ 1010:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** do 1703 .loc 1 1010 3 is_stmt 1 view .LVU584 1011:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 1012:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** count = count - 1U; 1704 .loc 1 1012 5 view .LVU585 1705 .loc 1 1012 19 is_stmt 0 view .LVU586 1706 0068 019B ldr r3, [sp, #4] 1707 006a 013B subs r3, r3, #1 1708 .loc 1 1012 11 view .LVU587 1709 006c 0193 str r3, [sp, #4] 1013:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** if (count == 0U) 1710 .loc 1 1013 5 is_stmt 1 view .LVU588 1711 .loc 1 1013 15 is_stmt 0 view .LVU589 1712 006e 019B ldr r3, [sp, #4] 1713 .loc 1 1013 8 view .LVU590 1714 0070 002B cmp r3, #0 1715 0072 32D0 beq .L111 1014:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 1015:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Enable the write protection for RTC registers */ 1016:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); ARM GAS /tmp/ccAvd9CD.s page 50 1017:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1018:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** hrtc->State = HAL_RTC_STATE_TIMEOUT; 1019:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1020:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Process Unlocked */ 1021:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_UNLOCK(hrtc); 1022:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1023:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** return HAL_TIMEOUT; 1024:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 1025:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } while (__HAL_RTC_WAKEUPTIMER_GET_FLAG(hrtc, RTC_FLAG_WUTWF) == 0U); 1716 .loc 1 1025 11 is_stmt 1 view .LVU591 1717 .loc 1 1025 12 is_stmt 0 view .LVU592 1718 0074 0368 ldr r3, [r0] 1719 0076 DC68 ldr r4, [r3, #12] 1720 .loc 1 1025 3 view .LVU593 1721 0078 14F0040F tst r4, #4 1722 007c F4D0 beq .L107 1026:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1027:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Clear the Wakeup Timer clock source bits in CR register */ 1028:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** hrtc->Instance->CR &= (uint32_t)~RTC_CR_WUCKSEL; 1723 .loc 1 1028 3 is_stmt 1 view .LVU594 1724 .loc 1 1028 22 is_stmt 0 view .LVU595 1725 007e 9C68 ldr r4, [r3, #8] 1726 0080 24F00704 bic r4, r4, #7 1727 0084 9C60 str r4, [r3, #8] 1029:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1030:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Configure the clock source */ 1031:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** hrtc->Instance->CR |= (uint32_t)WakeUpClock; 1728 .loc 1 1031 3 is_stmt 1 view .LVU596 1729 .loc 1 1031 7 is_stmt 0 view .LVU597 1730 0086 0468 ldr r4, [r0] 1731 .loc 1 1031 22 view .LVU598 1732 0088 A368 ldr r3, [r4, #8] 1733 008a 1A43 orrs r2, r2, r3 1734 .LVL117: 1735 .loc 1 1031 22 view .LVU599 1736 008c A260 str r2, [r4, #8] 1032:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1033:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Configure the Wakeup Timer counter */ 1034:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** hrtc->Instance->WUTR = (uint32_t)WakeUpCounter; 1737 .loc 1 1034 3 is_stmt 1 view .LVU600 1738 .loc 1 1034 7 is_stmt 0 view .LVU601 1739 008e 0368 ldr r3, [r0] 1740 .loc 1 1034 24 view .LVU602 1741 0090 5961 str r1, [r3, #20] 1035:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1036:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Enable and configure the EXTI line associated to the RTC Wakeup Timer interrupt */ 1037:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_RTC_WAKEUPTIMER_EXTI_ENABLE_IT(); 1742 .loc 1 1037 3 is_stmt 1 view .LVU603 1743 0092 1A4B ldr r3, .L112+8 1744 0094 1A68 ldr r2, [r3] 1745 0096 42F48002 orr r2, r2, #4194304 1746 009a 1A60 str r2, [r3] 1038:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_RTC_WAKEUPTIMER_EXTI_ENABLE_RISING_EDGE(); 1747 .loc 1 1038 3 view .LVU604 1748 009c 9A68 ldr r2, [r3, #8] 1749 009e 42F48002 orr r2, r2, #4194304 1750 00a2 9A60 str r2, [r3, #8] ARM GAS /tmp/ccAvd9CD.s page 51 1039:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1040:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Configure the interrupt in the RTC_CR register */ 1041:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_RTC_WAKEUPTIMER_ENABLE_IT(hrtc, RTC_IT_WUT); 1751 .loc 1 1041 3 view .LVU605 1752 00a4 0268 ldr r2, [r0] 1753 00a6 9368 ldr r3, [r2, #8] 1754 00a8 43F48043 orr r3, r3, #16384 1755 00ac 9360 str r3, [r2, #8] 1042:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1043:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Enable the Wakeup Timer */ 1044:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_RTC_WAKEUPTIMER_ENABLE(hrtc); 1756 .loc 1 1044 3 view .LVU606 1757 00ae 0268 ldr r2, [r0] 1758 00b0 9368 ldr r3, [r2, #8] 1759 00b2 43F48063 orr r3, r3, #1024 1760 00b6 9360 str r3, [r2, #8] 1045:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1046:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Enable the write protection for RTC registers */ 1047:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); 1761 .loc 1 1047 3 view .LVU607 1762 .loc 1 1047 3 view .LVU608 1763 00b8 0368 ldr r3, [r0] 1764 00ba FF22 movs r2, #255 1765 00bc 5A62 str r2, [r3, #36] 1766 .loc 1 1047 3 view .LVU609 1048:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1049:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** hrtc->State = HAL_RTC_STATE_READY; 1767 .loc 1 1049 3 view .LVU610 1768 .loc 1 1049 15 is_stmt 0 view .LVU611 1769 00be 0123 movs r3, #1 1770 00c0 4377 strb r3, [r0, #29] 1050:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1051:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Process Unlocked */ 1052:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_UNLOCK(hrtc); 1771 .loc 1 1052 3 is_stmt 1 view .LVU612 1772 .loc 1 1052 3 view .LVU613 1773 00c2 0023 movs r3, #0 1774 00c4 0377 strb r3, [r0, #28] 1775 .loc 1 1052 3 view .LVU614 1053:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1054:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** return HAL_OK; 1776 .loc 1 1054 3 view .LVU615 1777 .loc 1 1054 10 is_stmt 0 view .LVU616 1778 00c6 1846 mov r0, r3 1779 .LVL118: 1780 .loc 1 1054 10 view .LVU617 1781 00c8 0FE0 b .L102 1782 .LVL119: 1783 .L110: 988:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1784 .loc 1 988 9 is_stmt 1 view .LVU618 988:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1785 .loc 1 988 9 view .LVU619 1786 00ca FF23 movs r3, #255 1787 00cc 6B62 str r3, [r5, #36] 988:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1788 .loc 1 988 9 view .LVU620 ARM GAS /tmp/ccAvd9CD.s page 52 990:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1789 .loc 1 990 9 view .LVU621 990:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1790 .loc 1 990 21 is_stmt 0 view .LVU622 1791 00ce 0323 movs r3, #3 1792 00d0 4377 strb r3, [r0, #29] 993:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1793 .loc 1 993 9 is_stmt 1 view .LVU623 993:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1794 .loc 1 993 9 view .LVU624 1795 00d2 0022 movs r2, #0 1796 .LVL120: 993:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1797 .loc 1 993 9 is_stmt 0 view .LVU625 1798 00d4 0277 strb r2, [r0, #28] 993:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1799 .loc 1 993 9 is_stmt 1 view .LVU626 995:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 1800 .loc 1 995 9 view .LVU627 995:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 1801 .loc 1 995 16 is_stmt 0 view .LVU628 1802 00d6 1846 mov r0, r3 1803 .LVL121: 995:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 1804 .loc 1 995 16 view .LVU629 1805 00d8 07E0 b .L102 1806 .LVL122: 1807 .L111: 1016:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1808 .loc 1 1016 7 is_stmt 1 view .LVU630 1016:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1809 .loc 1 1016 7 view .LVU631 1810 00da 0368 ldr r3, [r0] 1811 00dc FF22 movs r2, #255 1812 .LVL123: 1016:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1813 .loc 1 1016 7 is_stmt 0 view .LVU632 1814 00de 5A62 str r2, [r3, #36] 1016:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1815 .loc 1 1016 7 is_stmt 1 view .LVU633 1018:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1816 .loc 1 1018 7 view .LVU634 1018:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1817 .loc 1 1018 19 is_stmt 0 view .LVU635 1818 00e0 0323 movs r3, #3 1819 00e2 4377 strb r3, [r0, #29] 1021:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1820 .loc 1 1021 7 is_stmt 1 view .LVU636 1021:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1821 .loc 1 1021 7 view .LVU637 1822 00e4 0022 movs r2, #0 1823 00e6 0277 strb r2, [r0, #28] 1021:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1824 .loc 1 1021 7 view .LVU638 1023:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 1825 .loc 1 1023 7 view .LVU639 1023:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } ARM GAS /tmp/ccAvd9CD.s page 53 1826 .loc 1 1023 14 is_stmt 0 view .LVU640 1827 00e8 1846 mov r0, r3 1828 .LVL124: 1829 .L102: 1055:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 1830 .loc 1 1055 1 view .LVU641 1831 00ea 02B0 add sp, sp, #8 1832 .LCFI22: 1833 .cfi_remember_state 1834 .cfi_def_cfa_offset 8 1835 @ sp needed 1836 00ec 30BC pop {r4, r5} 1837 .LCFI23: 1838 .cfi_restore 5 1839 .cfi_restore 4 1840 .cfi_def_cfa_offset 0 1841 00ee 7047 bx lr 1842 .LVL125: 1843 .L108: 1844 .LCFI24: 1845 .cfi_restore_state 971:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1846 .loc 1 971 3 view .LVU642 1847 00f0 0220 movs r0, #2 1848 .LVL126: 971:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1849 .loc 1 971 3 view .LVU643 1850 00f2 FAE7 b .L102 1851 .L113: 1852 .align 2 1853 .L112: 1854 00f4 00000000 .word SystemCoreClock 1855 00f8 D34D6210 .word 274877907 1856 00fc 003C0140 .word 1073822720 1857 .cfi_endproc 1858 .LFE149: 1860 .section .text.HAL_RTCEx_DeactivateWakeUpTimer,"ax",%progbits 1861 .align 1 1862 .global HAL_RTCEx_DeactivateWakeUpTimer 1863 .syntax unified 1864 .thumb 1865 .thumb_func 1867 HAL_RTCEx_DeactivateWakeUpTimer: 1868 .LVL127: 1869 .LFB150: 1056:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1057:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /** 1058:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @brief Deactivates wakeup timer counter. 1059:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @param hrtc pointer to a RTC_HandleTypeDef structure that contains 1060:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * the configuration information for RTC. 1061:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @retval HAL status 1062:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** */ 1063:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** HAL_StatusTypeDef HAL_RTCEx_DeactivateWakeUpTimer(RTC_HandleTypeDef *hrtc) 1064:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 1870 .loc 1 1064 1 is_stmt 1 view -0 1871 .cfi_startproc 1872 @ args = 0, pretend = 0, frame = 0 ARM GAS /tmp/ccAvd9CD.s page 54 1873 @ frame_needed = 0, uses_anonymous_args = 0 1874 .loc 1 1064 1 is_stmt 0 view .LVU645 1875 0000 38B5 push {r3, r4, r5, lr} 1876 .LCFI25: 1877 .cfi_def_cfa_offset 16 1878 .cfi_offset 3, -16 1879 .cfi_offset 4, -12 1880 .cfi_offset 5, -8 1881 .cfi_offset 14, -4 1065:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** uint32_t tickstart = 0U; 1882 .loc 1 1065 3 is_stmt 1 view .LVU646 1883 .LVL128: 1066:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1067:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Process Locked */ 1068:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_LOCK(hrtc); 1884 .loc 1 1068 3 view .LVU647 1885 .loc 1 1068 3 view .LVU648 1886 0002 037F ldrb r3, [r0, #28] @ zero_extendqisi2 1887 0004 012B cmp r3, #1 1888 0006 31D0 beq .L118 1889 0008 0446 mov r4, r0 1890 .loc 1 1068 3 discriminator 2 view .LVU649 1891 000a 0123 movs r3, #1 1892 000c 0377 strb r3, [r0, #28] 1893 .loc 1 1068 3 discriminator 2 view .LVU650 1069:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1070:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** hrtc->State = HAL_RTC_STATE_BUSY; 1894 .loc 1 1070 3 discriminator 2 view .LVU651 1895 .loc 1 1070 15 is_stmt 0 discriminator 2 view .LVU652 1896 000e 0223 movs r3, #2 1897 0010 4377 strb r3, [r0, #29] 1071:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1072:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Disable the write protection for RTC registers */ 1073:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_RTC_WRITEPROTECTION_DISABLE(hrtc); 1898 .loc 1 1073 3 is_stmt 1 discriminator 2 view .LVU653 1899 .loc 1 1073 3 discriminator 2 view .LVU654 1900 0012 0368 ldr r3, [r0] 1901 0014 CA22 movs r2, #202 1902 0016 5A62 str r2, [r3, #36] 1903 .loc 1 1073 3 discriminator 2 view .LVU655 1904 0018 0368 ldr r3, [r0] 1905 001a 5322 movs r2, #83 1906 001c 5A62 str r2, [r3, #36] 1907 .loc 1 1073 3 discriminator 2 view .LVU656 1074:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1075:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Disable the Wakeup Timer */ 1076:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_RTC_WAKEUPTIMER_DISABLE(hrtc); 1908 .loc 1 1076 3 discriminator 2 view .LVU657 1909 001e 0268 ldr r2, [r0] 1910 0020 9368 ldr r3, [r2, #8] 1911 0022 23F48063 bic r3, r3, #1024 1912 0026 9360 str r3, [r2, #8] 1077:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1078:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* In case interrupt mode is used, the interrupt source must disabled */ 1079:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_RTC_WAKEUPTIMER_DISABLE_IT(hrtc, RTC_IT_WUT); 1913 .loc 1 1079 3 discriminator 2 view .LVU658 1914 0028 0268 ldr r2, [r0] ARM GAS /tmp/ccAvd9CD.s page 55 1915 002a 9368 ldr r3, [r2, #8] 1916 002c 23F48043 bic r3, r3, #16384 1917 0030 9360 str r3, [r2, #8] 1080:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1081:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Get tick */ 1082:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** tickstart = HAL_GetTick(); 1918 .loc 1 1082 3 discriminator 2 view .LVU659 1919 .loc 1 1082 15 is_stmt 0 discriminator 2 view .LVU660 1920 0032 FFF7FEFF bl HAL_GetTick 1921 .LVL129: 1922 .loc 1 1082 15 discriminator 2 view .LVU661 1923 0036 0546 mov r5, r0 1924 .LVL130: 1083:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1084:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Wait till RTC WUTWF flag is set and if timeout is reached exit */ 1085:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** while (__HAL_RTC_WAKEUPTIMER_GET_FLAG(hrtc, RTC_FLAG_WUTWF) == 0U) 1925 .loc 1 1085 3 is_stmt 1 discriminator 2 view .LVU662 1926 .L116: 1927 .loc 1 1085 9 view .LVU663 1928 .loc 1 1085 10 is_stmt 0 view .LVU664 1929 0038 2368 ldr r3, [r4] 1930 003a DA68 ldr r2, [r3, #12] 1931 .loc 1 1085 9 view .LVU665 1932 003c 12F0040F tst r2, #4 1933 0040 0DD1 bne .L120 1086:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 1087:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** if ((HAL_GetTick() - tickstart) > RTC_TIMEOUT_VALUE) 1934 .loc 1 1087 5 is_stmt 1 view .LVU666 1935 .loc 1 1087 10 is_stmt 0 view .LVU667 1936 0042 FFF7FEFF bl HAL_GetTick 1937 .LVL131: 1938 .loc 1 1087 24 view .LVU668 1939 0046 431B subs r3, r0, r5 1940 .loc 1 1087 8 view .LVU669 1941 0048 B3F57A7F cmp r3, #1000 1942 004c F4D9 bls .L116 1088:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 1089:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Enable the write protection for RTC registers */ 1090:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); 1943 .loc 1 1090 7 is_stmt 1 view .LVU670 1944 .loc 1 1090 7 view .LVU671 1945 004e 2368 ldr r3, [r4] 1946 0050 FF22 movs r2, #255 1947 0052 5A62 str r2, [r3, #36] 1948 .loc 1 1090 7 view .LVU672 1091:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1092:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** hrtc->State = HAL_RTC_STATE_TIMEOUT; 1949 .loc 1 1092 7 view .LVU673 1950 .loc 1 1092 19 is_stmt 0 view .LVU674 1951 0054 0320 movs r0, #3 1952 0056 6077 strb r0, [r4, #29] 1093:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1094:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Process Unlocked */ 1095:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_UNLOCK(hrtc); 1953 .loc 1 1095 7 is_stmt 1 view .LVU675 1954 .loc 1 1095 7 view .LVU676 1955 0058 0023 movs r3, #0 ARM GAS /tmp/ccAvd9CD.s page 56 1956 005a 2377 strb r3, [r4, #28] 1957 .loc 1 1095 7 view .LVU677 1096:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1097:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** return HAL_TIMEOUT; 1958 .loc 1 1097 7 view .LVU678 1959 .loc 1 1097 14 is_stmt 0 view .LVU679 1960 005c 05E0 b .L115 1961 .L120: 1098:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 1099:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 1100:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1101:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Enable the write protection for RTC registers */ 1102:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); 1962 .loc 1 1102 3 is_stmt 1 view .LVU680 1963 .loc 1 1102 3 view .LVU681 1964 005e FF22 movs r2, #255 1965 0060 5A62 str r2, [r3, #36] 1966 .loc 1 1102 3 view .LVU682 1103:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1104:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** hrtc->State = HAL_RTC_STATE_READY; 1967 .loc 1 1104 3 view .LVU683 1968 .loc 1 1104 15 is_stmt 0 view .LVU684 1969 0062 0123 movs r3, #1 1970 0064 6377 strb r3, [r4, #29] 1105:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1106:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Process Unlocked */ 1107:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_UNLOCK(hrtc); 1971 .loc 1 1107 3 is_stmt 1 view .LVU685 1972 .loc 1 1107 3 view .LVU686 1973 0066 0020 movs r0, #0 1974 0068 2077 strb r0, [r4, #28] 1975 .loc 1 1107 3 view .LVU687 1108:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1109:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** return HAL_OK; 1976 .loc 1 1109 3 view .LVU688 1977 .LVL132: 1978 .L115: 1110:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 1979 .loc 1 1110 1 is_stmt 0 view .LVU689 1980 006a 38BD pop {r3, r4, r5, pc} 1981 .LVL133: 1982 .L118: 1068:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1983 .loc 1 1068 3 view .LVU690 1984 006c 0220 movs r0, #2 1985 .LVL134: 1068:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1986 .loc 1 1068 3 view .LVU691 1987 006e FCE7 b .L115 1988 .cfi_endproc 1989 .LFE150: 1991 .section .text.HAL_RTCEx_GetWakeUpTimer,"ax",%progbits 1992 .align 1 1993 .global HAL_RTCEx_GetWakeUpTimer 1994 .syntax unified 1995 .thumb 1996 .thumb_func ARM GAS /tmp/ccAvd9CD.s page 57 1998 HAL_RTCEx_GetWakeUpTimer: 1999 .LVL135: 2000 .LFB151: 1111:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1112:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /** 1113:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @brief Gets wakeup timer counter. 1114:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @param hrtc pointer to a RTC_HandleTypeDef structure that contains 1115:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * the configuration information for RTC. 1116:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @retval Counter value 1117:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** */ 1118:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** uint32_t HAL_RTCEx_GetWakeUpTimer(RTC_HandleTypeDef *hrtc) 1119:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 2001 .loc 1 1119 1 is_stmt 1 view -0 2002 .cfi_startproc 2003 @ args = 0, pretend = 0, frame = 0 2004 @ frame_needed = 0, uses_anonymous_args = 0 2005 @ link register save eliminated. 1120:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Get the counter value */ 1121:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** return ((uint32_t)(hrtc->Instance->WUTR & RTC_WUTR_WUT)); 2006 .loc 1 1121 3 view .LVU693 2007 .loc 1 1121 26 is_stmt 0 view .LVU694 2008 0000 0368 ldr r3, [r0] 2009 .loc 1 1121 36 view .LVU695 2010 0002 5869 ldr r0, [r3, #20] 2011 .LVL136: 1122:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 2012 .loc 1 1122 1 view .LVU696 2013 0004 80B2 uxth r0, r0 2014 0006 7047 bx lr 2015 .cfi_endproc 2016 .LFE151: 2018 .section .text.HAL_RTCEx_WakeUpTimerEventCallback,"ax",%progbits 2019 .align 1 2020 .weak HAL_RTCEx_WakeUpTimerEventCallback 2021 .syntax unified 2022 .thumb 2023 .thumb_func 2025 HAL_RTCEx_WakeUpTimerEventCallback: 2026 .LVL137: 2027 .LFB153: 1123:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1124:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /** 1125:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @brief Handles Wakeup Timer interrupt request. 1126:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @note Unlike alarm interrupt line (shared by Alarms A and B) or tamper 1127:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * interrupt line (shared by timestamp and tampers) wakeup timer 1128:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * interrupt line is exclusive to the wakeup timer. 1129:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * There is no need in this case to check on the interrupt enable 1130:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * status via __HAL_RTC_WAKEUPTIMER_GET_IT_SOURCE(). 1131:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @param hrtc pointer to a RTC_HandleTypeDef structure that contains 1132:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * the configuration information for RTC. 1133:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @retval None 1134:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** */ 1135:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** void HAL_RTCEx_WakeUpTimerIRQHandler(RTC_HandleTypeDef *hrtc) 1136:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 1137:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Clear the EXTI flag associated to the RTC Wakeup Timer interrupt */ 1138:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_RTC_WAKEUPTIMER_EXTI_CLEAR_FLAG(); 1139:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** ARM GAS /tmp/ccAvd9CD.s page 58 1140:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Get the pending status of the Wakeup timer Interrupt */ 1141:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** if (__HAL_RTC_WAKEUPTIMER_GET_FLAG(hrtc, RTC_FLAG_WUTF) != 0U) 1142:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 1143:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Clear the Wakeup timer interrupt pending bit */ 1144:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_RTC_WAKEUPTIMER_CLEAR_FLAG(hrtc, RTC_FLAG_WUTF); 1145:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1146:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Wakeup timer callback */ 1147:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** #if (USE_HAL_RTC_REGISTER_CALLBACKS == 1) 1148:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** hrtc->WakeUpTimerEventCallback(hrtc); 1149:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** #else 1150:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** HAL_RTCEx_WakeUpTimerEventCallback(hrtc); 1151:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** #endif /* USE_HAL_RTC_REGISTER_CALLBACKS */ 1152:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 1153:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1154:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Change RTC state */ 1155:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** hrtc->State = HAL_RTC_STATE_READY; 1156:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 1157:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1158:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /** 1159:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @brief Wakeup Timer callback. 1160:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @param hrtc pointer to a RTC_HandleTypeDef structure that contains 1161:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * the configuration information for RTC. 1162:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @retval None 1163:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** */ 1164:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __weak void HAL_RTCEx_WakeUpTimerEventCallback(RTC_HandleTypeDef *hrtc) 1165:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 2028 .loc 1 1165 1 is_stmt 1 view -0 2029 .cfi_startproc 2030 @ args = 0, pretend = 0, frame = 0 2031 @ frame_needed = 0, uses_anonymous_args = 0 2032 @ link register save eliminated. 1166:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Prevent unused argument(s) compilation warning */ 1167:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** UNUSED(hrtc); 2033 .loc 1 1167 3 view .LVU698 1168:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1169:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* NOTE: This function should not be modified, when the callback is needed, 1170:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** the HAL_RTCEx_WakeUpTimerEventCallback could be implemented in the user file 1171:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** */ 1172:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 2034 .loc 1 1172 1 is_stmt 0 view .LVU699 2035 0000 7047 bx lr 2036 .cfi_endproc 2037 .LFE153: 2039 .section .text.HAL_RTCEx_WakeUpTimerIRQHandler,"ax",%progbits 2040 .align 1 2041 .global HAL_RTCEx_WakeUpTimerIRQHandler 2042 .syntax unified 2043 .thumb 2044 .thumb_func 2046 HAL_RTCEx_WakeUpTimerIRQHandler: 2047 .LVL138: 2048 .LFB152: 1136:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Clear the EXTI flag associated to the RTC Wakeup Timer interrupt */ 2049 .loc 1 1136 1 is_stmt 1 view -0 2050 .cfi_startproc 2051 @ args = 0, pretend = 0, frame = 0 2052 @ frame_needed = 0, uses_anonymous_args = 0 ARM GAS /tmp/ccAvd9CD.s page 59 1136:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Clear the EXTI flag associated to the RTC Wakeup Timer interrupt */ 2053 .loc 1 1136 1 is_stmt 0 view .LVU701 2054 0000 10B5 push {r4, lr} 2055 .LCFI26: 2056 .cfi_def_cfa_offset 8 2057 .cfi_offset 4, -8 2058 .cfi_offset 14, -4 2059 0002 0446 mov r4, r0 1138:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 2060 .loc 1 1138 3 is_stmt 1 view .LVU702 2061 0004 094B ldr r3, .L127 2062 0006 4FF48002 mov r2, #4194304 2063 000a 5A61 str r2, [r3, #20] 1141:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 2064 .loc 1 1141 3 view .LVU703 1141:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 2065 .loc 1 1141 7 is_stmt 0 view .LVU704 2066 000c 0368 ldr r3, [r0] 2067 000e DA68 ldr r2, [r3, #12] 1141:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 2068 .loc 1 1141 6 view .LVU705 2069 0010 12F4806F tst r2, #1024 2070 0014 02D1 bne .L126 2071 .LVL139: 2072 .L124: 1155:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 2073 .loc 1 1155 3 is_stmt 1 view .LVU706 1155:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 2074 .loc 1 1155 15 is_stmt 0 view .LVU707 2075 0016 0123 movs r3, #1 2076 0018 6377 strb r3, [r4, #29] 1156:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 2077 .loc 1 1156 1 view .LVU708 2078 001a 10BD pop {r4, pc} 2079 .LVL140: 2080 .L126: 1144:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 2081 .loc 1 1144 5 is_stmt 1 view .LVU709 2082 001c DA68 ldr r2, [r3, #12] 2083 001e D2B2 uxtb r2, r2 2084 0020 62F49062 orn r2, r2, #1152 2085 0024 DA60 str r2, [r3, #12] 1150:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** #endif /* USE_HAL_RTC_REGISTER_CALLBACKS */ 2086 .loc 1 1150 5 view .LVU710 2087 0026 FFF7FEFF bl HAL_RTCEx_WakeUpTimerEventCallback 2088 .LVL141: 1150:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** #endif /* USE_HAL_RTC_REGISTER_CALLBACKS */ 2089 .loc 1 1150 5 is_stmt 0 view .LVU711 2090 002a F4E7 b .L124 2091 .L128: 2092 .align 2 2093 .L127: 2094 002c 003C0140 .word 1073822720 2095 .cfi_endproc 2096 .LFE152: 2098 .section .text.HAL_RTCEx_PollForWakeUpTimerEvent,"ax",%progbits 2099 .align 1 ARM GAS /tmp/ccAvd9CD.s page 60 2100 .global HAL_RTCEx_PollForWakeUpTimerEvent 2101 .syntax unified 2102 .thumb 2103 .thumb_func 2105 HAL_RTCEx_PollForWakeUpTimerEvent: 2106 .LVL142: 2107 .LFB154: 1173:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1174:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /** 1175:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @brief Handles Wakeup Timer Polling. 1176:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @param hrtc pointer to a RTC_HandleTypeDef structure that contains 1177:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * the configuration information for RTC. 1178:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @param Timeout Timeout duration 1179:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @retval HAL status 1180:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** */ 1181:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** HAL_StatusTypeDef HAL_RTCEx_PollForWakeUpTimerEvent(RTC_HandleTypeDef *hrtc, uint32_t Timeout) 1182:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 2108 .loc 1 1182 1 is_stmt 1 view -0 2109 .cfi_startproc 2110 @ args = 0, pretend = 0, frame = 0 2111 @ frame_needed = 0, uses_anonymous_args = 0 2112 .loc 1 1182 1 is_stmt 0 view .LVU713 2113 0000 70B5 push {r4, r5, r6, lr} 2114 .LCFI27: 2115 .cfi_def_cfa_offset 16 2116 .cfi_offset 4, -16 2117 .cfi_offset 5, -12 2118 .cfi_offset 6, -8 2119 .cfi_offset 14, -4 2120 0002 0446 mov r4, r0 2121 0004 0D46 mov r5, r1 1183:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** uint32_t tickstart = 0U; 2122 .loc 1 1183 3 is_stmt 1 view .LVU714 2123 .LVL143: 1184:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1185:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Get tick */ 1186:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** tickstart = HAL_GetTick(); 2124 .loc 1 1186 3 view .LVU715 2125 .loc 1 1186 15 is_stmt 0 view .LVU716 2126 0006 FFF7FEFF bl HAL_GetTick 2127 .LVL144: 2128 .loc 1 1186 15 view .LVU717 2129 000a 0646 mov r6, r0 2130 .LVL145: 1187:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1188:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** while (__HAL_RTC_WAKEUPTIMER_GET_FLAG(hrtc, RTC_FLAG_WUTF) == 0U) 2131 .loc 1 1188 3 is_stmt 1 view .LVU718 2132 .L131: 2133 .loc 1 1188 9 view .LVU719 2134 .loc 1 1188 10 is_stmt 0 view .LVU720 2135 000c 2368 ldr r3, [r4] 2136 000e DA68 ldr r2, [r3, #12] 2137 .loc 1 1188 9 view .LVU721 2138 0010 12F4806F tst r2, #1024 2139 0014 0BD1 bne .L136 1189:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 1190:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** if (Timeout != HAL_MAX_DELAY) ARM GAS /tmp/ccAvd9CD.s page 61 2140 .loc 1 1190 5 is_stmt 1 view .LVU722 2141 .loc 1 1190 8 is_stmt 0 view .LVU723 2142 0016 B5F1FF3F cmp r5, #-1 2143 001a F7D0 beq .L131 1191:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 1192:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** if ((Timeout == 0U) || ((HAL_GetTick() - tickstart) > Timeout)) 2144 .loc 1 1192 7 is_stmt 1 view .LVU724 2145 .loc 1 1192 10 is_stmt 0 view .LVU725 2146 001c 25B1 cbz r5, .L132 2147 .loc 1 1192 32 discriminator 1 view .LVU726 2148 001e FFF7FEFF bl HAL_GetTick 2149 .LVL146: 2150 .loc 1 1192 46 discriminator 1 view .LVU727 2151 0022 801B subs r0, r0, r6 2152 .loc 1 1192 27 discriminator 1 view .LVU728 2153 0024 A842 cmp r0, r5 2154 0026 F1D9 bls .L131 2155 .L132: 1193:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 1194:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** hrtc->State = HAL_RTC_STATE_TIMEOUT; 2156 .loc 1 1194 9 is_stmt 1 view .LVU729 2157 .loc 1 1194 21 is_stmt 0 view .LVU730 2158 0028 0320 movs r0, #3 2159 002a 6077 strb r0, [r4, #29] 1195:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** return HAL_TIMEOUT; 2160 .loc 1 1195 9 is_stmt 1 view .LVU731 2161 .loc 1 1195 16 is_stmt 0 view .LVU732 2162 002c 07E0 b .L133 2163 .L136: 1196:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 1197:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 1198:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 1199:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1200:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Clear the Wakeup timer Flag */ 1201:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_RTC_WAKEUPTIMER_CLEAR_FLAG(hrtc, RTC_FLAG_WUTF); 2164 .loc 1 1201 3 is_stmt 1 view .LVU733 2165 002e DA68 ldr r2, [r3, #12] 2166 0030 D2B2 uxtb r2, r2 2167 0032 62F49062 orn r2, r2, #1152 2168 0036 DA60 str r2, [r3, #12] 1202:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1203:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Change RTC state */ 1204:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** hrtc->State = HAL_RTC_STATE_READY; 2169 .loc 1 1204 3 view .LVU734 2170 .loc 1 1204 15 is_stmt 0 view .LVU735 2171 0038 0123 movs r3, #1 2172 003a 6377 strb r3, [r4, #29] 1205:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1206:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** return HAL_OK; 2173 .loc 1 1206 3 is_stmt 1 view .LVU736 2174 .loc 1 1206 10 is_stmt 0 view .LVU737 2175 003c 0020 movs r0, #0 2176 .L133: 1207:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 2177 .loc 1 1207 1 view .LVU738 2178 003e 70BD pop {r4, r5, r6, pc} 2179 .loc 1 1207 1 view .LVU739 ARM GAS /tmp/ccAvd9CD.s page 62 2180 .cfi_endproc 2181 .LFE154: 2183 .section .text.HAL_RTCEx_BKUPWrite,"ax",%progbits 2184 .align 1 2185 .global HAL_RTCEx_BKUPWrite 2186 .syntax unified 2187 .thumb 2188 .thumb_func 2190 HAL_RTCEx_BKUPWrite: 2191 .LVL147: 2192 .LFB155: 1208:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1209:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /** 1210:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @} 1211:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** */ 1212:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1213:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /** @defgroup RTCEx_Exported_Functions_Group3 Extended Peripheral Control functions 1214:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @brief Extended Peripheral Control functions 1215:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * 1216:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** @verbatim 1217:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** =============================================================================== 1218:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** ##### Extended Peripheral Control functions ##### 1219:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** =============================================================================== 1220:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** [..] 1221:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** This subsection provides functions allowing to 1222:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** (+) Write a data in a specified RTC Backup data register 1223:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** (+) Read a data in a specified RTC Backup data register 1224:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** (+) Set the Coarse calibration parameters. 1225:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** (+) Deactivate the Coarse calibration parameters 1226:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** (+) Set the Smooth calibration parameters. 1227:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** (+) Configure the Synchronization Shift Control Settings. 1228:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** (+) Configure the Calibration Pinout (RTC_CALIB) Selection (1Hz or 512Hz). 1229:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** (+) Deactivate the Calibration Pinout (RTC_CALIB) Selection (1Hz or 512Hz). 1230:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** (+) Enable the RTC reference clock detection. 1231:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** (+) Disable the RTC reference clock detection. 1232:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** (+) Enable the Bypass Shadow feature. 1233:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** (+) Disable the Bypass Shadow feature. 1234:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1235:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** @endverbatim 1236:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @{ 1237:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** */ 1238:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1239:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /** 1240:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @brief Writes a data in a specified RTC Backup data register. 1241:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @param hrtc pointer to a RTC_HandleTypeDef structure that contains 1242:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * the configuration information for RTC. 1243:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @param BackupRegister RTC Backup data Register number. 1244:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * This parameter can be: RTC_BKP_DRx (where x can be from 0 to 19) 1245:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * to specify the register. 1246:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @param Data Data to be written in the specified RTC Backup data register. 1247:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @retval None 1248:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** */ 1249:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** void HAL_RTCEx_BKUPWrite(RTC_HandleTypeDef *hrtc, uint32_t BackupRegister, uint32_t Data) 1250:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 2193 .loc 1 1250 1 is_stmt 1 view -0 2194 .cfi_startproc 2195 @ args = 0, pretend = 0, frame = 0 ARM GAS /tmp/ccAvd9CD.s page 63 2196 @ frame_needed = 0, uses_anonymous_args = 0 2197 @ link register save eliminated. 1251:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** uint32_t tmp = 0U; 2198 .loc 1 1251 3 view .LVU741 1252:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1253:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Check the parameters */ 1254:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** assert_param(IS_RTC_BKP(BackupRegister)); 2199 .loc 1 1254 3 view .LVU742 1255:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1256:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** tmp = (uint32_t) &(hrtc->Instance->BKP0R); 2200 .loc 1 1256 3 view .LVU743 2201 .loc 1 1256 26 is_stmt 0 view .LVU744 2202 0000 0368 ldr r3, [r0] 2203 .loc 1 1256 20 view .LVU745 2204 0002 5033 adds r3, r3, #80 2205 .LVL148: 1257:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** tmp += (BackupRegister * 4U); 2206 .loc 1 1257 3 is_stmt 1 view .LVU746 1258:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1259:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Write the specified register */ 1260:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** *(__IO uint32_t *)tmp = (uint32_t)Data; 2207 .loc 1 1260 3 view .LVU747 2208 .loc 1 1260 25 is_stmt 0 view .LVU748 2209 0004 43F82120 str r2, [r3, r1, lsl #2] 1261:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 2210 .loc 1 1261 1 view .LVU749 2211 0008 7047 bx lr 2212 .cfi_endproc 2213 .LFE155: 2215 .section .text.HAL_RTCEx_BKUPRead,"ax",%progbits 2216 .align 1 2217 .global HAL_RTCEx_BKUPRead 2218 .syntax unified 2219 .thumb 2220 .thumb_func 2222 HAL_RTCEx_BKUPRead: 2223 .LVL149: 2224 .LFB156: 1262:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1263:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /** 1264:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @brief Reads data from the specified RTC Backup data Register. 1265:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @param hrtc pointer to a RTC_HandleTypeDef structure that contains 1266:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * the configuration information for RTC. 1267:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @param BackupRegister RTC Backup data Register number. 1268:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * This parameter can be: RTC_BKP_DRx (where x can be from 0 to 19) 1269:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * to specify the register. 1270:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @retval Read value 1271:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** */ 1272:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** uint32_t HAL_RTCEx_BKUPRead(RTC_HandleTypeDef *hrtc, uint32_t BackupRegister) 1273:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 2225 .loc 1 1273 1 is_stmt 1 view -0 2226 .cfi_startproc 2227 @ args = 0, pretend = 0, frame = 0 2228 @ frame_needed = 0, uses_anonymous_args = 0 2229 @ link register save eliminated. 1274:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** uint32_t tmp = 0U; 2230 .loc 1 1274 3 view .LVU751 ARM GAS /tmp/ccAvd9CD.s page 64 1275:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1276:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Check the parameters */ 1277:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** assert_param(IS_RTC_BKP(BackupRegister)); 2231 .loc 1 1277 3 view .LVU752 1278:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1279:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** tmp = (uint32_t) &(hrtc->Instance->BKP0R); 2232 .loc 1 1279 3 view .LVU753 2233 .loc 1 1279 26 is_stmt 0 view .LVU754 2234 0000 0368 ldr r3, [r0] 2235 .loc 1 1279 20 view .LVU755 2236 0002 5033 adds r3, r3, #80 2237 .LVL150: 1280:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** tmp += (BackupRegister * 4U); 2238 .loc 1 1280 3 is_stmt 1 view .LVU756 1281:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1282:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Read the specified register */ 1283:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** return (*(__IO uint32_t *)tmp); 2239 .loc 1 1283 3 view .LVU757 2240 .loc 1 1283 11 is_stmt 0 view .LVU758 2241 0004 53F82100 ldr r0, [r3, r1, lsl #2] 2242 .LVL151: 1284:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 2243 .loc 1 1284 1 view .LVU759 2244 0008 7047 bx lr 2245 .cfi_endproc 2246 .LFE156: 2248 .section .text.HAL_RTCEx_SetCoarseCalib,"ax",%progbits 2249 .align 1 2250 .global HAL_RTCEx_SetCoarseCalib 2251 .syntax unified 2252 .thumb 2253 .thumb_func 2255 HAL_RTCEx_SetCoarseCalib: 2256 .LVL152: 2257 .LFB157: 1285:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1286:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /** 1287:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @brief Sets the Coarse calibration parameters. 1288:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @param hrtc pointer to a RTC_HandleTypeDef structure that contains 1289:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * the configuration information for RTC. 1290:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @param CalibSign Specifies the sign of the coarse calibration value. 1291:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * This parameter can be one of the following values: 1292:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @arg RTC_CALIBSIGN_POSITIVE: The value sign is positive 1293:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @arg RTC_CALIBSIGN_NEGATIVE: The value sign is negative 1294:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @param Value value of coarse calibration expressed in ppm (coded on 5 bits). 1295:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * 1296:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @note This Calibration value should be between 0 and 63 when using negative 1297:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * sign with a 2-ppm step. 1298:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * 1299:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @note This Calibration value should be between 0 and 126 when using positive 1300:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * sign with a 4-ppm step. 1301:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @retval HAL status 1302:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** */ 1303:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** HAL_StatusTypeDef HAL_RTCEx_SetCoarseCalib(RTC_HandleTypeDef *hrtc, uint32_t CalibSign, uint32_t Va 1304:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 2258 .loc 1 1304 1 is_stmt 1 view -0 2259 .cfi_startproc ARM GAS /tmp/ccAvd9CD.s page 65 2260 @ args = 0, pretend = 0, frame = 0 2261 @ frame_needed = 0, uses_anonymous_args = 0 1305:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** HAL_StatusTypeDef status; 2262 .loc 1 1305 3 view .LVU761 1306:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1307:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Check the parameters */ 1308:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** assert_param(IS_RTC_CALIB_SIGN(CalibSign)); 2263 .loc 1 1308 3 view .LVU762 1309:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** assert_param(IS_RTC_CALIB_VALUE(Value)); 2264 .loc 1 1309 3 view .LVU763 1310:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1311:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Process Locked */ 1312:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_LOCK(hrtc); 2265 .loc 1 1312 3 view .LVU764 2266 .loc 1 1312 3 view .LVU765 2267 0000 037F ldrb r3, [r0, #28] @ zero_extendqisi2 2268 0002 012B cmp r3, #1 2269 0004 25D0 beq .L143 1304:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** HAL_StatusTypeDef status; 2270 .loc 1 1304 1 is_stmt 0 discriminator 2 view .LVU766 2271 0006 70B5 push {r4, r5, r6, lr} 2272 .LCFI28: 2273 .cfi_def_cfa_offset 16 2274 .cfi_offset 4, -16 2275 .cfi_offset 5, -12 2276 .cfi_offset 6, -8 2277 .cfi_offset 14, -4 2278 0008 0446 mov r4, r0 2279 000a 0E46 mov r6, r1 2280 000c 1546 mov r5, r2 2281 .loc 1 1312 3 is_stmt 1 discriminator 2 view .LVU767 2282 000e 0123 movs r3, #1 2283 0010 0377 strb r3, [r0, #28] 2284 .loc 1 1312 3 discriminator 2 view .LVU768 1313:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1314:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** hrtc->State = HAL_RTC_STATE_BUSY; 2285 .loc 1 1314 3 discriminator 2 view .LVU769 2286 .loc 1 1314 15 is_stmt 0 discriminator 2 view .LVU770 2287 0012 0223 movs r3, #2 2288 0014 4377 strb r3, [r0, #29] 1315:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1316:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Disable the write protection for RTC registers */ 1317:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_RTC_WRITEPROTECTION_DISABLE(hrtc); 2289 .loc 1 1317 3 is_stmt 1 discriminator 2 view .LVU771 2290 .loc 1 1317 3 discriminator 2 view .LVU772 2291 0016 0368 ldr r3, [r0] 2292 0018 CA22 movs r2, #202 2293 .LVL153: 2294 .loc 1 1317 3 is_stmt 0 discriminator 2 view .LVU773 2295 001a 5A62 str r2, [r3, #36] 2296 .loc 1 1317 3 is_stmt 1 discriminator 2 view .LVU774 2297 001c 0368 ldr r3, [r0] 2298 001e 5322 movs r2, #83 2299 0020 5A62 str r2, [r3, #36] 2300 .loc 1 1317 3 discriminator 2 view .LVU775 1318:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1319:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Enter Initialization mode */ ARM GAS /tmp/ccAvd9CD.s page 66 1320:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** status = RTC_EnterInitMode(hrtc); 2301 .loc 1 1320 3 discriminator 2 view .LVU776 2302 .loc 1 1320 12 is_stmt 0 discriminator 2 view .LVU777 2303 0022 FFF7FEFF bl RTC_EnterInitMode 2304 .LVL154: 1321:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1322:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** if (status == HAL_OK) 2305 .loc 1 1322 3 is_stmt 1 discriminator 2 view .LVU778 2306 .loc 1 1322 6 is_stmt 0 discriminator 2 view .LVU779 2307 0026 40B1 cbz r0, .L148 2308 .LVL155: 2309 .L141: 1323:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 1324:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Enable the Coarse Calibration */ 1325:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_RTC_COARSE_CALIB_ENABLE(hrtc); 1326:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1327:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Set the coarse calibration value */ 1328:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** hrtc->Instance->CALIBR = (uint32_t)(CalibSign | Value); 1329:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1330:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Exit Initialization mode */ 1331:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** status = RTC_ExitInitMode(hrtc); 1332:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 1333:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1334:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** if (status == HAL_OK) 2310 .loc 1 1334 3 is_stmt 1 view .LVU780 2311 .loc 1 1334 6 is_stmt 0 view .LVU781 2312 0028 08B9 cbnz r0, .L142 1335:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 1336:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** hrtc->State = HAL_RTC_STATE_READY; 2313 .loc 1 1336 5 is_stmt 1 view .LVU782 2314 .loc 1 1336 17 is_stmt 0 view .LVU783 2315 002a 0123 movs r3, #1 2316 002c 6377 strb r3, [r4, #29] 2317 .L142: 1337:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 1338:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1339:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Enable the write protection for RTC registers */ 1340:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); 2318 .loc 1 1340 3 is_stmt 1 view .LVU784 2319 .loc 1 1340 3 view .LVU785 2320 002e 2368 ldr r3, [r4] 2321 0030 FF22 movs r2, #255 2322 0032 5A62 str r2, [r3, #36] 2323 .loc 1 1340 3 view .LVU786 1341:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1342:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Process Unlocked */ 1343:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_UNLOCK(hrtc); 2324 .loc 1 1343 3 view .LVU787 2325 .loc 1 1343 3 view .LVU788 2326 0034 0023 movs r3, #0 2327 0036 2377 strb r3, [r4, #28] 2328 .loc 1 1343 3 view .LVU789 1344:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1345:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** return status; 2329 .loc 1 1345 3 view .LVU790 1346:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 2330 .loc 1 1346 1 is_stmt 0 view .LVU791 ARM GAS /tmp/ccAvd9CD.s page 67 2331 0038 70BD pop {r4, r5, r6, pc} 2332 .LVL156: 2333 .L148: 1325:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 2334 .loc 1 1325 5 is_stmt 1 view .LVU792 2335 003a 2268 ldr r2, [r4] 2336 003c 9368 ldr r3, [r2, #8] 2337 003e 43F08003 orr r3, r3, #128 2338 0042 9360 str r3, [r2, #8] 1328:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 2339 .loc 1 1328 5 view .LVU793 1328:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 2340 .loc 1 1328 9 is_stmt 0 view .LVU794 2341 0044 2368 ldr r3, [r4] 1328:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 2342 .loc 1 1328 51 view .LVU795 2343 0046 3543 orrs r5, r5, r6 2344 .LVL157: 1328:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 2345 .loc 1 1328 28 view .LVU796 2346 0048 9D61 str r5, [r3, #24] 1331:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 2347 .loc 1 1331 5 is_stmt 1 view .LVU797 1331:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 2348 .loc 1 1331 14 is_stmt 0 view .LVU798 2349 004a 2046 mov r0, r4 2350 .LVL158: 1331:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 2351 .loc 1 1331 14 view .LVU799 2352 004c FFF7FEFF bl RTC_ExitInitMode 2353 .LVL159: 1331:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 2354 .loc 1 1331 14 view .LVU800 2355 0050 EAE7 b .L141 2356 .LVL160: 2357 .L143: 2358 .LCFI29: 2359 .cfi_def_cfa_offset 0 2360 .cfi_restore 4 2361 .cfi_restore 5 2362 .cfi_restore 6 2363 .cfi_restore 14 1312:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 2364 .loc 1 1312 3 view .LVU801 2365 0052 0220 movs r0, #2 2366 .LVL161: 2367 .loc 1 1346 1 view .LVU802 2368 0054 7047 bx lr 2369 .cfi_endproc 2370 .LFE157: 2372 .section .text.HAL_RTCEx_DeactivateCoarseCalib,"ax",%progbits 2373 .align 1 2374 .global HAL_RTCEx_DeactivateCoarseCalib 2375 .syntax unified 2376 .thumb 2377 .thumb_func 2379 HAL_RTCEx_DeactivateCoarseCalib: ARM GAS /tmp/ccAvd9CD.s page 68 2380 .LVL162: 2381 .LFB158: 1347:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1348:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /** 1349:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @brief Deactivates the Coarse calibration parameters. 1350:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @param hrtc pointer to a RTC_HandleTypeDef structure that contains 1351:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * the configuration information for RTC. 1352:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @retval HAL status 1353:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** */ 1354:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** HAL_StatusTypeDef HAL_RTCEx_DeactivateCoarseCalib(RTC_HandleTypeDef *hrtc) 1355:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 2382 .loc 1 1355 1 is_stmt 1 view -0 2383 .cfi_startproc 2384 @ args = 0, pretend = 0, frame = 0 2385 @ frame_needed = 0, uses_anonymous_args = 0 1356:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** HAL_StatusTypeDef status; 2386 .loc 1 1356 3 view .LVU804 1357:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1358:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Process Locked */ 1359:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_LOCK(hrtc); 2387 .loc 1 1359 3 view .LVU805 2388 .loc 1 1359 3 view .LVU806 2389 0000 037F ldrb r3, [r0, #28] @ zero_extendqisi2 2390 0002 012B cmp r3, #1 2391 0004 20D0 beq .L153 1355:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** HAL_StatusTypeDef status; 2392 .loc 1 1355 1 is_stmt 0 discriminator 2 view .LVU807 2393 0006 10B5 push {r4, lr} 2394 .LCFI30: 2395 .cfi_def_cfa_offset 8 2396 .cfi_offset 4, -8 2397 .cfi_offset 14, -4 2398 0008 0446 mov r4, r0 2399 .loc 1 1359 3 is_stmt 1 discriminator 2 view .LVU808 2400 000a 0123 movs r3, #1 2401 000c 0377 strb r3, [r0, #28] 2402 .loc 1 1359 3 discriminator 2 view .LVU809 1360:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1361:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** hrtc->State = HAL_RTC_STATE_BUSY; 2403 .loc 1 1361 3 discriminator 2 view .LVU810 2404 .loc 1 1361 15 is_stmt 0 discriminator 2 view .LVU811 2405 000e 0223 movs r3, #2 2406 0010 4377 strb r3, [r0, #29] 1362:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1363:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Disable the write protection for RTC registers */ 1364:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_RTC_WRITEPROTECTION_DISABLE(hrtc); 2407 .loc 1 1364 3 is_stmt 1 discriminator 2 view .LVU812 2408 .loc 1 1364 3 discriminator 2 view .LVU813 2409 0012 0368 ldr r3, [r0] 2410 0014 CA22 movs r2, #202 2411 0016 5A62 str r2, [r3, #36] 2412 .loc 1 1364 3 discriminator 2 view .LVU814 2413 0018 0368 ldr r3, [r0] 2414 001a 5322 movs r2, #83 2415 001c 5A62 str r2, [r3, #36] 2416 .loc 1 1364 3 discriminator 2 view .LVU815 1365:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** ARM GAS /tmp/ccAvd9CD.s page 69 1366:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Enter Initialization mode */ 1367:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** status = RTC_EnterInitMode(hrtc); 2417 .loc 1 1367 3 discriminator 2 view .LVU816 2418 .loc 1 1367 12 is_stmt 0 discriminator 2 view .LVU817 2419 001e FFF7FEFF bl RTC_EnterInitMode 2420 .LVL163: 1368:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1369:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** if (status == HAL_OK) 2421 .loc 1 1369 3 is_stmt 1 discriminator 2 view .LVU818 2422 .loc 1 1369 6 is_stmt 0 discriminator 2 view .LVU819 2423 0022 40B1 cbz r0, .L158 2424 .L151: 1370:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 1371:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Disable the Coarse Calibration */ 1372:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_RTC_COARSE_CALIB_DISABLE(hrtc); 1373:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1374:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Exit Initialization mode */ 1375:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** status = RTC_ExitInitMode(hrtc); 1376:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 1377:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1378:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** if (status == HAL_OK) 2425 .loc 1 1378 3 is_stmt 1 view .LVU820 2426 .loc 1 1378 6 is_stmt 0 view .LVU821 2427 0024 08B9 cbnz r0, .L152 1379:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 1380:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** hrtc->State = HAL_RTC_STATE_READY; 2428 .loc 1 1380 5 is_stmt 1 view .LVU822 2429 .loc 1 1380 17 is_stmt 0 view .LVU823 2430 0026 0123 movs r3, #1 2431 0028 6377 strb r3, [r4, #29] 2432 .L152: 1381:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 1382:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1383:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Enable the write protection for RTC registers */ 1384:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); 2433 .loc 1 1384 3 is_stmt 1 view .LVU824 2434 .loc 1 1384 3 view .LVU825 2435 002a 2368 ldr r3, [r4] 2436 002c FF22 movs r2, #255 2437 002e 5A62 str r2, [r3, #36] 2438 .loc 1 1384 3 view .LVU826 1385:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1386:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Process Unlocked */ 1387:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_UNLOCK(hrtc); 2439 .loc 1 1387 3 view .LVU827 2440 .loc 1 1387 3 view .LVU828 2441 0030 0023 movs r3, #0 2442 0032 2377 strb r3, [r4, #28] 2443 .loc 1 1387 3 view .LVU829 1388:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1389:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** return status; 2444 .loc 1 1389 3 view .LVU830 1390:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 2445 .loc 1 1390 1 is_stmt 0 view .LVU831 2446 0034 10BD pop {r4, pc} 2447 .LVL164: 2448 .L158: ARM GAS /tmp/ccAvd9CD.s page 70 1372:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 2449 .loc 1 1372 5 is_stmt 1 view .LVU832 2450 0036 2268 ldr r2, [r4] 2451 0038 9368 ldr r3, [r2, #8] 2452 003a 23F08003 bic r3, r3, #128 2453 003e 9360 str r3, [r2, #8] 1375:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 2454 .loc 1 1375 5 view .LVU833 1375:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 2455 .loc 1 1375 14 is_stmt 0 view .LVU834 2456 0040 2046 mov r0, r4 2457 .LVL165: 1375:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 2458 .loc 1 1375 14 view .LVU835 2459 0042 FFF7FEFF bl RTC_ExitInitMode 2460 .LVL166: 1375:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 2461 .loc 1 1375 14 view .LVU836 2462 0046 EDE7 b .L151 2463 .LVL167: 2464 .L153: 2465 .LCFI31: 2466 .cfi_def_cfa_offset 0 2467 .cfi_restore 4 2468 .cfi_restore 14 1359:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 2469 .loc 1 1359 3 view .LVU837 2470 0048 0220 movs r0, #2 2471 .LVL168: 2472 .loc 1 1390 1 view .LVU838 2473 004a 7047 bx lr 2474 .cfi_endproc 2475 .LFE158: 2477 .section .text.HAL_RTCEx_SetSmoothCalib,"ax",%progbits 2478 .align 1 2479 .global HAL_RTCEx_SetSmoothCalib 2480 .syntax unified 2481 .thumb 2482 .thumb_func 2484 HAL_RTCEx_SetSmoothCalib: 2485 .LVL169: 2486 .LFB159: 1391:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1392:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /** 1393:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @brief Sets the Smooth calibration parameters. 1394:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @param hrtc pointer to a RTC_HandleTypeDef structure that contains 1395:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * the configuration information for RTC. 1396:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @param SmoothCalibPeriod Select the Smooth Calibration Period. 1397:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * This parameter can be can be one of the following values: 1398:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @arg RTC_SMOOTHCALIB_PERIOD_32SEC: The smooth calibration period is 32s. 1399:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @arg RTC_SMOOTHCALIB_PERIOD_16SEC: The smooth calibration period is 16s. 1400:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @arg RTC_SMOOTHCALIB_PERIOD_8SEC: The smooth calibration period is 8s. 1401:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @param SmoothCalibPlusPulses Select to Set or reset the CALP bit. 1402:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * This parameter can be one of the following values: 1403:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @arg RTC_SMOOTHCALIB_PLUSPULSES_SET: Add one RTCCLK pulse every 2*11 pulses. 1404:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @arg RTC_SMOOTHCALIB_PLUSPULSES_RESET: No RTCCLK pulses are added. 1405:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @param SmoothCalibMinusPulsesValue Select the value of CALM[8:0] bits. ARM GAS /tmp/ccAvd9CD.s page 71 1406:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * This parameter can be one any value from 0 to 0x000001FF. 1407:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @note To deactivate the smooth calibration, the field SmoothCalibPlusPulses 1408:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * must be equal to SMOOTHCALIB_PLUSPULSES_RESET and the field 1409:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * SmoothCalibMinusPulsesValue must be equal to 0. 1410:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @retval HAL status 1411:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** */ 1412:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** HAL_StatusTypeDef HAL_RTCEx_SetSmoothCalib(RTC_HandleTypeDef *hrtc, uint32_t SmoothCalibPeriod, uin 1413:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 2487 .loc 1 1413 1 is_stmt 1 view -0 2488 .cfi_startproc 2489 @ args = 0, pretend = 0, frame = 0 2490 @ frame_needed = 0, uses_anonymous_args = 0 2491 .loc 1 1413 1 is_stmt 0 view .LVU840 2492 0000 2DE9F041 push {r4, r5, r6, r7, r8, lr} 2493 .LCFI32: 2494 .cfi_def_cfa_offset 24 2495 .cfi_offset 4, -24 2496 .cfi_offset 5, -20 2497 .cfi_offset 6, -16 2498 .cfi_offset 7, -12 2499 .cfi_offset 8, -8 2500 .cfi_offset 14, -4 2501 0004 1E46 mov r6, r3 1414:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** uint32_t tickstart = 0U; 2502 .loc 1 1414 3 is_stmt 1 view .LVU841 2503 .LVL170: 1415:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1416:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Check the parameters */ 1417:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** assert_param(IS_RTC_SMOOTH_CALIB_PERIOD(SmoothCalibPeriod)); 2504 .loc 1 1417 3 view .LVU842 1418:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** assert_param(IS_RTC_SMOOTH_CALIB_PLUS(SmoothCalibPlusPulses)); 2505 .loc 1 1418 3 view .LVU843 1419:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** assert_param(IS_RTC_SMOOTH_CALIB_MINUS(SmoothCalibMinusPulsesValue)); 2506 .loc 1 1419 3 view .LVU844 1420:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1421:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Process Locked */ 1422:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_LOCK(hrtc); 2507 .loc 1 1422 3 view .LVU845 2508 .loc 1 1422 3 view .LVU846 2509 0006 037F ldrb r3, [r0, #28] @ zero_extendqisi2 2510 .LVL171: 2511 .loc 1 1422 3 is_stmt 0 view .LVU847 2512 0008 012B cmp r3, #1 2513 000a 35D0 beq .L164 2514 000c 0446 mov r4, r0 2515 000e 0D46 mov r5, r1 2516 0010 1746 mov r7, r2 2517 .loc 1 1422 3 is_stmt 1 discriminator 2 view .LVU848 2518 0012 0123 movs r3, #1 2519 0014 0377 strb r3, [r0, #28] 2520 .loc 1 1422 3 discriminator 2 view .LVU849 1423:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1424:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** hrtc->State = HAL_RTC_STATE_BUSY; 2521 .loc 1 1424 3 discriminator 2 view .LVU850 2522 .loc 1 1424 15 is_stmt 0 discriminator 2 view .LVU851 2523 0016 0223 movs r3, #2 2524 0018 4377 strb r3, [r0, #29] ARM GAS /tmp/ccAvd9CD.s page 72 1425:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1426:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Disable the write protection for RTC registers */ 1427:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_RTC_WRITEPROTECTION_DISABLE(hrtc); 2525 .loc 1 1427 3 is_stmt 1 discriminator 2 view .LVU852 2526 .loc 1 1427 3 discriminator 2 view .LVU853 2527 001a 0368 ldr r3, [r0] 2528 001c CA22 movs r2, #202 2529 .LVL172: 2530 .loc 1 1427 3 is_stmt 0 discriminator 2 view .LVU854 2531 001e 5A62 str r2, [r3, #36] 2532 .loc 1 1427 3 is_stmt 1 discriminator 2 view .LVU855 2533 0020 0368 ldr r3, [r0] 2534 0022 5322 movs r2, #83 2535 0024 5A62 str r2, [r3, #36] 2536 .loc 1 1427 3 discriminator 2 view .LVU856 1428:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1429:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* check if a calibration is pending*/ 1430:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** if ((hrtc->Instance->ISR & RTC_ISR_RECALPF) != 0U) 2537 .loc 1 1430 3 discriminator 2 view .LVU857 2538 .loc 1 1430 12 is_stmt 0 discriminator 2 view .LVU858 2539 0026 0368 ldr r3, [r0] 2540 .loc 1 1430 22 discriminator 2 view .LVU859 2541 0028 DB68 ldr r3, [r3, #12] 2542 .loc 1 1430 6 discriminator 2 view .LVU860 2543 002a 13F4803F tst r3, #65536 2544 002e 0CD1 bne .L166 2545 .LVL173: 2546 .L161: 1431:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 1432:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Get tick */ 1433:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** tickstart = HAL_GetTick(); 1434:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1435:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* check if a calibration is pending*/ 1436:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** while ((hrtc->Instance->ISR & RTC_ISR_RECALPF) != 0U) 1437:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 1438:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** if ((HAL_GetTick() - tickstart) > RTC_TIMEOUT_VALUE) 1439:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 1440:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Enable the write protection for RTC registers */ 1441:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); 1442:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1443:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Change RTC state */ 1444:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** hrtc->State = HAL_RTC_STATE_TIMEOUT; 1445:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1446:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Process Unlocked */ 1447:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_UNLOCK(hrtc); 1448:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1449:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** return HAL_TIMEOUT; 1450:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 1451:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 1452:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 1453:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1454:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Configure the Smooth calibration settings */ 1455:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** hrtc->Instance->CALR = (uint32_t)((uint32_t)SmoothCalibPeriod | \ 2547 .loc 1 1455 3 is_stmt 1 view .LVU861 2548 .loc 1 1455 69 is_stmt 0 view .LVU862 2549 0030 3D43 orrs r5, r5, r7 2550 .LVL174: ARM GAS /tmp/ccAvd9CD.s page 73 2551 .loc 1 1455 7 view .LVU863 2552 0032 2368 ldr r3, [r4] 2553 .loc 1 1455 26 view .LVU864 2554 0034 2E43 orrs r6, r6, r5 2555 .LVL175: 2556 .loc 1 1455 24 view .LVU865 2557 0036 DE63 str r6, [r3, #60] 1456:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** (uint32_t)SmoothCalibPlusPulses | \ 1457:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** (uint32_t)SmoothCalibMinusPulsesValue); 1458:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1459:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Enable the write protection for RTC registers */ 1460:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); 2558 .loc 1 1460 3 is_stmt 1 view .LVU866 2559 .loc 1 1460 3 view .LVU867 2560 0038 2368 ldr r3, [r4] 2561 003a FF22 movs r2, #255 2562 003c 5A62 str r2, [r3, #36] 2563 .loc 1 1460 3 view .LVU868 1461:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1462:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Change RTC state */ 1463:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** hrtc->State = HAL_RTC_STATE_READY; 2564 .loc 1 1463 3 view .LVU869 2565 .loc 1 1463 15 is_stmt 0 view .LVU870 2566 003e 0123 movs r3, #1 2567 0040 6377 strb r3, [r4, #29] 1464:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1465:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Process Unlocked */ 1466:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_UNLOCK(hrtc); 2568 .loc 1 1466 3 is_stmt 1 view .LVU871 2569 .loc 1 1466 3 view .LVU872 2570 0042 0020 movs r0, #0 2571 0044 2077 strb r0, [r4, #28] 2572 .loc 1 1466 3 view .LVU873 1467:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1468:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** return HAL_OK; 2573 .loc 1 1468 3 view .LVU874 2574 .LVL176: 2575 .L160: 1469:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 2576 .loc 1 1469 1 is_stmt 0 view .LVU875 2577 0046 BDE8F081 pop {r4, r5, r6, r7, r8, pc} 2578 .LVL177: 2579 .L166: 1433:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 2580 .loc 1 1433 5 is_stmt 1 view .LVU876 1433:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 2581 .loc 1 1433 17 is_stmt 0 view .LVU877 2582 004a FFF7FEFF bl HAL_GetTick 2583 .LVL178: 1433:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 2584 .loc 1 1433 17 view .LVU878 2585 004e 8046 mov r8, r0 2586 .LVL179: 1436:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 2587 .loc 1 1436 5 is_stmt 1 view .LVU879 2588 .L162: 1436:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { ARM GAS /tmp/ccAvd9CD.s page 74 2589 .loc 1 1436 11 view .LVU880 1436:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 2590 .loc 1 1436 17 is_stmt 0 view .LVU881 2591 0050 2368 ldr r3, [r4] 1436:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 2592 .loc 1 1436 27 view .LVU882 2593 0052 D968 ldr r1, [r3, #12] 1436:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 2594 .loc 1 1436 11 view .LVU883 2595 0054 11F4803F tst r1, #65536 2596 0058 EAD0 beq .L161 1438:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 2597 .loc 1 1438 7 is_stmt 1 view .LVU884 1438:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 2598 .loc 1 1438 12 is_stmt 0 view .LVU885 2599 005a FFF7FEFF bl HAL_GetTick 2600 .LVL180: 1438:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 2601 .loc 1 1438 26 view .LVU886 2602 005e A0EB0800 sub r0, r0, r8 1438:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 2603 .loc 1 1438 10 view .LVU887 2604 0062 B0F57A7F cmp r0, #1000 2605 0066 F3D9 bls .L162 1441:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 2606 .loc 1 1441 9 is_stmt 1 view .LVU888 1441:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 2607 .loc 1 1441 9 view .LVU889 2608 0068 2368 ldr r3, [r4] 2609 006a FF22 movs r2, #255 2610 006c 5A62 str r2, [r3, #36] 1441:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 2611 .loc 1 1441 9 view .LVU890 1444:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 2612 .loc 1 1444 9 view .LVU891 1444:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 2613 .loc 1 1444 21 is_stmt 0 view .LVU892 2614 006e 0320 movs r0, #3 2615 0070 6077 strb r0, [r4, #29] 1447:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 2616 .loc 1 1447 9 is_stmt 1 view .LVU893 1447:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 2617 .loc 1 1447 9 view .LVU894 2618 0072 0023 movs r3, #0 2619 0074 2377 strb r3, [r4, #28] 1447:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 2620 .loc 1 1447 9 view .LVU895 1449:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 2621 .loc 1 1449 9 view .LVU896 1449:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 2622 .loc 1 1449 16 is_stmt 0 view .LVU897 2623 0076 E6E7 b .L160 2624 .LVL181: 2625 .L164: 1422:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 2626 .loc 1 1422 3 view .LVU898 2627 0078 0220 movs r0, #2 ARM GAS /tmp/ccAvd9CD.s page 75 2628 .LVL182: 1422:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 2629 .loc 1 1422 3 view .LVU899 2630 007a E4E7 b .L160 2631 .cfi_endproc 2632 .LFE159: 2634 .section .text.HAL_RTCEx_SetSynchroShift,"ax",%progbits 2635 .align 1 2636 .global HAL_RTCEx_SetSynchroShift 2637 .syntax unified 2638 .thumb 2639 .thumb_func 2641 HAL_RTCEx_SetSynchroShift: 2642 .LVL183: 2643 .LFB160: 1470:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1471:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /** 1472:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @brief Configures the Synchronization Shift Control Settings. 1473:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @note When REFCKON is set, firmware must not write to Shift control register. 1474:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @param hrtc pointer to a RTC_HandleTypeDef structure that contains 1475:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * the configuration information for RTC. 1476:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @param ShiftAdd1S Select to add or not 1 second to the time calendar. 1477:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * This parameter can be one of the following values: 1478:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @arg RTC_SHIFTADD1S_SET: Add one second to the clock calendar. 1479:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @arg RTC_SHIFTADD1S_RESET: No effect. 1480:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @param ShiftSubFS Select the number of Second Fractions to substitute. 1481:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * This parameter can be one any value from 0 to 0x7FFF. 1482:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @retval HAL status 1483:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** */ 1484:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** HAL_StatusTypeDef HAL_RTCEx_SetSynchroShift(RTC_HandleTypeDef *hrtc, uint32_t ShiftAdd1S, uint32_t 1485:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 2644 .loc 1 1485 1 is_stmt 1 view -0 2645 .cfi_startproc 2646 @ args = 0, pretend = 0, frame = 0 2647 @ frame_needed = 0, uses_anonymous_args = 0 1486:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** uint32_t tickstart = 0U; 2648 .loc 1 1486 3 view .LVU901 1487:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1488:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Check the parameters */ 1489:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** assert_param(IS_RTC_SHIFT_ADD1S(ShiftAdd1S)); 2649 .loc 1 1489 3 view .LVU902 1490:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** assert_param(IS_RTC_SHIFT_SUBFS(ShiftSubFS)); 2650 .loc 1 1490 3 view .LVU903 1491:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1492:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Process Locked */ 1493:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_LOCK(hrtc); 2651 .loc 1 1493 3 view .LVU904 2652 .loc 1 1493 3 view .LVU905 2653 0000 037F ldrb r3, [r0, #28] @ zero_extendqisi2 2654 0002 012B cmp r3, #1 2655 0004 4FD0 beq .L173 1485:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** uint32_t tickstart = 0U; 2656 .loc 1 1485 1 is_stmt 0 discriminator 2 view .LVU906 2657 0006 2DE9F041 push {r4, r5, r6, r7, r8, lr} 2658 .LCFI33: 2659 .cfi_def_cfa_offset 24 2660 .cfi_offset 4, -24 ARM GAS /tmp/ccAvd9CD.s page 76 2661 .cfi_offset 5, -20 2662 .cfi_offset 6, -16 2663 .cfi_offset 7, -12 2664 .cfi_offset 8, -8 2665 .cfi_offset 14, -4 2666 000a 0446 mov r4, r0 2667 000c 8846 mov r8, r1 2668 000e 1746 mov r7, r2 2669 .loc 1 1493 3 is_stmt 1 discriminator 2 view .LVU907 2670 0010 0123 movs r3, #1 2671 0012 0377 strb r3, [r0, #28] 2672 .loc 1 1493 3 discriminator 2 view .LVU908 1494:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1495:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** hrtc->State = HAL_RTC_STATE_BUSY; 2673 .loc 1 1495 3 discriminator 2 view .LVU909 2674 .loc 1 1495 15 is_stmt 0 discriminator 2 view .LVU910 2675 0014 0223 movs r3, #2 2676 0016 4377 strb r3, [r0, #29] 1496:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1497:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Disable the write protection for RTC registers */ 1498:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_RTC_WRITEPROTECTION_DISABLE(hrtc); 2677 .loc 1 1498 3 is_stmt 1 discriminator 2 view .LVU911 2678 .loc 1 1498 3 discriminator 2 view .LVU912 2679 0018 0368 ldr r3, [r0] 2680 001a CA22 movs r2, #202 2681 .LVL184: 2682 .loc 1 1498 3 is_stmt 0 discriminator 2 view .LVU913 2683 001c 5A62 str r2, [r3, #36] 2684 .loc 1 1498 3 is_stmt 1 discriminator 2 view .LVU914 2685 001e 0368 ldr r3, [r0] 2686 0020 5322 movs r2, #83 2687 0022 5A62 str r2, [r3, #36] 2688 .loc 1 1498 3 discriminator 2 view .LVU915 1499:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1500:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Get tick */ 1501:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** tickstart = HAL_GetTick(); 2689 .loc 1 1501 3 discriminator 2 view .LVU916 2690 .loc 1 1501 15 is_stmt 0 discriminator 2 view .LVU917 2691 0024 FFF7FEFF bl HAL_GetTick 2692 .LVL185: 2693 .loc 1 1501 15 discriminator 2 view .LVU918 2694 0028 0646 mov r6, r0 2695 .LVL186: 1502:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1503:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Wait until the shift is completed */ 1504:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** while ((hrtc->Instance->ISR & RTC_ISR_SHPF) != 0U) 2696 .loc 1 1504 3 is_stmt 1 discriminator 2 view .LVU919 2697 .L169: 2698 .loc 1 1504 9 view .LVU920 2699 .loc 1 1504 15 is_stmt 0 view .LVU921 2700 002a 2368 ldr r3, [r4] 2701 .loc 1 1504 25 view .LVU922 2702 002c DD68 ldr r5, [r3, #12] 2703 .loc 1 1504 9 view .LVU923 2704 002e 15F0080F tst r5, #8 2705 0032 0ED0 beq .L178 1505:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { ARM GAS /tmp/ccAvd9CD.s page 77 1506:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** if ((HAL_GetTick() - tickstart) > RTC_TIMEOUT_VALUE) 2706 .loc 1 1506 5 is_stmt 1 view .LVU924 2707 .loc 1 1506 10 is_stmt 0 view .LVU925 2708 0034 FFF7FEFF bl HAL_GetTick 2709 .LVL187: 2710 .loc 1 1506 24 view .LVU926 2711 0038 831B subs r3, r0, r6 2712 .loc 1 1506 8 view .LVU927 2713 003a B3F57A7F cmp r3, #1000 2714 003e F4D9 bls .L169 1507:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 1508:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Enable the write protection for RTC registers */ 1509:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); 2715 .loc 1 1509 7 is_stmt 1 view .LVU928 2716 .loc 1 1509 7 view .LVU929 2717 0040 2368 ldr r3, [r4] 2718 0042 FF22 movs r2, #255 2719 0044 5A62 str r2, [r3, #36] 2720 .loc 1 1509 7 view .LVU930 1510:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1511:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** hrtc->State = HAL_RTC_STATE_TIMEOUT; 2721 .loc 1 1511 7 view .LVU931 2722 .loc 1 1511 19 is_stmt 0 view .LVU932 2723 0046 0320 movs r0, #3 2724 0048 6077 strb r0, [r4, #29] 1512:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1513:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Process Unlocked */ 1514:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_UNLOCK(hrtc); 2725 .loc 1 1514 7 is_stmt 1 view .LVU933 2726 .loc 1 1514 7 view .LVU934 2727 004a 0023 movs r3, #0 2728 004c 2377 strb r3, [r4, #28] 2729 .loc 1 1514 7 view .LVU935 1515:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1516:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** return HAL_TIMEOUT; 2730 .loc 1 1516 7 view .LVU936 2731 .LVL188: 2732 .L168: 1517:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 1518:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 1519:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1520:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Check if the reference clock detection is disabled */ 1521:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** if ((hrtc->Instance->CR & RTC_CR_REFCKON) == 0U) 1522:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 1523:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Configure the Shift settings */ 1524:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** hrtc->Instance->SHIFTR = (uint32_t)(uint32_t)(ShiftSubFS) | (uint32_t)(ShiftAdd1S); 1525:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1526:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* If RTC_CR_BYPSHAD bit = 0, wait for synchro else this check is not needed */ 1527:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** if ((hrtc->Instance->CR & RTC_CR_BYPSHAD) == 0U) 1528:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 1529:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** if (HAL_RTC_WaitForSynchro(hrtc) != HAL_OK) 1530:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 1531:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Enable the write protection for RTC registers */ 1532:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); 1533:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1534:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** hrtc->State = HAL_RTC_STATE_ERROR; 1535:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** ARM GAS /tmp/ccAvd9CD.s page 78 1536:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Process Unlocked */ 1537:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_UNLOCK(hrtc); 1538:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1539:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** return HAL_ERROR; 1540:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 1541:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 1542:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 1543:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** else 1544:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 1545:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Enable the write protection for RTC registers */ 1546:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); 1547:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1548:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Change RTC state */ 1549:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** hrtc->State = HAL_RTC_STATE_ERROR; 1550:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1551:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Process Unlocked */ 1552:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_UNLOCK(hrtc); 1553:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1554:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** return HAL_ERROR; 1555:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 1556:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1557:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Enable the write protection for RTC registers */ 1558:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); 1559:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1560:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Change RTC state */ 1561:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** hrtc->State = HAL_RTC_STATE_READY; 1562:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1563:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Process Unlocked */ 1564:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_UNLOCK(hrtc); 1565:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1566:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** return HAL_OK; 1567:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 2733 .loc 1 1567 1 is_stmt 0 view .LVU937 2734 004e BDE8F081 pop {r4, r5, r6, r7, r8, pc} 2735 .LVL189: 2736 .L178: 1521:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 2737 .loc 1 1521 3 is_stmt 1 view .LVU938 1521:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 2738 .loc 1 1521 22 is_stmt 0 view .LVU939 2739 0052 9A68 ldr r2, [r3, #8] 1521:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 2740 .loc 1 1521 6 view .LVU940 2741 0054 12F0100F tst r2, #16 2742 0058 1DD1 bne .L171 1524:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 2743 .loc 1 1524 5 is_stmt 1 view .LVU941 1524:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 2744 .loc 1 1524 63 is_stmt 0 view .LVU942 2745 005a 47EA0807 orr r7, r7, r8 2746 .LVL190: 1524:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 2747 .loc 1 1524 28 view .LVU943 2748 005e DF62 str r7, [r3, #44] 1527:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 2749 .loc 1 1527 5 is_stmt 1 view .LVU944 1527:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { ARM GAS /tmp/ccAvd9CD.s page 79 2750 .loc 1 1527 14 is_stmt 0 view .LVU945 2751 0060 2368 ldr r3, [r4] 1527:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 2752 .loc 1 1527 24 view .LVU946 2753 0062 9B68 ldr r3, [r3, #8] 1527:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 2754 .loc 1 1527 8 view .LVU947 2755 0064 13F0200F tst r3, #32 2756 0068 07D0 beq .L179 2757 .L172: 1558:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 2758 .loc 1 1558 3 is_stmt 1 view .LVU948 1558:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 2759 .loc 1 1558 3 view .LVU949 2760 006a 2368 ldr r3, [r4] 2761 006c FF22 movs r2, #255 2762 006e 5A62 str r2, [r3, #36] 1558:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 2763 .loc 1 1558 3 view .LVU950 1561:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 2764 .loc 1 1561 3 view .LVU951 1561:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 2765 .loc 1 1561 15 is_stmt 0 view .LVU952 2766 0070 0123 movs r3, #1 2767 0072 6377 strb r3, [r4, #29] 1564:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 2768 .loc 1 1564 3 is_stmt 1 view .LVU953 1564:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 2769 .loc 1 1564 3 view .LVU954 2770 0074 0020 movs r0, #0 2771 0076 2077 strb r0, [r4, #28] 1564:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 2772 .loc 1 1564 3 view .LVU955 1566:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 2773 .loc 1 1566 3 view .LVU956 1566:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 2774 .loc 1 1566 10 is_stmt 0 view .LVU957 2775 0078 E9E7 b .L168 2776 .L179: 1529:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 2777 .loc 1 1529 7 is_stmt 1 view .LVU958 1529:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 2778 .loc 1 1529 11 is_stmt 0 view .LVU959 2779 007a 2046 mov r0, r4 2780 007c FFF7FEFF bl HAL_RTC_WaitForSynchro 2781 .LVL191: 1529:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 2782 .loc 1 1529 10 view .LVU960 2783 0080 0028 cmp r0, #0 2784 0082 F2D0 beq .L172 1532:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 2785 .loc 1 1532 9 is_stmt 1 view .LVU961 1532:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 2786 .loc 1 1532 9 view .LVU962 2787 0084 2368 ldr r3, [r4] 2788 0086 FF22 movs r2, #255 2789 0088 5A62 str r2, [r3, #36] ARM GAS /tmp/ccAvd9CD.s page 80 1532:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 2790 .loc 1 1532 9 view .LVU963 1534:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 2791 .loc 1 1534 9 view .LVU964 1534:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 2792 .loc 1 1534 21 is_stmt 0 view .LVU965 2793 008a 0423 movs r3, #4 2794 008c 6377 strb r3, [r4, #29] 1537:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 2795 .loc 1 1537 9 is_stmt 1 view .LVU966 1537:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 2796 .loc 1 1537 9 view .LVU967 2797 008e 0023 movs r3, #0 2798 0090 2377 strb r3, [r4, #28] 1537:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 2799 .loc 1 1537 9 view .LVU968 1539:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 2800 .loc 1 1539 9 view .LVU969 1539:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 2801 .loc 1 1539 16 is_stmt 0 view .LVU970 2802 0092 0120 movs r0, #1 2803 0094 DBE7 b .L168 2804 .LVL192: 2805 .L171: 1546:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 2806 .loc 1 1546 5 is_stmt 1 view .LVU971 1546:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 2807 .loc 1 1546 5 view .LVU972 2808 0096 FF22 movs r2, #255 2809 0098 5A62 str r2, [r3, #36] 1546:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 2810 .loc 1 1546 5 view .LVU973 1549:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 2811 .loc 1 1549 5 view .LVU974 1549:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 2812 .loc 1 1549 17 is_stmt 0 view .LVU975 2813 009a 0423 movs r3, #4 2814 009c 6377 strb r3, [r4, #29] 1552:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 2815 .loc 1 1552 5 is_stmt 1 view .LVU976 1552:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 2816 .loc 1 1552 5 view .LVU977 2817 009e 0023 movs r3, #0 2818 00a0 2377 strb r3, [r4, #28] 1552:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 2819 .loc 1 1552 5 view .LVU978 1554:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 2820 .loc 1 1554 5 view .LVU979 1554:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 2821 .loc 1 1554 12 is_stmt 0 view .LVU980 2822 00a2 0120 movs r0, #1 2823 00a4 D3E7 b .L168 2824 .LVL193: 2825 .L173: 2826 .LCFI34: 2827 .cfi_def_cfa_offset 0 2828 .cfi_restore 4 ARM GAS /tmp/ccAvd9CD.s page 81 2829 .cfi_restore 5 2830 .cfi_restore 6 2831 .cfi_restore 7 2832 .cfi_restore 8 2833 .cfi_restore 14 1493:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 2834 .loc 1 1493 3 view .LVU981 2835 00a6 0220 movs r0, #2 2836 .LVL194: 2837 .loc 1 1567 1 view .LVU982 2838 00a8 7047 bx lr 2839 .cfi_endproc 2840 .LFE160: 2842 .section .text.HAL_RTCEx_SetCalibrationOutPut,"ax",%progbits 2843 .align 1 2844 .global HAL_RTCEx_SetCalibrationOutPut 2845 .syntax unified 2846 .thumb 2847 .thumb_func 2849 HAL_RTCEx_SetCalibrationOutPut: 2850 .LVL195: 2851 .LFB161: 1568:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1569:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /** 1570:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @brief Configures the Calibration Pinout (RTC_CALIB) Selection (1Hz or 512Hz). 1571:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @param hrtc pointer to a RTC_HandleTypeDef structure that contains 1572:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * the configuration information for RTC. 1573:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @param CalibOutput Select the Calibration output Selection. 1574:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * This parameter can be one of the following values: 1575:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @arg RTC_CALIBOUTPUT_512HZ: A signal has a regular waveform at 512Hz. 1576:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @arg RTC_CALIBOUTPUT_1HZ: A signal has a regular waveform at 1Hz. 1577:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @retval HAL status 1578:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** */ 1579:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** HAL_StatusTypeDef HAL_RTCEx_SetCalibrationOutPut(RTC_HandleTypeDef *hrtc, uint32_t CalibOutput) 1580:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 2852 .loc 1 1580 1 is_stmt 1 view -0 2853 .cfi_startproc 2854 @ args = 0, pretend = 0, frame = 0 2855 @ frame_needed = 0, uses_anonymous_args = 0 2856 @ link register save eliminated. 1581:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Check the parameters */ 1582:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** assert_param(IS_RTC_CALIB_OUTPUT(CalibOutput)); 2857 .loc 1 1582 3 view .LVU984 1583:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1584:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Process Locked */ 1585:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_LOCK(hrtc); 2858 .loc 1 1585 3 view .LVU985 2859 .loc 1 1585 3 view .LVU986 2860 0000 037F ldrb r3, [r0, #28] @ zero_extendqisi2 2861 0002 012B cmp r3, #1 2862 0004 22D0 beq .L182 1580:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Check the parameters */ 2863 .loc 1 1580 1 is_stmt 0 discriminator 2 view .LVU987 2864 0006 10B4 push {r4} 2865 .LCFI35: 2866 .cfi_def_cfa_offset 4 2867 .cfi_offset 4, -4 ARM GAS /tmp/ccAvd9CD.s page 82 2868 .loc 1 1585 3 is_stmt 1 discriminator 2 view .LVU988 2869 0008 0122 movs r2, #1 2870 000a 0277 strb r2, [r0, #28] 2871 .loc 1 1585 3 discriminator 2 view .LVU989 1586:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1587:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** hrtc->State = HAL_RTC_STATE_BUSY; 2872 .loc 1 1587 3 discriminator 2 view .LVU990 2873 .loc 1 1587 15 is_stmt 0 discriminator 2 view .LVU991 2874 000c 0223 movs r3, #2 2875 000e 4377 strb r3, [r0, #29] 1588:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1589:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Disable the write protection for RTC registers */ 1590:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_RTC_WRITEPROTECTION_DISABLE(hrtc); 2876 .loc 1 1590 3 is_stmt 1 discriminator 2 view .LVU992 2877 .loc 1 1590 3 discriminator 2 view .LVU993 2878 0010 0368 ldr r3, [r0] 2879 0012 CA24 movs r4, #202 2880 0014 5C62 str r4, [r3, #36] 2881 .loc 1 1590 3 discriminator 2 view .LVU994 2882 0016 0368 ldr r3, [r0] 2883 0018 5324 movs r4, #83 2884 001a 5C62 str r4, [r3, #36] 2885 .loc 1 1590 3 discriminator 2 view .LVU995 1591:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1592:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Clear flags before config */ 1593:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** hrtc->Instance->CR &= (uint32_t)~RTC_CR_COSEL; 2886 .loc 1 1593 3 discriminator 2 view .LVU996 2887 .loc 1 1593 7 is_stmt 0 discriminator 2 view .LVU997 2888 001c 0468 ldr r4, [r0] 2889 .loc 1 1593 22 discriminator 2 view .LVU998 2890 001e A368 ldr r3, [r4, #8] 2891 0020 23F40023 bic r3, r3, #524288 2892 0024 A360 str r3, [r4, #8] 1594:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1595:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Configure the RTC_CR register */ 1596:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** hrtc->Instance->CR |= (uint32_t)CalibOutput; 2893 .loc 1 1596 3 is_stmt 1 discriminator 2 view .LVU999 2894 .loc 1 1596 7 is_stmt 0 discriminator 2 view .LVU1000 2895 0026 0468 ldr r4, [r0] 2896 .loc 1 1596 22 discriminator 2 view .LVU1001 2897 0028 A368 ldr r3, [r4, #8] 2898 002a 1943 orrs r1, r1, r3 2899 .LVL196: 2900 .loc 1 1596 22 discriminator 2 view .LVU1002 2901 002c A160 str r1, [r4, #8] 1597:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1598:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_RTC_CALIBRATION_OUTPUT_ENABLE(hrtc); 2902 .loc 1 1598 3 is_stmt 1 discriminator 2 view .LVU1003 2903 002e 0168 ldr r1, [r0] 2904 0030 8B68 ldr r3, [r1, #8] 2905 0032 43F40003 orr r3, r3, #8388608 2906 0036 8B60 str r3, [r1, #8] 1599:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1600:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Enable the write protection for RTC registers */ 1601:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); 2907 .loc 1 1601 3 discriminator 2 view .LVU1004 2908 .loc 1 1601 3 discriminator 2 view .LVU1005 ARM GAS /tmp/ccAvd9CD.s page 83 2909 0038 0368 ldr r3, [r0] 2910 003a FF21 movs r1, #255 2911 003c 5962 str r1, [r3, #36] 2912 .loc 1 1601 3 discriminator 2 view .LVU1006 1602:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1603:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Change RTC state */ 1604:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** hrtc->State = HAL_RTC_STATE_READY; 2913 .loc 1 1604 3 discriminator 2 view .LVU1007 2914 .loc 1 1604 15 is_stmt 0 discriminator 2 view .LVU1008 2915 003e 4277 strb r2, [r0, #29] 1605:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1606:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Process Unlocked */ 1607:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_UNLOCK(hrtc); 2916 .loc 1 1607 3 is_stmt 1 discriminator 2 view .LVU1009 2917 .loc 1 1607 3 discriminator 2 view .LVU1010 2918 0040 0023 movs r3, #0 2919 0042 0377 strb r3, [r0, #28] 2920 .loc 1 1607 3 discriminator 2 view .LVU1011 1608:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1609:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** return HAL_OK; 2921 .loc 1 1609 3 discriminator 2 view .LVU1012 2922 .loc 1 1609 10 is_stmt 0 discriminator 2 view .LVU1013 2923 0044 1846 mov r0, r3 2924 .LVL197: 1610:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 2925 .loc 1 1610 1 discriminator 2 view .LVU1014 2926 0046 5DF8044B ldr r4, [sp], #4 2927 .LCFI36: 2928 .cfi_restore 4 2929 .cfi_def_cfa_offset 0 2930 004a 7047 bx lr 2931 .LVL198: 2932 .L182: 1585:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 2933 .loc 1 1585 3 view .LVU1015 2934 004c 0220 movs r0, #2 2935 .LVL199: 2936 .loc 1 1610 1 view .LVU1016 2937 004e 7047 bx lr 2938 .cfi_endproc 2939 .LFE161: 2941 .section .text.HAL_RTCEx_DeactivateCalibrationOutPut,"ax",%progbits 2942 .align 1 2943 .global HAL_RTCEx_DeactivateCalibrationOutPut 2944 .syntax unified 2945 .thumb 2946 .thumb_func 2948 HAL_RTCEx_DeactivateCalibrationOutPut: 2949 .LVL200: 2950 .LFB162: 1611:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1612:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /** 1613:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @brief Deactivates the Calibration Pinout (RTC_CALIB) Selection (1Hz or 512Hz). 1614:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @param hrtc pointer to a RTC_HandleTypeDef structure that contains 1615:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * the configuration information for RTC. 1616:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @retval HAL status 1617:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** */ ARM GAS /tmp/ccAvd9CD.s page 84 1618:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** HAL_StatusTypeDef HAL_RTCEx_DeactivateCalibrationOutPut(RTC_HandleTypeDef *hrtc) 1619:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 2951 .loc 1 1619 1 is_stmt 1 view -0 2952 .cfi_startproc 2953 @ args = 0, pretend = 0, frame = 0 2954 @ frame_needed = 0, uses_anonymous_args = 0 2955 @ link register save eliminated. 1620:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Process Locked */ 1621:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_LOCK(hrtc); 2956 .loc 1 1621 3 view .LVU1018 2957 .loc 1 1621 3 view .LVU1019 2958 0000 037F ldrb r3, [r0, #28] @ zero_extendqisi2 2959 0002 012B cmp r3, #1 2960 0004 16D0 beq .L189 2961 .loc 1 1621 3 discriminator 2 view .LVU1020 2962 0006 0122 movs r2, #1 2963 0008 0277 strb r2, [r0, #28] 2964 .loc 1 1621 3 discriminator 2 view .LVU1021 1622:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1623:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** hrtc->State = HAL_RTC_STATE_BUSY; 2965 .loc 1 1623 3 discriminator 2 view .LVU1022 2966 .loc 1 1623 15 is_stmt 0 discriminator 2 view .LVU1023 2967 000a 0223 movs r3, #2 2968 000c 4377 strb r3, [r0, #29] 1624:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1625:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Disable the write protection for RTC registers */ 1626:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_RTC_WRITEPROTECTION_DISABLE(hrtc); 2969 .loc 1 1626 3 is_stmt 1 discriminator 2 view .LVU1024 2970 .loc 1 1626 3 discriminator 2 view .LVU1025 2971 000e 0368 ldr r3, [r0] 2972 0010 CA21 movs r1, #202 2973 0012 5962 str r1, [r3, #36] 2974 .loc 1 1626 3 discriminator 2 view .LVU1026 2975 0014 0368 ldr r3, [r0] 2976 0016 5321 movs r1, #83 2977 0018 5962 str r1, [r3, #36] 2978 .loc 1 1626 3 discriminator 2 view .LVU1027 1627:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1628:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_RTC_CALIBRATION_OUTPUT_DISABLE(hrtc); 2979 .loc 1 1628 3 discriminator 2 view .LVU1028 2980 001a 0168 ldr r1, [r0] 2981 001c 8B68 ldr r3, [r1, #8] 2982 001e 23F40003 bic r3, r3, #8388608 2983 0022 8B60 str r3, [r1, #8] 1629:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1630:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Enable the write protection for RTC registers */ 1631:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); 2984 .loc 1 1631 3 discriminator 2 view .LVU1029 2985 .loc 1 1631 3 discriminator 2 view .LVU1030 2986 0024 0368 ldr r3, [r0] 2987 0026 FF21 movs r1, #255 2988 0028 5962 str r1, [r3, #36] 2989 .loc 1 1631 3 discriminator 2 view .LVU1031 1632:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1633:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Change RTC state */ 1634:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** hrtc->State = HAL_RTC_STATE_READY; 2990 .loc 1 1634 3 discriminator 2 view .LVU1032 ARM GAS /tmp/ccAvd9CD.s page 85 2991 .loc 1 1634 15 is_stmt 0 discriminator 2 view .LVU1033 2992 002a 4277 strb r2, [r0, #29] 1635:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1636:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Process Unlocked */ 1637:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_UNLOCK(hrtc); 2993 .loc 1 1637 3 is_stmt 1 discriminator 2 view .LVU1034 2994 .loc 1 1637 3 discriminator 2 view .LVU1035 2995 002c 0023 movs r3, #0 2996 002e 0377 strb r3, [r0, #28] 2997 .loc 1 1637 3 discriminator 2 view .LVU1036 1638:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1639:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** return HAL_OK; 2998 .loc 1 1639 3 discriminator 2 view .LVU1037 2999 .loc 1 1639 10 is_stmt 0 discriminator 2 view .LVU1038 3000 0030 1846 mov r0, r3 3001 .LVL201: 3002 .loc 1 1639 10 discriminator 2 view .LVU1039 3003 0032 7047 bx lr 3004 .LVL202: 3005 .L189: 1621:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 3006 .loc 1 1621 3 view .LVU1040 3007 0034 0220 movs r0, #2 3008 .LVL203: 1640:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 3009 .loc 1 1640 1 view .LVU1041 3010 0036 7047 bx lr 3011 .cfi_endproc 3012 .LFE162: 3014 .section .text.HAL_RTCEx_SetRefClock,"ax",%progbits 3015 .align 1 3016 .global HAL_RTCEx_SetRefClock 3017 .syntax unified 3018 .thumb 3019 .thumb_func 3021 HAL_RTCEx_SetRefClock: 3022 .LVL204: 3023 .LFB163: 1641:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1642:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /** 1643:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @brief Enables the RTC reference clock detection. 1644:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @param hrtc pointer to a RTC_HandleTypeDef structure that contains 1645:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * the configuration information for RTC. 1646:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @retval HAL status 1647:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** */ 1648:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** HAL_StatusTypeDef HAL_RTCEx_SetRefClock(RTC_HandleTypeDef *hrtc) 1649:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 3024 .loc 1 1649 1 is_stmt 1 view -0 3025 .cfi_startproc 3026 @ args = 0, pretend = 0, frame = 0 3027 @ frame_needed = 0, uses_anonymous_args = 0 1650:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** HAL_StatusTypeDef status; 3028 .loc 1 1650 3 view .LVU1043 1651:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1652:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Process Locked */ 1653:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_LOCK(hrtc); 3029 .loc 1 1653 3 view .LVU1044 ARM GAS /tmp/ccAvd9CD.s page 86 3030 .loc 1 1653 3 view .LVU1045 3031 0000 037F ldrb r3, [r0, #28] @ zero_extendqisi2 3032 0002 012B cmp r3, #1 3033 0004 20D0 beq .L194 1649:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** HAL_StatusTypeDef status; 3034 .loc 1 1649 1 is_stmt 0 discriminator 2 view .LVU1046 3035 0006 10B5 push {r4, lr} 3036 .LCFI37: 3037 .cfi_def_cfa_offset 8 3038 .cfi_offset 4, -8 3039 .cfi_offset 14, -4 3040 0008 0446 mov r4, r0 3041 .loc 1 1653 3 is_stmt 1 discriminator 2 view .LVU1047 3042 000a 0123 movs r3, #1 3043 000c 0377 strb r3, [r0, #28] 3044 .loc 1 1653 3 discriminator 2 view .LVU1048 1654:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1655:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** hrtc->State = HAL_RTC_STATE_BUSY; 3045 .loc 1 1655 3 discriminator 2 view .LVU1049 3046 .loc 1 1655 15 is_stmt 0 discriminator 2 view .LVU1050 3047 000e 0223 movs r3, #2 3048 0010 4377 strb r3, [r0, #29] 1656:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1657:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Disable the write protection for RTC registers */ 1658:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_RTC_WRITEPROTECTION_DISABLE(hrtc); 3049 .loc 1 1658 3 is_stmt 1 discriminator 2 view .LVU1051 3050 .loc 1 1658 3 discriminator 2 view .LVU1052 3051 0012 0368 ldr r3, [r0] 3052 0014 CA22 movs r2, #202 3053 0016 5A62 str r2, [r3, #36] 3054 .loc 1 1658 3 discriminator 2 view .LVU1053 3055 0018 0368 ldr r3, [r0] 3056 001a 5322 movs r2, #83 3057 001c 5A62 str r2, [r3, #36] 3058 .loc 1 1658 3 discriminator 2 view .LVU1054 1659:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1660:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Enter Initialization mode */ 1661:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** status = RTC_EnterInitMode(hrtc); 3059 .loc 1 1661 3 discriminator 2 view .LVU1055 3060 .loc 1 1661 12 is_stmt 0 discriminator 2 view .LVU1056 3061 001e FFF7FEFF bl RTC_EnterInitMode 3062 .LVL205: 1662:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1663:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** if (status == HAL_OK) 3063 .loc 1 1663 3 is_stmt 1 discriminator 2 view .LVU1057 3064 .loc 1 1663 6 is_stmt 0 discriminator 2 view .LVU1058 3065 0022 40B1 cbz r0, .L199 3066 .L192: 1664:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 1665:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Enable the reference clock detection */ 1666:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_RTC_CLOCKREF_DETECTION_ENABLE(hrtc); 1667:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1668:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Exit Initialization mode */ 1669:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** status = RTC_ExitInitMode(hrtc); 1670:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 1671:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1672:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** if (status == HAL_OK) ARM GAS /tmp/ccAvd9CD.s page 87 3067 .loc 1 1672 3 is_stmt 1 view .LVU1059 3068 .loc 1 1672 6 is_stmt 0 view .LVU1060 3069 0024 08B9 cbnz r0, .L193 1673:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 1674:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** hrtc->State = HAL_RTC_STATE_READY; 3070 .loc 1 1674 5 is_stmt 1 view .LVU1061 3071 .loc 1 1674 17 is_stmt 0 view .LVU1062 3072 0026 0123 movs r3, #1 3073 0028 6377 strb r3, [r4, #29] 3074 .L193: 1675:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 1676:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1677:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Enable the write protection for RTC registers */ 1678:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); 3075 .loc 1 1678 3 is_stmt 1 view .LVU1063 3076 .loc 1 1678 3 view .LVU1064 3077 002a 2368 ldr r3, [r4] 3078 002c FF22 movs r2, #255 3079 002e 5A62 str r2, [r3, #36] 3080 .loc 1 1678 3 view .LVU1065 1679:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1680:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Process Unlocked */ 1681:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_UNLOCK(hrtc); 3081 .loc 1 1681 3 view .LVU1066 3082 .loc 1 1681 3 view .LVU1067 3083 0030 0023 movs r3, #0 3084 0032 2377 strb r3, [r4, #28] 3085 .loc 1 1681 3 view .LVU1068 1682:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1683:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** return status; 3086 .loc 1 1683 3 view .LVU1069 1684:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 3087 .loc 1 1684 1 is_stmt 0 view .LVU1070 3088 0034 10BD pop {r4, pc} 3089 .LVL206: 3090 .L199: 1666:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 3091 .loc 1 1666 5 is_stmt 1 view .LVU1071 3092 0036 2268 ldr r2, [r4] 3093 0038 9368 ldr r3, [r2, #8] 3094 003a 43F01003 orr r3, r3, #16 3095 003e 9360 str r3, [r2, #8] 1669:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 3096 .loc 1 1669 5 view .LVU1072 1669:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 3097 .loc 1 1669 14 is_stmt 0 view .LVU1073 3098 0040 2046 mov r0, r4 3099 .LVL207: 1669:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 3100 .loc 1 1669 14 view .LVU1074 3101 0042 FFF7FEFF bl RTC_ExitInitMode 3102 .LVL208: 1669:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 3103 .loc 1 1669 14 view .LVU1075 3104 0046 EDE7 b .L192 3105 .LVL209: 3106 .L194: ARM GAS /tmp/ccAvd9CD.s page 88 3107 .LCFI38: 3108 .cfi_def_cfa_offset 0 3109 .cfi_restore 4 3110 .cfi_restore 14 1653:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 3111 .loc 1 1653 3 view .LVU1076 3112 0048 0220 movs r0, #2 3113 .LVL210: 3114 .loc 1 1684 1 view .LVU1077 3115 004a 7047 bx lr 3116 .cfi_endproc 3117 .LFE163: 3119 .section .text.HAL_RTCEx_DeactivateRefClock,"ax",%progbits 3120 .align 1 3121 .global HAL_RTCEx_DeactivateRefClock 3122 .syntax unified 3123 .thumb 3124 .thumb_func 3126 HAL_RTCEx_DeactivateRefClock: 3127 .LVL211: 3128 .LFB164: 1685:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1686:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /** 1687:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @brief Disable the RTC reference clock detection. 1688:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @param hrtc pointer to a RTC_HandleTypeDef structure that contains 1689:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * the configuration information for RTC. 1690:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @retval HAL status 1691:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** */ 1692:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** HAL_StatusTypeDef HAL_RTCEx_DeactivateRefClock(RTC_HandleTypeDef *hrtc) 1693:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 3129 .loc 1 1693 1 is_stmt 1 view -0 3130 .cfi_startproc 3131 @ args = 0, pretend = 0, frame = 0 3132 @ frame_needed = 0, uses_anonymous_args = 0 1694:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** HAL_StatusTypeDef status; 3133 .loc 1 1694 3 view .LVU1079 1695:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1696:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Process Locked */ 1697:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_LOCK(hrtc); 3134 .loc 1 1697 3 view .LVU1080 3135 .loc 1 1697 3 view .LVU1081 3136 0000 037F ldrb r3, [r0, #28] @ zero_extendqisi2 3137 0002 012B cmp r3, #1 3138 0004 20D0 beq .L204 1693:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** HAL_StatusTypeDef status; 3139 .loc 1 1693 1 is_stmt 0 discriminator 2 view .LVU1082 3140 0006 10B5 push {r4, lr} 3141 .LCFI39: 3142 .cfi_def_cfa_offset 8 3143 .cfi_offset 4, -8 3144 .cfi_offset 14, -4 3145 0008 0446 mov r4, r0 3146 .loc 1 1697 3 is_stmt 1 discriminator 2 view .LVU1083 3147 000a 0123 movs r3, #1 3148 000c 0377 strb r3, [r0, #28] 3149 .loc 1 1697 3 discriminator 2 view .LVU1084 1698:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** ARM GAS /tmp/ccAvd9CD.s page 89 1699:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** hrtc->State = HAL_RTC_STATE_BUSY; 3150 .loc 1 1699 3 discriminator 2 view .LVU1085 3151 .loc 1 1699 15 is_stmt 0 discriminator 2 view .LVU1086 3152 000e 0223 movs r3, #2 3153 0010 4377 strb r3, [r0, #29] 1700:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1701:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Disable the write protection for RTC registers */ 1702:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_RTC_WRITEPROTECTION_DISABLE(hrtc); 3154 .loc 1 1702 3 is_stmt 1 discriminator 2 view .LVU1087 3155 .loc 1 1702 3 discriminator 2 view .LVU1088 3156 0012 0368 ldr r3, [r0] 3157 0014 CA22 movs r2, #202 3158 0016 5A62 str r2, [r3, #36] 3159 .loc 1 1702 3 discriminator 2 view .LVU1089 3160 0018 0368 ldr r3, [r0] 3161 001a 5322 movs r2, #83 3162 001c 5A62 str r2, [r3, #36] 3163 .loc 1 1702 3 discriminator 2 view .LVU1090 1703:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1704:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Enter Initialization mode */ 1705:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** status = RTC_EnterInitMode(hrtc); 3164 .loc 1 1705 3 discriminator 2 view .LVU1091 3165 .loc 1 1705 12 is_stmt 0 discriminator 2 view .LVU1092 3166 001e FFF7FEFF bl RTC_EnterInitMode 3167 .LVL212: 1706:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1707:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** if (status == HAL_OK) 3168 .loc 1 1707 3 is_stmt 1 discriminator 2 view .LVU1093 3169 .loc 1 1707 6 is_stmt 0 discriminator 2 view .LVU1094 3170 0022 40B1 cbz r0, .L209 3171 .L202: 1708:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 1709:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Disable the reference clock detection */ 1710:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_RTC_CLOCKREF_DETECTION_DISABLE(hrtc); 1711:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1712:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Exit Initialization mode */ 1713:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** status = RTC_ExitInitMode(hrtc); 1714:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 1715:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1716:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** if (status == HAL_OK) 3172 .loc 1 1716 3 is_stmt 1 view .LVU1095 3173 .loc 1 1716 6 is_stmt 0 view .LVU1096 3174 0024 08B9 cbnz r0, .L203 1717:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 1718:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** hrtc->State = HAL_RTC_STATE_READY; 3175 .loc 1 1718 5 is_stmt 1 view .LVU1097 3176 .loc 1 1718 17 is_stmt 0 view .LVU1098 3177 0026 0123 movs r3, #1 3178 0028 6377 strb r3, [r4, #29] 3179 .L203: 1719:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 1720:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1721:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Enable the write protection for RTC registers */ 1722:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); 3180 .loc 1 1722 3 is_stmt 1 view .LVU1099 3181 .loc 1 1722 3 view .LVU1100 3182 002a 2368 ldr r3, [r4] ARM GAS /tmp/ccAvd9CD.s page 90 3183 002c FF22 movs r2, #255 3184 002e 5A62 str r2, [r3, #36] 3185 .loc 1 1722 3 view .LVU1101 1723:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1724:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Process Unlocked */ 1725:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_UNLOCK(hrtc); 3186 .loc 1 1725 3 view .LVU1102 3187 .loc 1 1725 3 view .LVU1103 3188 0030 0023 movs r3, #0 3189 0032 2377 strb r3, [r4, #28] 3190 .loc 1 1725 3 view .LVU1104 1726:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1727:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** return status; 3191 .loc 1 1727 3 view .LVU1105 1728:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 3192 .loc 1 1728 1 is_stmt 0 view .LVU1106 3193 0034 10BD pop {r4, pc} 3194 .LVL213: 3195 .L209: 1710:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 3196 .loc 1 1710 5 is_stmt 1 view .LVU1107 3197 0036 2268 ldr r2, [r4] 3198 0038 9368 ldr r3, [r2, #8] 3199 003a 23F01003 bic r3, r3, #16 3200 003e 9360 str r3, [r2, #8] 1713:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 3201 .loc 1 1713 5 view .LVU1108 1713:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 3202 .loc 1 1713 14 is_stmt 0 view .LVU1109 3203 0040 2046 mov r0, r4 3204 .LVL214: 1713:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 3205 .loc 1 1713 14 view .LVU1110 3206 0042 FFF7FEFF bl RTC_ExitInitMode 3207 .LVL215: 1713:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 3208 .loc 1 1713 14 view .LVU1111 3209 0046 EDE7 b .L202 3210 .LVL216: 3211 .L204: 3212 .LCFI40: 3213 .cfi_def_cfa_offset 0 3214 .cfi_restore 4 3215 .cfi_restore 14 1697:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 3216 .loc 1 1697 3 view .LVU1112 3217 0048 0220 movs r0, #2 3218 .LVL217: 3219 .loc 1 1728 1 view .LVU1113 3220 004a 7047 bx lr 3221 .cfi_endproc 3222 .LFE164: 3224 .section .text.HAL_RTCEx_EnableBypassShadow,"ax",%progbits 3225 .align 1 3226 .global HAL_RTCEx_EnableBypassShadow 3227 .syntax unified 3228 .thumb ARM GAS /tmp/ccAvd9CD.s page 91 3229 .thumb_func 3231 HAL_RTCEx_EnableBypassShadow: 3232 .LVL218: 3233 .LFB165: 1729:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1730:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /** 1731:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @brief Enables the Bypass Shadow feature. 1732:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @param hrtc pointer to a RTC_HandleTypeDef structure that contains 1733:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * the configuration information for RTC. 1734:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @note When the Bypass Shadow is enabled the calendar value are taken 1735:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * directly from the Calendar counter. 1736:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @retval HAL status 1737:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** */ 1738:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** HAL_StatusTypeDef HAL_RTCEx_EnableBypassShadow(RTC_HandleTypeDef *hrtc) 1739:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 3234 .loc 1 1739 1 is_stmt 1 view -0 3235 .cfi_startproc 3236 @ args = 0, pretend = 0, frame = 0 3237 @ frame_needed = 0, uses_anonymous_args = 0 3238 @ link register save eliminated. 1740:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Process Locked */ 1741:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_LOCK(hrtc); 3239 .loc 1 1741 3 view .LVU1115 3240 .loc 1 1741 3 view .LVU1116 3241 0000 037F ldrb r3, [r0, #28] @ zero_extendqisi2 3242 0002 012B cmp r3, #1 3243 0004 16D0 beq .L212 3244 .loc 1 1741 3 discriminator 2 view .LVU1117 3245 0006 0122 movs r2, #1 3246 0008 0277 strb r2, [r0, #28] 3247 .loc 1 1741 3 discriminator 2 view .LVU1118 1742:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1743:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** hrtc->State = HAL_RTC_STATE_BUSY; 3248 .loc 1 1743 3 discriminator 2 view .LVU1119 3249 .loc 1 1743 15 is_stmt 0 discriminator 2 view .LVU1120 3250 000a 0223 movs r3, #2 3251 000c 4377 strb r3, [r0, #29] 1744:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1745:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Disable the write protection for RTC registers */ 1746:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_RTC_WRITEPROTECTION_DISABLE(hrtc); 3252 .loc 1 1746 3 is_stmt 1 discriminator 2 view .LVU1121 3253 .loc 1 1746 3 discriminator 2 view .LVU1122 3254 000e 0368 ldr r3, [r0] 3255 0010 CA21 movs r1, #202 3256 0012 5962 str r1, [r3, #36] 3257 .loc 1 1746 3 discriminator 2 view .LVU1123 3258 0014 0368 ldr r3, [r0] 3259 0016 5321 movs r1, #83 3260 0018 5962 str r1, [r3, #36] 3261 .loc 1 1746 3 discriminator 2 view .LVU1124 1747:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1748:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Set the BYPSHAD bit */ 1749:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** hrtc->Instance->CR |= (uint32_t)RTC_CR_BYPSHAD; 3262 .loc 1 1749 3 discriminator 2 view .LVU1125 3263 .loc 1 1749 7 is_stmt 0 discriminator 2 view .LVU1126 3264 001a 0168 ldr r1, [r0] 3265 .loc 1 1749 22 discriminator 2 view .LVU1127 ARM GAS /tmp/ccAvd9CD.s page 92 3266 001c 8B68 ldr r3, [r1, #8] 3267 001e 43F02003 orr r3, r3, #32 3268 0022 8B60 str r3, [r1, #8] 1750:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1751:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Enable the write protection for RTC registers */ 1752:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); 3269 .loc 1 1752 3 is_stmt 1 discriminator 2 view .LVU1128 3270 .loc 1 1752 3 discriminator 2 view .LVU1129 3271 0024 0368 ldr r3, [r0] 3272 0026 FF21 movs r1, #255 3273 0028 5962 str r1, [r3, #36] 3274 .loc 1 1752 3 discriminator 2 view .LVU1130 1753:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1754:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Change RTC state */ 1755:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** hrtc->State = HAL_RTC_STATE_READY; 3275 .loc 1 1755 3 discriminator 2 view .LVU1131 3276 .loc 1 1755 15 is_stmt 0 discriminator 2 view .LVU1132 3277 002a 4277 strb r2, [r0, #29] 1756:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1757:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Process Unlocked */ 1758:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_UNLOCK(hrtc); 3278 .loc 1 1758 3 is_stmt 1 discriminator 2 view .LVU1133 3279 .loc 1 1758 3 discriminator 2 view .LVU1134 3280 002c 0023 movs r3, #0 3281 002e 0377 strb r3, [r0, #28] 3282 .loc 1 1758 3 discriminator 2 view .LVU1135 1759:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1760:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** return HAL_OK; 3283 .loc 1 1760 3 discriminator 2 view .LVU1136 3284 .loc 1 1760 10 is_stmt 0 discriminator 2 view .LVU1137 3285 0030 1846 mov r0, r3 3286 .LVL219: 3287 .loc 1 1760 10 discriminator 2 view .LVU1138 3288 0032 7047 bx lr 3289 .LVL220: 3290 .L212: 1741:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 3291 .loc 1 1741 3 view .LVU1139 3292 0034 0220 movs r0, #2 3293 .LVL221: 1761:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 3294 .loc 1 1761 1 view .LVU1140 3295 0036 7047 bx lr 3296 .cfi_endproc 3297 .LFE165: 3299 .section .text.HAL_RTCEx_DisableBypassShadow,"ax",%progbits 3300 .align 1 3301 .global HAL_RTCEx_DisableBypassShadow 3302 .syntax unified 3303 .thumb 3304 .thumb_func 3306 HAL_RTCEx_DisableBypassShadow: 3307 .LVL222: 3308 .LFB166: 1762:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1763:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /** 1764:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @brief Disables the Bypass Shadow feature. ARM GAS /tmp/ccAvd9CD.s page 93 1765:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @param hrtc pointer to a RTC_HandleTypeDef structure that contains 1766:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * the configuration information for RTC. 1767:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @note When the Bypass Shadow is enabled the calendar value are taken 1768:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * directly from the Calendar counter. 1769:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @retval HAL status 1770:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** */ 1771:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** HAL_StatusTypeDef HAL_RTCEx_DisableBypassShadow(RTC_HandleTypeDef *hrtc) 1772:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 3309 .loc 1 1772 1 is_stmt 1 view -0 3310 .cfi_startproc 3311 @ args = 0, pretend = 0, frame = 0 3312 @ frame_needed = 0, uses_anonymous_args = 0 3313 @ link register save eliminated. 1773:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Process Locked */ 1774:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_LOCK(hrtc); 3314 .loc 1 1774 3 view .LVU1142 3315 .loc 1 1774 3 view .LVU1143 3316 0000 037F ldrb r3, [r0, #28] @ zero_extendqisi2 3317 0002 012B cmp r3, #1 3318 0004 16D0 beq .L215 3319 .loc 1 1774 3 discriminator 2 view .LVU1144 3320 0006 0122 movs r2, #1 3321 0008 0277 strb r2, [r0, #28] 3322 .loc 1 1774 3 discriminator 2 view .LVU1145 1775:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1776:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** hrtc->State = HAL_RTC_STATE_BUSY; 3323 .loc 1 1776 3 discriminator 2 view .LVU1146 3324 .loc 1 1776 15 is_stmt 0 discriminator 2 view .LVU1147 3325 000a 0223 movs r3, #2 3326 000c 4377 strb r3, [r0, #29] 1777:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1778:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Disable the write protection for RTC registers */ 1779:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_RTC_WRITEPROTECTION_DISABLE(hrtc); 3327 .loc 1 1779 3 is_stmt 1 discriminator 2 view .LVU1148 3328 .loc 1 1779 3 discriminator 2 view .LVU1149 3329 000e 0368 ldr r3, [r0] 3330 0010 CA21 movs r1, #202 3331 0012 5962 str r1, [r3, #36] 3332 .loc 1 1779 3 discriminator 2 view .LVU1150 3333 0014 0368 ldr r3, [r0] 3334 0016 5321 movs r1, #83 3335 0018 5962 str r1, [r3, #36] 3336 .loc 1 1779 3 discriminator 2 view .LVU1151 1780:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1781:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Reset the BYPSHAD bit */ 1782:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** hrtc->Instance->CR &= (uint32_t)~RTC_CR_BYPSHAD; 3337 .loc 1 1782 3 discriminator 2 view .LVU1152 3338 .loc 1 1782 7 is_stmt 0 discriminator 2 view .LVU1153 3339 001a 0168 ldr r1, [r0] 3340 .loc 1 1782 22 discriminator 2 view .LVU1154 3341 001c 8B68 ldr r3, [r1, #8] 3342 001e 23F02003 bic r3, r3, #32 3343 0022 8B60 str r3, [r1, #8] 1783:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1784:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Enable the write protection for RTC registers */ 1785:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); 3344 .loc 1 1785 3 is_stmt 1 discriminator 2 view .LVU1155 ARM GAS /tmp/ccAvd9CD.s page 94 3345 .loc 1 1785 3 discriminator 2 view .LVU1156 3346 0024 0368 ldr r3, [r0] 3347 0026 FF21 movs r1, #255 3348 0028 5962 str r1, [r3, #36] 3349 .loc 1 1785 3 discriminator 2 view .LVU1157 1786:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1787:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Change RTC state */ 1788:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** hrtc->State = HAL_RTC_STATE_READY; 3350 .loc 1 1788 3 discriminator 2 view .LVU1158 3351 .loc 1 1788 15 is_stmt 0 discriminator 2 view .LVU1159 3352 002a 4277 strb r2, [r0, #29] 1789:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1790:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Process Unlocked */ 1791:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_UNLOCK(hrtc); 3353 .loc 1 1791 3 is_stmt 1 discriminator 2 view .LVU1160 3354 .loc 1 1791 3 discriminator 2 view .LVU1161 3355 002c 0023 movs r3, #0 3356 002e 0377 strb r3, [r0, #28] 3357 .loc 1 1791 3 discriminator 2 view .LVU1162 1792:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1793:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** return HAL_OK; 3358 .loc 1 1793 3 discriminator 2 view .LVU1163 3359 .loc 1 1793 10 is_stmt 0 discriminator 2 view .LVU1164 3360 0030 1846 mov r0, r3 3361 .LVL223: 3362 .loc 1 1793 10 discriminator 2 view .LVU1165 3363 0032 7047 bx lr 3364 .LVL224: 3365 .L215: 1774:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 3366 .loc 1 1774 3 view .LVU1166 3367 0034 0220 movs r0, #2 3368 .LVL225: 1794:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 3369 .loc 1 1794 1 view .LVU1167 3370 0036 7047 bx lr 3371 .cfi_endproc 3372 .LFE166: 3374 .section .text.HAL_RTCEx_AlarmBEventCallback,"ax",%progbits 3375 .align 1 3376 .weak HAL_RTCEx_AlarmBEventCallback 3377 .syntax unified 3378 .thumb 3379 .thumb_func 3381 HAL_RTCEx_AlarmBEventCallback: 3382 .LVL226: 3383 .LFB167: 1795:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1796:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /** 1797:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @} 1798:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** */ 1799:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1800:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /** @defgroup RTCEx_Exported_Functions_Group4 Extended features functions 1801:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @brief Extended features functions 1802:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * 1803:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** @verbatim 1804:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** =============================================================================== ARM GAS /tmp/ccAvd9CD.s page 95 1805:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** ##### Extended features functions ##### 1806:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** =============================================================================== 1807:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** [..] This section provides functions allowing to: 1808:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** (+) RTC Alarm B callback 1809:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** (+) RTC Poll for Alarm B request 1810:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1811:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** @endverbatim 1812:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @{ 1813:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** */ 1814:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1815:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /** 1816:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @brief Alarm B callback. 1817:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @param hrtc pointer to a RTC_HandleTypeDef structure that contains 1818:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * the configuration information for RTC. 1819:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @retval None 1820:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** */ 1821:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __weak void HAL_RTCEx_AlarmBEventCallback(RTC_HandleTypeDef *hrtc) 1822:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 3384 .loc 1 1822 1 is_stmt 1 view -0 3385 .cfi_startproc 3386 @ args = 0, pretend = 0, frame = 0 3387 @ frame_needed = 0, uses_anonymous_args = 0 3388 @ link register save eliminated. 1823:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Prevent unused argument(s) compilation warning */ 1824:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** UNUSED(hrtc); 3389 .loc 1 1824 3 view .LVU1169 1825:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1826:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* NOTE: This function should not be modified, when the callback is needed, 1827:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** the HAL_RTCEx_AlarmBEventCallback could be implemented in the user file 1828:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** */ 1829:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 3390 .loc 1 1829 1 is_stmt 0 view .LVU1170 3391 0000 7047 bx lr 3392 .cfi_endproc 3393 .LFE167: 3395 .section .text.HAL_RTCEx_PollForAlarmBEvent,"ax",%progbits 3396 .align 1 3397 .global HAL_RTCEx_PollForAlarmBEvent 3398 .syntax unified 3399 .thumb 3400 .thumb_func 3402 HAL_RTCEx_PollForAlarmBEvent: 3403 .LVL227: 3404 .LFB168: 1830:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1831:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /** 1832:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @brief Handles Alarm B Polling request. 1833:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @param hrtc pointer to a RTC_HandleTypeDef structure that contains 1834:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * the configuration information for RTC. 1835:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @param Timeout Timeout duration 1836:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** * @retval HAL status 1837:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** */ 1838:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** HAL_StatusTypeDef HAL_RTCEx_PollForAlarmBEvent(RTC_HandleTypeDef *hrtc, uint32_t Timeout) 1839:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 3405 .loc 1 1839 1 is_stmt 1 view -0 3406 .cfi_startproc 3407 @ args = 0, pretend = 0, frame = 0 ARM GAS /tmp/ccAvd9CD.s page 96 3408 @ frame_needed = 0, uses_anonymous_args = 0 3409 .loc 1 1839 1 is_stmt 0 view .LVU1172 3410 0000 70B5 push {r4, r5, r6, lr} 3411 .LCFI41: 3412 .cfi_def_cfa_offset 16 3413 .cfi_offset 4, -16 3414 .cfi_offset 5, -12 3415 .cfi_offset 6, -8 3416 .cfi_offset 14, -4 3417 0002 0446 mov r4, r0 3418 0004 0D46 mov r5, r1 1840:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** uint32_t tickstart = 0U; 3419 .loc 1 1840 3 is_stmt 1 view .LVU1173 3420 .LVL228: 1841:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1842:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Get tick */ 1843:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** tickstart = HAL_GetTick(); 3421 .loc 1 1843 3 view .LVU1174 3422 .loc 1 1843 15 is_stmt 0 view .LVU1175 3423 0006 FFF7FEFF bl HAL_GetTick 3424 .LVL229: 3425 .loc 1 1843 15 view .LVU1176 3426 000a 0646 mov r6, r0 3427 .LVL230: 1844:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1845:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Wait till RTC ALRBF flag is set and if timeout is reached exit */ 1846:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** while (__HAL_RTC_ALARM_GET_FLAG(hrtc, RTC_FLAG_ALRBF) == 0U) 3428 .loc 1 1846 3 is_stmt 1 view .LVU1177 3429 .L219: 3430 .loc 1 1846 9 view .LVU1178 3431 .loc 1 1846 10 is_stmt 0 view .LVU1179 3432 000c 2368 ldr r3, [r4] 3433 000e DA68 ldr r2, [r3, #12] 3434 .loc 1 1846 9 view .LVU1180 3435 0010 12F4007F tst r2, #512 3436 0014 0BD1 bne .L224 1847:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 1848:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** if (Timeout != HAL_MAX_DELAY) 3437 .loc 1 1848 5 is_stmt 1 view .LVU1181 3438 .loc 1 1848 8 is_stmt 0 view .LVU1182 3439 0016 B5F1FF3F cmp r5, #-1 3440 001a F7D0 beq .L219 1849:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { 1850:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** if ((Timeout == 0U) || ((HAL_GetTick() - tickstart) > Timeout)) 3441 .loc 1 1850 7 is_stmt 1 view .LVU1183 3442 .loc 1 1850 10 is_stmt 0 view .LVU1184 3443 001c 25B1 cbz r5, .L220 3444 .loc 1 1850 32 discriminator 1 view .LVU1185 3445 001e FFF7FEFF bl HAL_GetTick 3446 .LVL231: 3447 .loc 1 1850 46 discriminator 1 view .LVU1186 3448 0022 801B subs r0, r0, r6 3449 .loc 1 1850 27 discriminator 1 view .LVU1187 3450 0024 A842 cmp r0, r5 3451 0026 F1D9 bls .L219 3452 .L220: 1851:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** { ARM GAS /tmp/ccAvd9CD.s page 97 1852:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** hrtc->State = HAL_RTC_STATE_TIMEOUT; 3453 .loc 1 1852 9 is_stmt 1 view .LVU1188 3454 .loc 1 1852 21 is_stmt 0 view .LVU1189 3455 0028 0320 movs r0, #3 3456 002a 6077 strb r0, [r4, #29] 1853:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** return HAL_TIMEOUT; 3457 .loc 1 1853 9 is_stmt 1 view .LVU1190 3458 .loc 1 1853 16 is_stmt 0 view .LVU1191 3459 002c 07E0 b .L221 3460 .L224: 1854:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 1855:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 1856:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 1857:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1858:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Clear the Alarm flag */ 1859:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** __HAL_RTC_ALARM_CLEAR_FLAG(hrtc, RTC_FLAG_ALRBF); 3461 .loc 1 1859 3 is_stmt 1 view .LVU1192 3462 002e DA68 ldr r2, [r3, #12] 3463 0030 D2B2 uxtb r2, r2 3464 0032 62F42072 orn r2, r2, #640 3465 0036 DA60 str r2, [r3, #12] 1860:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1861:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** /* Change RTC state */ 1862:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** hrtc->State = HAL_RTC_STATE_READY; 3466 .loc 1 1862 3 view .LVU1193 3467 .loc 1 1862 15 is_stmt 0 view .LVU1194 3468 0038 0123 movs r3, #1 3469 003a 6377 strb r3, [r4, #29] 1863:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** 1864:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** return HAL_OK; 3470 .loc 1 1864 3 is_stmt 1 view .LVU1195 3471 .loc 1 1864 10 is_stmt 0 view .LVU1196 3472 003c 0020 movs r0, #0 3473 .L221: 1865:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rtc_ex.c **** } 3474 .loc 1 1865 1 view .LVU1197 3475 003e 70BD pop {r4, r5, r6, pc} 3476 .loc 1 1865 1 view .LVU1198 3477 .cfi_endproc 3478 .LFE168: 3480 .text 3481 .Letext0: 3482 .file 2 "/home/jfen/toolchain/gcc-arm-none-eabi-10.3-2021.10/arm-none-eabi/include/machine/_defaul 3483 .file 3 "/home/jfen/toolchain/gcc-arm-none-eabi-10.3-2021.10/arm-none-eabi/include/sys/_stdint.h" 3484 .file 4 "Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f407xx.h" 3485 .file 5 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h" 3486 .file 6 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rtc.h" 3487 .file 7 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rtc_ex.h" 3488 .file 8 "Drivers/CMSIS/Device/ST/STM32F4xx/Include/system_stm32f4xx.h" 3489 .file 9 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h" ARM GAS /tmp/ccAvd9CD.s page 98 DEFINED SYMBOLS *ABS*:0000000000000000 stm32f4xx_hal_rtc_ex.c /tmp/ccAvd9CD.s:20 .text.HAL_RTCEx_SetTimeStamp:0000000000000000 $t /tmp/ccAvd9CD.s:26 .text.HAL_RTCEx_SetTimeStamp:0000000000000000 HAL_RTCEx_SetTimeStamp /tmp/ccAvd9CD.s:155 .text.HAL_RTCEx_SetTimeStamp_IT:0000000000000000 $t /tmp/ccAvd9CD.s:161 .text.HAL_RTCEx_SetTimeStamp_IT:0000000000000000 HAL_RTCEx_SetTimeStamp_IT /tmp/ccAvd9CD.s:302 .text.HAL_RTCEx_SetTimeStamp_IT:000000000000009c $d /tmp/ccAvd9CD.s:307 .text.HAL_RTCEx_DeactivateTimeStamp:0000000000000000 $t /tmp/ccAvd9CD.s:313 .text.HAL_RTCEx_DeactivateTimeStamp:0000000000000000 HAL_RTCEx_DeactivateTimeStamp /tmp/ccAvd9CD.s:397 .text.HAL_RTCEx_GetTimeStamp:0000000000000000 $t /tmp/ccAvd9CD.s:403 .text.HAL_RTCEx_GetTimeStamp:0000000000000000 HAL_RTCEx_GetTimeStamp /tmp/ccAvd9CD.s:549 .text.HAL_RTCEx_SetTamper:0000000000000000 $t /tmp/ccAvd9CD.s:555 .text.HAL_RTCEx_SetTamper:0000000000000000 HAL_RTCEx_SetTamper /tmp/ccAvd9CD.s:698 .text.HAL_RTCEx_SetTamper_IT:0000000000000000 $t /tmp/ccAvd9CD.s:704 .text.HAL_RTCEx_SetTamper_IT:0000000000000000 HAL_RTCEx_SetTamper_IT /tmp/ccAvd9CD.s:855 .text.HAL_RTCEx_SetTamper_IT:0000000000000074 $d /tmp/ccAvd9CD.s:860 .text.HAL_RTCEx_DeactivateTamper:0000000000000000 $t /tmp/ccAvd9CD.s:866 .text.HAL_RTCEx_DeactivateTamper:0000000000000000 HAL_RTCEx_DeactivateTamper /tmp/ccAvd9CD.s:931 .text.HAL_RTCEx_TimeStampEventCallback:0000000000000000 $t /tmp/ccAvd9CD.s:937 .text.HAL_RTCEx_TimeStampEventCallback:0000000000000000 HAL_RTCEx_TimeStampEventCallback /tmp/ccAvd9CD.s:952 .text.HAL_RTCEx_Tamper1EventCallback:0000000000000000 $t /tmp/ccAvd9CD.s:958 .text.HAL_RTCEx_Tamper1EventCallback:0000000000000000 HAL_RTCEx_Tamper1EventCallback /tmp/ccAvd9CD.s:973 .text.HAL_RTCEx_Tamper2EventCallback:0000000000000000 $t /tmp/ccAvd9CD.s:979 .text.HAL_RTCEx_Tamper2EventCallback:0000000000000000 HAL_RTCEx_Tamper2EventCallback /tmp/ccAvd9CD.s:994 .text.HAL_RTCEx_TamperTimeStampIRQHandler:0000000000000000 $t /tmp/ccAvd9CD.s:1000 .text.HAL_RTCEx_TamperTimeStampIRQHandler:0000000000000000 HAL_RTCEx_TamperTimeStampIRQHandler /tmp/ccAvd9CD.s:1104 .text.HAL_RTCEx_TamperTimeStampIRQHandler:0000000000000080 $d /tmp/ccAvd9CD.s:1109 .text.HAL_RTCEx_PollForTimeStampEvent:0000000000000000 $t /tmp/ccAvd9CD.s:1115 .text.HAL_RTCEx_PollForTimeStampEvent:0000000000000000 HAL_RTCEx_PollForTimeStampEvent /tmp/ccAvd9CD.s:1213 .text.HAL_RTCEx_PollForTamper1Event:0000000000000000 $t /tmp/ccAvd9CD.s:1219 .text.HAL_RTCEx_PollForTamper1Event:0000000000000000 HAL_RTCEx_PollForTamper1Event /tmp/ccAvd9CD.s:1298 .text.HAL_RTCEx_PollForTamper2Event:0000000000000000 $t /tmp/ccAvd9CD.s:1304 .text.HAL_RTCEx_PollForTamper2Event:0000000000000000 HAL_RTCEx_PollForTamper2Event /tmp/ccAvd9CD.s:1383 .text.HAL_RTCEx_SetWakeUpTimer:0000000000000000 $t /tmp/ccAvd9CD.s:1389 .text.HAL_RTCEx_SetWakeUpTimer:0000000000000000 HAL_RTCEx_SetWakeUpTimer /tmp/ccAvd9CD.s:1600 .text.HAL_RTCEx_SetWakeUpTimer_IT:0000000000000000 $t /tmp/ccAvd9CD.s:1606 .text.HAL_RTCEx_SetWakeUpTimer_IT:0000000000000000 HAL_RTCEx_SetWakeUpTimer_IT /tmp/ccAvd9CD.s:1854 .text.HAL_RTCEx_SetWakeUpTimer_IT:00000000000000f4 $d /tmp/ccAvd9CD.s:1861 .text.HAL_RTCEx_DeactivateWakeUpTimer:0000000000000000 $t /tmp/ccAvd9CD.s:1867 .text.HAL_RTCEx_DeactivateWakeUpTimer:0000000000000000 HAL_RTCEx_DeactivateWakeUpTimer /tmp/ccAvd9CD.s:1992 .text.HAL_RTCEx_GetWakeUpTimer:0000000000000000 $t /tmp/ccAvd9CD.s:1998 .text.HAL_RTCEx_GetWakeUpTimer:0000000000000000 HAL_RTCEx_GetWakeUpTimer /tmp/ccAvd9CD.s:2019 .text.HAL_RTCEx_WakeUpTimerEventCallback:0000000000000000 $t /tmp/ccAvd9CD.s:2025 .text.HAL_RTCEx_WakeUpTimerEventCallback:0000000000000000 HAL_RTCEx_WakeUpTimerEventCallback /tmp/ccAvd9CD.s:2040 .text.HAL_RTCEx_WakeUpTimerIRQHandler:0000000000000000 $t /tmp/ccAvd9CD.s:2046 .text.HAL_RTCEx_WakeUpTimerIRQHandler:0000000000000000 HAL_RTCEx_WakeUpTimerIRQHandler /tmp/ccAvd9CD.s:2094 .text.HAL_RTCEx_WakeUpTimerIRQHandler:000000000000002c $d /tmp/ccAvd9CD.s:2099 .text.HAL_RTCEx_PollForWakeUpTimerEvent:0000000000000000 $t /tmp/ccAvd9CD.s:2105 .text.HAL_RTCEx_PollForWakeUpTimerEvent:0000000000000000 HAL_RTCEx_PollForWakeUpTimerEvent /tmp/ccAvd9CD.s:2184 .text.HAL_RTCEx_BKUPWrite:0000000000000000 $t /tmp/ccAvd9CD.s:2190 .text.HAL_RTCEx_BKUPWrite:0000000000000000 HAL_RTCEx_BKUPWrite /tmp/ccAvd9CD.s:2216 .text.HAL_RTCEx_BKUPRead:0000000000000000 $t /tmp/ccAvd9CD.s:2222 .text.HAL_RTCEx_BKUPRead:0000000000000000 HAL_RTCEx_BKUPRead /tmp/ccAvd9CD.s:2249 .text.HAL_RTCEx_SetCoarseCalib:0000000000000000 $t /tmp/ccAvd9CD.s:2255 .text.HAL_RTCEx_SetCoarseCalib:0000000000000000 HAL_RTCEx_SetCoarseCalib /tmp/ccAvd9CD.s:2373 .text.HAL_RTCEx_DeactivateCoarseCalib:0000000000000000 $t /tmp/ccAvd9CD.s:2379 .text.HAL_RTCEx_DeactivateCoarseCalib:0000000000000000 HAL_RTCEx_DeactivateCoarseCalib ARM GAS /tmp/ccAvd9CD.s page 99 /tmp/ccAvd9CD.s:2478 .text.HAL_RTCEx_SetSmoothCalib:0000000000000000 $t /tmp/ccAvd9CD.s:2484 .text.HAL_RTCEx_SetSmoothCalib:0000000000000000 HAL_RTCEx_SetSmoothCalib /tmp/ccAvd9CD.s:2635 .text.HAL_RTCEx_SetSynchroShift:0000000000000000 $t /tmp/ccAvd9CD.s:2641 .text.HAL_RTCEx_SetSynchroShift:0000000000000000 HAL_RTCEx_SetSynchroShift /tmp/ccAvd9CD.s:2843 .text.HAL_RTCEx_SetCalibrationOutPut:0000000000000000 $t /tmp/ccAvd9CD.s:2849 .text.HAL_RTCEx_SetCalibrationOutPut:0000000000000000 HAL_RTCEx_SetCalibrationOutPut /tmp/ccAvd9CD.s:2942 .text.HAL_RTCEx_DeactivateCalibrationOutPut:0000000000000000 $t /tmp/ccAvd9CD.s:2948 .text.HAL_RTCEx_DeactivateCalibrationOutPut:0000000000000000 HAL_RTCEx_DeactivateCalibrationOutPut /tmp/ccAvd9CD.s:3015 .text.HAL_RTCEx_SetRefClock:0000000000000000 $t /tmp/ccAvd9CD.s:3021 .text.HAL_RTCEx_SetRefClock:0000000000000000 HAL_RTCEx_SetRefClock /tmp/ccAvd9CD.s:3120 .text.HAL_RTCEx_DeactivateRefClock:0000000000000000 $t /tmp/ccAvd9CD.s:3126 .text.HAL_RTCEx_DeactivateRefClock:0000000000000000 HAL_RTCEx_DeactivateRefClock /tmp/ccAvd9CD.s:3225 .text.HAL_RTCEx_EnableBypassShadow:0000000000000000 $t /tmp/ccAvd9CD.s:3231 .text.HAL_RTCEx_EnableBypassShadow:0000000000000000 HAL_RTCEx_EnableBypassShadow /tmp/ccAvd9CD.s:3300 .text.HAL_RTCEx_DisableBypassShadow:0000000000000000 $t /tmp/ccAvd9CD.s:3306 .text.HAL_RTCEx_DisableBypassShadow:0000000000000000 HAL_RTCEx_DisableBypassShadow /tmp/ccAvd9CD.s:3375 .text.HAL_RTCEx_AlarmBEventCallback:0000000000000000 $t /tmp/ccAvd9CD.s:3381 .text.HAL_RTCEx_AlarmBEventCallback:0000000000000000 HAL_RTCEx_AlarmBEventCallback /tmp/ccAvd9CD.s:3396 .text.HAL_RTCEx_PollForAlarmBEvent:0000000000000000 $t /tmp/ccAvd9CD.s:3402 .text.HAL_RTCEx_PollForAlarmBEvent:0000000000000000 HAL_RTCEx_PollForAlarmBEvent UNDEFINED SYMBOLS RTC_Bcd2ToByte HAL_GetTick SystemCoreClock RTC_EnterInitMode RTC_ExitInitMode HAL_RTC_WaitForSynchro