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