ARM GAS /tmp/ccjtTCRz.s page 1 1 .cpu cortex-m0plus 2 .eabi_attribute 20, 1 3 .eabi_attribute 21, 1 4 .eabi_attribute 23, 3 5 .eabi_attribute 24, 1 6 .eabi_attribute 25, 1 7 .eabi_attribute 26, 1 8 .eabi_attribute 30, 1 9 .eabi_attribute 34, 0 10 .eabi_attribute 18, 4 11 .file "stm32l0xx_hal_rtc.c" 12 .text 13 .Ltext0: 14 .cfi_sections .debug_frame 15 .section .text.HAL_RTC_MspInit,"ax",%progbits 16 .align 1 17 .weak HAL_RTC_MspInit 18 .syntax unified 19 .code 16 20 .thumb_func 21 .fpu softvfp 23 HAL_RTC_MspInit: 24 .LFB41: 25 .file 1 "./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c" 1:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /** 2:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ****************************************************************************** 3:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @file stm32l0xx_hal_rtc.c 4:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @author MCD Application Team 5:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @brief RTC HAL module driver. 6:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * This file provides firmware functions to manage the following 7:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * functionalities of the Real Time Clock (RTC) peripheral: 8:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * + Initialization/de-initialization functions 9:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * + I/O operation functions 10:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * + Peripheral Control functions 11:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * + Peripheral State functions 12:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * 13:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** @verbatim 14:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ============================================================================== 15:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ##### Backup Domain Operating Condition ##### 16:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ============================================================================== 17:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** [..] As long as the supply voltage remains in the operating range, 18:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** the RTC never stops, regardless of the device status (Run mode, 19:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** low power modes or under reset). 20:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 21:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ##### Backup Domain Reset ##### 22:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ================================================================== 23:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** [..] The backup domain reset sets all RTC registers and the RCC_CSR register 24:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** to their reset values. 25:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** [..] A backup domain reset is generated when one of the following events occurs: 26:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** (+) Software reset, triggered by setting the RTCRST bit in the 27:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** RCC Control Status register (RCC_CSR). 28:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** (+) Power reset (BOR/POR/PDR). 29:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 30:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ##### Backup Domain Access ##### 31:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ================================================================== 32:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** [..] After reset, the backup domain (RTC registers and RTC backup data registers) 33:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** is protected against possible unwanted write accesses. ARM GAS /tmp/ccjtTCRz.s page 2 34:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** [..] To enable access to the RTC Domain and RTC registers, proceed as follows: 35:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** (+) Enable the Power Controller (PWR) APB1 interface clock using the 36:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** __HAL_RCC_PWR_CLK_ENABLE() function. 37:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** (+) Enable access to RTC domain using the HAL_PWR_EnableBkUpAccess() function. 38:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** (+) Select the RTC clock source using the __HAL_RCC_RTC_CONFIG() function. 39:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** (+) Enable RTC Clock using the __HAL_RCC_RTC_ENABLE() function. 40:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 41:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 42:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ##### How to use RTC Driver ##### 43:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** =================================================================== 44:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** [..] 45:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** (+) Enable the RTC domain access (see description in the section above). 46:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** (+) Configure the RTC Prescaler (Asynchronous and Synchronous) and RTC hour 47:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** format using the HAL_RTC_Init() function. 48:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 49:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** *** Time and Date configuration *** 50:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** =================================== 51:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** [..] 52:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** (+) To configure the RTC Calendar (Time and Date) use the HAL_RTC_SetTime() 53:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** and HAL_RTC_SetDate() functions. 54:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** (+) To read the RTC Calendar, use the HAL_RTC_GetTime() and HAL_RTC_GetDate() functions. 55:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 56:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** *** Alarm configuration *** 57:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** =========================== 58:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** [..] 59:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** (+) To configure the RTC Alarm use the HAL_RTC_SetAlarm() function. 60:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** You can also configure the RTC Alarm with interrupt mode using the 61:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** HAL_RTC_SetAlarm_IT() function. 62:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** (+) To read the RTC Alarm, use the HAL_RTC_GetAlarm() function. 63:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 64:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ##### RTC and low power modes ##### 65:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ================================================================== 66:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** [..] The MCU can be woken up from a low power mode by an RTC alternate 67:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** function. 68:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** [..] The RTC alternate functions are the RTC alarms (Alarm A and Alarm B), 69:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** RTC wakeup, RTC tamper event detection and RTC time stamp event detection. 70:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** These RTC alternate functions can wake up the system from the Stop and 71:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** Standby low power modes. 72:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** [..] The system can also wake up from low power modes without depending 73:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** on an external interrupt (Auto-wakeup mode), by using the RTC alarm 74:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** or the RTC wakeup events. 75:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** [..] The RTC provides a programmable time base for waking up from the 76:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** Stop or Standby mode at regular intervals. 77:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** Wakeup from STOP and STANDBY modes is possible only when the RTC clock source 78:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** is LSE or LSI. 79:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 80:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** @endverbatim 81:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ****************************************************************************** 82:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @attention 83:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * 84:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** *

© COPYRIGHT(c) 2016 STMicroelectronics

85:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * 86:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * Redistribution and use in source and binary forms, with or without modification, 87:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * are permitted provided that the following conditions are met: 88:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * 1. Redistributions of source code must retain the above copyright notice, 89:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * this list of conditions and the following disclaimer. 90:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * 2. Redistributions in binary form must reproduce the above copyright notice, ARM GAS /tmp/ccjtTCRz.s page 3 91:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * this list of conditions and the following disclaimer in the documentation 92:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * and/or other materials provided with the distribution. 93:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * 3. Neither the name of STMicroelectronics nor the names of its contributors 94:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * may be used to endorse or promote products derived from this software 95:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * without specific prior written permission. 96:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * 97:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 98:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 99:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 100:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 101:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 102:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 103:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 104:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 105:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 106:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 107:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * 108:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ****************************************************************************** 109:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** */ 110:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 111:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Includes ------------------------------------------------------------------*/ 112:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** #include "stm32l0xx_hal.h" 113:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 114:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /** @addtogroup STM32L0xx_HAL_Driver 115:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @{ 116:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** */ 117:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 118:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 119:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /** @addtogroup RTC 120:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @brief RTC HAL module driver 121:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @{ 122:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** */ 123:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 124:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** #ifdef HAL_RTC_MODULE_ENABLED 125:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 126:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Private typedef -----------------------------------------------------------*/ 127:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Private define ------------------------------------------------------------*/ 128:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Private macro -------------------------------------------------------------*/ 129:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Private variables ---------------------------------------------------------*/ 130:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Private function prototypes -----------------------------------------------*/ 131:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Exported functions --------------------------------------------------------*/ 132:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 133:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /** @addtogroup RTC_Exported_Functions 134:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @{ 135:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** */ 136:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 137:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /** @addtogroup RTC_Exported_Functions_Group1 138:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @brief Initialization and Configuration functions 139:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * 140:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** @verbatim 141:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** =============================================================================== 142:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ##### Initialization and de-initialization functions ##### 143:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** =============================================================================== 144:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** [..] This section provides functions allowing to initialize and configure the 145:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** RTC Prescaler (Synchronous and Asynchronous), RTC Hour format, disable 146:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** RTC registers Write protection, enter and exit the RTC initialization mode, 147:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** RTC registers synchronization check and reference clock detection enable. ARM GAS /tmp/ccjtTCRz.s page 4 148:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** (#) The RTC Prescaler is programmed to generate the RTC 1Hz time base. 149:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** It is split into 2 programmable prescalers to minimize power consumption. 150:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** (++) A 7-bit asynchronous prescaler and a 15-bit synchronous prescaler. 151:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** (++) When both prescalers are used, it is recommended to configure the 152:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** asynchronous prescaler to a high value to minimize power consumption. 153:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** (#) All RTC registers are Write protected. Writing to the RTC registers 154:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** is enabled by writing a key into the Write Protection register, RTC_WPR. 155:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** (#) To configure the RTC Calendar, user application should enter 156:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** initialization mode. In this mode, the calendar counter is stopped 157:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** and its value can be updated. When the initialization sequence is 158:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** complete, the calendar restarts counting after 4 RTCCLK cycles. 159:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** (#) To read the calendar through the shadow registers after Calendar 160:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** initialization, calendar update or after wakeup from low power modes 161:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** the software must first clear the RSF flag. The software must then 162:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** wait until it is set again before reading the calendar, which means 163:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** that the calendar registers have been correctly copied into the 164:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** RTC_TR and RTC_DR shadow registers.The HAL_RTC_WaitForSynchro() function 165:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** implements the above software sequence (RSF clear and RSF check). 166:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 167:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** @endverbatim 168:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @{ 169:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** */ 170:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 171:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /** 172:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @brief Initialize the RTC peripheral 173:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @param hrtc: RTC handle 174:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @retval HAL status 175:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** */ 176:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** HAL_StatusTypeDef HAL_RTC_Init(RTC_HandleTypeDef *hrtc) 177:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 178:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Check the RTC peripheral state */ 179:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** if(hrtc == NULL) 180:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 181:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** return HAL_ERROR; 182:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 183:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 184:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Check the parameters */ 185:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** assert_param(IS_RTC_ALL_INSTANCE(hrtc->Instance)); 186:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** assert_param(IS_RTC_HOUR_FORMAT(hrtc->Init.HourFormat)); 187:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** assert_param(IS_RTC_ASYNCH_PREDIV(hrtc->Init.AsynchPrediv)); 188:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** assert_param(IS_RTC_SYNCH_PREDIV(hrtc->Init.SynchPrediv)); 189:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** assert_param(IS_RTC_OUTPUT(hrtc->Init.OutPut)); 190:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** assert_param(IS_RTC_OUTPUT_REMAP(hrtc->Init.OutPutRemap)); 191:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** assert_param(IS_RTC_OUTPUT_POL(hrtc->Init.OutPutPolarity)); 192:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** assert_param(IS_RTC_OUTPUT_TYPE(hrtc->Init.OutPutType)); 193:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 194:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** if(hrtc->State == HAL_RTC_STATE_RESET) 195:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 196:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Allocate lock resource and initialize it */ 197:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** hrtc->Lock = HAL_UNLOCKED; 198:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 199:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Initialize RTC MSP */ 200:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** HAL_RTC_MspInit(hrtc); 201:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 202:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 203:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Set RTC state */ 204:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** hrtc->State = HAL_RTC_STATE_BUSY; ARM GAS /tmp/ccjtTCRz.s page 5 205:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 206:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Disable the write protection for RTC registers */ 207:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** __HAL_RTC_WRITEPROTECTION_DISABLE(hrtc); 208:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 209:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Set Initialization mode */ 210:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** if(RTC_EnterInitMode(hrtc) != HAL_OK) 211:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 212:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Enable the write protection for RTC registers */ 213:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); 214:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 215:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Set RTC state */ 216:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** hrtc->State = HAL_RTC_STATE_ERROR; 217:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 218:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** return HAL_ERROR; 219:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 220:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** else 221:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 222:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Clear RTC_CR FMT, OSEL and POL Bits */ 223:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** hrtc->Instance->CR &= ((uint32_t)~(RTC_CR_FMT | RTC_CR_OSEL | RTC_CR_POL)); 224:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Set RTC_CR register */ 225:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** hrtc->Instance->CR |= (uint32_t)(hrtc->Init.HourFormat | hrtc->Init.OutPut | hrtc->Init.OutPutP 226:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 227:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Configure the RTC PRER */ 228:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** hrtc->Instance->PRER = (uint32_t)(hrtc->Init.SynchPrediv); 229:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** hrtc->Instance->PRER |= (uint32_t)(hrtc->Init.AsynchPrediv << 16U); 230:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 231:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Exit Initialization mode */ 232:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** hrtc->Instance->ISR &= ((uint32_t)~RTC_ISR_INIT); 233:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 234:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** hrtc->Instance->OR &= (uint32_t)~(RTC_OR_ALARMOUTTYPE | RTC_OR_OUT_RMP); 235:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** hrtc->Instance->OR |= (uint32_t)(hrtc->Init.OutPutType | hrtc->Init.OutPutRemap); 236:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 237:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Enable the write protection for RTC registers */ 238:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); 239:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 240:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Set RTC state */ 241:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** hrtc->State = HAL_RTC_STATE_READY; 242:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 243:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** return HAL_OK; 244:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 245:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 246:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 247:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /** 248:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @brief DeInitialize the RTC peripheral. 249:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @param hrtc: RTC handle 250:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @note This function doesn't reset the RTC Backup Data registers. 251:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @retval HAL status 252:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** */ 253:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** HAL_StatusTypeDef HAL_RTC_DeInit(RTC_HandleTypeDef *hrtc) 254:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 255:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** uint32_t tickstart = 0U; 256:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 257:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Check the parameters */ 258:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** assert_param(IS_RTC_ALL_INSTANCE(hrtc->Instance)); 259:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 260:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Set RTC state */ 261:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** hrtc->State = HAL_RTC_STATE_BUSY; ARM GAS /tmp/ccjtTCRz.s page 6 262:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 263:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Disable the write protection for RTC registers */ 264:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** __HAL_RTC_WRITEPROTECTION_DISABLE(hrtc); 265:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 266:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Set Initialization mode */ 267:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** if(RTC_EnterInitMode(hrtc) != HAL_OK) 268:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 269:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Enable the write protection for RTC registers */ 270:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); 271:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 272:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Set RTC state */ 273:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** hrtc->State = HAL_RTC_STATE_ERROR; 274:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 275:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** return HAL_ERROR; 276:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 277:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** else 278:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 279:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Reset TR, DR and CR registers */ 280:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** hrtc->Instance->TR = (uint32_t)0x00000000U; 281:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** hrtc->Instance->DR = ((uint32_t)(RTC_DR_WDU_0 | RTC_DR_MU_0 | RTC_DR_DU_0)); 282:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Reset All CR bits except CR[2:0] */ 283:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** hrtc->Instance->CR &= RTC_CR_WUCKSEL; 284:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 285:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** tickstart = HAL_GetTick(); 286:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 287:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Wait till WUTWF flag is set and if Time out is reached exit */ 288:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** while(((hrtc->Instance->ISR) & RTC_ISR_WUTWF) == (uint32_t)RESET) 289:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 290:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** if((HAL_GetTick() - tickstart ) > RTC_TIMEOUT_VALUE) 291:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 292:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Enable the write protection for RTC registers */ 293:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); 294:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 295:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Set RTC state */ 296:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** hrtc->State = HAL_RTC_STATE_TIMEOUT; 297:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 298:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** return HAL_TIMEOUT; 299:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 300:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 301:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 302:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Reset all RTC CR register bits */ 303:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** hrtc->Instance->CR &= (uint32_t)0x00000000U; 304:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** hrtc->Instance->WUTR = RTC_WUTR_WUT; 305:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** hrtc->Instance->PRER = ((uint32_t)(RTC_PRER_PREDIV_A | 0x000000FFU)); 306:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** hrtc->Instance->ALRMAR = (uint32_t)0x00000000U; 307:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** hrtc->Instance->ALRMBR = (uint32_t)0x00000000U; 308:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** hrtc->Instance->SHIFTR = (uint32_t)0x00000000U; 309:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** hrtc->Instance->CALR = (uint32_t)0x00000000U; 310:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** hrtc->Instance->ALRMASSR = (uint32_t)0x00000000U; 311:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** hrtc->Instance->ALRMBSSR = (uint32_t)0x00000000U; 312:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 313:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Reset ISR register and exit initialization mode */ 314:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** hrtc->Instance->ISR = (uint32_t)0x00000000U; 315:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 316:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Reset Tamper configuration register */ 317:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** hrtc->Instance->TAMPCR = 0x00000000U; 318:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ARM GAS /tmp/ccjtTCRz.s page 7 319:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Reset Option register */ 320:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** hrtc->Instance->OR = 0x00000000U; 321:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 322:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* If RTC_CR_BYPSHAD bit = 0, wait for synchro else this check is not needed */ 323:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** if((hrtc->Instance->CR & RTC_CR_BYPSHAD) == RESET) 324:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 325:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** if(HAL_RTC_WaitForSynchro(hrtc) != HAL_OK) 326:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 327:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Enable the write protection for RTC registers */ 328:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); 329:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 330:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** hrtc->State = HAL_RTC_STATE_ERROR; 331:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 332:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** return HAL_ERROR; 333:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 334:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 335:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 336:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 337:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Enable the write protection for RTC registers */ 338:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); 339:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 340:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* De-Initialize RTC MSP */ 341:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** HAL_RTC_MspDeInit(hrtc); 342:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 343:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** hrtc->State = HAL_RTC_STATE_RESET; 344:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 345:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Release Lock */ 346:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** __HAL_UNLOCK(hrtc); 347:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 348:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** return HAL_OK; 349:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 350:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 351:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /** 352:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @brief Initialize the RTC MSP. 353:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @param hrtc: RTC handle 354:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @retval None 355:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** */ 356:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** __weak void HAL_RTC_MspInit(RTC_HandleTypeDef* hrtc) 357:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 26 .loc 1 357 0 27 .cfi_startproc 28 @ args = 0, pretend = 0, frame = 0 29 @ frame_needed = 0, uses_anonymous_args = 0 30 @ link register save eliminated. 31 .LVL0: 358:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Prevent unused argument(s) compilation warning */ 359:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** UNUSED(hrtc); 360:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 361:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* NOTE : This function should not be modified, when the callback is needed, 362:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** the HAL_RTC_MspInit could be implemented in the user file 363:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** */ 364:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 32 .loc 1 364 0 33 @ sp needed 34 0000 7047 bx lr 35 .cfi_endproc 36 .LFE41: ARM GAS /tmp/ccjtTCRz.s page 8 38 .section .text.HAL_RTC_MspDeInit,"ax",%progbits 39 .align 1 40 .weak HAL_RTC_MspDeInit 41 .syntax unified 42 .code 16 43 .thumb_func 44 .fpu softvfp 46 HAL_RTC_MspDeInit: 47 .LFB42: 365:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 366:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /** 367:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @brief DeInitialize the RTC MSP. 368:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @param hrtc: RTC handle 369:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @retval None 370:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** */ 371:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** __weak void HAL_RTC_MspDeInit(RTC_HandleTypeDef* hrtc) 372:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 48 .loc 1 372 0 49 .cfi_startproc 50 @ args = 0, pretend = 0, frame = 0 51 @ frame_needed = 0, uses_anonymous_args = 0 52 @ link register save eliminated. 53 .LVL1: 373:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Prevent unused argument(s) compilation warning */ 374:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** UNUSED(hrtc); 375:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 376:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* NOTE : This function should not be modified, when the callback is needed, 377:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** the HAL_RTC_MspDeInit could be implemented in the user file 378:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** */ 379:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 54 .loc 1 379 0 55 @ sp needed 56 0000 7047 bx lr 57 .cfi_endproc 58 .LFE42: 60 .section .text.HAL_RTC_GetTime,"ax",%progbits 61 .align 1 62 .global HAL_RTC_GetTime 63 .syntax unified 64 .code 16 65 .thumb_func 66 .fpu softvfp 68 HAL_RTC_GetTime: 69 .LFB44: 380:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 381:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /** 382:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @} 383:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** */ 384:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 385:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /** @addtogroup RTC_Exported_Functions_Group2 386:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @brief RTC Time and Date functions 387:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * 388:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** @verbatim 389:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** =============================================================================== 390:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ##### RTC Time and Date functions ##### 391:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** =============================================================================== 392:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ARM GAS /tmp/ccjtTCRz.s page 9 393:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** [..] This section provides functions allowing to configure Time and Date features 394:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 395:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** @endverbatim 396:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @{ 397:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** */ 398:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 399:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /** 400:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @brief Set RTC current time. 401:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @param hrtc: RTC handle 402:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @param sTime: Pointer to Time structure 403:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @param Format: Specifies the format of the entered parameters. 404:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * This parameter can be one of the following values: 405:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @arg RTC_FORMAT_BIN: Binary data format 406:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @arg RTC_FORMAT_BCD: BCD data format 407:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @retval HAL status 408:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** */ 409:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** HAL_StatusTypeDef HAL_RTC_SetTime(RTC_HandleTypeDef *hrtc, RTC_TimeTypeDef *sTime, uint32_t Format) 410:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 411:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** uint32_t tmpreg = 0U; 412:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 413:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Check the parameters */ 414:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** assert_param(IS_RTC_FORMAT(Format)); 415:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** assert_param(IS_RTC_DAYLIGHT_SAVING(sTime->DayLightSaving)); 416:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** assert_param(IS_RTC_STORE_OPERATION(sTime->StoreOperation)); 417:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 418:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Process Locked */ 419:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** __HAL_LOCK(hrtc); 420:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 421:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** hrtc->State = HAL_RTC_STATE_BUSY; 422:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 423:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** if(Format == RTC_FORMAT_BIN) 424:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 425:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** if((hrtc->Instance->CR & RTC_CR_FMT) != (uint32_t)RESET) 426:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 427:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** assert_param(IS_RTC_HOUR12(sTime->Hours)); 428:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** assert_param(IS_RTC_HOURFORMAT12(sTime->TimeFormat)); 429:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 430:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** else 431:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 432:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** sTime->TimeFormat = 0x00U; 433:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** assert_param(IS_RTC_HOUR24(sTime->Hours)); 434:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 435:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** assert_param(IS_RTC_MINUTES(sTime->Minutes)); 436:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** assert_param(IS_RTC_SECONDS(sTime->Seconds)); 437:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 438:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** tmpreg = (uint32_t)(((uint32_t)RTC_ByteToBcd2(sTime->Hours) << 16U) | \ 439:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ((uint32_t)RTC_ByteToBcd2(sTime->Minutes) << 8U) | \ 440:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ((uint32_t)RTC_ByteToBcd2(sTime->Seconds)) | \ 441:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** (((uint32_t)sTime->TimeFormat) << 16U)); 442:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 443:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** else 444:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 445:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** if((hrtc->Instance->CR & RTC_CR_FMT) != (uint32_t)RESET) 446:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 447:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** tmpreg = RTC_Bcd2ToByte(sTime->Hours); 448:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** assert_param(IS_RTC_HOUR12(tmpreg)); 449:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** assert_param(IS_RTC_HOURFORMAT12(sTime->TimeFormat)); ARM GAS /tmp/ccjtTCRz.s page 10 450:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 451:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** else 452:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 453:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** sTime->TimeFormat = 0x00U; 454:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** assert_param(IS_RTC_HOUR24(RTC_Bcd2ToByte(sTime->Hours))); 455:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 456:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** assert_param(IS_RTC_MINUTES(RTC_Bcd2ToByte(sTime->Minutes))); 457:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** assert_param(IS_RTC_SECONDS(RTC_Bcd2ToByte(sTime->Seconds))); 458:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** tmpreg = (((uint32_t)(sTime->Hours) << 16U) | \ 459:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ((uint32_t)(sTime->Minutes) << 8U) | \ 460:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ((uint32_t)sTime->Seconds) | \ 461:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ((uint32_t)(sTime->TimeFormat) << 16U)); 462:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 463:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** UNUSED(tmpreg); 464:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Disable the write protection for RTC registers */ 465:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** __HAL_RTC_WRITEPROTECTION_DISABLE(hrtc); 466:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 467:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Set Initialization mode */ 468:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** if(RTC_EnterInitMode(hrtc) != HAL_OK) 469:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 470:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Enable the write protection for RTC registers */ 471:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); 472:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 473:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Set RTC state */ 474:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** hrtc->State = HAL_RTC_STATE_ERROR; 475:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 476:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Process Unlocked */ 477:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** __HAL_UNLOCK(hrtc); 478:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 479:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** return HAL_ERROR; 480:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 481:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** else 482:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 483:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Set the RTC_TR register */ 484:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** hrtc->Instance->TR = (uint32_t)(tmpreg & RTC_TR_RESERVED_MASK); 485:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 486:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Clear the bits to be configured */ 487:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** hrtc->Instance->CR &= ((uint32_t)~RTC_CR_BCK); 488:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 489:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Configure the RTC_CR register */ 490:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** hrtc->Instance->CR |= (uint32_t)(sTime->DayLightSaving | sTime->StoreOperation); 491:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 492:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Exit Initialization mode */ 493:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** hrtc->Instance->ISR &= ((uint32_t)~RTC_ISR_INIT); 494:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 495:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* If CR_BYPSHAD bit = 0, wait for synchro else this check is not needed */ 496:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** if((hrtc->Instance->CR & RTC_CR_BYPSHAD) == RESET) 497:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 498:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** if(HAL_RTC_WaitForSynchro(hrtc) != HAL_OK) 499:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 500:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Enable the write protection for RTC registers */ 501:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); 502:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 503:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** hrtc->State = HAL_RTC_STATE_ERROR; 504:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 505:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Process Unlocked */ 506:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** __HAL_UNLOCK(hrtc); ARM GAS /tmp/ccjtTCRz.s page 11 507:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 508:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** return HAL_ERROR; 509:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 510:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 511:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 512:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Enable the write protection for RTC registers */ 513:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); 514:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 515:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** hrtc->State = HAL_RTC_STATE_READY; 516:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 517:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** __HAL_UNLOCK(hrtc); 518:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 519:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** return HAL_OK; 520:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 521:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 522:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 523:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /** 524:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @brief Get RTC current time. 525:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @param hrtc: RTC handle 526:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @param sTime: Pointer to Time structure with Hours, Minutes and Seconds fields returned 527:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * with input format (BIN or BCD), also SubSeconds field returning the 528:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * RTC_SSR register content and SecondFraction field the Synchronous pre-scaler 529:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * factor to be used for second fraction ratio computation. 530:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @param Format: Specifies the format of the entered parameters. 531:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * This parameter can be one of the following values: 532:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @arg RTC_FORMAT_BIN: Binary data format 533:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @arg RTC_FORMAT_BCD: BCD data format 534:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @note You can use SubSeconds and SecondFraction (sTime structure fields returned) to convert S 535:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * value in second fraction ratio with time unit following generic formula: 536:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * Second fraction ratio * time_unit= [(SecondFraction-SubSeconds)/(SecondFraction+1)] * ti 537:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * This conversion can be performed only if no shift operation is pending (ie. SHFP=0) when 538:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @note You must call HAL_RTC_GetDate() after HAL_RTC_GetTime() to unlock the values 539:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * in the higher-order calendar shadow registers to ensure consistency between the time and 540:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * Reading RTC current time locks the values in calendar shadow registers until Current dat 541:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * to ensure consistency between the time and date values. 542:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @retval HAL status 543:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** */ 544:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** HAL_StatusTypeDef HAL_RTC_GetTime(RTC_HandleTypeDef *hrtc, RTC_TimeTypeDef *sTime, uint32_t Format) 545:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 70 .loc 1 545 0 71 .cfi_startproc 72 @ args = 0, pretend = 0, frame = 0 73 @ frame_needed = 0, uses_anonymous_args = 0 74 .LVL2: 75 0000 70B5 push {r4, r5, r6, lr} 76 .LCFI0: 77 .cfi_def_cfa_offset 16 78 .cfi_offset 4, -16 79 .cfi_offset 5, -12 80 .cfi_offset 6, -8 81 .cfi_offset 14, -4 82 .LVL3: 546:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** uint32_t tmpreg = 0U; 547:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 548:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Check the parameters */ 549:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** assert_param(IS_RTC_FORMAT(Format)); 550:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ARM GAS /tmp/ccjtTCRz.s page 12 551:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Get subseconds structure field from the corresponding register*/ 552:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** sTime->SubSeconds = (uint32_t)(hrtc->Instance->SSR); 83 .loc 1 552 0 84 0002 0368 ldr r3, [r0] 85 0004 9B6A ldr r3, [r3, #40] 86 0006 4B60 str r3, [r1, #4] 553:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 554:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Get SecondFraction structure field from the corresponding register field*/ 555:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** sTime->SecondFraction = (uint32_t)(hrtc->Instance->PRER & RTC_PRER_PREDIV_S); 87 .loc 1 555 0 88 0008 0368 ldr r3, [r0] 89 000a 1B69 ldr r3, [r3, #16] 90 000c 5B04 lsls r3, r3, #17 91 000e 5B0C lsrs r3, r3, #17 92 0010 8B60 str r3, [r1, #8] 556:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 557:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Get the TR register */ 558:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** tmpreg = (uint32_t)(hrtc->Instance->TR & RTC_TR_RESERVED_MASK); 93 .loc 1 558 0 94 0012 0368 ldr r3, [r0] 95 0014 1C68 ldr r4, [r3] 96 0016 144B ldr r3, .L5 97 0018 1C40 ands r4, r3 98 .LVL4: 559:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 560:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Fill the structure fields with the read parameters */ 561:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** sTime->Hours = (uint8_t)((tmpreg & (RTC_TR_HT | RTC_TR_HU)) >> 16U); 99 .loc 1 561 0 100 001a 260C lsrs r6, r4, #16 101 001c 3F20 movs r0, #63 102 .LVL5: 103 001e 3040 ands r0, r6 104 0020 0870 strb r0, [r1] 562:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** sTime->Minutes = (uint8_t)((tmpreg & (RTC_TR_MNT | RTC_TR_MNU)) >>8U); 105 .loc 1 562 0 106 0022 230A lsrs r3, r4, #8 107 0024 7F25 movs r5, #127 108 0026 2B40 ands r3, r5 109 0028 4B70 strb r3, [r1, #1] 563:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** sTime->Seconds = (uint8_t)(tmpreg & (RTC_TR_ST | RTC_TR_SU)); 110 .loc 1 563 0 111 002a 2C40 ands r4, r5 112 .LVL6: 113 002c 8C70 strb r4, [r1, #2] 564:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** sTime->TimeFormat = (uint8_t)((tmpreg & (RTC_TR_PM)) >> 16U); 114 .loc 1 564 0 115 002e 3F3D subs r5, r5, #63 116 0030 3540 ands r5, r6 117 0032 CD70 strb r5, [r1, #3] 565:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 566:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Check the input parameters format */ 567:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** if(Format == RTC_FORMAT_BIN) 118 .loc 1 567 0 119 0034 002A cmp r2, #0 120 0036 15D1 bne .L4 121 .LVL7: 122 .LBB68: ARM GAS /tmp/ccjtTCRz.s page 13 123 .LBB69: 568:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 569:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Convert the time structure parameters to Binary format */ 570:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** sTime->Hours = (uint8_t)RTC_Bcd2ToByte(sTime->Hours); 571:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** sTime->Minutes = (uint8_t)RTC_Bcd2ToByte(sTime->Minutes); 572:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** sTime->Seconds = (uint8_t)RTC_Bcd2ToByte(sTime->Seconds); 573:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 574:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 575:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** return HAL_OK; 576:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 577:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 578:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /** 579:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @brief Set RTC current date. 580:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @param hrtc: RTC handle 581:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @param sDate: Pointer to date structure 582:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @param Format: specifies the format of the entered parameters. 583:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * This parameter can be one of the following values: 584:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @arg RTC_FORMAT_BIN: Binary data format 585:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @arg RTC_FORMAT_BCD: BCD data format 586:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @retval HAL status 587:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** */ 588:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** HAL_StatusTypeDef HAL_RTC_SetDate(RTC_HandleTypeDef *hrtc, RTC_DateTypeDef *sDate, uint32_t Format) 589:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 590:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** uint32_t datetmpreg = 0U; 591:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 592:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Check the parameters */ 593:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** assert_param(IS_RTC_FORMAT(Format)); 594:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 595:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Process Locked */ 596:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** __HAL_LOCK(hrtc); 597:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 598:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** hrtc->State = HAL_RTC_STATE_BUSY; 599:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 600:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** if((Format == RTC_FORMAT_BIN) && ((sDate->Month & 0x10U) == 0x10U)) 601:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 602:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** sDate->Month = (uint8_t)((sDate->Month & (uint8_t)~(0x10U)) + (uint8_t)0x0AU); 603:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 604:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 605:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** assert_param(IS_RTC_WEEKDAY(sDate->WeekDay)); 606:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 607:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** if(Format == RTC_FORMAT_BIN) 608:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 609:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** assert_param(IS_RTC_YEAR(sDate->Year)); 610:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** assert_param(IS_RTC_MONTH(sDate->Month)); 611:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** assert_param(IS_RTC_DATE(sDate->Date)); 612:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 613:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** datetmpreg = (((uint32_t)RTC_ByteToBcd2(sDate->Year) << 16U) | \ 614:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ((uint32_t)RTC_ByteToBcd2(sDate->Month) << 8U) | \ 615:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ((uint32_t)RTC_ByteToBcd2(sDate->Date)) | \ 616:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ((uint32_t)sDate->WeekDay << 13U)); 617:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 618:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** else 619:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 620:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** assert_param(IS_RTC_YEAR(RTC_Bcd2ToByte(sDate->Year))); 621:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** datetmpreg = RTC_Bcd2ToByte(sDate->Month); 622:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** assert_param(IS_RTC_MONTH(datetmpreg)); 623:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** datetmpreg = RTC_Bcd2ToByte(sDate->Date); ARM GAS /tmp/ccjtTCRz.s page 14 624:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** assert_param(IS_RTC_DATE(datetmpreg)); 625:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 626:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** datetmpreg = ((((uint32_t)sDate->Year) << 16U) | \ 627:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** (((uint32_t)sDate->Month) << 8U) | \ 628:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ((uint32_t)sDate->Date) | \ 629:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** (((uint32_t)sDate->WeekDay) << 13U)); 630:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 631:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 632:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Disable the write protection for RTC registers */ 633:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** __HAL_RTC_WRITEPROTECTION_DISABLE(hrtc); 634:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 635:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Set Initialization mode */ 636:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** if(RTC_EnterInitMode(hrtc) != HAL_OK) 637:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 638:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Enable the write protection for RTC registers */ 639:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); 640:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 641:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Set RTC state*/ 642:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** hrtc->State = HAL_RTC_STATE_ERROR; 643:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 644:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Process Unlocked */ 645:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** __HAL_UNLOCK(hrtc); 646:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 647:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** return HAL_ERROR; 648:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 649:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** else 650:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 651:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Set the RTC_DR register */ 652:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** hrtc->Instance->DR = (uint32_t)(datetmpreg & RTC_DR_RESERVED_MASK); 653:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 654:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Exit Initialization mode */ 655:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** hrtc->Instance->ISR &= ((uint32_t)~RTC_ISR_INIT); 656:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 657:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* If CR_BYPSHAD bit = 0, wait for synchro else this check is not needed */ 658:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** if((hrtc->Instance->CR & RTC_CR_BYPSHAD) == RESET) 659:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 660:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** if(HAL_RTC_WaitForSynchro(hrtc) != HAL_OK) 661:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 662:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Enable the write protection for RTC registers */ 663:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); 664:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 665:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** hrtc->State = HAL_RTC_STATE_ERROR; 666:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 667:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Process Unlocked */ 668:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** __HAL_UNLOCK(hrtc); 669:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 670:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** return HAL_ERROR; 671:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 672:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 673:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 674:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Enable the write protection for RTC registers */ 675:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); 676:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 677:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** hrtc->State = HAL_RTC_STATE_READY ; 678:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 679:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Process Unlocked */ 680:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** __HAL_UNLOCK(hrtc); ARM GAS /tmp/ccjtTCRz.s page 15 681:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 682:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** return HAL_OK; 683:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 684:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 685:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 686:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /** 687:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @brief Get RTC current date. 688:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @param hrtc: RTC handle 689:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @param sDate: Pointer to Date structure 690:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @param Format: Specifies the format of the entered parameters. 691:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * This parameter can be one of the following values: 692:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @arg RTC_FORMAT_BIN: Binary data format 693:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @arg RTC_FORMAT_BCD: BCD data format 694:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @note You must call HAL_RTC_GetDate() after HAL_RTC_GetTime() to unlock the values 695:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * in the higher-order calendar shadow registers to ensure consistency between the time and 696:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * Reading RTC current time locks the values in calendar shadow registers until Current dat 697:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @retval HAL status 698:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** */ 699:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** HAL_StatusTypeDef HAL_RTC_GetDate(RTC_HandleTypeDef *hrtc, RTC_DateTypeDef *sDate, uint32_t Format) 700:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 701:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** uint32_t datetmpreg = 0U; 702:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 703:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Check the parameters */ 704:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** assert_param(IS_RTC_FORMAT(Format)); 705:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 706:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Get the DR register */ 707:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** datetmpreg = (uint32_t)(hrtc->Instance->DR & RTC_DR_RESERVED_MASK); 708:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 709:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Fill the structure fields with the read parameters */ 710:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** sDate->Year = (uint8_t)((datetmpreg & (RTC_DR_YT | RTC_DR_YU)) >> 16U); 711:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** sDate->Month = (uint8_t)((datetmpreg & (RTC_DR_MT | RTC_DR_MU)) >> 8U); 712:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** sDate->Date = (uint8_t)(datetmpreg & (RTC_DR_DT | RTC_DR_DU)); 713:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** sDate->WeekDay = (uint8_t)((datetmpreg & (RTC_DR_WDU)) >> 13U); 714:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 715:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Check the input parameters format */ 716:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** if(Format == RTC_FORMAT_BIN) 717:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 718:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Convert the date structure parameters to Binary format */ 719:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** sDate->Year = (uint8_t)RTC_Bcd2ToByte(sDate->Year); 720:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** sDate->Month = (uint8_t)RTC_Bcd2ToByte(sDate->Month); 721:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** sDate->Date = (uint8_t)RTC_Bcd2ToByte(sDate->Date); 722:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 723:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** return HAL_OK; 724:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 725:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 726:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /** 727:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @} 728:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** */ 729:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 730:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /** @addtogroup RTC_Exported_Functions_Group3 731:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @brief RTC Alarm functions 732:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * 733:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** @verbatim 734:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** =============================================================================== 735:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ##### RTC Alarm functions ##### 736:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** =============================================================================== 737:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ARM GAS /tmp/ccjtTCRz.s page 16 738:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** [..] This section provides functions allowing to configure Alarm feature 739:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 740:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** @endverbatim 741:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @{ 742:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** */ 743:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /** 744:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @brief Set the specified RTC Alarm. 745:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @param hrtc: RTC handle 746:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @param sAlarm: Pointer to Alarm structure 747:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @param Format: Specifies the format of the entered parameters. 748:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * This parameter can be one of the following values: 749:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @arg RTC_FORMAT_BIN: Binary data format 750:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @arg RTC_FORMAT_BCD: BCD data format 751:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @retval HAL status 752:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** */ 753:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** HAL_StatusTypeDef HAL_RTC_SetAlarm(RTC_HandleTypeDef *hrtc, RTC_AlarmTypeDef *sAlarm, uint32_t Form 754:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 755:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** uint32_t tickstart = 0U; 756:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** uint32_t tmpreg = 0U, subsecondtmpreg = 0U; 757:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 758:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Check the parameters */ 759:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** assert_param(IS_RTC_FORMAT(Format)); 760:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** assert_param(IS_RTC_ALARM(sAlarm->Alarm)); 761:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** assert_param(IS_RTC_ALARM_MASK(sAlarm->AlarmMask)); 762:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** assert_param(IS_RTC_ALARM_DATE_WEEKDAY_SEL(sAlarm->AlarmDateWeekDaySel)); 763:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** assert_param(IS_RTC_ALARM_SUB_SECOND_VALUE(sAlarm->AlarmTime.SubSeconds)); 764:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** assert_param(IS_RTC_ALARM_SUB_SECOND_MASK(sAlarm->AlarmSubSecondMask)); 765:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 766:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Process Locked */ 767:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** __HAL_LOCK(hrtc); 768:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 769:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** hrtc->State = HAL_RTC_STATE_BUSY; 770:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 771:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** if(Format == RTC_FORMAT_BIN) 772:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 773:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** if((hrtc->Instance->CR & RTC_CR_FMT) != (uint32_t)RESET) 774:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 775:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** assert_param(IS_RTC_HOUR12(sAlarm->AlarmTime.Hours)); 776:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** assert_param(IS_RTC_HOURFORMAT12(sAlarm->AlarmTime.TimeFormat)); 777:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 778:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** else 779:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 780:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** sAlarm->AlarmTime.TimeFormat = 0x00U; 781:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** assert_param(IS_RTC_HOUR24(sAlarm->AlarmTime.Hours)); 782:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 783:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** assert_param(IS_RTC_MINUTES(sAlarm->AlarmTime.Minutes)); 784:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** assert_param(IS_RTC_SECONDS(sAlarm->AlarmTime.Seconds)); 785:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 786:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** if(sAlarm->AlarmDateWeekDaySel == RTC_ALARMDATEWEEKDAYSEL_DATE) 787:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 788:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** assert_param(IS_RTC_ALARM_DATE_WEEKDAY_DATE(sAlarm->AlarmDateWeekDay)); 789:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 790:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** else 791:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 792:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** assert_param(IS_RTC_ALARM_DATE_WEEKDAY_WEEKDAY(sAlarm->AlarmDateWeekDay)); 793:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 794:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ARM GAS /tmp/ccjtTCRz.s page 17 795:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** tmpreg = (((uint32_t)RTC_ByteToBcd2(sAlarm->AlarmTime.Hours) << 16U) | \ 796:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ((uint32_t)RTC_ByteToBcd2(sAlarm->AlarmTime.Minutes) << 8U) | \ 797:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ((uint32_t)RTC_ByteToBcd2(sAlarm->AlarmTime.Seconds)) | \ 798:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ((uint32_t)(sAlarm->AlarmTime.TimeFormat) << 16U) | \ 799:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ((uint32_t)RTC_ByteToBcd2(sAlarm->AlarmDateWeekDay) << 24U) | \ 800:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ((uint32_t)sAlarm->AlarmDateWeekDaySel) | \ 801:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ((uint32_t)sAlarm->AlarmMask)); 802:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 803:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** else 804:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 805:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** if((hrtc->Instance->CR & RTC_CR_FMT) != (uint32_t)RESET) 806:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 807:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** tmpreg = RTC_Bcd2ToByte(sAlarm->AlarmTime.Hours); 808:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** assert_param(IS_RTC_HOUR12(tmpreg)); 809:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** assert_param(IS_RTC_HOURFORMAT12(sAlarm->AlarmTime.TimeFormat)); 810:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 811:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** else 812:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 813:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** sAlarm->AlarmTime.TimeFormat = 0x00U; 814:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** assert_param(IS_RTC_HOUR24(RTC_Bcd2ToByte(sAlarm->AlarmTime.Hours))); 815:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 816:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 817:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** assert_param(IS_RTC_MINUTES(RTC_Bcd2ToByte(sAlarm->AlarmTime.Minutes))); 818:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** assert_param(IS_RTC_SECONDS(RTC_Bcd2ToByte(sAlarm->AlarmTime.Seconds))); 819:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 820:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** if(sAlarm->AlarmDateWeekDaySel == RTC_ALARMDATEWEEKDAYSEL_DATE) 821:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 822:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** tmpreg = RTC_Bcd2ToByte(sAlarm->AlarmDateWeekDay); 823:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** assert_param(IS_RTC_ALARM_DATE_WEEKDAY_DATE(tmpreg)); 824:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 825:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** else 826:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 827:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** tmpreg = RTC_Bcd2ToByte(sAlarm->AlarmDateWeekDay); 828:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** assert_param(IS_RTC_ALARM_DATE_WEEKDAY_WEEKDAY(tmpreg)); 829:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 830:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 831:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** tmpreg = (((uint32_t)(sAlarm->AlarmTime.Hours) << 16U) | \ 832:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ((uint32_t)(sAlarm->AlarmTime.Minutes) << 8U) | \ 833:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ((uint32_t) sAlarm->AlarmTime.Seconds) | \ 834:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ((uint32_t)(sAlarm->AlarmTime.TimeFormat) << 16U) | \ 835:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ((uint32_t)(sAlarm->AlarmDateWeekDay) << 24U) | \ 836:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ((uint32_t)sAlarm->AlarmDateWeekDaySel) | \ 837:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ((uint32_t)sAlarm->AlarmMask)); 838:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 839:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 840:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Configure the Alarm A or Alarm B Sub Second registers */ 841:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** subsecondtmpreg = (uint32_t)((uint32_t)(sAlarm->AlarmTime.SubSeconds) | (uint32_t)(sAlarm->AlarmS 842:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 843:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Disable the write protection for RTC registers */ 844:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** __HAL_RTC_WRITEPROTECTION_DISABLE(hrtc); 845:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 846:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Configure the Alarm register */ 847:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** if(sAlarm->Alarm == RTC_ALARM_A) 848:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 849:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Disable the Alarm A interrupt */ 850:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** __HAL_RTC_ALARMA_DISABLE(hrtc); 851:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ARM GAS /tmp/ccjtTCRz.s page 18 852:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* In case of interrupt mode is used, the interrupt source must disabled */ 853:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** __HAL_RTC_ALARM_DISABLE_IT(hrtc, RTC_IT_ALRA); 854:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 855:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** tickstart = HAL_GetTick(); 856:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Wait till RTC ALRAWF flag is set and if Time out is reached exit */ 857:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** while(__HAL_RTC_ALARM_GET_FLAG(hrtc, RTC_FLAG_ALRAWF) == RESET) 858:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 859:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** if((HAL_GetTick() - tickstart ) > RTC_TIMEOUT_VALUE) 860:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 861:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Enable the write protection for RTC registers */ 862:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); 863:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 864:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** hrtc->State = HAL_RTC_STATE_TIMEOUT; 865:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 866:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Process Unlocked */ 867:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** __HAL_UNLOCK(hrtc); 868:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 869:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** return HAL_TIMEOUT; 870:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 871:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 872:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 873:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** hrtc->Instance->ALRMAR = (uint32_t)tmpreg; 874:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Configure the Alarm A Sub Second register */ 875:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** hrtc->Instance->ALRMASSR = subsecondtmpreg; 876:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Configure the Alarm state: Enable Alarm */ 877:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** __HAL_RTC_ALARMA_ENABLE(hrtc); 878:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 879:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** else 880:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 881:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Disable the Alarm B interrupt */ 882:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** __HAL_RTC_ALARMB_DISABLE(hrtc); 883:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 884:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* In case of interrupt mode is used, the interrupt source must disabled */ 885:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** __HAL_RTC_ALARM_DISABLE_IT(hrtc, RTC_IT_ALRB); 886:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 887:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** tickstart = HAL_GetTick(); 888:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Wait till RTC ALRBWF flag is set and if Time out is reached exit */ 889:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** while(__HAL_RTC_ALARM_GET_FLAG(hrtc, RTC_FLAG_ALRBWF) == RESET) 890:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 891:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** if((HAL_GetTick() - tickstart ) > RTC_TIMEOUT_VALUE) 892:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 893:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Enable the write protection for RTC registers */ 894:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); 895:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 896:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** hrtc->State = HAL_RTC_STATE_TIMEOUT; 897:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 898:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Process Unlocked */ 899:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** __HAL_UNLOCK(hrtc); 900:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 901:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** return HAL_TIMEOUT; 902:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 903:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 904:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 905:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** hrtc->Instance->ALRMBR = (uint32_t)tmpreg; 906:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Configure the Alarm B Sub Second register */ 907:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** hrtc->Instance->ALRMBSSR = subsecondtmpreg; 908:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Configure the Alarm state: Enable Alarm */ ARM GAS /tmp/ccjtTCRz.s page 19 909:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** __HAL_RTC_ALARMB_ENABLE(hrtc); 910:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 911:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 912:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Enable the write protection for RTC registers */ 913:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); 914:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 915:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Change RTC state */ 916:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** hrtc->State = HAL_RTC_STATE_READY; 917:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 918:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Process Unlocked */ 919:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** __HAL_UNLOCK(hrtc); 920:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 921:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** return HAL_OK; 922:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 923:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 924:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /** 925:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @brief Set the specified RTC Alarm with Interrupt. 926:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @param hrtc: RTC handle 927:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @param sAlarm: Pointer to Alarm structure 928:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @param Format: Specifies the format of the entered parameters. 929:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * This parameter can be one of the following values: 930:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @arg RTC_FORMAT_BIN: Binary data format 931:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @arg RTC_FORMAT_BCD: BCD data format 932:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @note The Alarm register can only be written when the corresponding Alarm 933:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * is disabled (Use the HAL_RTC_DeactivateAlarm()). 934:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @note The HAL_RTC_SetTime() must be called before enabling the Alarm feature. 935:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @retval HAL status 936:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** */ 937:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** HAL_StatusTypeDef HAL_RTC_SetAlarm_IT(RTC_HandleTypeDef *hrtc, RTC_AlarmTypeDef *sAlarm, uint32_t F 938:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 939:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** uint32_t tickstart = 0U; 940:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** uint32_t tmpreg = 0U, subsecondtmpreg = 0U; 941:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 942:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Check the parameters */ 943:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** assert_param(IS_RTC_FORMAT(Format)); 944:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** assert_param(IS_RTC_ALARM(sAlarm->Alarm)); 945:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** assert_param(IS_RTC_ALARM_MASK(sAlarm->AlarmMask)); 946:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** assert_param(IS_RTC_ALARM_DATE_WEEKDAY_SEL(sAlarm->AlarmDateWeekDaySel)); 947:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** assert_param(IS_RTC_ALARM_SUB_SECOND_VALUE(sAlarm->AlarmTime.SubSeconds)); 948:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** assert_param(IS_RTC_ALARM_SUB_SECOND_MASK(sAlarm->AlarmSubSecondMask)); 949:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 950:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Process Locked */ 951:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** __HAL_LOCK(hrtc); 952:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 953:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** hrtc->State = HAL_RTC_STATE_BUSY; 954:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 955:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** if(Format == RTC_FORMAT_BIN) 956:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 957:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** if((hrtc->Instance->CR & RTC_CR_FMT) != (uint32_t)RESET) 958:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 959:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** assert_param(IS_RTC_HOUR12(sAlarm->AlarmTime.Hours)); 960:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** assert_param(IS_RTC_HOURFORMAT12(sAlarm->AlarmTime.TimeFormat)); 961:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 962:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** else 963:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 964:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** sAlarm->AlarmTime.TimeFormat = 0x00U; 965:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** assert_param(IS_RTC_HOUR24(sAlarm->AlarmTime.Hours)); ARM GAS /tmp/ccjtTCRz.s page 20 966:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 967:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** assert_param(IS_RTC_MINUTES(sAlarm->AlarmTime.Minutes)); 968:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** assert_param(IS_RTC_SECONDS(sAlarm->AlarmTime.Seconds)); 969:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 970:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** if(sAlarm->AlarmDateWeekDaySel == RTC_ALARMDATEWEEKDAYSEL_DATE) 971:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 972:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** assert_param(IS_RTC_ALARM_DATE_WEEKDAY_DATE(sAlarm->AlarmDateWeekDay)); 973:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 974:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** else 975:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 976:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** assert_param(IS_RTC_ALARM_DATE_WEEKDAY_WEEKDAY(sAlarm->AlarmDateWeekDay)); 977:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 978:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** tmpreg = (((uint32_t)RTC_ByteToBcd2(sAlarm->AlarmTime.Hours) << 16U) | \ 979:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ((uint32_t)RTC_ByteToBcd2(sAlarm->AlarmTime.Minutes) << 8U) | \ 980:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ((uint32_t)RTC_ByteToBcd2(sAlarm->AlarmTime.Seconds)) | \ 981:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ((uint32_t)(sAlarm->AlarmTime.TimeFormat) << 16U) | \ 982:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ((uint32_t)RTC_ByteToBcd2(sAlarm->AlarmDateWeekDay) << 24U) | \ 983:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ((uint32_t)sAlarm->AlarmDateWeekDaySel) | \ 984:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ((uint32_t)sAlarm->AlarmMask)); 985:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 986:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** else 987:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 988:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** if((hrtc->Instance->CR & RTC_CR_FMT) != (uint32_t)RESET) 989:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 990:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** tmpreg = RTC_Bcd2ToByte(sAlarm->AlarmTime.Hours); 991:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** assert_param(IS_RTC_HOUR12(tmpreg)); 992:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** assert_param(IS_RTC_HOURFORMAT12(sAlarm->AlarmTime.TimeFormat)); 993:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 994:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** else 995:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 996:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** sAlarm->AlarmTime.TimeFormat = 0x00U; 997:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** assert_param(IS_RTC_HOUR24(RTC_Bcd2ToByte(sAlarm->AlarmTime.Hours))); 998:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 999:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1000:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** assert_param(IS_RTC_MINUTES(RTC_Bcd2ToByte(sAlarm->AlarmTime.Minutes))); 1001:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** assert_param(IS_RTC_SECONDS(RTC_Bcd2ToByte(sAlarm->AlarmTime.Seconds))); 1002:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1003:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** if(sAlarm->AlarmDateWeekDaySel == RTC_ALARMDATEWEEKDAYSEL_DATE) 1004:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 1005:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** tmpreg = RTC_Bcd2ToByte(sAlarm->AlarmDateWeekDay); 1006:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** assert_param(IS_RTC_ALARM_DATE_WEEKDAY_DATE(tmpreg)); 1007:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 1008:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** else 1009:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 1010:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** tmpreg = RTC_Bcd2ToByte(sAlarm->AlarmDateWeekDay); 1011:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** assert_param(IS_RTC_ALARM_DATE_WEEKDAY_WEEKDAY(tmpreg)); 1012:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 1013:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** tmpreg = (((uint32_t)(sAlarm->AlarmTime.Hours) << 16U) | \ 1014:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ((uint32_t)(sAlarm->AlarmTime.Minutes) << 8U) | \ 1015:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ((uint32_t) sAlarm->AlarmTime.Seconds) | \ 1016:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ((uint32_t)(sAlarm->AlarmTime.TimeFormat) << 16U) | \ 1017:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ((uint32_t)(sAlarm->AlarmDateWeekDay) << 24U) | \ 1018:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ((uint32_t)sAlarm->AlarmDateWeekDaySel) | \ 1019:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ((uint32_t)sAlarm->AlarmMask)); 1020:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 1021:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Configure the Alarm A or Alarm B Sub Second registers */ 1022:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** subsecondtmpreg = (uint32_t)((uint32_t)(sAlarm->AlarmTime.SubSeconds) | (uint32_t)(sAlarm->AlarmS ARM GAS /tmp/ccjtTCRz.s page 21 1023:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1024:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Disable the write protection for RTC registers */ 1025:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** __HAL_RTC_WRITEPROTECTION_DISABLE(hrtc); 1026:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1027:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Configure the Alarm register */ 1028:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** if(sAlarm->Alarm == RTC_ALARM_A) 1029:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 1030:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Disable the Alarm A interrupt */ 1031:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** __HAL_RTC_ALARMA_DISABLE(hrtc); 1032:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1033:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Clear flag alarm A */ 1034:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** __HAL_RTC_ALARM_CLEAR_FLAG(hrtc, RTC_FLAG_ALRAF); 1035:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1036:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** tickstart = HAL_GetTick(); 1037:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Wait till RTC ALRAWF flag is set and if Time out is reached exit */ 1038:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** while(__HAL_RTC_ALARM_GET_FLAG(hrtc, RTC_FLAG_ALRAWF) == RESET) 1039:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 1040:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** if((HAL_GetTick() - tickstart ) > RTC_TIMEOUT_VALUE) 1041:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 1042:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Enable the write protection for RTC registers */ 1043:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); 1044:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1045:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** hrtc->State = HAL_RTC_STATE_TIMEOUT; 1046:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1047:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Process Unlocked */ 1048:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** __HAL_UNLOCK(hrtc); 1049:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1050:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** return HAL_TIMEOUT; 1051:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 1052:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 1053:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1054:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** hrtc->Instance->ALRMAR = (uint32_t)tmpreg; 1055:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Configure the Alarm A Sub Second register */ 1056:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** hrtc->Instance->ALRMASSR = subsecondtmpreg; 1057:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Configure the Alarm state: Enable Alarm */ 1058:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** __HAL_RTC_ALARMA_ENABLE(hrtc); 1059:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Configure the Alarm interrupt */ 1060:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** __HAL_RTC_ALARM_ENABLE_IT(hrtc,RTC_IT_ALRA); 1061:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 1062:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** else 1063:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 1064:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Disable the Alarm B interrupt */ 1065:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** __HAL_RTC_ALARMB_DISABLE(hrtc); 1066:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1067:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Clear flag alarm B */ 1068:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** __HAL_RTC_ALARM_CLEAR_FLAG(hrtc, RTC_FLAG_ALRBF); 1069:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1070:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** tickstart = HAL_GetTick(); 1071:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Wait till RTC ALRBWF flag is set and if Time out is reached exit */ 1072:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** while(__HAL_RTC_ALARM_GET_FLAG(hrtc, RTC_FLAG_ALRBWF) == RESET) 1073:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 1074:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** if((HAL_GetTick() - tickstart ) > RTC_TIMEOUT_VALUE) 1075:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 1076:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Enable the write protection for RTC registers */ 1077:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); 1078:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1079:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** hrtc->State = HAL_RTC_STATE_TIMEOUT; ARM GAS /tmp/ccjtTCRz.s page 22 1080:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1081:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Process Unlocked */ 1082:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** __HAL_UNLOCK(hrtc); 1083:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1084:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** return HAL_TIMEOUT; 1085:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 1086:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 1087:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1088:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** hrtc->Instance->ALRMBR = (uint32_t)tmpreg; 1089:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Configure the Alarm B Sub Second register */ 1090:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** hrtc->Instance->ALRMBSSR = subsecondtmpreg; 1091:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Configure the Alarm state: Enable Alarm */ 1092:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** __HAL_RTC_ALARMB_ENABLE(hrtc); 1093:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Configure the Alarm interrupt */ 1094:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** __HAL_RTC_ALARM_ENABLE_IT(hrtc, RTC_IT_ALRB); 1095:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 1096:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1097:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* RTC Alarm Interrupt Configuration: EXTI configuration */ 1098:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** __HAL_RTC_ALARM_EXTI_ENABLE_IT(); 1099:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1100:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** __HAL_RTC_ALARM_EXTI_ENABLE_RISING_EDGE(); 1101:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1102:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Enable the write protection for RTC registers */ 1103:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); 1104:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1105:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** hrtc->State = HAL_RTC_STATE_READY; 1106:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1107:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Process Unlocked */ 1108:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** __HAL_UNLOCK(hrtc); 1109:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1110:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** return HAL_OK; 1111:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 1112:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1113:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /** 1114:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @brief Deactivate the specified RTC Alarm. 1115:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @param hrtc: RTC handle 1116:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @param Alarm: Specifies the Alarm. 1117:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * This parameter can be one of the following values: 1118:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @arg RTC_ALARM_A: AlarmA 1119:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @arg RTC_ALARM_B: AlarmB 1120:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @retval HAL status 1121:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** */ 1122:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** HAL_StatusTypeDef HAL_RTC_DeactivateAlarm(RTC_HandleTypeDef *hrtc, uint32_t Alarm) 1123:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 1124:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** uint32_t tickstart = 0U; 1125:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1126:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Check the parameters */ 1127:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** assert_param(IS_RTC_ALARM(Alarm)); 1128:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1129:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Process Locked */ 1130:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** __HAL_LOCK(hrtc); 1131:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1132:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** hrtc->State = HAL_RTC_STATE_BUSY; 1133:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1134:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Disable the write protection for RTC registers */ 1135:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** __HAL_RTC_WRITEPROTECTION_DISABLE(hrtc); 1136:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ARM GAS /tmp/ccjtTCRz.s page 23 1137:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** if(Alarm == RTC_ALARM_A) 1138:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 1139:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* AlarmA */ 1140:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** __HAL_RTC_ALARMA_DISABLE(hrtc); 1141:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1142:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* In case of interrupt mode is used, the interrupt source must disabled */ 1143:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** __HAL_RTC_ALARM_DISABLE_IT(hrtc, RTC_IT_ALRA); 1144:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1145:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** tickstart = HAL_GetTick(); 1146:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1147:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Wait till RTC ALRxWF flag is set and if Time out is reached exit */ 1148:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** while(__HAL_RTC_ALARM_GET_FLAG(hrtc, RTC_FLAG_ALRAWF) == RESET) 1149:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 1150:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** if( (HAL_GetTick() - tickstart ) > RTC_TIMEOUT_VALUE) 1151:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 1152:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Enable the write protection for RTC registers */ 1153:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); 1154:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1155:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** hrtc->State = HAL_RTC_STATE_TIMEOUT; 1156:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1157:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Process Unlocked */ 1158:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** __HAL_UNLOCK(hrtc); 1159:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1160:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** return HAL_TIMEOUT; 1161:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 1162:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 1163:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 1164:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** else 1165:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 1166:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* AlarmB */ 1167:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** __HAL_RTC_ALARMB_DISABLE(hrtc); 1168:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1169:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* In case of interrupt mode is used, the interrupt source must disabled */ 1170:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** __HAL_RTC_ALARM_DISABLE_IT(hrtc,RTC_IT_ALRB); 1171:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1172:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** tickstart = HAL_GetTick(); 1173:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1174:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Wait till RTC ALRxWF flag is set and if Time out is reached exit */ 1175:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** while(__HAL_RTC_ALARM_GET_FLAG(hrtc, RTC_FLAG_ALRBWF) == RESET) 1176:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 1177:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** if((HAL_GetTick() - tickstart ) > RTC_TIMEOUT_VALUE) 1178:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 1179:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Enable the write protection for RTC registers */ 1180:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); 1181:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1182:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** hrtc->State = HAL_RTC_STATE_TIMEOUT; 1183:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1184:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Process Unlocked */ 1185:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** __HAL_UNLOCK(hrtc); 1186:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1187:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** return HAL_TIMEOUT; 1188:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 1189:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 1190:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 1191:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Enable the write protection for RTC registers */ 1192:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); 1193:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ARM GAS /tmp/ccjtTCRz.s page 24 1194:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** hrtc->State = HAL_RTC_STATE_READY; 1195:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1196:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Process Unlocked */ 1197:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** __HAL_UNLOCK(hrtc); 1198:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1199:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** return HAL_OK; 1200:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 1201:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1202:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /** 1203:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @brief Get the RTC Alarm value and masks. 1204:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @param hrtc: RTC handle 1205:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @param sAlarm: Pointer to Date structure 1206:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @param Alarm: Specifies the Alarm. 1207:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * This parameter can be one of the following values: 1208:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @arg RTC_ALARM_A: AlarmA 1209:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @arg RTC_ALARM_B: AlarmB 1210:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @param Format: Specifies the format of the entered parameters. 1211:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * This parameter can be one of the following values: 1212:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @arg RTC_FORMAT_BIN: Binary data format 1213:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @arg RTC_FORMAT_BCD: BCD data format 1214:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @retval HAL status 1215:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** */ 1216:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** HAL_StatusTypeDef HAL_RTC_GetAlarm(RTC_HandleTypeDef *hrtc, RTC_AlarmTypeDef *sAlarm, uint32_t Alar 1217:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 1218:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** uint32_t tmpreg = 0U, subsecondtmpreg = 0U; 1219:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1220:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Check the parameters */ 1221:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** assert_param(IS_RTC_FORMAT(Format)); 1222:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** assert_param(IS_RTC_ALARM(Alarm)); 1223:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1224:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** if(Alarm == RTC_ALARM_A) 1225:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 1226:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* AlarmA */ 1227:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** sAlarm->Alarm = RTC_ALARM_A; 1228:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1229:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** tmpreg = (uint32_t)(hrtc->Instance->ALRMAR); 1230:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** subsecondtmpreg = (uint32_t)((hrtc->Instance->ALRMASSR ) & RTC_ALRMASSR_SS); 1231:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1232:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Fill the structure with the read parameters */ 1233:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** sAlarm->AlarmTime.Hours = (uint32_t)((tmpreg & (RTC_ALRMAR_HT | RTC_ALRMAR_HU)) >> 16U); 1234:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** sAlarm->AlarmTime.Minutes = (uint32_t)((tmpreg & (RTC_ALRMAR_MNT | RTC_ALRMAR_MNU)) >> 8U); 1235:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** sAlarm->AlarmTime.Seconds = (uint32_t)(tmpreg & (RTC_ALRMAR_ST | RTC_ALRMAR_SU)); 1236:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** sAlarm->AlarmTime.TimeFormat = (uint32_t)((tmpreg & RTC_ALRMAR_PM) >> 16U); 1237:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** sAlarm->AlarmTime.SubSeconds = (uint32_t) subsecondtmpreg; 1238:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** sAlarm->AlarmDateWeekDay = (uint32_t)((tmpreg & (RTC_ALRMAR_DT | RTC_ALRMAR_DU)) >> 24U); 1239:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** sAlarm->AlarmDateWeekDaySel = (uint32_t)(tmpreg & RTC_ALRMAR_WDSEL); 1240:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** sAlarm->AlarmMask = (uint32_t)(tmpreg & RTC_ALARMMASK_ALL); 1241:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 1242:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** else 1243:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 1244:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** sAlarm->Alarm = RTC_ALARM_B; 1245:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1246:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** tmpreg = (uint32_t)(hrtc->Instance->ALRMBR); 1247:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** subsecondtmpreg = (uint32_t)((hrtc->Instance->ALRMBSSR) & RTC_ALRMBSSR_SS); 1248:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1249:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Fill the structure with the read parameters */ 1250:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** sAlarm->AlarmTime.Hours = (uint32_t)((tmpreg & (RTC_ALRMBR_HT | RTC_ALRMBR_HU)) >> 16U); ARM GAS /tmp/ccjtTCRz.s page 25 1251:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** sAlarm->AlarmTime.Minutes = (uint32_t)((tmpreg & (RTC_ALRMBR_MNT | RTC_ALRMBR_MNU)) >> 8U); 1252:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** sAlarm->AlarmTime.Seconds = (uint32_t)(tmpreg & (RTC_ALRMBR_ST | RTC_ALRMBR_SU)); 1253:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** sAlarm->AlarmTime.TimeFormat = (uint32_t)((tmpreg & RTC_ALRMBR_PM) >> 16U); 1254:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** sAlarm->AlarmTime.SubSeconds = (uint32_t) subsecondtmpreg; 1255:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** sAlarm->AlarmDateWeekDay = (uint32_t)((tmpreg & (RTC_ALRMBR_DT | RTC_ALRMBR_DU)) >> 24U); 1256:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** sAlarm->AlarmDateWeekDaySel = (uint32_t)(tmpreg & RTC_ALRMBR_WDSEL); 1257:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** sAlarm->AlarmMask = (uint32_t)(tmpreg & RTC_ALARMMASK_ALL); 1258:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 1259:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1260:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** if(Format == RTC_FORMAT_BIN) 1261:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 1262:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** sAlarm->AlarmTime.Hours = RTC_Bcd2ToByte(sAlarm->AlarmTime.Hours); 1263:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** sAlarm->AlarmTime.Minutes = RTC_Bcd2ToByte(sAlarm->AlarmTime.Minutes); 1264:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** sAlarm->AlarmTime.Seconds = RTC_Bcd2ToByte(sAlarm->AlarmTime.Seconds); 1265:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** sAlarm->AlarmDateWeekDay = RTC_Bcd2ToByte(sAlarm->AlarmDateWeekDay); 1266:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 1267:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1268:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** return HAL_OK; 1269:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 1270:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1271:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /** 1272:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @brief Handle Alarm interrupt request. 1273:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @param hrtc: RTC handle 1274:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @retval None 1275:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** */ 1276:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** void HAL_RTC_AlarmIRQHandler(RTC_HandleTypeDef* hrtc) 1277:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 1278:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Get the AlarmA interrupt source enable status */ 1279:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** if(__HAL_RTC_ALARM_GET_IT_SOURCE(hrtc, RTC_IT_ALRA) != RESET) 1280:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 1281:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Get the pending status of the AlarmA Interrupt */ 1282:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** if(__HAL_RTC_ALARM_GET_FLAG(hrtc, RTC_FLAG_ALRAF) != RESET) 1283:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 1284:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* AlarmA callback */ 1285:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** HAL_RTC_AlarmAEventCallback(hrtc); 1286:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1287:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Clear the AlarmA interrupt pending bit */ 1288:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** __HAL_RTC_ALARM_CLEAR_FLAG(hrtc, RTC_FLAG_ALRAF); 1289:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 1290:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 1291:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1292:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Get the AlarmB interrupt source enable status */ 1293:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** if(__HAL_RTC_ALARM_GET_IT_SOURCE(hrtc, RTC_IT_ALRB) != RESET) 1294:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 1295:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Get the pending status of the AlarmB Interrupt */ 1296:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** if(__HAL_RTC_ALARM_GET_FLAG(hrtc, RTC_FLAG_ALRBF) != RESET) 1297:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 1298:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* AlarmB callback */ 1299:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** HAL_RTCEx_AlarmBEventCallback(hrtc); 1300:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1301:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Clear the AlarmB interrupt pending bit */ 1302:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** __HAL_RTC_ALARM_CLEAR_FLAG(hrtc, RTC_FLAG_ALRBF); 1303:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 1304:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 1305:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1306:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Clear the EXTI's line Flag for RTC Alarm */ 1307:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** __HAL_RTC_ALARM_EXTI_CLEAR_FLAG(); ARM GAS /tmp/ccjtTCRz.s page 26 1308:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1309:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Change RTC state */ 1310:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** hrtc->State = HAL_RTC_STATE_READY; 1311:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 1312:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1313:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /** 1314:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @brief Alarm A callback. 1315:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @param hrtc: RTC handle 1316:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @retval None 1317:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** */ 1318:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** __weak void HAL_RTC_AlarmAEventCallback(RTC_HandleTypeDef *hrtc) 1319:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 1320:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Prevent unused argument(s) compilation warning */ 1321:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** UNUSED(hrtc); 1322:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1323:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* NOTE : This function should not be modified, when the callback is needed, 1324:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** the HAL_RTC_AlarmAEventCallback could be implemented in the user file 1325:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** */ 1326:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 1327:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1328:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /** 1329:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @brief Handle AlarmA Polling request. 1330:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @param hrtc: RTC handle 1331:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @param Timeout: Timeout duration 1332:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @retval HAL status 1333:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** */ 1334:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** HAL_StatusTypeDef HAL_RTC_PollForAlarmAEvent(RTC_HandleTypeDef *hrtc, uint32_t Timeout) 1335:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 1336:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1337:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** uint32_t tickstart = HAL_GetTick(); 1338:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1339:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** while(__HAL_RTC_ALARM_GET_FLAG(hrtc, RTC_FLAG_ALRAF) == RESET) 1340:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 1341:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** if(Timeout != HAL_MAX_DELAY) 1342:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 1343:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** if((Timeout == 0U)||((HAL_GetTick() - tickstart ) > Timeout)) 1344:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 1345:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** hrtc->State = HAL_RTC_STATE_TIMEOUT; 1346:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** return HAL_TIMEOUT; 1347:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 1348:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 1349:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 1350:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1351:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Clear the Alarm interrupt pending bit */ 1352:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** __HAL_RTC_ALARM_CLEAR_FLAG(hrtc, RTC_FLAG_ALRAF); 1353:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1354:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Change RTC state */ 1355:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** hrtc->State = HAL_RTC_STATE_READY; 1356:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1357:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** return HAL_OK; 1358:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 1359:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1360:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /** 1361:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @} 1362:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** */ 1363:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1364:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /** @addtogroup RTC_Exported_Functions_Group4 ARM GAS /tmp/ccjtTCRz.s page 27 1365:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @brief Peripheral Control functions 1366:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * 1367:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** @verbatim 1368:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** =============================================================================== 1369:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ##### Peripheral Control functions ##### 1370:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** =============================================================================== 1371:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** [..] 1372:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** This subsection provides functions allowing to 1373:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** (+) Wait for RTC Time and Date Synchronization 1374:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1375:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** @endverbatim 1376:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @{ 1377:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** */ 1378:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1379:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /** 1380:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @brief Wait until the RTC Time and Date registers (RTC_TR and RTC_DR) are 1381:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * synchronized with RTC APB clock. 1382:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @note The RTC Resynchronization mode is write protected, use the 1383:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * __HAL_RTC_WRITEPROTECTION_DISABLE() before calling this function. 1384:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @note To read the calendar through the shadow registers after Calendar 1385:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * initialization, calendar update or after wakeup from low power modes 1386:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * the software must first clear the RSF flag. 1387:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * The software must then wait until it is set again before reading 1388:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * the calendar, which means that the calendar registers have been 1389:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * correctly copied into the RTC_TR and RTC_DR shadow registers. 1390:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @param hrtc: RTC handle 1391:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @retval HAL status 1392:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** */ 1393:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** HAL_StatusTypeDef HAL_RTC_WaitForSynchro(RTC_HandleTypeDef* hrtc) 1394:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 1395:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** uint32_t tickstart = 0U; 1396:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1397:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Clear RSF flag */ 1398:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** hrtc->Instance->ISR &= (uint32_t)RTC_RSF_MASK; 1399:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1400:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** tickstart = HAL_GetTick(); 1401:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1402:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Wait the registers to be synchronised */ 1403:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** while((hrtc->Instance->ISR & RTC_ISR_RSF) == (uint32_t)RESET) 1404:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 1405:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** if((HAL_GetTick() - tickstart ) > RTC_TIMEOUT_VALUE) 1406:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 1407:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** return HAL_TIMEOUT; 1408:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 1409:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 1410:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1411:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** return HAL_OK; 1412:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 1413:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1414:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /** 1415:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @} 1416:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** */ 1417:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1418:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /** @addtogroup RTC_Exported_Functions_Group5 1419:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @brief Peripheral State functions 1420:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * 1421:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** @verbatim ARM GAS /tmp/ccjtTCRz.s page 28 1422:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** =============================================================================== 1423:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ##### Peripheral State functions ##### 1424:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** =============================================================================== 1425:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** [..] 1426:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** This subsection provides functions allowing to 1427:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** (+) Get RTC state 1428:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1429:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** @endverbatim 1430:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @{ 1431:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** */ 1432:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /** 1433:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @brief Return the RTC handle state. 1434:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @param hrtc: RTC handle 1435:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @retval HAL state 1436:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** */ 1437:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** HAL_RTCStateTypeDef HAL_RTC_GetState(RTC_HandleTypeDef* hrtc) 1438:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 1439:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Return RTC handle state */ 1440:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** return hrtc->State; 1441:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 1442:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1443:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /** 1444:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @} 1445:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** */ 1446:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /** 1447:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @} 1448:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** */ 1449:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1450:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /** @addtogroup RTC_Private_Functions 1451:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @{ 1452:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** */ 1453:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /** 1454:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @brief Enter the RTC Initialization mode. 1455:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @note The RTC Initialization mode is write protected, use the 1456:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * __HAL_RTC_WRITEPROTECTION_DISABLE() before calling this function. 1457:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @param hrtc: RTC handle 1458:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @retval HAL status 1459:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** */ 1460:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** HAL_StatusTypeDef RTC_EnterInitMode(RTC_HandleTypeDef* hrtc) 1461:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 1462:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** uint32_t tickstart = 0U; 1463:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1464:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Check if the Initialization mode is set */ 1465:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** if((hrtc->Instance->ISR & RTC_ISR_INITF) == (uint32_t)RESET) 1466:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 1467:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Set the Initialization mode */ 1468:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** hrtc->Instance->ISR = (uint32_t)RTC_INIT_MASK; 1469:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1470:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** tickstart = HAL_GetTick(); 1471:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Wait till RTC is in INIT state and if Time out is reached exit */ 1472:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** while((hrtc->Instance->ISR & RTC_ISR_INITF) == (uint32_t)RESET) 1473:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 1474:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** if((HAL_GetTick() - tickstart ) > RTC_TIMEOUT_VALUE) 1475:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 1476:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** return HAL_TIMEOUT; 1477:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 1478:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } ARM GAS /tmp/ccjtTCRz.s page 29 1479:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 1480:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1481:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** return HAL_OK; 1482:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 1483:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1484:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1485:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /** 1486:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @brief Convert a 2 digit decimal to BCD format. 1487:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @param Value: Byte to be converted 1488:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @retval Converted byte 1489:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** */ 1490:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** uint8_t RTC_ByteToBcd2(uint8_t Value) 1491:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 1492:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** uint32_t bcdhigh = 0U; 1493:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1494:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** while(Value >= 10U) 1495:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 1496:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** bcdhigh++; 1497:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** Value -= 10U; 1498:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 1499:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1500:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** return ((uint8_t)(bcdhigh << 4U) | Value); 1501:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 1502:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1503:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /** 1504:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @brief Convert from 2 digit BCD to Binary. 1505:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @param Value: BCD value to be converted 1506:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** * @retval Converted word 1507:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** */ 1508:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** uint8_t RTC_Bcd2ToByte(uint8_t Value) 1509:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 1510:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** uint32_t tmp = 0U; 1511:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** tmp = ((uint8_t)(Value & (uint8_t)0xF0U) >> (uint8_t)0x4U) * 10U; 124 .loc 1 1511 0 125 0038 0509 lsrs r5, r0, #4 126 003a AA00 lsls r2, r5, #2 127 .LVL8: 128 003c 5219 adds r2, r2, r5 129 003e 5500 lsls r5, r2, #1 130 .LVL9: 1512:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** return (tmp + (Value & (uint8_t)0x0FU)); 131 .loc 1 1512 0 132 0040 0F22 movs r2, #15 133 0042 1040 ands r0, r2 134 .LVL10: 135 0044 4019 adds r0, r0, r5 136 .LVL11: 137 .LBE69: 138 .LBE68: 570:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** sTime->Minutes = (uint8_t)RTC_Bcd2ToByte(sTime->Minutes); 139 .loc 1 570 0 140 0046 0870 strb r0, [r1] 141 .LVL12: 142 .LBB70: 143 .LBB71: 1511:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** return (tmp + (Value & (uint8_t)0x0FU)); 144 .loc 1 1511 0 ARM GAS /tmp/ccjtTCRz.s page 30 145 0048 1D09 lsrs r5, r3, #4 146 004a A800 lsls r0, r5, #2 147 004c 4019 adds r0, r0, r5 148 004e 4500 lsls r5, r0, #1 149 .LVL13: 150 .loc 1 1512 0 151 0050 1340 ands r3, r2 152 .LVL14: 153 0052 5B19 adds r3, r3, r5 154 .LVL15: 155 .LBE71: 156 .LBE70: 571:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** sTime->Seconds = (uint8_t)RTC_Bcd2ToByte(sTime->Seconds); 157 .loc 1 571 0 158 0054 4B70 strb r3, [r1, #1] 159 .LVL16: 160 .LBB72: 161 .LBB73: 1511:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** return (tmp + (Value & (uint8_t)0x0FU)); 162 .loc 1 1511 0 163 0056 2009 lsrs r0, r4, #4 164 0058 8300 lsls r3, r0, #2 165 005a 1B18 adds r3, r3, r0 166 005c 5800 lsls r0, r3, #1 167 .LVL17: 168 .loc 1 1512 0 169 005e 1440 ands r4, r2 170 .LVL18: 171 0060 2418 adds r4, r4, r0 172 .LVL19: 173 .LBE73: 174 .LBE72: 572:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 175 .loc 1 572 0 176 0062 8C70 strb r4, [r1, #2] 177 .L4: 576:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 178 .loc 1 576 0 179 0064 0020 movs r0, #0 180 @ sp needed 181 0066 70BD pop {r4, r5, r6, pc} 182 .L6: 183 .align 2 184 .L5: 185 0068 7F7F7F00 .word 8355711 186 .cfi_endproc 187 .LFE44: 189 .section .text.HAL_RTC_GetDate,"ax",%progbits 190 .align 1 191 .global HAL_RTC_GetDate 192 .syntax unified 193 .code 16 194 .thumb_func 195 .fpu softvfp 197 HAL_RTC_GetDate: 198 .LFB46: 700:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** uint32_t datetmpreg = 0U; ARM GAS /tmp/ccjtTCRz.s page 31 199 .loc 1 700 0 200 .cfi_startproc 201 @ args = 0, pretend = 0, frame = 0 202 @ frame_needed = 0, uses_anonymous_args = 0 203 .LVL20: 204 0000 70B5 push {r4, r5, r6, lr} 205 .LCFI1: 206 .cfi_def_cfa_offset 16 207 .cfi_offset 4, -16 208 .cfi_offset 5, -12 209 .cfi_offset 6, -8 210 .cfi_offset 14, -4 211 .LVL21: 707:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 212 .loc 1 707 0 213 0002 0368 ldr r3, [r0] 214 0004 5B68 ldr r3, [r3, #4] 215 0006 1448 ldr r0, .L9 216 .LVL22: 217 0008 0340 ands r3, r0 218 .LVL23: 710:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** sDate->Month = (uint8_t)((datetmpreg & (RTC_DR_MT | RTC_DR_MU)) >> 8U); 219 .loc 1 710 0 220 000a 1C0C lsrs r4, r3, #16 221 000c CC70 strb r4, [r1, #3] 711:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** sDate->Date = (uint8_t)(datetmpreg & (RTC_DR_DT | RTC_DR_DU)); 222 .loc 1 711 0 223 000e 180A lsrs r0, r3, #8 224 0010 1F25 movs r5, #31 225 0012 2840 ands r0, r5 226 0014 4870 strb r0, [r1, #1] 712:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** sDate->WeekDay = (uint8_t)((datetmpreg & (RTC_DR_WDU)) >> 13U); 227 .loc 1 712 0 228 0016 2035 adds r5, r5, #32 229 0018 1D40 ands r5, r3 230 001a 8D70 strb r5, [r1, #2] 713:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 231 .loc 1 713 0 232 001c 5B0B lsrs r3, r3, #13 233 .LVL24: 234 001e 0726 movs r6, #7 235 0020 3340 ands r3, r6 236 0022 0B70 strb r3, [r1] 716:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 237 .loc 1 716 0 238 0024 002A cmp r2, #0 239 0026 15D1 bne .L8 240 .LVL25: 241 .LBB74: 242 .LBB75: 1511:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** return (tmp + (Value & (uint8_t)0x0FU)); 243 .loc 1 1511 0 244 0028 2209 lsrs r2, r4, #4 245 .LVL26: 246 002a 9300 lsls r3, r2, #2 247 002c 9B18 adds r3, r3, r2 248 002e 5A00 lsls r2, r3, #1 ARM GAS /tmp/ccjtTCRz.s page 32 249 .LVL27: 250 .loc 1 1512 0 251 0030 0F23 movs r3, #15 252 0032 1C40 ands r4, r3 253 .LVL28: 254 0034 A418 adds r4, r4, r2 255 .LVL29: 256 .LBE75: 257 .LBE74: 719:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** sDate->Month = (uint8_t)RTC_Bcd2ToByte(sDate->Month); 258 .loc 1 719 0 259 0036 CC70 strb r4, [r1, #3] 260 .LVL30: 261 .LBB76: 262 .LBB77: 1511:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** return (tmp + (Value & (uint8_t)0x0FU)); 263 .loc 1 1511 0 264 0038 0409 lsrs r4, r0, #4 265 003a A200 lsls r2, r4, #2 266 003c 1219 adds r2, r2, r4 267 003e 5400 lsls r4, r2, #1 268 .LVL31: 269 .loc 1 1512 0 270 0040 1840 ands r0, r3 271 .LVL32: 272 0042 0019 adds r0, r0, r4 273 .LVL33: 274 .LBE77: 275 .LBE76: 720:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** sDate->Date = (uint8_t)RTC_Bcd2ToByte(sDate->Date); 276 .loc 1 720 0 277 0044 4870 strb r0, [r1, #1] 278 .LVL34: 279 .LBB78: 280 .LBB79: 1511:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** return (tmp + (Value & (uint8_t)0x0FU)); 281 .loc 1 1511 0 282 0046 2809 lsrs r0, r5, #4 283 0048 8200 lsls r2, r0, #2 284 004a 1218 adds r2, r2, r0 285 004c 5000 lsls r0, r2, #1 286 .LVL35: 287 .loc 1 1512 0 288 004e 1D40 ands r5, r3 289 .LVL36: 290 0050 2D18 adds r5, r5, r0 291 .LVL37: 292 .LBE79: 293 .LBE78: 721:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 294 .loc 1 721 0 295 0052 8D70 strb r5, [r1, #2] 296 .L8: 724:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 297 .loc 1 724 0 298 0054 0020 movs r0, #0 299 @ sp needed ARM GAS /tmp/ccjtTCRz.s page 33 300 0056 70BD pop {r4, r5, r6, pc} 301 .L10: 302 .align 2 303 .L9: 304 0058 3FFFFF00 .word 16777023 305 .cfi_endproc 306 .LFE46: 308 .section .text.HAL_RTC_SetAlarm,"ax",%progbits 309 .align 1 310 .global HAL_RTC_SetAlarm 311 .syntax unified 312 .code 16 313 .thumb_func 314 .fpu softvfp 316 HAL_RTC_SetAlarm: 317 .LFB47: 754:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** uint32_t tickstart = 0U; 318 .loc 1 754 0 319 .cfi_startproc 320 @ args = 0, pretend = 0, frame = 0 321 @ frame_needed = 0, uses_anonymous_args = 0 322 .LVL38: 323 0000 F8B5 push {r3, r4, r5, r6, r7, lr} 324 .LCFI2: 325 .cfi_def_cfa_offset 24 326 .cfi_offset 3, -24 327 .cfi_offset 4, -20 328 .cfi_offset 5, -16 329 .cfi_offset 6, -12 330 .cfi_offset 7, -8 331 .cfi_offset 14, -4 332 0002 0400 movs r4, r0 333 .LVL39: 767:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 334 .loc 1 767 0 335 0004 2023 movs r3, #32 336 0006 C35C ldrb r3, [r0, r3] 337 0008 012B cmp r3, #1 338 000a 00D1 bne .LCB298 339 000c D1E0 b .L31 @long jump 340 .LCB298: 767:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 341 .loc 1 767 0 is_stmt 0 discriminator 2 342 000e 2023 movs r3, #32 343 0010 0120 movs r0, #1 344 .LVL40: 345 0012 E054 strb r0, [r4, r3] 769:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 346 .loc 1 769 0 is_stmt 1 discriminator 2 347 0014 0133 adds r3, r3, #1 348 0016 0130 adds r0, r0, #1 349 0018 E054 strb r0, [r4, r3] 771:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 350 .loc 1 771 0 discriminator 2 351 001a 002A cmp r2, #0 352 001c 6FD1 bne .L13 773:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { ARM GAS /tmp/ccjtTCRz.s page 34 353 .loc 1 773 0 354 001e 2368 ldr r3, [r4] 355 0020 9B68 ldr r3, [r3, #8] 356 0022 5B06 lsls r3, r3, #25 357 0024 01D4 bmi .L14 780:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** assert_param(IS_RTC_HOUR24(sAlarm->AlarmTime.Hours)); 358 .loc 1 780 0 359 0026 0023 movs r3, #0 360 0028 CB70 strb r3, [r1, #3] 361 .L14: 786:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 362 .loc 1 786 0 363 002a CE69 ldr r6, [r1, #28] 795:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ((uint32_t)RTC_ByteToBcd2(sAlarm->AlarmTime.Minutes) << 8U) | \ 364 .loc 1 795 0 365 002c 0B78 ldrb r3, [r1] 366 .LVL41: 367 .LBB80: 368 .LBB81: 1492:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 369 .loc 1 1492 0 370 002e 1000 movs r0, r2 371 0030 02E0 b .L15 372 .LVL42: 373 .L16: 1496:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** Value -= 10U; 374 .loc 1 1496 0 375 0032 0130 adds r0, r0, #1 376 .LVL43: 1497:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 377 .loc 1 1497 0 378 0034 0A3B subs r3, r3, #10 379 .LVL44: 380 0036 DBB2 uxtb r3, r3 381 .LVL45: 382 .L15: 1494:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 383 .loc 1 1494 0 384 0038 092B cmp r3, #9 385 003a FAD8 bhi .L16 1500:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 386 .loc 1 1500 0 387 003c 0001 lsls r0, r0, #4 388 .LVL46: 389 003e C0B2 uxtb r0, r0 390 0040 1843 orrs r0, r3 391 .LVL47: 392 .LBE81: 393 .LBE80: 795:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ((uint32_t)RTC_ByteToBcd2(sAlarm->AlarmTime.Minutes) << 8U) | \ 394 .loc 1 795 0 395 0042 0004 lsls r0, r0, #16 796:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ((uint32_t)RTC_ByteToBcd2(sAlarm->AlarmTime.Seconds)) | \ 396 .loc 1 796 0 397 0044 4B78 ldrb r3, [r1, #1] 398 .LVL48: 399 .LBB82: ARM GAS /tmp/ccjtTCRz.s page 35 400 .LBB83: 1492:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 401 .loc 1 1492 0 402 0046 1500 movs r5, r2 403 0048 02E0 b .L17 404 .LVL49: 405 .L18: 1496:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** Value -= 10U; 406 .loc 1 1496 0 407 004a 0135 adds r5, r5, #1 408 .LVL50: 1497:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 409 .loc 1 1497 0 410 004c 0A3B subs r3, r3, #10 411 .LVL51: 412 004e DBB2 uxtb r3, r3 413 .LVL52: 414 .L17: 1494:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 415 .loc 1 1494 0 416 0050 092B cmp r3, #9 417 0052 FAD8 bhi .L18 1500:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 418 .loc 1 1500 0 419 0054 2D01 lsls r5, r5, #4 420 .LVL53: 421 0056 EDB2 uxtb r5, r5 422 0058 2B43 orrs r3, r5 423 .LVL54: 424 .LBE83: 425 .LBE82: 796:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ((uint32_t)RTC_ByteToBcd2(sAlarm->AlarmTime.Seconds)) | \ 426 .loc 1 796 0 427 005a 1B02 lsls r3, r3, #8 795:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ((uint32_t)RTC_ByteToBcd2(sAlarm->AlarmTime.Minutes) << 8U) | \ 428 .loc 1 795 0 429 005c 0343 orrs r3, r0 797:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ((uint32_t)(sAlarm->AlarmTime.TimeFormat) << 16U) | \ 430 .loc 1 797 0 431 005e 8878 ldrb r0, [r1, #2] 432 .LVL55: 433 .LBB84: 434 .LBB85: 1492:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 435 .loc 1 1492 0 436 0060 1500 movs r5, r2 437 0062 02E0 b .L19 438 .LVL56: 439 .L20: 1496:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** Value -= 10U; 440 .loc 1 1496 0 441 0064 0135 adds r5, r5, #1 442 .LVL57: 1497:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 443 .loc 1 1497 0 444 0066 0A38 subs r0, r0, #10 445 .LVL58: ARM GAS /tmp/ccjtTCRz.s page 36 446 0068 C0B2 uxtb r0, r0 447 .LVL59: 448 .L19: 1494:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 449 .loc 1 1494 0 450 006a 0928 cmp r0, #9 451 006c FAD8 bhi .L20 1500:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 452 .loc 1 1500 0 453 006e 2D01 lsls r5, r5, #4 454 .LVL60: 455 0070 EDB2 uxtb r5, r5 456 0072 2843 orrs r0, r5 457 .LVL61: 458 .LBE85: 459 .LBE84: 796:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ((uint32_t)RTC_ByteToBcd2(sAlarm->AlarmTime.Seconds)) | \ 460 .loc 1 796 0 461 0074 1843 orrs r0, r3 798:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ((uint32_t)RTC_ByteToBcd2(sAlarm->AlarmDateWeekDay) << 24U) | \ 462 .loc 1 798 0 463 0076 CB78 ldrb r3, [r1, #3] 464 0078 1B04 lsls r3, r3, #16 797:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ((uint32_t)(sAlarm->AlarmTime.TimeFormat) << 16U) | \ 465 .loc 1 797 0 466 007a 1843 orrs r0, r3 799:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ((uint32_t)sAlarm->AlarmDateWeekDaySel) | \ 467 .loc 1 799 0 468 007c 2023 movs r3, #32 469 007e CD5C ldrb r5, [r1, r3] 470 .LVL62: 471 0080 02E0 b .L21 472 .LVL63: 473 .L22: 474 .LBB86: 475 .LBB87: 1496:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** Value -= 10U; 476 .loc 1 1496 0 477 0082 0132 adds r2, r2, #1 478 .LVL64: 1497:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 479 .loc 1 1497 0 480 0084 0A3D subs r5, r5, #10 481 .LVL65: 482 0086 EDB2 uxtb r5, r5 483 .LVL66: 484 .L21: 1494:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 485 .loc 1 1494 0 486 0088 092D cmp r5, #9 487 008a FAD8 bhi .L22 1500:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 488 .loc 1 1500 0 489 008c 1201 lsls r2, r2, #4 490 .LVL67: 491 008e D3B2 uxtb r3, r2 492 0090 2B43 orrs r3, r5 ARM GAS /tmp/ccjtTCRz.s page 37 493 .LVL68: 494 .LBE87: 495 .LBE86: 799:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ((uint32_t)sAlarm->AlarmDateWeekDaySel) | \ 496 .loc 1 799 0 497 0092 1B06 lsls r3, r3, #24 798:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ((uint32_t)RTC_ByteToBcd2(sAlarm->AlarmDateWeekDay) << 24U) | \ 498 .loc 1 798 0 499 0094 0343 orrs r3, r0 799:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ((uint32_t)sAlarm->AlarmDateWeekDaySel) | \ 500 .loc 1 799 0 501 0096 1E43 orrs r6, r3 795:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ((uint32_t)RTC_ByteToBcd2(sAlarm->AlarmTime.Minutes) << 8U) | \ 502 .loc 1 795 0 503 0098 4B69 ldr r3, [r1, #20] 504 009a 1E43 orrs r6, r3 505 .LVL69: 506 .L23: 841:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 507 .loc 1 841 0 508 009c 4D68 ldr r5, [r1, #4] 509 009e 8B69 ldr r3, [r1, #24] 510 00a0 1D43 orrs r5, r3 511 .LVL70: 844:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 512 .loc 1 844 0 513 00a2 2368 ldr r3, [r4] 514 00a4 CA22 movs r2, #202 515 00a6 5A62 str r2, [r3, #36] 516 00a8 2368 ldr r3, [r4] 517 00aa 773A subs r2, r2, #119 518 00ac 5A62 str r2, [r3, #36] 847:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 519 .loc 1 847 0 520 00ae 4A6A ldr r2, [r1, #36] 521 00b0 8023 movs r3, #128 522 00b2 5B00 lsls r3, r3, #1 523 00b4 9A42 cmp r2, r3 524 00b6 3BD0 beq .L32 882:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 525 .loc 1 882 0 526 00b8 2268 ldr r2, [r4] 527 00ba 9368 ldr r3, [r2, #8] 528 00bc 3E49 ldr r1, .L35 529 .LVL71: 530 00be 0B40 ands r3, r1 531 00c0 9360 str r3, [r2, #8] 885:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 532 .loc 1 885 0 533 00c2 2268 ldr r2, [r4] 534 00c4 9368 ldr r3, [r2, #8] 535 00c6 3D49 ldr r1, .L35+4 536 00c8 0B40 ands r3, r1 537 00ca 9360 str r3, [r2, #8] 887:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Wait till RTC ALRBWF flag is set and if Time out is reached exit */ 538 .loc 1 887 0 539 00cc FFF7FEFF bl HAL_GetTick ARM GAS /tmp/ccjtTCRz.s page 38 540 .LVL72: 541 00d0 0700 movs r7, r0 542 .LVL73: 543 .L29: 889:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 544 .loc 1 889 0 545 00d2 2268 ldr r2, [r4] 546 00d4 D168 ldr r1, [r2, #12] 547 00d6 8B07 lsls r3, r1, #30 548 00d8 57D4 bmi .L33 891:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 549 .loc 1 891 0 550 00da FFF7FEFF bl HAL_GetTick 551 .LVL74: 552 00de C01B subs r0, r0, r7 553 00e0 FA23 movs r3, #250 554 00e2 9B00 lsls r3, r3, #2 555 00e4 9842 cmp r0, r3 556 00e6 F4D9 bls .L29 894:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 557 .loc 1 894 0 558 00e8 2368 ldr r3, [r4] 559 00ea FF22 movs r2, #255 560 00ec 5A62 str r2, [r3, #36] 896:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 561 .loc 1 896 0 562 00ee 2123 movs r3, #33 563 00f0 FC3A subs r2, r2, #252 564 00f2 E254 strb r2, [r4, r3] 899:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 565 .loc 1 899 0 566 00f4 013B subs r3, r3, #1 567 00f6 0022 movs r2, #0 568 00f8 E254 strb r2, [r4, r3] 901:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 569 .loc 1 901 0 570 00fa 0320 movs r0, #3 571 00fc 58E0 b .L12 572 .LVL75: 573 .L13: 805:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 574 .loc 1 805 0 575 00fe 2368 ldr r3, [r4] 576 0100 9B68 ldr r3, [r3, #8] 577 0102 5B06 lsls r3, r3, #25 578 0104 01D4 bmi .L24 813:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** assert_param(IS_RTC_HOUR24(RTC_Bcd2ToByte(sAlarm->AlarmTime.Hours))); 579 .loc 1 813 0 580 0106 0023 movs r3, #0 581 0108 CB70 strb r3, [r1, #3] 582 .L24: 831:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ((uint32_t)(sAlarm->AlarmTime.Minutes) << 8U) | \ 583 .loc 1 831 0 584 010a 0E78 ldrb r6, [r1] 585 010c 3604 lsls r6, r6, #16 832:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ((uint32_t) sAlarm->AlarmTime.Seconds) | \ 586 .loc 1 832 0 ARM GAS /tmp/ccjtTCRz.s page 39 587 010e 4B78 ldrb r3, [r1, #1] 588 0110 1B02 lsls r3, r3, #8 831:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ((uint32_t)(sAlarm->AlarmTime.Minutes) << 8U) | \ 589 .loc 1 831 0 590 0112 1E43 orrs r6, r3 833:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ((uint32_t)(sAlarm->AlarmTime.TimeFormat) << 16U) | \ 591 .loc 1 833 0 592 0114 8B78 ldrb r3, [r1, #2] 832:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ((uint32_t) sAlarm->AlarmTime.Seconds) | \ 593 .loc 1 832 0 594 0116 1E43 orrs r6, r3 834:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ((uint32_t)(sAlarm->AlarmDateWeekDay) << 24U) | \ 595 .loc 1 834 0 596 0118 CB78 ldrb r3, [r1, #3] 597 011a 1B04 lsls r3, r3, #16 833:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ((uint32_t)(sAlarm->AlarmTime.TimeFormat) << 16U) | \ 598 .loc 1 833 0 599 011c 1E43 orrs r6, r3 835:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ((uint32_t)sAlarm->AlarmDateWeekDaySel) | \ 600 .loc 1 835 0 601 011e 2023 movs r3, #32 602 0120 CB5C ldrb r3, [r1, r3] 603 0122 1B06 lsls r3, r3, #24 834:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ((uint32_t)(sAlarm->AlarmDateWeekDay) << 24U) | \ 604 .loc 1 834 0 605 0124 1E43 orrs r6, r3 835:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ((uint32_t)sAlarm->AlarmDateWeekDaySel) | \ 606 .loc 1 835 0 607 0126 CB69 ldr r3, [r1, #28] 608 0128 1E43 orrs r6, r3 831:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ((uint32_t)(sAlarm->AlarmTime.Minutes) << 8U) | \ 609 .loc 1 831 0 610 012a 4B69 ldr r3, [r1, #20] 611 012c 1E43 orrs r6, r3 612 .LVL76: 613 012e B5E7 b .L23 614 .LVL77: 615 .L32: 850:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 616 .loc 1 850 0 617 0130 2268 ldr r2, [r4] 618 0132 9368 ldr r3, [r2, #8] 619 0134 2249 ldr r1, .L35+8 620 .LVL78: 621 0136 0B40 ands r3, r1 622 0138 9360 str r3, [r2, #8] 853:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 623 .loc 1 853 0 624 013a 2268 ldr r2, [r4] 625 013c 9368 ldr r3, [r2, #8] 626 013e 2149 ldr r1, .L35+12 627 0140 0B40 ands r3, r1 628 0142 9360 str r3, [r2, #8] 855:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Wait till RTC ALRAWF flag is set and if Time out is reached exit */ 629 .loc 1 855 0 630 0144 FFF7FEFF bl HAL_GetTick 631 .LVL79: ARM GAS /tmp/ccjtTCRz.s page 40 632 0148 0700 movs r7, r0 633 .LVL80: 634 .L26: 857:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 635 .loc 1 857 0 636 014a 2368 ldr r3, [r4] 637 014c DA68 ldr r2, [r3, #12] 638 014e D207 lsls r2, r2, #31 639 0150 11D4 bmi .L34 859:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 640 .loc 1 859 0 641 0152 FFF7FEFF bl HAL_GetTick 642 .LVL81: 643 0156 C01B subs r0, r0, r7 644 0158 FA23 movs r3, #250 645 015a 9B00 lsls r3, r3, #2 646 015c 9842 cmp r0, r3 647 015e F4D9 bls .L26 862:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 648 .loc 1 862 0 649 0160 2368 ldr r3, [r4] 650 0162 FF22 movs r2, #255 651 0164 5A62 str r2, [r3, #36] 864:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 652 .loc 1 864 0 653 0166 2123 movs r3, #33 654 0168 FC3A subs r2, r2, #252 655 016a E254 strb r2, [r4, r3] 867:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 656 .loc 1 867 0 657 016c 013B subs r3, r3, #1 658 016e 0022 movs r2, #0 659 0170 E254 strb r2, [r4, r3] 869:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 660 .loc 1 869 0 661 0172 0320 movs r0, #3 662 0174 1CE0 b .L12 663 .L34: 873:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Configure the Alarm A Sub Second register */ 664 .loc 1 873 0 665 0176 DE61 str r6, [r3, #28] 875:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Configure the Alarm state: Enable Alarm */ 666 .loc 1 875 0 667 0178 2368 ldr r3, [r4] 668 017a 5D64 str r5, [r3, #68] 877:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 669 .loc 1 877 0 670 017c 2268 ldr r2, [r4] 671 017e 9168 ldr r1, [r2, #8] 672 0180 8023 movs r3, #128 673 0182 5B00 lsls r3, r3, #1 674 0184 0B43 orrs r3, r1 675 0186 9360 str r3, [r2, #8] 676 0188 08E0 b .L28 677 .L33: 905:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Configure the Alarm B Sub Second register */ 678 .loc 1 905 0 ARM GAS /tmp/ccjtTCRz.s page 41 679 018a 1662 str r6, [r2, #32] 907:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Configure the Alarm state: Enable Alarm */ 680 .loc 1 907 0 681 018c 2368 ldr r3, [r4] 682 018e 9D64 str r5, [r3, #72] 909:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 683 .loc 1 909 0 684 0190 2268 ldr r2, [r4] 685 0192 9168 ldr r1, [r2, #8] 686 0194 8023 movs r3, #128 687 0196 9B00 lsls r3, r3, #2 688 0198 0B43 orrs r3, r1 689 019a 9360 str r3, [r2, #8] 690 .L28: 913:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 691 .loc 1 913 0 692 019c 2368 ldr r3, [r4] 693 019e FF22 movs r2, #255 694 01a0 5A62 str r2, [r3, #36] 916:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 695 .loc 1 916 0 696 01a2 2123 movs r3, #33 697 01a4 FE3A subs r2, r2, #254 698 01a6 E254 strb r2, [r4, r3] 919:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 699 .loc 1 919 0 700 01a8 013B subs r3, r3, #1 701 01aa 0022 movs r2, #0 702 01ac E254 strb r2, [r4, r3] 921:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 703 .loc 1 921 0 704 01ae 0020 movs r0, #0 705 .LVL82: 706 .L12: 922:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 707 .loc 1 922 0 708 @ sp needed 709 .LVL83: 710 01b0 F8BD pop {r3, r4, r5, r6, r7, pc} 711 .LVL84: 712 .L31: 767:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 713 .loc 1 767 0 714 01b2 0220 movs r0, #2 715 .LVL85: 716 01b4 FCE7 b .L12 717 .L36: 718 01b6 C046 .align 2 719 .L35: 720 01b8 FFFDFFFF .word -513 721 01bc FFDFFFFF .word -8193 722 01c0 FFFEFFFF .word -257 723 01c4 FFEFFFFF .word -4097 724 .cfi_endproc 725 .LFE47: 727 .section .text.HAL_RTC_SetAlarm_IT,"ax",%progbits 728 .align 1 ARM GAS /tmp/ccjtTCRz.s page 42 729 .global HAL_RTC_SetAlarm_IT 730 .syntax unified 731 .code 16 732 .thumb_func 733 .fpu softvfp 735 HAL_RTC_SetAlarm_IT: 736 .LFB48: 938:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** uint32_t tickstart = 0U; 737 .loc 1 938 0 738 .cfi_startproc 739 @ args = 0, pretend = 0, frame = 0 740 @ frame_needed = 0, uses_anonymous_args = 0 741 .LVL86: 742 0000 F8B5 push {r3, r4, r5, r6, r7, lr} 743 .LCFI3: 744 .cfi_def_cfa_offset 24 745 .cfi_offset 3, -24 746 .cfi_offset 4, -20 747 .cfi_offset 5, -16 748 .cfi_offset 6, -12 749 .cfi_offset 7, -8 750 .cfi_offset 14, -4 751 0002 0400 movs r4, r0 752 .LVL87: 951:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 753 .loc 1 951 0 754 0004 2023 movs r3, #32 755 0006 C35C ldrb r3, [r0, r3] 756 0008 012B cmp r3, #1 757 000a 00D1 bne .LCB747 758 000c EAE0 b .L57 @long jump 759 .LCB747: 951:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 760 .loc 1 951 0 is_stmt 0 discriminator 2 761 000e 2023 movs r3, #32 762 0010 0120 movs r0, #1 763 .LVL88: 764 0012 E054 strb r0, [r4, r3] 953:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 765 .loc 1 953 0 is_stmt 1 discriminator 2 766 0014 0133 adds r3, r3, #1 767 0016 0130 adds r0, r0, #1 768 0018 E054 strb r0, [r4, r3] 955:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 769 .loc 1 955 0 discriminator 2 770 001a 002A cmp r2, #0 771 001c 71D1 bne .L39 957:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 772 .loc 1 957 0 773 001e 2368 ldr r3, [r4] 774 0020 9B68 ldr r3, [r3, #8] 775 0022 5B06 lsls r3, r3, #25 776 0024 01D4 bmi .L40 964:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** assert_param(IS_RTC_HOUR24(sAlarm->AlarmTime.Hours)); 777 .loc 1 964 0 778 0026 0023 movs r3, #0 779 0028 CB70 strb r3, [r1, #3] ARM GAS /tmp/ccjtTCRz.s page 43 780 .L40: 970:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 781 .loc 1 970 0 782 002a CE69 ldr r6, [r1, #28] 978:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ((uint32_t)RTC_ByteToBcd2(sAlarm->AlarmTime.Minutes) << 8U) | \ 783 .loc 1 978 0 784 002c 0B78 ldrb r3, [r1] 785 .LVL89: 786 .LBB88: 787 .LBB89: 1492:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 788 .loc 1 1492 0 789 002e 1000 movs r0, r2 790 0030 02E0 b .L41 791 .LVL90: 792 .L42: 1496:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** Value -= 10U; 793 .loc 1 1496 0 794 0032 0130 adds r0, r0, #1 795 .LVL91: 1497:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 796 .loc 1 1497 0 797 0034 0A3B subs r3, r3, #10 798 .LVL92: 799 0036 DBB2 uxtb r3, r3 800 .LVL93: 801 .L41: 1494:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 802 .loc 1 1494 0 803 0038 092B cmp r3, #9 804 003a FAD8 bhi .L42 1500:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 805 .loc 1 1500 0 806 003c 0001 lsls r0, r0, #4 807 .LVL94: 808 003e C0B2 uxtb r0, r0 809 0040 1843 orrs r0, r3 810 .LVL95: 811 .LBE89: 812 .LBE88: 978:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ((uint32_t)RTC_ByteToBcd2(sAlarm->AlarmTime.Minutes) << 8U) | \ 813 .loc 1 978 0 814 0042 0004 lsls r0, r0, #16 979:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ((uint32_t)RTC_ByteToBcd2(sAlarm->AlarmTime.Seconds)) | \ 815 .loc 1 979 0 816 0044 4B78 ldrb r3, [r1, #1] 817 .LVL96: 818 .LBB90: 819 .LBB91: 1492:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 820 .loc 1 1492 0 821 0046 1500 movs r5, r2 822 0048 02E0 b .L43 823 .LVL97: 824 .L44: 1496:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** Value -= 10U; 825 .loc 1 1496 0 ARM GAS /tmp/ccjtTCRz.s page 44 826 004a 0135 adds r5, r5, #1 827 .LVL98: 1497:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 828 .loc 1 1497 0 829 004c 0A3B subs r3, r3, #10 830 .LVL99: 831 004e DBB2 uxtb r3, r3 832 .LVL100: 833 .L43: 1494:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 834 .loc 1 1494 0 835 0050 092B cmp r3, #9 836 0052 FAD8 bhi .L44 1500:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 837 .loc 1 1500 0 838 0054 2D01 lsls r5, r5, #4 839 .LVL101: 840 0056 EDB2 uxtb r5, r5 841 0058 2B43 orrs r3, r5 842 .LVL102: 843 .LBE91: 844 .LBE90: 979:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ((uint32_t)RTC_ByteToBcd2(sAlarm->AlarmTime.Seconds)) | \ 845 .loc 1 979 0 846 005a 1B02 lsls r3, r3, #8 978:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ((uint32_t)RTC_ByteToBcd2(sAlarm->AlarmTime.Minutes) << 8U) | \ 847 .loc 1 978 0 848 005c 0343 orrs r3, r0 980:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ((uint32_t)(sAlarm->AlarmTime.TimeFormat) << 16U) | \ 849 .loc 1 980 0 850 005e 8878 ldrb r0, [r1, #2] 851 .LVL103: 852 .LBB92: 853 .LBB93: 1492:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 854 .loc 1 1492 0 855 0060 1500 movs r5, r2 856 0062 02E0 b .L45 857 .LVL104: 858 .L46: 1496:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** Value -= 10U; 859 .loc 1 1496 0 860 0064 0135 adds r5, r5, #1 861 .LVL105: 1497:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 862 .loc 1 1497 0 863 0066 0A38 subs r0, r0, #10 864 .LVL106: 865 0068 C0B2 uxtb r0, r0 866 .LVL107: 867 .L45: 1494:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 868 .loc 1 1494 0 869 006a 0928 cmp r0, #9 870 006c FAD8 bhi .L46 1500:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 871 .loc 1 1500 0 ARM GAS /tmp/ccjtTCRz.s page 45 872 006e 2D01 lsls r5, r5, #4 873 .LVL108: 874 0070 EDB2 uxtb r5, r5 875 0072 2843 orrs r0, r5 876 .LVL109: 877 .LBE93: 878 .LBE92: 979:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ((uint32_t)RTC_ByteToBcd2(sAlarm->AlarmTime.Seconds)) | \ 879 .loc 1 979 0 880 0074 1843 orrs r0, r3 981:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ((uint32_t)RTC_ByteToBcd2(sAlarm->AlarmDateWeekDay) << 24U) | \ 881 .loc 1 981 0 882 0076 CB78 ldrb r3, [r1, #3] 883 0078 1B04 lsls r3, r3, #16 980:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ((uint32_t)(sAlarm->AlarmTime.TimeFormat) << 16U) | \ 884 .loc 1 980 0 885 007a 1843 orrs r0, r3 982:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ((uint32_t)sAlarm->AlarmDateWeekDaySel) | \ 886 .loc 1 982 0 887 007c 2023 movs r3, #32 888 007e CD5C ldrb r5, [r1, r3] 889 .LVL110: 890 0080 02E0 b .L47 891 .LVL111: 892 .L48: 893 .LBB94: 894 .LBB95: 1496:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** Value -= 10U; 895 .loc 1 1496 0 896 0082 0132 adds r2, r2, #1 897 .LVL112: 1497:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 898 .loc 1 1497 0 899 0084 0A3D subs r5, r5, #10 900 .LVL113: 901 0086 EDB2 uxtb r5, r5 902 .LVL114: 903 .L47: 1494:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 904 .loc 1 1494 0 905 0088 092D cmp r5, #9 906 008a FAD8 bhi .L48 1500:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 907 .loc 1 1500 0 908 008c 1201 lsls r2, r2, #4 909 .LVL115: 910 008e D3B2 uxtb r3, r2 911 0090 2B43 orrs r3, r5 912 .LVL116: 913 .LBE95: 914 .LBE94: 982:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ((uint32_t)sAlarm->AlarmDateWeekDaySel) | \ 915 .loc 1 982 0 916 0092 1B06 lsls r3, r3, #24 981:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ((uint32_t)RTC_ByteToBcd2(sAlarm->AlarmDateWeekDay) << 24U) | \ 917 .loc 1 981 0 918 0094 0343 orrs r3, r0 ARM GAS /tmp/ccjtTCRz.s page 46 982:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ((uint32_t)sAlarm->AlarmDateWeekDaySel) | \ 919 .loc 1 982 0 920 0096 1E43 orrs r6, r3 978:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ((uint32_t)RTC_ByteToBcd2(sAlarm->AlarmTime.Minutes) << 8U) | \ 921 .loc 1 978 0 922 0098 4B69 ldr r3, [r1, #20] 923 009a 1E43 orrs r6, r3 924 .LVL117: 925 .L49: 1022:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 926 .loc 1 1022 0 927 009c 4D68 ldr r5, [r1, #4] 928 009e 8B69 ldr r3, [r1, #24] 929 00a0 1D43 orrs r5, r3 930 .LVL118: 1025:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 931 .loc 1 1025 0 932 00a2 2368 ldr r3, [r4] 933 00a4 CA22 movs r2, #202 934 00a6 5A62 str r2, [r3, #36] 935 00a8 2368 ldr r3, [r4] 936 00aa 773A subs r2, r2, #119 937 00ac 5A62 str r2, [r3, #36] 1028:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 938 .loc 1 1028 0 939 00ae 4A6A ldr r2, [r1, #36] 940 00b0 8023 movs r3, #128 941 00b2 5B00 lsls r3, r3, #1 942 00b4 9A42 cmp r2, r3 943 00b6 3DD0 beq .L58 1065:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 944 .loc 1 1065 0 945 00b8 2268 ldr r2, [r4] 946 00ba 9368 ldr r3, [r2, #8] 947 00bc 4A49 ldr r1, .L61 948 .LVL119: 949 00be 0B40 ands r3, r1 950 00c0 9360 str r3, [r2, #8] 1068:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 951 .loc 1 1068 0 952 00c2 2168 ldr r1, [r4] 953 00c4 CA68 ldr r2, [r1, #12] 954 00c6 FF23 movs r3, #255 955 00c8 1A40 ands r2, r3 956 00ca 484B ldr r3, .L61+4 957 00cc 1343 orrs r3, r2 958 00ce CB60 str r3, [r1, #12] 1070:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Wait till RTC ALRBWF flag is set and if Time out is reached exit */ 959 .loc 1 1070 0 960 00d0 FFF7FEFF bl HAL_GetTick 961 .LVL120: 962 00d4 0700 movs r7, r0 963 .LVL121: 964 .L55: 1072:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 965 .loc 1 1072 0 966 00d6 2268 ldr r2, [r4] ARM GAS /tmp/ccjtTCRz.s page 47 967 00d8 D168 ldr r1, [r2, #12] 968 00da 8B07 lsls r3, r1, #30 969 00dc 5FD4 bmi .L59 1074:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 970 .loc 1 1074 0 971 00de FFF7FEFF bl HAL_GetTick 972 .LVL122: 973 00e2 C01B subs r0, r0, r7 974 00e4 FA23 movs r3, #250 975 00e6 9B00 lsls r3, r3, #2 976 00e8 9842 cmp r0, r3 977 00ea F4D9 bls .L55 1077:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 978 .loc 1 1077 0 979 00ec 2368 ldr r3, [r4] 980 00ee FF22 movs r2, #255 981 00f0 5A62 str r2, [r3, #36] 1079:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 982 .loc 1 1079 0 983 00f2 2123 movs r3, #33 984 00f4 FC3A subs r2, r2, #252 985 00f6 E254 strb r2, [r4, r3] 1082:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 986 .loc 1 1082 0 987 00f8 013B subs r3, r3, #1 988 00fa 0022 movs r2, #0 989 00fc E254 strb r2, [r4, r3] 1084:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 990 .loc 1 1084 0 991 00fe 0320 movs r0, #3 992 0100 6FE0 b .L38 993 .LVL123: 994 .L39: 988:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 995 .loc 1 988 0 996 0102 2368 ldr r3, [r4] 997 0104 9B68 ldr r3, [r3, #8] 998 0106 5B06 lsls r3, r3, #25 999 0108 01D4 bmi .L50 996:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** assert_param(IS_RTC_HOUR24(RTC_Bcd2ToByte(sAlarm->AlarmTime.Hours))); 1000 .loc 1 996 0 1001 010a 0023 movs r3, #0 1002 010c CB70 strb r3, [r1, #3] 1003 .L50: 1013:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ((uint32_t)(sAlarm->AlarmTime.Minutes) << 8U) | \ 1004 .loc 1 1013 0 1005 010e 0E78 ldrb r6, [r1] 1006 0110 3604 lsls r6, r6, #16 1014:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ((uint32_t) sAlarm->AlarmTime.Seconds) | \ 1007 .loc 1 1014 0 1008 0112 4B78 ldrb r3, [r1, #1] 1009 0114 1B02 lsls r3, r3, #8 1013:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ((uint32_t)(sAlarm->AlarmTime.Minutes) << 8U) | \ 1010 .loc 1 1013 0 1011 0116 1E43 orrs r6, r3 1015:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ((uint32_t)(sAlarm->AlarmTime.TimeFormat) << 16U) | \ 1012 .loc 1 1015 0 ARM GAS /tmp/ccjtTCRz.s page 48 1013 0118 8B78 ldrb r3, [r1, #2] 1014:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ((uint32_t) sAlarm->AlarmTime.Seconds) | \ 1014 .loc 1 1014 0 1015 011a 1E43 orrs r6, r3 1016:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ((uint32_t)(sAlarm->AlarmDateWeekDay) << 24U) | \ 1016 .loc 1 1016 0 1017 011c CB78 ldrb r3, [r1, #3] 1018 011e 1B04 lsls r3, r3, #16 1015:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ((uint32_t)(sAlarm->AlarmTime.TimeFormat) << 16U) | \ 1019 .loc 1 1015 0 1020 0120 1E43 orrs r6, r3 1017:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ((uint32_t)sAlarm->AlarmDateWeekDaySel) | \ 1021 .loc 1 1017 0 1022 0122 2023 movs r3, #32 1023 0124 CB5C ldrb r3, [r1, r3] 1024 0126 1B06 lsls r3, r3, #24 1016:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ((uint32_t)(sAlarm->AlarmDateWeekDay) << 24U) | \ 1025 .loc 1 1016 0 1026 0128 1E43 orrs r6, r3 1017:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ((uint32_t)sAlarm->AlarmDateWeekDaySel) | \ 1027 .loc 1 1017 0 1028 012a CB69 ldr r3, [r1, #28] 1029 012c 1E43 orrs r6, r3 1013:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ((uint32_t)(sAlarm->AlarmTime.Minutes) << 8U) | \ 1030 .loc 1 1013 0 1031 012e 4B69 ldr r3, [r1, #20] 1032 0130 1E43 orrs r6, r3 1033 .LVL124: 1034 0132 B3E7 b .L49 1035 .LVL125: 1036 .L58: 1031:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1037 .loc 1 1031 0 1038 0134 2268 ldr r2, [r4] 1039 0136 9368 ldr r3, [r2, #8] 1040 0138 2D49 ldr r1, .L61+8 1041 .LVL126: 1042 013a 0B40 ands r3, r1 1043 013c 9360 str r3, [r2, #8] 1034:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1044 .loc 1 1034 0 1045 013e 2168 ldr r1, [r4] 1046 0140 CA68 ldr r2, [r1, #12] 1047 0142 FF23 movs r3, #255 1048 0144 1A40 ands r2, r3 1049 0146 2B4B ldr r3, .L61+12 1050 0148 1343 orrs r3, r2 1051 014a CB60 str r3, [r1, #12] 1036:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Wait till RTC ALRAWF flag is set and if Time out is reached exit */ 1052 .loc 1 1036 0 1053 014c FFF7FEFF bl HAL_GetTick 1054 .LVL127: 1055 0150 0700 movs r7, r0 1056 .LVL128: 1057 .L52: 1038:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 1058 .loc 1 1038 0 ARM GAS /tmp/ccjtTCRz.s page 49 1059 0152 2368 ldr r3, [r4] 1060 0154 DA68 ldr r2, [r3, #12] 1061 0156 D207 lsls r2, r2, #31 1062 0158 11D4 bmi .L60 1040:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 1063 .loc 1 1040 0 1064 015a FFF7FEFF bl HAL_GetTick 1065 .LVL129: 1066 015e C01B subs r0, r0, r7 1067 0160 FA23 movs r3, #250 1068 0162 9B00 lsls r3, r3, #2 1069 0164 9842 cmp r0, r3 1070 0166 F4D9 bls .L52 1043:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1071 .loc 1 1043 0 1072 0168 2368 ldr r3, [r4] 1073 016a FF22 movs r2, #255 1074 016c 5A62 str r2, [r3, #36] 1045:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1075 .loc 1 1045 0 1076 016e 2123 movs r3, #33 1077 0170 FC3A subs r2, r2, #252 1078 0172 E254 strb r2, [r4, r3] 1048:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1079 .loc 1 1048 0 1080 0174 013B subs r3, r3, #1 1081 0176 0022 movs r2, #0 1082 0178 E254 strb r2, [r4, r3] 1050:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 1083 .loc 1 1050 0 1084 017a 0320 movs r0, #3 1085 017c 31E0 b .L38 1086 .L60: 1054:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Configure the Alarm A Sub Second register */ 1087 .loc 1 1054 0 1088 017e DE61 str r6, [r3, #28] 1056:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Configure the Alarm state: Enable Alarm */ 1089 .loc 1 1056 0 1090 0180 2368 ldr r3, [r4] 1091 0182 5D64 str r5, [r3, #68] 1058:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Configure the Alarm interrupt */ 1092 .loc 1 1058 0 1093 0184 2268 ldr r2, [r4] 1094 0186 9168 ldr r1, [r2, #8] 1095 0188 8023 movs r3, #128 1096 018a 5B00 lsls r3, r3, #1 1097 018c 0B43 orrs r3, r1 1098 018e 9360 str r3, [r2, #8] 1060:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 1099 .loc 1 1060 0 1100 0190 2268 ldr r2, [r4] 1101 0192 9168 ldr r1, [r2, #8] 1102 0194 8023 movs r3, #128 1103 0196 5B01 lsls r3, r3, #5 1104 0198 0B43 orrs r3, r1 1105 019a 9360 str r3, [r2, #8] 1106 019c 0EE0 b .L54 ARM GAS /tmp/ccjtTCRz.s page 50 1107 .L59: 1088:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Configure the Alarm B Sub Second register */ 1108 .loc 1 1088 0 1109 019e 1662 str r6, [r2, #32] 1090:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Configure the Alarm state: Enable Alarm */ 1110 .loc 1 1090 0 1111 01a0 2368 ldr r3, [r4] 1112 01a2 9D64 str r5, [r3, #72] 1092:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Configure the Alarm interrupt */ 1113 .loc 1 1092 0 1114 01a4 2268 ldr r2, [r4] 1115 01a6 9168 ldr r1, [r2, #8] 1116 01a8 8023 movs r3, #128 1117 01aa 9B00 lsls r3, r3, #2 1118 01ac 0B43 orrs r3, r1 1119 01ae 9360 str r3, [r2, #8] 1094:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 1120 .loc 1 1094 0 1121 01b0 2268 ldr r2, [r4] 1122 01b2 9168 ldr r1, [r2, #8] 1123 01b4 8023 movs r3, #128 1124 01b6 9B01 lsls r3, r3, #6 1125 01b8 0B43 orrs r3, r1 1126 01ba 9360 str r3, [r2, #8] 1127 .L54: 1098:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1128 .loc 1 1098 0 1129 01bc 0E4B ldr r3, .L61+16 1130 01be 1968 ldr r1, [r3] 1131 01c0 8022 movs r2, #128 1132 01c2 9202 lsls r2, r2, #10 1133 01c4 1143 orrs r1, r2 1134 01c6 1960 str r1, [r3] 1100:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1135 .loc 1 1100 0 1136 01c8 9968 ldr r1, [r3, #8] 1137 01ca 0A43 orrs r2, r1 1138 01cc 9A60 str r2, [r3, #8] 1103:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1139 .loc 1 1103 0 1140 01ce 2368 ldr r3, [r4] 1141 01d0 FF22 movs r2, #255 1142 01d2 5A62 str r2, [r3, #36] 1105:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1143 .loc 1 1105 0 1144 01d4 2123 movs r3, #33 1145 01d6 FE3A subs r2, r2, #254 1146 01d8 E254 strb r2, [r4, r3] 1108:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1147 .loc 1 1108 0 1148 01da 013B subs r3, r3, #1 1149 01dc 0022 movs r2, #0 1150 01de E254 strb r2, [r4, r3] 1110:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 1151 .loc 1 1110 0 1152 01e0 0020 movs r0, #0 1153 .LVL130: ARM GAS /tmp/ccjtTCRz.s page 51 1154 .L38: 1111:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1155 .loc 1 1111 0 1156 @ sp needed 1157 .LVL131: 1158 01e2 F8BD pop {r3, r4, r5, r6, r7, pc} 1159 .LVL132: 1160 .L57: 951:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1161 .loc 1 951 0 1162 01e4 0220 movs r0, #2 1163 .LVL133: 1164 01e6 FCE7 b .L38 1165 .L62: 1166 .align 2 1167 .L61: 1168 01e8 FFFDFFFF .word -513 1169 01ec 7FFDFFFF .word -641 1170 01f0 FFFEFFFF .word -257 1171 01f4 7FFEFFFF .word -385 1172 01f8 00040140 .word 1073808384 1173 .cfi_endproc 1174 .LFE48: 1176 .section .text.HAL_RTC_DeactivateAlarm,"ax",%progbits 1177 .align 1 1178 .global HAL_RTC_DeactivateAlarm 1179 .syntax unified 1180 .code 16 1181 .thumb_func 1182 .fpu softvfp 1184 HAL_RTC_DeactivateAlarm: 1185 .LFB49: 1123:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** uint32_t tickstart = 0U; 1186 .loc 1 1123 0 1187 .cfi_startproc 1188 @ args = 0, pretend = 0, frame = 0 1189 @ frame_needed = 0, uses_anonymous_args = 0 1190 .LVL134: 1191 0000 70B5 push {r4, r5, r6, lr} 1192 .LCFI4: 1193 .cfi_def_cfa_offset 16 1194 .cfi_offset 4, -16 1195 .cfi_offset 5, -12 1196 .cfi_offset 6, -8 1197 .cfi_offset 14, -4 1198 0002 0400 movs r4, r0 1199 .LVL135: 1130:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1200 .loc 1 1130 0 1201 0004 2023 movs r3, #32 1202 0006 C35C ldrb r3, [r0, r3] 1203 0008 012B cmp r3, #1 1204 000a 60D0 beq .L71 1130:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1205 .loc 1 1130 0 is_stmt 0 discriminator 2 1206 000c 2023 movs r3, #32 1207 000e 0122 movs r2, #1 ARM GAS /tmp/ccjtTCRz.s page 52 1208 0010 C254 strb r2, [r0, r3] 1132:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1209 .loc 1 1132 0 is_stmt 1 discriminator 2 1210 0012 0133 adds r3, r3, #1 1211 0014 0132 adds r2, r2, #1 1212 0016 C254 strb r2, [r0, r3] 1135:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1213 .loc 1 1135 0 discriminator 2 1214 0018 0368 ldr r3, [r0] 1215 001a C832 adds r2, r2, #200 1216 001c 5A62 str r2, [r3, #36] 1217 001e 0368 ldr r3, [r0] 1218 0020 773A subs r2, r2, #119 1219 0022 5A62 str r2, [r3, #36] 1137:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 1220 .loc 1 1137 0 discriminator 2 1221 0024 8023 movs r3, #128 1222 0026 5B00 lsls r3, r3, #1 1223 0028 9942 cmp r1, r3 1224 002a 22D0 beq .L72 1167:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1225 .loc 1 1167 0 1226 002c 0268 ldr r2, [r0] 1227 002e 9368 ldr r3, [r2, #8] 1228 0030 2849 ldr r1, .L73 1229 .LVL136: 1230 0032 0B40 ands r3, r1 1231 0034 9360 str r3, [r2, #8] 1170:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1232 .loc 1 1170 0 1233 0036 0268 ldr r2, [r0] 1234 0038 9368 ldr r3, [r2, #8] 1235 003a 2749 ldr r1, .L73+4 1236 003c 0B40 ands r3, r1 1237 003e 9360 str r3, [r2, #8] 1172:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1238 .loc 1 1172 0 1239 0040 FFF7FEFF bl HAL_GetTick 1240 .LVL137: 1241 0044 0500 movs r5, r0 1242 .LVL138: 1243 .L69: 1175:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 1244 .loc 1 1175 0 1245 0046 2368 ldr r3, [r4] 1246 0048 DB68 ldr r3, [r3, #12] 1247 004a 9B07 lsls r3, r3, #30 1248 004c 34D4 bmi .L68 1177:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 1249 .loc 1 1177 0 1250 004e FFF7FEFF bl HAL_GetTick 1251 .LVL139: 1252 0052 401B subs r0, r0, r5 1253 0054 FA23 movs r3, #250 1254 0056 9B00 lsls r3, r3, #2 1255 0058 9842 cmp r0, r3 1256 005a F4D9 bls .L69 ARM GAS /tmp/ccjtTCRz.s page 53 1180:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1257 .loc 1 1180 0 1258 005c 2368 ldr r3, [r4] 1259 005e FF22 movs r2, #255 1260 0060 5A62 str r2, [r3, #36] 1182:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1261 .loc 1 1182 0 1262 0062 2123 movs r3, #33 1263 0064 FC3A subs r2, r2, #252 1264 0066 E254 strb r2, [r4, r3] 1185:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1265 .loc 1 1185 0 1266 0068 013B subs r3, r3, #1 1267 006a 0022 movs r2, #0 1268 006c E254 strb r2, [r4, r3] 1187:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 1269 .loc 1 1187 0 1270 006e 0320 movs r0, #3 1271 0070 2CE0 b .L64 1272 .LVL140: 1273 .L72: 1140:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1274 .loc 1 1140 0 1275 0072 0268 ldr r2, [r0] 1276 0074 9368 ldr r3, [r2, #8] 1277 0076 1949 ldr r1, .L73+8 1278 .LVL141: 1279 0078 0B40 ands r3, r1 1280 007a 9360 str r3, [r2, #8] 1143:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1281 .loc 1 1143 0 1282 007c 0268 ldr r2, [r0] 1283 007e 9368 ldr r3, [r2, #8] 1284 0080 1749 ldr r1, .L73+12 1285 0082 0B40 ands r3, r1 1286 0084 9360 str r3, [r2, #8] 1145:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1287 .loc 1 1145 0 1288 0086 FFF7FEFF bl HAL_GetTick 1289 .LVL142: 1290 008a 0500 movs r5, r0 1291 .LVL143: 1292 .L66: 1148:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 1293 .loc 1 1148 0 1294 008c 2368 ldr r3, [r4] 1295 008e DB68 ldr r3, [r3, #12] 1296 0090 DB07 lsls r3, r3, #31 1297 0092 11D4 bmi .L68 1150:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 1298 .loc 1 1150 0 1299 0094 FFF7FEFF bl HAL_GetTick 1300 .LVL144: 1301 0098 401B subs r0, r0, r5 1302 009a FA23 movs r3, #250 1303 009c 9B00 lsls r3, r3, #2 1304 009e 9842 cmp r0, r3 ARM GAS /tmp/ccjtTCRz.s page 54 1305 00a0 F4D9 bls .L66 1153:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1306 .loc 1 1153 0 1307 00a2 2368 ldr r3, [r4] 1308 00a4 FF22 movs r2, #255 1309 00a6 5A62 str r2, [r3, #36] 1155:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1310 .loc 1 1155 0 1311 00a8 2123 movs r3, #33 1312 00aa FC3A subs r2, r2, #252 1313 00ac E254 strb r2, [r4, r3] 1158:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1314 .loc 1 1158 0 1315 00ae 013B subs r3, r3, #1 1316 00b0 0022 movs r2, #0 1317 00b2 E254 strb r2, [r4, r3] 1160:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 1318 .loc 1 1160 0 1319 00b4 0320 movs r0, #3 1320 00b6 09E0 b .L64 1321 .L68: 1192:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1322 .loc 1 1192 0 1323 00b8 2368 ldr r3, [r4] 1324 00ba FF22 movs r2, #255 1325 00bc 5A62 str r2, [r3, #36] 1194:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1326 .loc 1 1194 0 1327 00be 2123 movs r3, #33 1328 00c0 FE3A subs r2, r2, #254 1329 00c2 E254 strb r2, [r4, r3] 1197:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1330 .loc 1 1197 0 1331 00c4 013B subs r3, r3, #1 1332 00c6 0022 movs r2, #0 1333 00c8 E254 strb r2, [r4, r3] 1199:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 1334 .loc 1 1199 0 1335 00ca 0020 movs r0, #0 1336 .LVL145: 1337 .L64: 1200:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1338 .loc 1 1200 0 1339 @ sp needed 1340 .LVL146: 1341 00cc 70BD pop {r4, r5, r6, pc} 1342 .LVL147: 1343 .L71: 1130:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1344 .loc 1 1130 0 1345 00ce 0220 movs r0, #2 1346 .LVL148: 1347 00d0 FCE7 b .L64 1348 .L74: 1349 00d2 C046 .align 2 1350 .L73: 1351 00d4 FFFDFFFF .word -513 ARM GAS /tmp/ccjtTCRz.s page 55 1352 00d8 FFDFFFFF .word -8193 1353 00dc FFFEFFFF .word -257 1354 00e0 FFEFFFFF .word -4097 1355 .cfi_endproc 1356 .LFE49: 1358 .section .text.HAL_RTC_GetAlarm,"ax",%progbits 1359 .align 1 1360 .global HAL_RTC_GetAlarm 1361 .syntax unified 1362 .code 16 1363 .thumb_func 1364 .fpu softvfp 1366 HAL_RTC_GetAlarm: 1367 .LFB50: 1217:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** uint32_t tmpreg = 0U, subsecondtmpreg = 0U; 1368 .loc 1 1217 0 1369 .cfi_startproc 1370 @ args = 0, pretend = 0, frame = 0 1371 @ frame_needed = 0, uses_anonymous_args = 0 1372 .LVL149: 1373 0000 F0B5 push {r4, r5, r6, r7, lr} 1374 .LCFI5: 1375 .cfi_def_cfa_offset 20 1376 .cfi_offset 4, -20 1377 .cfi_offset 5, -16 1378 .cfi_offset 6, -12 1379 .cfi_offset 7, -8 1380 .cfi_offset 14, -4 1381 .LVL150: 1224:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 1382 .loc 1 1224 0 1383 0002 8024 movs r4, #128 1384 0004 6400 lsls r4, r4, #1 1385 0006 A242 cmp r2, r4 1386 0008 48D0 beq .L79 1244:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1387 .loc 1 1244 0 1388 000a 8022 movs r2, #128 1389 .LVL151: 1390 000c 9200 lsls r2, r2, #2 1391 000e 4A62 str r2, [r1, #36] 1246:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** subsecondtmpreg = (uint32_t)((hrtc->Instance->ALRMBSSR) & RTC_ALRMBSSR_SS); 1392 .loc 1 1246 0 1393 0010 0068 ldr r0, [r0] 1394 .LVL152: 1395 0012 026A ldr r2, [r0, #32] 1396 .LVL153: 1247:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1397 .loc 1 1247 0 1398 0014 806C ldr r0, [r0, #72] 1399 0016 4004 lsls r0, r0, #17 1400 0018 400C lsrs r0, r0, #17 1401 .LVL154: 1250:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** sAlarm->AlarmTime.Minutes = (uint32_t)((tmpreg & (RTC_ALRMBR_MNT | RTC_ALRMBR_MNU)) >> 8U); 1402 .loc 1 1250 0 1403 001a 150C lsrs r5, r2, #16 1404 001c EDB2 uxtb r5, r5 ARM GAS /tmp/ccjtTCRz.s page 56 1405 001e 3F24 movs r4, #63 1406 0020 2600 movs r6, r4 1407 0022 2E40 ands r6, r5 1408 0024 0E70 strb r6, [r1] 1251:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** sAlarm->AlarmTime.Seconds = (uint32_t)(tmpreg & (RTC_ALRMBR_ST | RTC_ALRMBR_SU)); 1409 .loc 1 1251 0 1410 0026 170A lsrs r7, r2, #8 1411 0028 7F26 movs r6, #127 1412 002a 3740 ands r7, r6 1413 002c 4F70 strb r7, [r1, #1] 1252:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** sAlarm->AlarmTime.TimeFormat = (uint32_t)((tmpreg & RTC_ALRMBR_PM) >> 16U); 1414 .loc 1 1252 0 1415 002e 1640 ands r6, r2 1416 0030 8E70 strb r6, [r1, #2] 1253:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** sAlarm->AlarmTime.SubSeconds = (uint32_t) subsecondtmpreg; 1417 .loc 1 1253 0 1418 0032 4026 movs r6, #64 1419 0034 3540 ands r5, r6 1420 0036 CD70 strb r5, [r1, #3] 1254:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** sAlarm->AlarmDateWeekDay = (uint32_t)((tmpreg & (RTC_ALRMBR_DT | RTC_ALRMBR_DU)) >> 24U); 1421 .loc 1 1254 0 1422 0038 4860 str r0, [r1, #4] 1255:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** sAlarm->AlarmDateWeekDaySel = (uint32_t)(tmpreg & RTC_ALRMBR_WDSEL); 1423 .loc 1 1255 0 1424 003a 100E lsrs r0, r2, #24 1425 .LVL155: 1426 003c 0440 ands r4, r0 1427 003e 2020 movs r0, #32 1428 0040 0C54 strb r4, [r1, r0] 1429 .LVL156: 1256:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** sAlarm->AlarmMask = (uint32_t)(tmpreg & RTC_ALARMMASK_ALL); 1430 .loc 1 1256 0 1431 0042 8020 movs r0, #128 1432 0044 C005 lsls r0, r0, #23 1433 0046 1040 ands r0, r2 1434 0048 C861 str r0, [r1, #28] 1257:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 1435 .loc 1 1257 0 1436 004a 2548 ldr r0, .L80 1437 004c 0240 ands r2, r0 1438 .LVL157: 1439 004e 4A61 str r2, [r1, #20] 1440 .L77: 1260:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 1441 .loc 1 1260 0 1442 0050 002B cmp r3, #0 1443 0052 21D1 bne .L78 1262:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** sAlarm->AlarmTime.Minutes = RTC_Bcd2ToByte(sAlarm->AlarmTime.Minutes); 1444 .loc 1 1262 0 1445 0054 0A78 ldrb r2, [r1] 1446 .LVL158: 1447 .LBB96: 1448 .LBB97: 1511:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** return (tmp + (Value & (uint8_t)0x0FU)); 1449 .loc 1 1511 0 1450 0056 1009 lsrs r0, r2, #4 1451 0058 8300 lsls r3, r0, #2 ARM GAS /tmp/ccjtTCRz.s page 57 1452 .LVL159: 1453 005a 1B18 adds r3, r3, r0 1454 005c 5800 lsls r0, r3, #1 1455 .LVL160: 1456 .loc 1 1512 0 1457 005e 0F23 movs r3, #15 1458 0060 1A40 ands r2, r3 1459 .LVL161: 1460 0062 1218 adds r2, r2, r0 1461 .LVL162: 1462 .LBE97: 1463 .LBE96: 1262:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** sAlarm->AlarmTime.Minutes = RTC_Bcd2ToByte(sAlarm->AlarmTime.Minutes); 1464 .loc 1 1262 0 1465 0064 0A70 strb r2, [r1] 1263:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** sAlarm->AlarmTime.Seconds = RTC_Bcd2ToByte(sAlarm->AlarmTime.Seconds); 1466 .loc 1 1263 0 1467 0066 4A78 ldrb r2, [r1, #1] 1468 .LVL163: 1469 .LBB98: 1470 .LBB99: 1511:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** return (tmp + (Value & (uint8_t)0x0FU)); 1471 .loc 1 1511 0 1472 0068 1409 lsrs r4, r2, #4 1473 006a A000 lsls r0, r4, #2 1474 006c 0019 adds r0, r0, r4 1475 006e 4400 lsls r4, r0, #1 1476 .LVL164: 1477 .loc 1 1512 0 1478 0070 1A40 ands r2, r3 1479 .LVL165: 1480 0072 1219 adds r2, r2, r4 1481 .LVL166: 1482 .LBE99: 1483 .LBE98: 1263:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** sAlarm->AlarmTime.Seconds = RTC_Bcd2ToByte(sAlarm->AlarmTime.Seconds); 1484 .loc 1 1263 0 1485 0074 4A70 strb r2, [r1, #1] 1264:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** sAlarm->AlarmDateWeekDay = RTC_Bcd2ToByte(sAlarm->AlarmDateWeekDay); 1486 .loc 1 1264 0 1487 0076 8A78 ldrb r2, [r1, #2] 1488 .LVL167: 1489 .LBB100: 1490 .LBB101: 1511:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** return (tmp + (Value & (uint8_t)0x0FU)); 1491 .loc 1 1511 0 1492 0078 1409 lsrs r4, r2, #4 1493 007a A000 lsls r0, r4, #2 1494 007c 0019 adds r0, r0, r4 1495 007e 4400 lsls r4, r0, #1 1496 .LVL168: 1497 .loc 1 1512 0 1498 0080 1A40 ands r2, r3 1499 .LVL169: 1500 0082 1219 adds r2, r2, r4 1501 .LVL170: 1502 .LBE101: ARM GAS /tmp/ccjtTCRz.s page 58 1503 .LBE100: 1264:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** sAlarm->AlarmDateWeekDay = RTC_Bcd2ToByte(sAlarm->AlarmDateWeekDay); 1504 .loc 1 1264 0 1505 0084 8A70 strb r2, [r1, #2] 1265:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 1506 .loc 1 1265 0 1507 0086 2020 movs r0, #32 1508 0088 0D5C ldrb r5, [r1, r0] 1509 .LVL171: 1510 .LBB102: 1511 .LBB103: 1511:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** return (tmp + (Value & (uint8_t)0x0FU)); 1512 .loc 1 1511 0 1513 008a 2C09 lsrs r4, r5, #4 1514 008c A200 lsls r2, r4, #2 1515 008e 1219 adds r2, r2, r4 1516 0090 5400 lsls r4, r2, #1 1517 .LVL172: 1518 .loc 1 1512 0 1519 0092 2B40 ands r3, r5 1520 0094 1B19 adds r3, r3, r4 1521 .LVL173: 1522 .LBE103: 1523 .LBE102: 1265:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 1524 .loc 1 1265 0 1525 0096 0B54 strb r3, [r1, r0] 1526 .L78: 1269:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1527 .loc 1 1269 0 1528 0098 0020 movs r0, #0 1529 @ sp needed 1530 009a F0BD pop {r4, r5, r6, r7, pc} 1531 .LVL174: 1532 .L79: 1227:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1533 .loc 1 1227 0 1534 009c 4C62 str r4, [r1, #36] 1229:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** subsecondtmpreg = (uint32_t)((hrtc->Instance->ALRMASSR ) & RTC_ALRMASSR_SS); 1535 .loc 1 1229 0 1536 009e 0068 ldr r0, [r0] 1537 .LVL175: 1538 00a0 C269 ldr r2, [r0, #28] 1539 .LVL176: 1230:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1540 .loc 1 1230 0 1541 00a2 406C ldr r0, [r0, #68] 1542 00a4 4004 lsls r0, r0, #17 1543 00a6 400C lsrs r0, r0, #17 1544 .LVL177: 1233:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** sAlarm->AlarmTime.Minutes = (uint32_t)((tmpreg & (RTC_ALRMAR_MNT | RTC_ALRMAR_MNU)) >> 8U); 1545 .loc 1 1233 0 1546 00a8 150C lsrs r5, r2, #16 1547 00aa EDB2 uxtb r5, r5 1548 00ac C13C subs r4, r4, #193 1549 00ae 2600 movs r6, r4 1550 00b0 2E40 ands r6, r5 ARM GAS /tmp/ccjtTCRz.s page 59 1551 00b2 0E70 strb r6, [r1] 1234:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** sAlarm->AlarmTime.Seconds = (uint32_t)(tmpreg & (RTC_ALRMAR_ST | RTC_ALRMAR_SU)); 1552 .loc 1 1234 0 1553 00b4 170A lsrs r7, r2, #8 1554 00b6 7F26 movs r6, #127 1555 00b8 3740 ands r7, r6 1556 00ba 4F70 strb r7, [r1, #1] 1235:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** sAlarm->AlarmTime.TimeFormat = (uint32_t)((tmpreg & RTC_ALRMAR_PM) >> 16U); 1557 .loc 1 1235 0 1558 00bc 1640 ands r6, r2 1559 00be 8E70 strb r6, [r1, #2] 1236:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** sAlarm->AlarmTime.SubSeconds = (uint32_t) subsecondtmpreg; 1560 .loc 1 1236 0 1561 00c0 4026 movs r6, #64 1562 00c2 3540 ands r5, r6 1563 00c4 CD70 strb r5, [r1, #3] 1237:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** sAlarm->AlarmDateWeekDay = (uint32_t)((tmpreg & (RTC_ALRMAR_DT | RTC_ALRMAR_DU)) >> 24U); 1564 .loc 1 1237 0 1565 00c6 4860 str r0, [r1, #4] 1238:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** sAlarm->AlarmDateWeekDaySel = (uint32_t)(tmpreg & RTC_ALRMAR_WDSEL); 1566 .loc 1 1238 0 1567 00c8 100E lsrs r0, r2, #24 1568 .LVL178: 1569 00ca 0440 ands r4, r0 1570 00cc 2020 movs r0, #32 1571 00ce 0C54 strb r4, [r1, r0] 1572 .LVL179: 1239:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** sAlarm->AlarmMask = (uint32_t)(tmpreg & RTC_ALARMMASK_ALL); 1573 .loc 1 1239 0 1574 00d0 8020 movs r0, #128 1575 00d2 C005 lsls r0, r0, #23 1576 00d4 1040 ands r0, r2 1577 00d6 C861 str r0, [r1, #28] 1240:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 1578 .loc 1 1240 0 1579 00d8 0148 ldr r0, .L80 1580 00da 0240 ands r2, r0 1581 .LVL180: 1582 00dc 4A61 str r2, [r1, #20] 1583 00de B7E7 b .L77 1584 .L81: 1585 .align 2 1586 .L80: 1587 00e0 80808080 .word -2139062144 1588 .cfi_endproc 1589 .LFE50: 1591 .section .text.HAL_RTC_AlarmAEventCallback,"ax",%progbits 1592 .align 1 1593 .weak HAL_RTC_AlarmAEventCallback 1594 .syntax unified 1595 .code 16 1596 .thumb_func 1597 .fpu softvfp 1599 HAL_RTC_AlarmAEventCallback: 1600 .LFB52: 1319:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Prevent unused argument(s) compilation warning */ 1601 .loc 1 1319 0 ARM GAS /tmp/ccjtTCRz.s page 60 1602 .cfi_startproc 1603 @ args = 0, pretend = 0, frame = 0 1604 @ frame_needed = 0, uses_anonymous_args = 0 1605 @ link register save eliminated. 1606 .LVL181: 1326:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1607 .loc 1 1326 0 1608 @ sp needed 1609 0000 7047 bx lr 1610 .cfi_endproc 1611 .LFE52: 1613 .section .text.HAL_RTC_AlarmIRQHandler,"ax",%progbits 1614 .align 1 1615 .global HAL_RTC_AlarmIRQHandler 1616 .syntax unified 1617 .code 16 1618 .thumb_func 1619 .fpu softvfp 1621 HAL_RTC_AlarmIRQHandler: 1622 .LFB51: 1277:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Get the AlarmA interrupt source enable status */ 1623 .loc 1 1277 0 1624 .cfi_startproc 1625 @ args = 0, pretend = 0, frame = 0 1626 @ frame_needed = 0, uses_anonymous_args = 0 1627 .LVL182: 1628 0000 10B5 push {r4, lr} 1629 .LCFI6: 1630 .cfi_def_cfa_offset 8 1631 .cfi_offset 4, -8 1632 .cfi_offset 14, -4 1633 0002 0400 movs r4, r0 1279:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 1634 .loc 1 1279 0 1635 0004 0368 ldr r3, [r0] 1636 0006 9A68 ldr r2, [r3, #8] 1637 0008 D204 lsls r2, r2, #19 1638 000a 02D5 bpl .L84 1282:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 1639 .loc 1 1282 0 1640 000c DB68 ldr r3, [r3, #12] 1641 000e DB05 lsls r3, r3, #23 1642 0010 0ED4 bmi .L86 1643 .LVL183: 1644 .L84: 1293:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 1645 .loc 1 1293 0 1646 0012 2368 ldr r3, [r4] 1647 0014 9A68 ldr r2, [r3, #8] 1648 0016 9204 lsls r2, r2, #18 1649 0018 02D5 bpl .L85 1296:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 1650 .loc 1 1296 0 1651 001a DB68 ldr r3, [r3, #12] 1652 001c 9B05 lsls r3, r3, #22 1653 001e 11D4 bmi .L87 1654 .L85: ARM GAS /tmp/ccjtTCRz.s page 61 1307:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1655 .loc 1 1307 0 1656 0020 0E4B ldr r3, .L88 1657 0022 8022 movs r2, #128 1658 0024 9202 lsls r2, r2, #10 1659 0026 5A61 str r2, [r3, #20] 1310:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 1660 .loc 1 1310 0 1661 0028 2123 movs r3, #33 1662 002a 0122 movs r2, #1 1663 002c E254 strb r2, [r4, r3] 1311:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1664 .loc 1 1311 0 1665 @ sp needed 1666 .LVL184: 1667 002e 10BD pop {r4, pc} 1668 .LVL185: 1669 .L86: 1285:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1670 .loc 1 1285 0 1671 0030 FFF7FEFF bl HAL_RTC_AlarmAEventCallback 1672 .LVL186: 1288:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 1673 .loc 1 1288 0 1674 0034 2168 ldr r1, [r4] 1675 0036 CA68 ldr r2, [r1, #12] 1676 0038 FF23 movs r3, #255 1677 003a 1A40 ands r2, r3 1678 003c 084B ldr r3, .L88+4 1679 003e 1343 orrs r3, r2 1680 0040 CB60 str r3, [r1, #12] 1681 0042 E6E7 b .L84 1682 .L87: 1299:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1683 .loc 1 1299 0 1684 0044 2000 movs r0, r4 1685 0046 FFF7FEFF bl HAL_RTCEx_AlarmBEventCallback 1686 .LVL187: 1302:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 1687 .loc 1 1302 0 1688 004a 2168 ldr r1, [r4] 1689 004c CA68 ldr r2, [r1, #12] 1690 004e FF23 movs r3, #255 1691 0050 1A40 ands r2, r3 1692 0052 044B ldr r3, .L88+8 1693 0054 1343 orrs r3, r2 1694 0056 CB60 str r3, [r1, #12] 1695 0058 E2E7 b .L85 1696 .L89: 1697 005a C046 .align 2 1698 .L88: 1699 005c 00040140 .word 1073808384 1700 0060 7FFEFFFF .word -385 1701 0064 7FFDFFFF .word -641 1702 .cfi_endproc 1703 .LFE51: 1705 .section .text.HAL_RTC_PollForAlarmAEvent,"ax",%progbits ARM GAS /tmp/ccjtTCRz.s page 62 1706 .align 1 1707 .global HAL_RTC_PollForAlarmAEvent 1708 .syntax unified 1709 .code 16 1710 .thumb_func 1711 .fpu softvfp 1713 HAL_RTC_PollForAlarmAEvent: 1714 .LFB53: 1335:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1715 .loc 1 1335 0 1716 .cfi_startproc 1717 @ args = 0, pretend = 0, frame = 0 1718 @ frame_needed = 0, uses_anonymous_args = 0 1719 .LVL188: 1720 0000 70B5 push {r4, r5, r6, lr} 1721 .LCFI7: 1722 .cfi_def_cfa_offset 16 1723 .cfi_offset 4, -16 1724 .cfi_offset 5, -12 1725 .cfi_offset 6, -8 1726 .cfi_offset 14, -4 1727 0002 0400 movs r4, r0 1728 0004 0D00 movs r5, r1 1337:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1729 .loc 1 1337 0 1730 0006 FFF7FEFF bl HAL_GetTick 1731 .LVL189: 1732 000a 0600 movs r6, r0 1733 .LVL190: 1734 .L92: 1339:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 1735 .loc 1 1339 0 1736 000c 2368 ldr r3, [r4] 1737 000e DA68 ldr r2, [r3, #12] 1738 0010 D205 lsls r2, r2, #23 1739 0012 0DD4 bmi .L96 1341:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 1740 .loc 1 1341 0 1741 0014 6B1C adds r3, r5, #1 1742 0016 F9D0 beq .L92 1343:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 1743 .loc 1 1343 0 1744 0018 002D cmp r5, #0 1745 001a 04D0 beq .L93 1343:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 1746 .loc 1 1343 0 is_stmt 0 discriminator 1 1747 001c FFF7FEFF bl HAL_GetTick 1748 .LVL191: 1749 0020 801B subs r0, r0, r6 1750 0022 A842 cmp r0, r5 1751 0024 F2D9 bls .L92 1752 .L93: 1345:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** return HAL_TIMEOUT; 1753 .loc 1 1345 0 is_stmt 1 1754 0026 2123 movs r3, #33 1755 0028 0322 movs r2, #3 1756 002a E254 strb r2, [r4, r3] ARM GAS /tmp/ccjtTCRz.s page 63 1346:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 1757 .loc 1 1346 0 1758 002c 0320 movs r0, #3 1759 002e 09E0 b .L94 1760 .L96: 1352:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1761 .loc 1 1352 0 1762 0030 D968 ldr r1, [r3, #12] 1763 0032 FF22 movs r2, #255 1764 0034 1140 ands r1, r2 1765 0036 044A ldr r2, .L97 1766 0038 0A43 orrs r2, r1 1767 003a DA60 str r2, [r3, #12] 1355:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1768 .loc 1 1355 0 1769 003c 2123 movs r3, #33 1770 003e 0122 movs r2, #1 1771 0040 E254 strb r2, [r4, r3] 1357:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 1772 .loc 1 1357 0 1773 0042 0020 movs r0, #0 1774 .L94: 1358:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1775 .loc 1 1358 0 1776 @ sp needed 1777 .LVL192: 1778 .LVL193: 1779 .LVL194: 1780 0044 70BD pop {r4, r5, r6, pc} 1781 .L98: 1782 0046 C046 .align 2 1783 .L97: 1784 0048 7FFEFFFF .word -385 1785 .cfi_endproc 1786 .LFE53: 1788 .section .text.HAL_RTC_WaitForSynchro,"ax",%progbits 1789 .align 1 1790 .global HAL_RTC_WaitForSynchro 1791 .syntax unified 1792 .code 16 1793 .thumb_func 1794 .fpu softvfp 1796 HAL_RTC_WaitForSynchro: 1797 .LFB54: 1394:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** uint32_t tickstart = 0U; 1798 .loc 1 1394 0 1799 .cfi_startproc 1800 @ args = 0, pretend = 0, frame = 0 1801 @ frame_needed = 0, uses_anonymous_args = 0 1802 .LVL195: 1803 0000 70B5 push {r4, r5, r6, lr} 1804 .LCFI8: 1805 .cfi_def_cfa_offset 16 1806 .cfi_offset 4, -16 1807 .cfi_offset 5, -12 1808 .cfi_offset 6, -8 1809 .cfi_offset 14, -4 ARM GAS /tmp/ccjtTCRz.s page 64 1810 0002 0400 movs r4, r0 1811 .LVL196: 1398:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1812 .loc 1 1398 0 1813 0004 0268 ldr r2, [r0] 1814 0006 D368 ldr r3, [r2, #12] 1815 0008 A021 movs r1, #160 1816 000a 8B43 bics r3, r1 1817 000c D360 str r3, [r2, #12] 1400:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1818 .loc 1 1400 0 1819 000e FFF7FEFF bl HAL_GetTick 1820 .LVL197: 1821 0012 0500 movs r5, r0 1822 .LVL198: 1823 .L100: 1403:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 1824 .loc 1 1403 0 1825 0014 2368 ldr r3, [r4] 1826 0016 DB68 ldr r3, [r3, #12] 1827 0018 9B06 lsls r3, r3, #26 1828 001a 08D4 bmi .L104 1405:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 1829 .loc 1 1405 0 1830 001c FFF7FEFF bl HAL_GetTick 1831 .LVL199: 1832 0020 401B subs r0, r0, r5 1833 0022 FA23 movs r3, #250 1834 0024 9B00 lsls r3, r3, #2 1835 0026 9842 cmp r0, r3 1836 0028 F4D9 bls .L100 1407:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 1837 .loc 1 1407 0 1838 002a 0320 movs r0, #3 1839 002c 00E0 b .L101 1840 .L104: 1411:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 1841 .loc 1 1411 0 1842 002e 0020 movs r0, #0 1843 .L101: 1412:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1844 .loc 1 1412 0 1845 @ sp needed 1846 .LVL200: 1847 .LVL201: 1848 0030 70BD pop {r4, r5, r6, pc} 1849 .cfi_endproc 1850 .LFE54: 1852 .section .text.HAL_RTC_GetState,"ax",%progbits 1853 .align 1 1854 .global HAL_RTC_GetState 1855 .syntax unified 1856 .code 16 1857 .thumb_func 1858 .fpu softvfp 1860 HAL_RTC_GetState: 1861 .LFB55: ARM GAS /tmp/ccjtTCRz.s page 65 1438:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Return RTC handle state */ 1862 .loc 1 1438 0 1863 .cfi_startproc 1864 @ args = 0, pretend = 0, frame = 0 1865 @ frame_needed = 0, uses_anonymous_args = 0 1866 @ link register save eliminated. 1867 .LVL202: 1440:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 1868 .loc 1 1440 0 1869 0000 2123 movs r3, #33 1870 0002 C05C ldrb r0, [r0, r3] 1871 .LVL203: 1872 0004 C0B2 uxtb r0, r0 1441:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1873 .loc 1 1441 0 1874 @ sp needed 1875 0006 7047 bx lr 1876 .cfi_endproc 1877 .LFE55: 1879 .section .text.RTC_EnterInitMode,"ax",%progbits 1880 .align 1 1881 .global RTC_EnterInitMode 1882 .syntax unified 1883 .code 16 1884 .thumb_func 1885 .fpu softvfp 1887 RTC_EnterInitMode: 1888 .LFB56: 1461:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** uint32_t tickstart = 0U; 1889 .loc 1 1461 0 1890 .cfi_startproc 1891 @ args = 0, pretend = 0, frame = 0 1892 @ frame_needed = 0, uses_anonymous_args = 0 1893 .LVL204: 1894 0000 70B5 push {r4, r5, r6, lr} 1895 .LCFI9: 1896 .cfi_def_cfa_offset 16 1897 .cfi_offset 4, -16 1898 .cfi_offset 5, -12 1899 .cfi_offset 6, -8 1900 .cfi_offset 14, -4 1901 0002 0400 movs r4, r0 1902 .LVL205: 1465:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 1903 .loc 1 1465 0 1904 0004 0368 ldr r3, [r0] 1905 0006 DA68 ldr r2, [r3, #12] 1906 0008 5206 lsls r2, r2, #25 1907 000a 01D5 bpl .L112 1481:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 1908 .loc 1 1481 0 1909 000c 0020 movs r0, #0 1910 .LVL206: 1911 .L107: 1482:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1912 .loc 1 1482 0 1913 @ sp needed ARM GAS /tmp/ccjtTCRz.s page 66 1914 .LVL207: 1915 000e 70BD pop {r4, r5, r6, pc} 1916 .LVL208: 1917 .L112: 1468:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1918 .loc 1 1468 0 1919 0010 0122 movs r2, #1 1920 0012 5242 rsbs r2, r2, #0 1921 0014 DA60 str r2, [r3, #12] 1470:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Wait till RTC is in INIT state and if Time out is reached exit */ 1922 .loc 1 1470 0 1923 0016 FFF7FEFF bl HAL_GetTick 1924 .LVL209: 1925 001a 0500 movs r5, r0 1926 .LVL210: 1927 .L108: 1472:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 1928 .loc 1 1472 0 1929 001c 2368 ldr r3, [r4] 1930 001e DB68 ldr r3, [r3, #12] 1931 0020 5B06 lsls r3, r3, #25 1932 0022 08D4 bmi .L113 1474:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 1933 .loc 1 1474 0 1934 0024 FFF7FEFF bl HAL_GetTick 1935 .LVL211: 1936 0028 401B subs r0, r0, r5 1937 002a FA23 movs r3, #250 1938 002c 9B00 lsls r3, r3, #2 1939 002e 9842 cmp r0, r3 1940 0030 F4D9 bls .L108 1476:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 1941 .loc 1 1476 0 1942 0032 0320 movs r0, #3 1943 0034 EBE7 b .L107 1944 .L113: 1481:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 1945 .loc 1 1481 0 1946 0036 0020 movs r0, #0 1947 0038 E9E7 b .L107 1948 .cfi_endproc 1949 .LFE56: 1951 .section .text.HAL_RTC_Init,"ax",%progbits 1952 .align 1 1953 .global HAL_RTC_Init 1954 .syntax unified 1955 .code 16 1956 .thumb_func 1957 .fpu softvfp 1959 HAL_RTC_Init: 1960 .LFB39: 177:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Check the RTC peripheral state */ 1961 .loc 1 177 0 1962 .cfi_startproc 1963 @ args = 0, pretend = 0, frame = 0 1964 @ frame_needed = 0, uses_anonymous_args = 0 1965 .LVL212: ARM GAS /tmp/ccjtTCRz.s page 67 1966 0000 70B5 push {r4, r5, r6, lr} 1967 .LCFI10: 1968 .cfi_def_cfa_offset 16 1969 .cfi_offset 4, -16 1970 .cfi_offset 5, -12 1971 .cfi_offset 6, -8 1972 .cfi_offset 14, -4 1973 0002 041E subs r4, r0, #0 179:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 1974 .loc 1 179 0 1975 0004 4ED0 beq .L118 194:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 1976 .loc 1 194 0 1977 0006 2123 movs r3, #33 1978 0008 C35C ldrb r3, [r0, r3] 1979 000a 002B cmp r3, #0 1980 000c 3CD0 beq .L119 1981 .LVL213: 1982 .L116: 204:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1983 .loc 1 204 0 1984 000e 2123 movs r3, #33 1985 0010 0222 movs r2, #2 1986 0012 E254 strb r2, [r4, r3] 207:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 1987 .loc 1 207 0 1988 0014 2368 ldr r3, [r4] 1989 0016 C832 adds r2, r2, #200 1990 0018 5A62 str r2, [r3, #36] 1991 001a 2368 ldr r3, [r4] 1992 001c 773A subs r2, r2, #119 1993 001e 5A62 str r2, [r3, #36] 210:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 1994 .loc 1 210 0 1995 0020 2000 movs r0, r4 1996 0022 FFF7FEFF bl RTC_EnterInitMode 1997 .LVL214: 1998 0026 0028 cmp r0, #0 1999 0028 34D1 bne .L120 223:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Set RTC_CR register */ 2000 .loc 1 223 0 2001 002a 2268 ldr r2, [r4] 2002 002c 9368 ldr r3, [r2, #8] 2003 002e 1E49 ldr r1, .L121 2004 0030 0B40 ands r3, r1 2005 0032 9360 str r3, [r2, #8] 225:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 2006 .loc 1 225 0 2007 0034 2168 ldr r1, [r4] 2008 0036 8A68 ldr r2, [r1, #8] 2009 0038 6368 ldr r3, [r4, #4] 2010 003a 2569 ldr r5, [r4, #16] 2011 003c 2B43 orrs r3, r5 2012 003e A569 ldr r5, [r4, #24] 2013 0040 2B43 orrs r3, r5 2014 0042 1343 orrs r3, r2 2015 0044 8B60 str r3, [r1, #8] ARM GAS /tmp/ccjtTCRz.s page 68 228:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** hrtc->Instance->PRER |= (uint32_t)(hrtc->Init.AsynchPrediv << 16U); 2016 .loc 1 228 0 2017 0046 2368 ldr r3, [r4] 2018 0048 E268 ldr r2, [r4, #12] 2019 004a 1A61 str r2, [r3, #16] 229:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 2020 .loc 1 229 0 2021 004c 2168 ldr r1, [r4] 2022 004e 0B69 ldr r3, [r1, #16] 2023 0050 A268 ldr r2, [r4, #8] 2024 0052 1204 lsls r2, r2, #16 2025 0054 1343 orrs r3, r2 2026 0056 0B61 str r3, [r1, #16] 232:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 2027 .loc 1 232 0 2028 0058 2268 ldr r2, [r4] 2029 005a D368 ldr r3, [r2, #12] 2030 005c 8021 movs r1, #128 2031 005e 8B43 bics r3, r1 2032 0060 D360 str r3, [r2, #12] 234:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** hrtc->Instance->OR |= (uint32_t)(hrtc->Init.OutPutType | hrtc->Init.OutPutRemap); 2033 .loc 1 234 0 2034 0062 2268 ldr r2, [r4] 2035 0064 D36C ldr r3, [r2, #76] 2036 0066 7D39 subs r1, r1, #125 2037 0068 8B43 bics r3, r1 2038 006a D364 str r3, [r2, #76] 235:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 2039 .loc 1 235 0 2040 006c 2168 ldr r1, [r4] 2041 006e CB6C ldr r3, [r1, #76] 2042 0070 E269 ldr r2, [r4, #28] 2043 0072 6569 ldr r5, [r4, #20] 2044 0074 2A43 orrs r2, r5 2045 0076 1343 orrs r3, r2 2046 0078 CB64 str r3, [r1, #76] 238:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 2047 .loc 1 238 0 2048 007a 2368 ldr r3, [r4] 2049 007c FF22 movs r2, #255 2050 007e 5A62 str r2, [r3, #36] 241:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 2051 .loc 1 241 0 2052 0080 2123 movs r3, #33 2053 0082 FE3A subs r2, r2, #254 2054 0084 E254 strb r2, [r4, r3] 2055 .L115: 245:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 2056 .loc 1 245 0 2057 @ sp needed 2058 .LVL215: 2059 0086 70BD pop {r4, r5, r6, pc} 2060 .LVL216: 2061 .L119: 197:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 2062 .loc 1 197 0 2063 0088 2033 adds r3, r3, #32 ARM GAS /tmp/ccjtTCRz.s page 69 2064 008a 0022 movs r2, #0 2065 008c C254 strb r2, [r0, r3] 200:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 2066 .loc 1 200 0 2067 008e FFF7FEFF bl HAL_RTC_MspInit 2068 .LVL217: 2069 0092 BCE7 b .L116 2070 .L120: 213:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 2071 .loc 1 213 0 2072 0094 2368 ldr r3, [r4] 2073 0096 FF22 movs r2, #255 2074 0098 5A62 str r2, [r3, #36] 216:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 2075 .loc 1 216 0 2076 009a 2123 movs r3, #33 2077 009c FB3A subs r2, r2, #251 2078 009e E254 strb r2, [r4, r3] 218:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 2079 .loc 1 218 0 2080 00a0 0120 movs r0, #1 2081 00a2 F0E7 b .L115 2082 .LVL218: 2083 .L118: 181:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 2084 .loc 1 181 0 2085 00a4 0120 movs r0, #1 2086 .LVL219: 2087 00a6 EEE7 b .L115 2088 .L122: 2089 .align 2 2090 .L121: 2091 00a8 BFFF8FFF .word -7340097 2092 .cfi_endproc 2093 .LFE39: 2095 .section .text.HAL_RTC_DeInit,"ax",%progbits 2096 .align 1 2097 .global HAL_RTC_DeInit 2098 .syntax unified 2099 .code 16 2100 .thumb_func 2101 .fpu softvfp 2103 HAL_RTC_DeInit: 2104 .LFB40: 254:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** uint32_t tickstart = 0U; 2105 .loc 1 254 0 2106 .cfi_startproc 2107 @ args = 0, pretend = 0, frame = 0 2108 @ frame_needed = 0, uses_anonymous_args = 0 2109 .LVL220: 2110 0000 70B5 push {r4, r5, r6, lr} 2111 .LCFI11: 2112 .cfi_def_cfa_offset 16 2113 .cfi_offset 4, -16 2114 .cfi_offset 5, -12 2115 .cfi_offset 6, -8 2116 .cfi_offset 14, -4 ARM GAS /tmp/ccjtTCRz.s page 70 2117 0002 0400 movs r4, r0 2118 .LVL221: 261:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 2119 .loc 1 261 0 2120 0004 2123 movs r3, #33 2121 0006 0222 movs r2, #2 2122 0008 C254 strb r2, [r0, r3] 264:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 2123 .loc 1 264 0 2124 000a 0368 ldr r3, [r0] 2125 000c C832 adds r2, r2, #200 2126 000e 5A62 str r2, [r3, #36] 2127 0010 0368 ldr r3, [r0] 2128 0012 773A subs r2, r2, #119 2129 0014 5A62 str r2, [r3, #36] 267:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 2130 .loc 1 267 0 2131 0016 FFF7FEFF bl RTC_EnterInitMode 2132 .LVL222: 2133 001a 051E subs r5, r0, #0 2134 001c 08D0 beq .L124 270:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 2135 .loc 1 270 0 2136 001e 2368 ldr r3, [r4] 2137 0020 FF22 movs r2, #255 2138 0022 5A62 str r2, [r3, #36] 273:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 2139 .loc 1 273 0 2140 0024 2123 movs r3, #33 2141 0026 FB3A subs r2, r2, #251 2142 0028 E254 strb r2, [r4, r3] 275:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 2143 .loc 1 275 0 2144 002a 0125 movs r5, #1 2145 .LVL223: 2146 .L125: 349:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 2147 .loc 1 349 0 2148 002c 2800 movs r0, r5 2149 @ sp needed 2150 .LVL224: 2151 002e 70BD pop {r4, r5, r6, pc} 2152 .LVL225: 2153 .L124: 280:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** hrtc->Instance->DR = ((uint32_t)(RTC_DR_WDU_0 | RTC_DR_MU_0 | RTC_DR_DU_0)); 2154 .loc 1 280 0 2155 0030 2368 ldr r3, [r4] 2156 0032 0022 movs r2, #0 2157 0034 1A60 str r2, [r3] 281:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** /* Reset All CR bits except CR[2:0] */ 2158 .loc 1 281 0 2159 0036 2368 ldr r3, [r4] 2160 0038 2A4A ldr r2, .L131 2161 003a 5A60 str r2, [r3, #4] 283:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 2162 .loc 1 283 0 2163 003c 2268 ldr r2, [r4] ARM GAS /tmp/ccjtTCRz.s page 71 2164 003e 9168 ldr r1, [r2, #8] 2165 0040 0723 movs r3, #7 2166 0042 0B40 ands r3, r1 2167 0044 9360 str r3, [r2, #8] 285:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 2168 .loc 1 285 0 2169 0046 FFF7FEFF bl HAL_GetTick 2170 .LVL226: 2171 004a 0600 movs r6, r0 2172 .LVL227: 2173 .L126: 288:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 2174 .loc 1 288 0 2175 004c 2368 ldr r3, [r4] 2176 004e DA68 ldr r2, [r3, #12] 2177 0050 5207 lsls r2, r2, #29 2178 0052 0ED4 bmi .L129 290:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 2179 .loc 1 290 0 2180 0054 FFF7FEFF bl HAL_GetTick 2181 .LVL228: 2182 0058 801B subs r0, r0, r6 2183 005a FA23 movs r3, #250 2184 005c 9B00 lsls r3, r3, #2 2185 005e 9842 cmp r0, r3 2186 0060 F4D9 bls .L126 293:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 2187 .loc 1 293 0 2188 0062 2368 ldr r3, [r4] 2189 0064 FF22 movs r2, #255 2190 0066 5A62 str r2, [r3, #36] 296:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 2191 .loc 1 296 0 2192 0068 2123 movs r3, #33 2193 006a FC3A subs r2, r2, #252 2194 006c E254 strb r2, [r4, r3] 298:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 2195 .loc 1 298 0 2196 006e 0325 movs r5, #3 2197 0070 DCE7 b .L125 2198 .L129: 303:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** hrtc->Instance->WUTR = RTC_WUTR_WUT; 2199 .loc 1 303 0 2200 0072 9A68 ldr r2, [r3, #8] 2201 0074 0022 movs r2, #0 2202 0076 9A60 str r2, [r3, #8] 304:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** hrtc->Instance->PRER = ((uint32_t)(RTC_PRER_PREDIV_A | 0x000000FFU)); 2203 .loc 1 304 0 2204 0078 2368 ldr r3, [r4] 2205 007a 1B49 ldr r1, .L131+4 2206 007c 5961 str r1, [r3, #20] 305:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** hrtc->Instance->ALRMAR = (uint32_t)0x00000000U; 2207 .loc 1 305 0 2208 007e 2368 ldr r3, [r4] 2209 0080 1A49 ldr r1, .L131+8 2210 0082 1961 str r1, [r3, #16] 306:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** hrtc->Instance->ALRMBR = (uint32_t)0x00000000U; ARM GAS /tmp/ccjtTCRz.s page 72 2211 .loc 1 306 0 2212 0084 2368 ldr r3, [r4] 2213 0086 DA61 str r2, [r3, #28] 307:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** hrtc->Instance->SHIFTR = (uint32_t)0x00000000U; 2214 .loc 1 307 0 2215 0088 2368 ldr r3, [r4] 2216 008a 1A62 str r2, [r3, #32] 308:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** hrtc->Instance->CALR = (uint32_t)0x00000000U; 2217 .loc 1 308 0 2218 008c 2368 ldr r3, [r4] 2219 008e DA62 str r2, [r3, #44] 309:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** hrtc->Instance->ALRMASSR = (uint32_t)0x00000000U; 2220 .loc 1 309 0 2221 0090 2368 ldr r3, [r4] 2222 0092 DA63 str r2, [r3, #60] 310:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** hrtc->Instance->ALRMBSSR = (uint32_t)0x00000000U; 2223 .loc 1 310 0 2224 0094 2368 ldr r3, [r4] 2225 0096 5A64 str r2, [r3, #68] 311:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 2226 .loc 1 311 0 2227 0098 2368 ldr r3, [r4] 2228 009a 9A64 str r2, [r3, #72] 314:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 2229 .loc 1 314 0 2230 009c 2368 ldr r3, [r4] 2231 009e DA60 str r2, [r3, #12] 317:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 2232 .loc 1 317 0 2233 00a0 2368 ldr r3, [r4] 2234 00a2 1A64 str r2, [r3, #64] 320:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 2235 .loc 1 320 0 2236 00a4 2368 ldr r3, [r4] 2237 00a6 DA64 str r2, [r3, #76] 323:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 2238 .loc 1 323 0 2239 00a8 2368 ldr r3, [r4] 2240 00aa 9B68 ldr r3, [r3, #8] 2241 00ac 9B06 lsls r3, r3, #26 2242 00ae 04D4 bmi .L128 325:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 2243 .loc 1 325 0 2244 00b0 2000 movs r0, r4 2245 00b2 FFF7FEFF bl HAL_RTC_WaitForSynchro 2246 .LVL229: 2247 00b6 0028 cmp r0, #0 2248 00b8 0BD1 bne .L130 2249 .L128: 338:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 2250 .loc 1 338 0 2251 00ba 2368 ldr r3, [r4] 2252 00bc FF22 movs r2, #255 2253 00be 5A62 str r2, [r3, #36] 341:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 2254 .loc 1 341 0 2255 00c0 2000 movs r0, r4 ARM GAS /tmp/ccjtTCRz.s page 73 2256 00c2 FFF7FEFF bl HAL_RTC_MspDeInit 2257 .LVL230: 343:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 2258 .loc 1 343 0 2259 00c6 0023 movs r3, #0 2260 00c8 2122 movs r2, #33 2261 00ca A354 strb r3, [r4, r2] 346:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 2262 .loc 1 346 0 2263 00cc 013A subs r2, r2, #1 2264 00ce A354 strb r3, [r4, r2] 348:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 2265 .loc 1 348 0 2266 00d0 ACE7 b .L125 2267 .L130: 328:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 2268 .loc 1 328 0 2269 00d2 2368 ldr r3, [r4] 2270 00d4 FF22 movs r2, #255 2271 00d6 5A62 str r2, [r3, #36] 330:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 2272 .loc 1 330 0 2273 00d8 2123 movs r3, #33 2274 00da FB3A subs r2, r2, #251 2275 00dc E254 strb r2, [r4, r3] 332:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 2276 .loc 1 332 0 2277 00de 0125 movs r5, #1 2278 00e0 A4E7 b .L125 2279 .L132: 2280 00e2 C046 .align 2 2281 .L131: 2282 00e4 01210000 .word 8449 2283 00e8 FFFF0000 .word 65535 2284 00ec FF007F00 .word 8323327 2285 .cfi_endproc 2286 .LFE40: 2288 .section .text.HAL_RTC_SetTime,"ax",%progbits 2289 .align 1 2290 .global HAL_RTC_SetTime 2291 .syntax unified 2292 .code 16 2293 .thumb_func 2294 .fpu softvfp 2296 HAL_RTC_SetTime: 2297 .LFB43: 410:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** uint32_t tmpreg = 0U; 2298 .loc 1 410 0 2299 .cfi_startproc 2300 @ args = 0, pretend = 0, frame = 0 2301 @ frame_needed = 0, uses_anonymous_args = 0 2302 .LVL231: 2303 0000 F8B5 push {r3, r4, r5, r6, r7, lr} 2304 .LCFI12: 2305 .cfi_def_cfa_offset 24 2306 .cfi_offset 3, -24 2307 .cfi_offset 4, -20 ARM GAS /tmp/ccjtTCRz.s page 74 2308 .cfi_offset 5, -16 2309 .cfi_offset 6, -12 2310 .cfi_offset 7, -8 2311 .cfi_offset 14, -4 2312 0002 0500 movs r5, r0 2313 0004 0E00 movs r6, r1 2314 .LVL232: 419:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 2315 .loc 1 419 0 2316 0006 2023 movs r3, #32 2317 0008 C35C ldrb r3, [r0, r3] 2318 000a 012B cmp r3, #1 2319 000c 00D1 bne .LCB2264 2320 000e 8FE0 b .L147 @long jump 2321 .LCB2264: 419:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 2322 .loc 1 419 0 is_stmt 0 discriminator 2 2323 0010 2023 movs r3, #32 2324 0012 0121 movs r1, #1 2325 .LVL233: 2326 0014 C154 strb r1, [r0, r3] 421:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 2327 .loc 1 421 0 is_stmt 1 discriminator 2 2328 0016 0133 adds r3, r3, #1 2329 0018 0131 adds r1, r1, #1 2330 001a C154 strb r1, [r0, r3] 423:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 2331 .loc 1 423 0 discriminator 2 2332 001c 002A cmp r2, #0 2333 001e 5AD1 bne .L135 425:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 2334 .loc 1 425 0 2335 0020 0368 ldr r3, [r0] 2336 0022 9B68 ldr r3, [r3, #8] 2337 0024 5B06 lsls r3, r3, #25 2338 0026 01D4 bmi .L136 432:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** assert_param(IS_RTC_HOUR24(sTime->Hours)); 2339 .loc 1 432 0 2340 0028 0023 movs r3, #0 2341 002a F370 strb r3, [r6, #3] 2342 .L136: 438:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ((uint32_t)RTC_ByteToBcd2(sTime->Minutes) << 8U) | \ 2343 .loc 1 438 0 2344 002c 3378 ldrb r3, [r6] 2345 .LVL234: 2346 .LBB104: 2347 .LBB105: 1492:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 2348 .loc 1 1492 0 2349 002e 1400 movs r4, r2 2350 0030 02E0 b .L137 2351 .LVL235: 2352 .L138: 1496:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** Value -= 10U; 2353 .loc 1 1496 0 2354 0032 0134 adds r4, r4, #1 2355 .LVL236: ARM GAS /tmp/ccjtTCRz.s page 75 1497:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 2356 .loc 1 1497 0 2357 0034 0A3B subs r3, r3, #10 2358 .LVL237: 2359 0036 DBB2 uxtb r3, r3 2360 .LVL238: 2361 .L137: 1494:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 2362 .loc 1 1494 0 2363 0038 092B cmp r3, #9 2364 003a FAD8 bhi .L138 1500:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 2365 .loc 1 1500 0 2366 003c 2401 lsls r4, r4, #4 2367 .LVL239: 2368 003e E4B2 uxtb r4, r4 2369 0040 2343 orrs r3, r4 2370 .LVL240: 2371 .LBE105: 2372 .LBE104: 438:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ((uint32_t)RTC_ByteToBcd2(sTime->Minutes) << 8U) | \ 2373 .loc 1 438 0 2374 0042 1B04 lsls r3, r3, #16 439:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ((uint32_t)RTC_ByteToBcd2(sTime->Seconds)) | \ 2375 .loc 1 439 0 2376 0044 7478 ldrb r4, [r6, #1] 2377 .LVL241: 2378 .LBB106: 2379 .LBB107: 1492:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 2380 .loc 1 1492 0 2381 0046 1100 movs r1, r2 2382 0048 02E0 b .L139 2383 .LVL242: 2384 .L140: 1496:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** Value -= 10U; 2385 .loc 1 1496 0 2386 004a 0131 adds r1, r1, #1 2387 .LVL243: 1497:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 2388 .loc 1 1497 0 2389 004c 0A3C subs r4, r4, #10 2390 .LVL244: 2391 004e E4B2 uxtb r4, r4 2392 .LVL245: 2393 .L139: 1494:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 2394 .loc 1 1494 0 2395 0050 092C cmp r4, #9 2396 0052 FAD8 bhi .L140 1500:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 2397 .loc 1 1500 0 2398 0054 0901 lsls r1, r1, #4 2399 .LVL246: 2400 0056 C9B2 uxtb r1, r1 2401 0058 0C43 orrs r4, r1 2402 .LVL247: ARM GAS /tmp/ccjtTCRz.s page 76 2403 .LBE107: 2404 .LBE106: 439:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ((uint32_t)RTC_ByteToBcd2(sTime->Seconds)) | \ 2405 .loc 1 439 0 2406 005a 2402 lsls r4, r4, #8 438:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ((uint32_t)RTC_ByteToBcd2(sTime->Minutes) << 8U) | \ 2407 .loc 1 438 0 2408 005c 2343 orrs r3, r4 440:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** (((uint32_t)sTime->TimeFormat) << 16U)); 2409 .loc 1 440 0 2410 005e B478 ldrb r4, [r6, #2] 2411 .LVL248: 2412 0060 02E0 b .L141 2413 .LVL249: 2414 .L142: 2415 .LBB108: 2416 .LBB109: 1496:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** Value -= 10U; 2417 .loc 1 1496 0 2418 0062 0132 adds r2, r2, #1 2419 .LVL250: 1497:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 2420 .loc 1 1497 0 2421 0064 0A3C subs r4, r4, #10 2422 .LVL251: 2423 0066 E4B2 uxtb r4, r4 2424 .LVL252: 2425 .L141: 1494:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 2426 .loc 1 1494 0 2427 0068 092C cmp r4, #9 2428 006a FAD8 bhi .L142 1500:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 2429 .loc 1 1500 0 2430 006c 1201 lsls r2, r2, #4 2431 .LVL253: 2432 006e D2B2 uxtb r2, r2 2433 0070 1443 orrs r4, r2 2434 .LVL254: 2435 .LBE109: 2436 .LBE108: 439:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ((uint32_t)RTC_ByteToBcd2(sTime->Seconds)) | \ 2437 .loc 1 439 0 2438 0072 1C43 orrs r4, r3 441:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 2439 .loc 1 441 0 2440 0074 F378 ldrb r3, [r6, #3] 2441 0076 1B04 lsls r3, r3, #16 438:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ((uint32_t)RTC_ByteToBcd2(sTime->Minutes) << 8U) | \ 2442 .loc 1 438 0 2443 0078 1C43 orrs r4, r3 2444 .LVL255: 2445 .L143: 465:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 2446 .loc 1 465 0 2447 007a 2B68 ldr r3, [r5] 2448 007c CA22 movs r2, #202 ARM GAS /tmp/ccjtTCRz.s page 77 2449 007e 5A62 str r2, [r3, #36] 2450 0080 2B68 ldr r3, [r5] 2451 0082 773A subs r2, r2, #119 2452 0084 5A62 str r2, [r3, #36] 468:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 2453 .loc 1 468 0 2454 0086 2800 movs r0, r5 2455 .LVL256: 2456 0088 FFF7FEFF bl RTC_EnterInitMode 2457 .LVL257: 2458 008c 071E subs r7, r0, #0 2459 008e 33D1 bne .L148 484:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 2460 .loc 1 484 0 2461 0090 2B68 ldr r3, [r5] 2462 0092 284A ldr r2, .L150 2463 0094 1440 ands r4, r2 2464 .LVL258: 2465 0096 1C60 str r4, [r3] 487:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 2466 .loc 1 487 0 2467 0098 2A68 ldr r2, [r5] 2468 009a 9368 ldr r3, [r2, #8] 2469 009c 2649 ldr r1, .L150+4 2470 009e 0B40 ands r3, r1 2471 00a0 9360 str r3, [r2, #8] 490:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 2472 .loc 1 490 0 2473 00a2 2968 ldr r1, [r5] 2474 00a4 8B68 ldr r3, [r1, #8] 2475 00a6 F268 ldr r2, [r6, #12] 2476 00a8 3069 ldr r0, [r6, #16] 2477 00aa 0243 orrs r2, r0 2478 00ac 1343 orrs r3, r2 2479 00ae 8B60 str r3, [r1, #8] 493:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 2480 .loc 1 493 0 2481 00b0 2A68 ldr r2, [r5] 2482 00b2 D368 ldr r3, [r2, #12] 2483 00b4 8021 movs r1, #128 2484 00b6 8B43 bics r3, r1 2485 00b8 D360 str r3, [r2, #12] 496:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 2486 .loc 1 496 0 2487 00ba 2B68 ldr r3, [r5] 2488 00bc 9B68 ldr r3, [r3, #8] 2489 00be 9B06 lsls r3, r3, #26 2490 00c0 26D5 bpl .L149 2491 .L146: 513:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 2492 .loc 1 513 0 2493 00c2 2B68 ldr r3, [r5] 2494 00c4 FF22 movs r2, #255 2495 00c6 5A62 str r2, [r3, #36] 515:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 2496 .loc 1 515 0 2497 00c8 2123 movs r3, #33 ARM GAS /tmp/ccjtTCRz.s page 78 2498 00ca FE3A subs r2, r2, #254 2499 00cc EA54 strb r2, [r5, r3] 517:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 2500 .loc 1 517 0 2501 00ce 013B subs r3, r3, #1 2502 00d0 0022 movs r2, #0 2503 00d2 EA54 strb r2, [r5, r3] 519:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 2504 .loc 1 519 0 2505 00d4 1AE0 b .L134 2506 .LVL259: 2507 .L135: 445:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 2508 .loc 1 445 0 2509 00d6 0368 ldr r3, [r0] 2510 00d8 9B68 ldr r3, [r3, #8] 2511 00da 5B06 lsls r3, r3, #25 2512 00dc 01D4 bmi .L144 453:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** assert_param(IS_RTC_HOUR24(RTC_Bcd2ToByte(sTime->Hours))); 2513 .loc 1 453 0 2514 00de 0023 movs r3, #0 2515 00e0 F370 strb r3, [r6, #3] 2516 .L144: 458:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ((uint32_t)(sTime->Minutes) << 8U) | \ 2517 .loc 1 458 0 2518 00e2 3478 ldrb r4, [r6] 2519 00e4 2404 lsls r4, r4, #16 459:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ((uint32_t)sTime->Seconds) | \ 2520 .loc 1 459 0 2521 00e6 7378 ldrb r3, [r6, #1] 2522 00e8 1B02 lsls r3, r3, #8 458:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ((uint32_t)(sTime->Minutes) << 8U) | \ 2523 .loc 1 458 0 2524 00ea 1C43 orrs r4, r3 460:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ((uint32_t)(sTime->TimeFormat) << 16U)); 2525 .loc 1 460 0 2526 00ec B378 ldrb r3, [r6, #2] 459:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ((uint32_t)sTime->Seconds) | \ 2527 .loc 1 459 0 2528 00ee 1C43 orrs r4, r3 461:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 2529 .loc 1 461 0 2530 00f0 F378 ldrb r3, [r6, #3] 2531 00f2 1B04 lsls r3, r3, #16 458:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ((uint32_t)(sTime->Minutes) << 8U) | \ 2532 .loc 1 458 0 2533 00f4 1C43 orrs r4, r3 2534 .LVL260: 2535 00f6 C0E7 b .L143 2536 .LVL261: 2537 .L148: 471:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 2538 .loc 1 471 0 2539 00f8 2B68 ldr r3, [r5] 2540 00fa FF22 movs r2, #255 2541 00fc 5A62 str r2, [r3, #36] 474:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ARM GAS /tmp/ccjtTCRz.s page 79 2542 .loc 1 474 0 2543 00fe 2123 movs r3, #33 2544 0100 FB3A subs r2, r2, #251 2545 0102 EA54 strb r2, [r5, r3] 477:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 2546 .loc 1 477 0 2547 0104 013B subs r3, r3, #1 2548 0106 0022 movs r2, #0 2549 0108 EA54 strb r2, [r5, r3] 479:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 2550 .loc 1 479 0 2551 010a 0127 movs r7, #1 2552 .LVL262: 2553 .L134: 521:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 2554 .loc 1 521 0 2555 010c 3800 movs r0, r7 2556 @ sp needed 2557 .LVL263: 2558 .LVL264: 2559 010e F8BD pop {r3, r4, r5, r6, r7, pc} 2560 .LVL265: 2561 .L149: 498:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 2562 .loc 1 498 0 2563 0110 2800 movs r0, r5 2564 0112 FFF7FEFF bl HAL_RTC_WaitForSynchro 2565 .LVL266: 2566 0116 0028 cmp r0, #0 2567 0118 D3D0 beq .L146 501:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 2568 .loc 1 501 0 2569 011a 2B68 ldr r3, [r5] 2570 011c FF22 movs r2, #255 2571 011e 5A62 str r2, [r3, #36] 503:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 2572 .loc 1 503 0 2573 0120 2123 movs r3, #33 2574 0122 FB3A subs r2, r2, #251 2575 0124 EA54 strb r2, [r5, r3] 506:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 2576 .loc 1 506 0 2577 0126 013B subs r3, r3, #1 2578 0128 0022 movs r2, #0 2579 012a EA54 strb r2, [r5, r3] 508:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 2580 .loc 1 508 0 2581 012c 0127 movs r7, #1 2582 012e EDE7 b .L134 2583 .LVL267: 2584 .L147: 419:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 2585 .loc 1 419 0 2586 0130 0227 movs r7, #2 2587 0132 EBE7 b .L134 2588 .L151: 2589 .align 2 ARM GAS /tmp/ccjtTCRz.s page 80 2590 .L150: 2591 0134 7F7F7F00 .word 8355711 2592 0138 FFFFFBFF .word -262145 2593 .cfi_endproc 2594 .LFE43: 2596 .section .text.HAL_RTC_SetDate,"ax",%progbits 2597 .align 1 2598 .global HAL_RTC_SetDate 2599 .syntax unified 2600 .code 16 2601 .thumb_func 2602 .fpu softvfp 2604 HAL_RTC_SetDate: 2605 .LFB45: 589:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** uint32_t datetmpreg = 0U; 2606 .loc 1 589 0 2607 .cfi_startproc 2608 @ args = 0, pretend = 0, frame = 0 2609 @ frame_needed = 0, uses_anonymous_args = 0 2610 .LVL268: 2611 0000 70B5 push {r4, r5, r6, lr} 2612 .LCFI13: 2613 .cfi_def_cfa_offset 16 2614 .cfi_offset 4, -16 2615 .cfi_offset 5, -12 2616 .cfi_offset 6, -8 2617 .cfi_offset 14, -4 2618 0002 0500 movs r5, r0 2619 .LVL269: 596:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 2620 .loc 1 596 0 2621 0004 2023 movs r3, #32 2622 0006 C35C ldrb r3, [r0, r3] 2623 0008 012B cmp r3, #1 2624 000a 00D1 bne .LCB2584 2625 000c 80E0 b .L165 @long jump 2626 .LCB2584: 596:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 2627 .loc 1 596 0 is_stmt 0 discriminator 2 2628 000e 2023 movs r3, #32 2629 0010 0120 movs r0, #1 2630 .LVL270: 2631 0012 E854 strb r0, [r5, r3] 598:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 2632 .loc 1 598 0 is_stmt 1 discriminator 2 2633 0014 0133 adds r3, r3, #1 2634 0016 0130 adds r0, r0, #1 2635 0018 E854 strb r0, [r5, r3] 600:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 2636 .loc 1 600 0 discriminator 2 2637 001a 002A cmp r2, #0 2638 001c 06D1 bne .L154 600:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 2639 .loc 1 600 0 is_stmt 0 discriminator 1 2640 001e 4B78 ldrb r3, [r1, #1] 2641 0020 D806 lsls r0, r3, #27 2642 0022 03D5 bpl .L154 ARM GAS /tmp/ccjtTCRz.s page 81 602:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 2643 .loc 1 602 0 is_stmt 1 2644 0024 1020 movs r0, #16 2645 0026 8343 bics r3, r0 2646 0028 0A33 adds r3, r3, #10 2647 002a 4B70 strb r3, [r1, #1] 2648 .L154: 607:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 2649 .loc 1 607 0 2650 002c 002A cmp r2, #0 2651 002e 48D1 bne .L155 613:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ((uint32_t)RTC_ByteToBcd2(sDate->Month) << 8U) | \ 2652 .loc 1 613 0 2653 0030 CB78 ldrb r3, [r1, #3] 2654 .LVL271: 2655 .LBB110: 2656 .LBB111: 1492:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 2657 .loc 1 1492 0 2658 0032 1400 movs r4, r2 2659 0034 02E0 b .L156 2660 .LVL272: 2661 .L157: 1496:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** Value -= 10U; 2662 .loc 1 1496 0 2663 0036 0134 adds r4, r4, #1 2664 .LVL273: 1497:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 2665 .loc 1 1497 0 2666 0038 0A3B subs r3, r3, #10 2667 .LVL274: 2668 003a DBB2 uxtb r3, r3 2669 .LVL275: 2670 .L156: 1494:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 2671 .loc 1 1494 0 2672 003c 092B cmp r3, #9 2673 003e FAD8 bhi .L157 1500:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 2674 .loc 1 1500 0 2675 0040 2401 lsls r4, r4, #4 2676 .LVL276: 2677 0042 E4B2 uxtb r4, r4 2678 0044 2343 orrs r3, r4 2679 .LVL277: 2680 .LBE111: 2681 .LBE110: 613:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ((uint32_t)RTC_ByteToBcd2(sDate->Month) << 8U) | \ 2682 .loc 1 613 0 2683 0046 1B04 lsls r3, r3, #16 614:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ((uint32_t)RTC_ByteToBcd2(sDate->Date)) | \ 2684 .loc 1 614 0 2685 0048 4C78 ldrb r4, [r1, #1] 2686 .LVL278: 2687 .LBB112: 2688 .LBB113: 1492:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ARM GAS /tmp/ccjtTCRz.s page 82 2689 .loc 1 1492 0 2690 004a 1000 movs r0, r2 2691 004c 02E0 b .L158 2692 .LVL279: 2693 .L159: 1496:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** Value -= 10U; 2694 .loc 1 1496 0 2695 004e 0130 adds r0, r0, #1 2696 .LVL280: 1497:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 2697 .loc 1 1497 0 2698 0050 0A3C subs r4, r4, #10 2699 .LVL281: 2700 0052 E4B2 uxtb r4, r4 2701 .LVL282: 2702 .L158: 1494:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 2703 .loc 1 1494 0 2704 0054 092C cmp r4, #9 2705 0056 FAD8 bhi .L159 1500:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 2706 .loc 1 1500 0 2707 0058 0001 lsls r0, r0, #4 2708 .LVL283: 2709 005a C0B2 uxtb r0, r0 2710 005c 0443 orrs r4, r0 2711 .LVL284: 2712 .LBE113: 2713 .LBE112: 614:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ((uint32_t)RTC_ByteToBcd2(sDate->Date)) | \ 2714 .loc 1 614 0 2715 005e 2402 lsls r4, r4, #8 613:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ((uint32_t)RTC_ByteToBcd2(sDate->Month) << 8U) | \ 2716 .loc 1 613 0 2717 0060 2343 orrs r3, r4 615:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ((uint32_t)sDate->WeekDay << 13U)); 2718 .loc 1 615 0 2719 0062 8C78 ldrb r4, [r1, #2] 2720 .LVL285: 2721 0064 02E0 b .L160 2722 .LVL286: 2723 .L161: 2724 .LBB114: 2725 .LBB115: 1496:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** Value -= 10U; 2726 .loc 1 1496 0 2727 0066 0132 adds r2, r2, #1 2728 .LVL287: 1497:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 2729 .loc 1 1497 0 2730 0068 0A3C subs r4, r4, #10 2731 .LVL288: 2732 006a E4B2 uxtb r4, r4 2733 .LVL289: 2734 .L160: 1494:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 2735 .loc 1 1494 0 ARM GAS /tmp/ccjtTCRz.s page 83 2736 006c 092C cmp r4, #9 2737 006e FAD8 bhi .L161 1500:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 2738 .loc 1 1500 0 2739 0070 1201 lsls r2, r2, #4 2740 .LVL290: 2741 0072 D2B2 uxtb r2, r2 2742 0074 1443 orrs r4, r2 2743 .LVL291: 2744 .LBE115: 2745 .LBE114: 614:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ((uint32_t)RTC_ByteToBcd2(sDate->Date)) | \ 2746 .loc 1 614 0 2747 0076 1C43 orrs r4, r3 616:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 2748 .loc 1 616 0 2749 0078 0B78 ldrb r3, [r1] 2750 007a 5B03 lsls r3, r3, #13 613:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ((uint32_t)RTC_ByteToBcd2(sDate->Month) << 8U) | \ 2751 .loc 1 613 0 2752 007c 1C43 orrs r4, r3 2753 .LVL292: 2754 .L162: 633:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 2755 .loc 1 633 0 2756 007e 2B68 ldr r3, [r5] 2757 0080 CA22 movs r2, #202 2758 0082 5A62 str r2, [r3, #36] 2759 0084 2B68 ldr r3, [r5] 2760 0086 773A subs r2, r2, #119 2761 0088 5A62 str r2, [r3, #36] 636:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 2762 .loc 1 636 0 2763 008a 2800 movs r0, r5 2764 008c FFF7FEFF bl RTC_EnterInitMode 2765 .LVL293: 2766 0090 061E subs r6, r0, #0 2767 0092 21D1 bne .L166 652:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 2768 .loc 1 652 0 2769 0094 2B68 ldr r3, [r5] 2770 0096 1F4A ldr r2, .L168 2771 0098 1440 ands r4, r2 2772 .LVL294: 2773 009a 5C60 str r4, [r3, #4] 655:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 2774 .loc 1 655 0 2775 009c 2A68 ldr r2, [r5] 2776 009e D368 ldr r3, [r2, #12] 2777 00a0 8021 movs r1, #128 2778 00a2 8B43 bics r3, r1 2779 00a4 D360 str r3, [r2, #12] 658:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 2780 .loc 1 658 0 2781 00a6 2B68 ldr r3, [r5] 2782 00a8 9B68 ldr r3, [r3, #8] 2783 00aa 9B06 lsls r3, r3, #26 ARM GAS /tmp/ccjtTCRz.s page 84 2784 00ac 20D5 bpl .L167 2785 .L164: 675:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 2786 .loc 1 675 0 2787 00ae 2B68 ldr r3, [r5] 2788 00b0 FF22 movs r2, #255 2789 00b2 5A62 str r2, [r3, #36] 677:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 2790 .loc 1 677 0 2791 00b4 2123 movs r3, #33 2792 00b6 FE3A subs r2, r2, #254 2793 00b8 EA54 strb r2, [r5, r3] 680:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 2794 .loc 1 680 0 2795 00ba 013B subs r3, r3, #1 2796 00bc 0022 movs r2, #0 2797 00be EA54 strb r2, [r5, r3] 682:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 2798 .loc 1 682 0 2799 00c0 14E0 b .L153 2800 .LVL295: 2801 .L155: 621:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** assert_param(IS_RTC_MONTH(datetmpreg)); 2802 .loc 1 621 0 2803 00c2 4B78 ldrb r3, [r1, #1] 2804 .LVL296: 623:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** assert_param(IS_RTC_DATE(datetmpreg)); 2805 .loc 1 623 0 2806 00c4 8A78 ldrb r2, [r1, #2] 2807 .LVL297: 626:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** (((uint32_t)sDate->Month) << 8U) | \ 2808 .loc 1 626 0 2809 00c6 CC78 ldrb r4, [r1, #3] 2810 00c8 2404 lsls r4, r4, #16 627:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ((uint32_t)sDate->Date) | \ 2811 .loc 1 627 0 2812 00ca 1B02 lsls r3, r3, #8 626:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** (((uint32_t)sDate->Month) << 8U) | \ 2813 .loc 1 626 0 2814 00cc 1C43 orrs r4, r3 627:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** ((uint32_t)sDate->Date) | \ 2815 .loc 1 627 0 2816 00ce 1443 orrs r4, r2 629:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 2817 .loc 1 629 0 2818 00d0 0B78 ldrb r3, [r1] 2819 00d2 5B03 lsls r3, r3, #13 626:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** (((uint32_t)sDate->Month) << 8U) | \ 2820 .loc 1 626 0 2821 00d4 1C43 orrs r4, r3 2822 .LVL298: 2823 00d6 D2E7 b .L162 2824 .LVL299: 2825 .L166: 639:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 2826 .loc 1 639 0 2827 00d8 2B68 ldr r3, [r5] ARM GAS /tmp/ccjtTCRz.s page 85 2828 00da FF22 movs r2, #255 2829 00dc 5A62 str r2, [r3, #36] 642:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 2830 .loc 1 642 0 2831 00de 2123 movs r3, #33 2832 00e0 FB3A subs r2, r2, #251 2833 00e2 EA54 strb r2, [r5, r3] 645:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 2834 .loc 1 645 0 2835 00e4 013B subs r3, r3, #1 2836 00e6 0022 movs r2, #0 2837 00e8 EA54 strb r2, [r5, r3] 647:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 2838 .loc 1 647 0 2839 00ea 0126 movs r6, #1 2840 .LVL300: 2841 .L153: 684:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 2842 .loc 1 684 0 2843 00ec 3000 movs r0, r6 2844 @ sp needed 2845 .LVL301: 2846 00ee 70BD pop {r4, r5, r6, pc} 2847 .LVL302: 2848 .L167: 660:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 2849 .loc 1 660 0 2850 00f0 2800 movs r0, r5 2851 00f2 FFF7FEFF bl HAL_RTC_WaitForSynchro 2852 .LVL303: 2853 00f6 0028 cmp r0, #0 2854 00f8 D9D0 beq .L164 663:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 2855 .loc 1 663 0 2856 00fa 2B68 ldr r3, [r5] 2857 00fc FF22 movs r2, #255 2858 00fe 5A62 str r2, [r3, #36] 665:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 2859 .loc 1 665 0 2860 0100 2123 movs r3, #33 2861 0102 FB3A subs r2, r2, #251 2862 0104 EA54 strb r2, [r5, r3] 668:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 2863 .loc 1 668 0 2864 0106 013B subs r3, r3, #1 2865 0108 0022 movs r2, #0 2866 010a EA54 strb r2, [r5, r3] 670:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 2867 .loc 1 670 0 2868 010c 0126 movs r6, #1 2869 010e EDE7 b .L153 2870 .LVL304: 2871 .L165: 596:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 2872 .loc 1 596 0 2873 0110 0226 movs r6, #2 2874 0112 EBE7 b .L153 ARM GAS /tmp/ccjtTCRz.s page 86 2875 .L169: 2876 .align 2 2877 .L168: 2878 0114 3FFFFF00 .word 16777023 2879 .cfi_endproc 2880 .LFE45: 2882 .section .text.RTC_ByteToBcd2,"ax",%progbits 2883 .align 1 2884 .global RTC_ByteToBcd2 2885 .syntax unified 2886 .code 16 2887 .thumb_func 2888 .fpu softvfp 2890 RTC_ByteToBcd2: 2891 .LFB57: 1491:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** uint32_t bcdhigh = 0U; 2892 .loc 1 1491 0 2893 .cfi_startproc 2894 @ args = 0, pretend = 0, frame = 0 2895 @ frame_needed = 0, uses_anonymous_args = 0 2896 @ link register save eliminated. 2897 .LVL305: 1492:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 2898 .loc 1 1492 0 2899 0000 0023 movs r3, #0 1494:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 2900 .loc 1 1494 0 2901 0002 02E0 b .L171 2902 .LVL306: 2903 .L172: 1496:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** Value -= 10U; 2904 .loc 1 1496 0 2905 0004 0133 adds r3, r3, #1 2906 .LVL307: 1497:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 2907 .loc 1 1497 0 2908 0006 0A38 subs r0, r0, #10 2909 .LVL308: 2910 0008 C0B2 uxtb r0, r0 2911 .LVL309: 2912 .L171: 1494:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** { 2913 .loc 1 1494 0 2914 000a 0928 cmp r0, #9 2915 000c FAD8 bhi .L172 1500:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 2916 .loc 1 1500 0 2917 000e 1B01 lsls r3, r3, #4 2918 .LVL310: 2919 0010 DBB2 uxtb r3, r3 2920 0012 1843 orrs r0, r3 2921 .LVL311: 1501:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** 2922 .loc 1 1501 0 2923 @ sp needed 2924 0014 7047 bx lr 2925 .cfi_endproc ARM GAS /tmp/ccjtTCRz.s page 87 2926 .LFE57: 2928 .section .text.RTC_Bcd2ToByte,"ax",%progbits 2929 .align 1 2930 .global RTC_Bcd2ToByte 2931 .syntax unified 2932 .code 16 2933 .thumb_func 2934 .fpu softvfp 2936 RTC_Bcd2ToByte: 2937 .LFB58: 1509:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** uint32_t tmp = 0U; 2938 .loc 1 1509 0 2939 .cfi_startproc 2940 @ args = 0, pretend = 0, frame = 0 2941 @ frame_needed = 0, uses_anonymous_args = 0 2942 @ link register save eliminated. 2943 .LVL312: 1511:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** return (tmp + (Value & (uint8_t)0x0FU)); 2944 .loc 1 1511 0 2945 0000 0209 lsrs r2, r0, #4 2946 0002 9300 lsls r3, r2, #2 2947 0004 9B18 adds r3, r3, r2 2948 0006 5A00 lsls r2, r3, #1 2949 .LVL313: 2950 .loc 1 1512 0 2951 0008 0F23 movs r3, #15 2952 000a 1840 ands r0, r3 2953 .LVL314: 2954 000c 8018 adds r0, r0, r2 2955 000e C0B2 uxtb r0, r0 1513:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c **** } 2956 .loc 1 1513 0 2957 @ sp needed 2958 0010 7047 bx lr 2959 .cfi_endproc 2960 .LFE58: 2962 .text 2963 .Letext0: 2964 .file 2 "/usr/arm-none-eabi/include/machine/_default_types.h" 2965 .file 3 "/usr/arm-none-eabi/include/sys/_stdint.h" 2966 .file 4 "Drivers/CMSIS/Device/ST/STM32L0xx/Include/system_stm32l0xx.h" 2967 .file 5 "Drivers/CMSIS/Device/ST/STM32L0xx/Include/stm32l073xx.h" 2968 .file 6 "/usr/arm-none-eabi/include/sys/lock.h" 2969 .file 7 "/usr/arm-none-eabi/include/sys/_types.h" 2970 .file 8 "/usr/lib/gcc/arm-none-eabi/7.2.0/include/stddef.h" 2971 .file 9 "/usr/arm-none-eabi/include/sys/reent.h" 2972 .file 10 "Drivers/CMSIS/Device/ST/STM32L0xx/Include/stm32l0xx.h" 2973 .file 11 "Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal_def.h" 2974 .file 12 "Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal_rtc.h" 2975 .file 13 "Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal.h" 2976 .file 14 "Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal_rtc_ex.h" ARM GAS /tmp/ccjtTCRz.s page 88 DEFINED SYMBOLS *ABS*:0000000000000000 stm32l0xx_hal_rtc.c /tmp/ccjtTCRz.s:16 .text.HAL_RTC_MspInit:0000000000000000 $t /tmp/ccjtTCRz.s:23 .text.HAL_RTC_MspInit:0000000000000000 HAL_RTC_MspInit /tmp/ccjtTCRz.s:39 .text.HAL_RTC_MspDeInit:0000000000000000 $t /tmp/ccjtTCRz.s:46 .text.HAL_RTC_MspDeInit:0000000000000000 HAL_RTC_MspDeInit /tmp/ccjtTCRz.s:61 .text.HAL_RTC_GetTime:0000000000000000 $t /tmp/ccjtTCRz.s:68 .text.HAL_RTC_GetTime:0000000000000000 HAL_RTC_GetTime /tmp/ccjtTCRz.s:185 .text.HAL_RTC_GetTime:0000000000000068 $d /tmp/ccjtTCRz.s:190 .text.HAL_RTC_GetDate:0000000000000000 $t /tmp/ccjtTCRz.s:197 .text.HAL_RTC_GetDate:0000000000000000 HAL_RTC_GetDate /tmp/ccjtTCRz.s:304 .text.HAL_RTC_GetDate:0000000000000058 $d /tmp/ccjtTCRz.s:309 .text.HAL_RTC_SetAlarm:0000000000000000 $t /tmp/ccjtTCRz.s:316 .text.HAL_RTC_SetAlarm:0000000000000000 HAL_RTC_SetAlarm /tmp/ccjtTCRz.s:720 .text.HAL_RTC_SetAlarm:00000000000001b8 $d /tmp/ccjtTCRz.s:728 .text.HAL_RTC_SetAlarm_IT:0000000000000000 $t /tmp/ccjtTCRz.s:735 .text.HAL_RTC_SetAlarm_IT:0000000000000000 HAL_RTC_SetAlarm_IT /tmp/ccjtTCRz.s:1168 .text.HAL_RTC_SetAlarm_IT:00000000000001e8 $d /tmp/ccjtTCRz.s:1177 .text.HAL_RTC_DeactivateAlarm:0000000000000000 $t /tmp/ccjtTCRz.s:1184 .text.HAL_RTC_DeactivateAlarm:0000000000000000 HAL_RTC_DeactivateAlarm /tmp/ccjtTCRz.s:1351 .text.HAL_RTC_DeactivateAlarm:00000000000000d4 $d /tmp/ccjtTCRz.s:1359 .text.HAL_RTC_GetAlarm:0000000000000000 $t /tmp/ccjtTCRz.s:1366 .text.HAL_RTC_GetAlarm:0000000000000000 HAL_RTC_GetAlarm /tmp/ccjtTCRz.s:1587 .text.HAL_RTC_GetAlarm:00000000000000e0 $d /tmp/ccjtTCRz.s:1592 .text.HAL_RTC_AlarmAEventCallback:0000000000000000 $t /tmp/ccjtTCRz.s:1599 .text.HAL_RTC_AlarmAEventCallback:0000000000000000 HAL_RTC_AlarmAEventCallback /tmp/ccjtTCRz.s:1614 .text.HAL_RTC_AlarmIRQHandler:0000000000000000 $t /tmp/ccjtTCRz.s:1621 .text.HAL_RTC_AlarmIRQHandler:0000000000000000 HAL_RTC_AlarmIRQHandler /tmp/ccjtTCRz.s:1699 .text.HAL_RTC_AlarmIRQHandler:000000000000005c $d /tmp/ccjtTCRz.s:1706 .text.HAL_RTC_PollForAlarmAEvent:0000000000000000 $t /tmp/ccjtTCRz.s:1713 .text.HAL_RTC_PollForAlarmAEvent:0000000000000000 HAL_RTC_PollForAlarmAEvent /tmp/ccjtTCRz.s:1784 .text.HAL_RTC_PollForAlarmAEvent:0000000000000048 $d /tmp/ccjtTCRz.s:1789 .text.HAL_RTC_WaitForSynchro:0000000000000000 $t /tmp/ccjtTCRz.s:1796 .text.HAL_RTC_WaitForSynchro:0000000000000000 HAL_RTC_WaitForSynchro /tmp/ccjtTCRz.s:1853 .text.HAL_RTC_GetState:0000000000000000 $t /tmp/ccjtTCRz.s:1860 .text.HAL_RTC_GetState:0000000000000000 HAL_RTC_GetState /tmp/ccjtTCRz.s:1880 .text.RTC_EnterInitMode:0000000000000000 $t /tmp/ccjtTCRz.s:1887 .text.RTC_EnterInitMode:0000000000000000 RTC_EnterInitMode /tmp/ccjtTCRz.s:1952 .text.HAL_RTC_Init:0000000000000000 $t /tmp/ccjtTCRz.s:1959 .text.HAL_RTC_Init:0000000000000000 HAL_RTC_Init /tmp/ccjtTCRz.s:2091 .text.HAL_RTC_Init:00000000000000a8 $d /tmp/ccjtTCRz.s:2096 .text.HAL_RTC_DeInit:0000000000000000 $t /tmp/ccjtTCRz.s:2103 .text.HAL_RTC_DeInit:0000000000000000 HAL_RTC_DeInit /tmp/ccjtTCRz.s:2282 .text.HAL_RTC_DeInit:00000000000000e4 $d /tmp/ccjtTCRz.s:2289 .text.HAL_RTC_SetTime:0000000000000000 $t /tmp/ccjtTCRz.s:2296 .text.HAL_RTC_SetTime:0000000000000000 HAL_RTC_SetTime /tmp/ccjtTCRz.s:2591 .text.HAL_RTC_SetTime:0000000000000134 $d /tmp/ccjtTCRz.s:2597 .text.HAL_RTC_SetDate:0000000000000000 $t /tmp/ccjtTCRz.s:2604 .text.HAL_RTC_SetDate:0000000000000000 HAL_RTC_SetDate /tmp/ccjtTCRz.s:2878 .text.HAL_RTC_SetDate:0000000000000114 $d /tmp/ccjtTCRz.s:2883 .text.RTC_ByteToBcd2:0000000000000000 $t /tmp/ccjtTCRz.s:2890 .text.RTC_ByteToBcd2:0000000000000000 RTC_ByteToBcd2 /tmp/ccjtTCRz.s:2929 .text.RTC_Bcd2ToByte:0000000000000000 $t /tmp/ccjtTCRz.s:2936 .text.RTC_Bcd2ToByte:0000000000000000 RTC_Bcd2ToByte .debug_frame:0000000000000010 $d UNDEFINED SYMBOLS ARM GAS /tmp/ccjtTCRz.s page 89 HAL_GetTick HAL_RTCEx_AlarmBEventCallback