ARM GAS /tmp/ccHVO7A6.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_i2c_ex.c" 12 .text 13 .Ltext0: 14 .cfi_sections .debug_frame 15 .section .text.HAL_I2CEx_ConfigAnalogFilter,"ax",%progbits 16 .align 1 17 .global HAL_I2CEx_ConfigAnalogFilter 18 .syntax unified 19 .code 16 20 .thumb_func 21 .fpu softvfp 23 HAL_I2CEx_ConfigAnalogFilter: 24 .LFB39: 25 .file 1 "./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c" 1:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** /** 2:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** ****************************************************************************** 3:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** * @file stm32l0xx_hal_i2c_ex.c 4:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** * @author MCD Application Team 5:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** * @brief I2C Extended HAL module driver. 6:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** * This file provides firmware functions to manage the following 7:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** * functionalities of I2C Extended peripheral: 8:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** * + Extended features functions 9:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** * 10:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** @verbatim 11:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** ============================================================================== 12:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** ##### I2C peripheral Extended features ##### 13:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** ============================================================================== 14:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** 15:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** [..] Comparing to other previous devices, the I2C interface for STM32L0xx 16:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** devices contains the following additional features 17:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** 18:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** (+) Possibility to disable or enable Analog Noise Filter 19:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** (+) Use of a configured Digital Noise Filter 20:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** (+) Disable or enable wakeup from Stop mode(s) 21:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** (+) Disable or enable Fast Mode Plus 22:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** 23:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** ##### How to use this driver ##### 24:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** ============================================================================== 25:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** [..] This driver provides functions to configure Noise Filter and Wake Up Feature 26:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** (#) Configure I2C Analog noise filter using the function HAL_I2CEx_ConfigAnalogFilter() 27:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** (#) Configure I2C Digital noise filter using the function HAL_I2CEx_ConfigDigitalFilter() 28:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** (#) Configure the enable or disable of I2C Wake Up Mode using the functions : 29:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** (++) HAL_I2CEx_EnableWakeUp() 30:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** (++) HAL_I2CEx_DisableWakeUp() 31:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** (#) Configure the enable or disable of fast mode plus driving capability using the functions : 32:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** (++) HAL_I2CEx_EnableFastModePlus() 33:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** (++) HAL_I2CEx_DisableFastModePlus() ARM GAS /tmp/ccHVO7A6.s page 2 34:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** @endverbatim 35:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** ****************************************************************************** 36:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** * @attention 37:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** * 38:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** *

© COPYRIGHT(c) 2016 STMicroelectronics

39:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** * 40:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** * Redistribution and use in source and binary forms, with or without modification, 41:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** * are permitted provided that the following conditions are met: 42:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** * 1. Redistributions of source code must retain the above copyright notice, 43:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** * this list of conditions and the following disclaimer. 44:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** * 2. Redistributions in binary form must reproduce the above copyright notice, 45:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** * this list of conditions and the following disclaimer in the documentation 46:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** * and/or other materials provided with the distribution. 47:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** * 3. Neither the name of STMicroelectronics nor the names of its contributors 48:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** * may be used to endorse or promote products derived from this software 49:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** * without specific prior written permission. 50:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** * 51:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 52:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 53:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 54:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 55:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 56:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 57:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 58:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 59:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 60:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 61:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** * 62:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** ****************************************************************************** 63:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** */ 64:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** 65:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** /* Includes ------------------------------------------------------------------*/ 66:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** #include "stm32l0xx_hal.h" 67:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** 68:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** /** @addtogroup STM32L0xx_HAL_Driver 69:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** * @{ 70:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** */ 71:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** 72:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** /** @defgroup I2CEx I2CEx 73:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** * @brief I2C Extended HAL module driver 74:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** * @{ 75:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** */ 76:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** 77:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** #ifdef HAL_I2C_MODULE_ENABLED 78:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** 79:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** /* Private typedef -----------------------------------------------------------*/ 80:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** /* Private define ------------------------------------------------------------*/ 81:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** /* Private macro -------------------------------------------------------------*/ 82:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** /* Private variables ---------------------------------------------------------*/ 83:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** /* Private function prototypes -----------------------------------------------*/ 84:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** /* Private functions ---------------------------------------------------------*/ 85:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** 86:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** /** @defgroup I2CEx_Exported_Functions I2C Extended Exported Functions 87:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** * @{ 88:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** */ 89:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** 90:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** /** @defgroup I2CEx_Exported_Functions_Group1 Extended features functions ARM GAS /tmp/ccHVO7A6.s page 3 91:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** * @brief Extended features functions 92:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** * 93:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** @verbatim 94:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** =============================================================================== 95:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** ##### Extended features functions ##### 96:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** =============================================================================== 97:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** [..] This section provides functions allowing to: 98:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** (+) Configure Noise Filters 99:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** (+) Configure Wake Up Feature 100:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** (+) Configure Fast Mode Plus 101:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** 102:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** @endverbatim 103:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** * @{ 104:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** */ 105:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** 106:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** /** 107:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** * @brief Configure I2C Analog noise filter. 108:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 109:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** * the configuration information for the specified I2Cx peripheral. 110:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** * @param AnalogFilter New state of the Analog filter. 111:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** * @retval HAL status 112:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** */ 113:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** HAL_StatusTypeDef HAL_I2CEx_ConfigAnalogFilter(I2C_HandleTypeDef *hi2c, uint32_t AnalogFilter) 114:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** { 26 .loc 1 114 0 27 .cfi_startproc 28 @ args = 0, pretend = 0, frame = 0 29 @ frame_needed = 0, uses_anonymous_args = 0 30 .LVL0: 31 0000 F0B5 push {r4, r5, r6, r7, lr} 32 .LCFI0: 33 .cfi_def_cfa_offset 20 34 .cfi_offset 4, -20 35 .cfi_offset 5, -16 36 .cfi_offset 6, -12 37 .cfi_offset 7, -8 38 .cfi_offset 14, -4 115:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** /* Check the parameters */ 116:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** assert_param(IS_I2C_ALL_INSTANCE(hi2c->Instance)); 117:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** assert_param(IS_I2C_ANALOG_FILTER(AnalogFilter)); 118:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** 119:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** if (hi2c->State == HAL_I2C_STATE_READY) 39 .loc 1 119 0 40 0002 4123 movs r3, #65 41 0004 C35C ldrb r3, [r0, r3] 42 0006 202B cmp r3, #32 43 0008 20D1 bne .L3 120:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** { 121:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** /* Process Locked */ 122:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** __HAL_LOCK(hi2c); 44 .loc 1 122 0 45 000a 2033 adds r3, r3, #32 46 000c C35C ldrb r3, [r0, r3] 47 000e 012B cmp r3, #1 48 0010 1ED0 beq .L4 49 .loc 1 122 0 is_stmt 0 discriminator 2 50 0012 4024 movs r4, #64 ARM GAS /tmp/ccHVO7A6.s page 4 51 0014 0122 movs r2, #1 52 0016 0255 strb r2, [r0, r4] 123:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** 124:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** hi2c->State = HAL_I2C_STATE_BUSY; 53 .loc 1 124 0 is_stmt 1 discriminator 2 54 0018 4125 movs r5, #65 55 001a 2423 movs r3, #36 56 001c 4355 strb r3, [r0, r5] 125:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** 126:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** /* Disable the selected I2C peripheral */ 127:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** __HAL_I2C_DISABLE(hi2c); 57 .loc 1 127 0 discriminator 2 58 001e 0668 ldr r6, [r0] 59 0020 3368 ldr r3, [r6] 60 0022 9343 bics r3, r2 61 0024 3360 str r3, [r6] 128:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** 129:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** /* Reset I2Cx ANOFF bit */ 130:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** hi2c->Instance->CR1 &= ~(I2C_CR1_ANFOFF); 62 .loc 1 130 0 discriminator 2 63 0026 0668 ldr r6, [r0] 64 0028 3368 ldr r3, [r6] 65 002a 0A4F ldr r7, .L5 66 002c 3B40 ands r3, r7 67 002e 3360 str r3, [r6] 131:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** 132:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** /* Set analog filter bit*/ 133:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** hi2c->Instance->CR1 |= AnalogFilter; 68 .loc 1 133 0 discriminator 2 69 0030 0668 ldr r6, [r0] 70 0032 3368 ldr r3, [r6] 71 0034 1943 orrs r1, r3 72 .LVL1: 73 0036 3160 str r1, [r6] 134:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** 135:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** __HAL_I2C_ENABLE(hi2c); 74 .loc 1 135 0 discriminator 2 75 0038 0168 ldr r1, [r0] 76 003a 0B68 ldr r3, [r1] 77 003c 1343 orrs r3, r2 78 003e 0B60 str r3, [r1] 136:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** 137:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** hi2c->State = HAL_I2C_STATE_READY; 79 .loc 1 137 0 discriminator 2 80 0040 2023 movs r3, #32 81 0042 4355 strb r3, [r0, r5] 138:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** 139:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** /* Process Unlocked */ 140:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** __HAL_UNLOCK(hi2c); 82 .loc 1 140 0 discriminator 2 83 0044 0023 movs r3, #0 84 0046 0355 strb r3, [r0, r4] 141:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** 142:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** return HAL_OK; 85 .loc 1 142 0 discriminator 2 86 0048 0020 movs r0, #0 87 .LVL2: ARM GAS /tmp/ccHVO7A6.s page 5 88 004a 00E0 b .L2 89 .LVL3: 90 .L3: 143:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** } 144:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** else 145:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** { 146:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** return HAL_BUSY; 91 .loc 1 146 0 92 004c 0220 movs r0, #2 93 .LVL4: 94 .L2: 147:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** } 148:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** } 95 .loc 1 148 0 96 @ sp needed 97 004e F0BD pop {r4, r5, r6, r7, pc} 98 .LVL5: 99 .L4: 122:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** 100 .loc 1 122 0 101 0050 0220 movs r0, #2 102 .LVL6: 103 0052 FCE7 b .L2 104 .L6: 105 .align 2 106 .L5: 107 0054 FFEFFFFF .word -4097 108 .cfi_endproc 109 .LFE39: 111 .section .text.HAL_I2CEx_ConfigDigitalFilter,"ax",%progbits 112 .align 1 113 .global HAL_I2CEx_ConfigDigitalFilter 114 .syntax unified 115 .code 16 116 .thumb_func 117 .fpu softvfp 119 HAL_I2CEx_ConfigDigitalFilter: 120 .LFB40: 149:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** 150:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** /** 151:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** * @brief Configure I2C Digital noise filter. 152:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 153:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** * the configuration information for the specified I2Cx peripheral. 154:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** * @param DigitalFilter Coefficient of digital noise filter between Min_Data=0x00 and Max_Data=0x 155:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** * @retval HAL status 156:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** */ 157:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** HAL_StatusTypeDef HAL_I2CEx_ConfigDigitalFilter(I2C_HandleTypeDef *hi2c, uint32_t DigitalFilter) 158:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** { 121 .loc 1 158 0 122 .cfi_startproc 123 @ args = 0, pretend = 0, frame = 0 124 @ frame_needed = 0, uses_anonymous_args = 0 125 .LVL7: 126 0000 F0B5 push {r4, r5, r6, r7, lr} 127 .LCFI1: 128 .cfi_def_cfa_offset 20 129 .cfi_offset 4, -20 ARM GAS /tmp/ccHVO7A6.s page 6 130 .cfi_offset 5, -16 131 .cfi_offset 6, -12 132 .cfi_offset 7, -8 133 .cfi_offset 14, -4 134 .LVL8: 159:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** uint32_t tmpreg = 0U; 160:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** 161:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** /* Check the parameters */ 162:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** assert_param(IS_I2C_ALL_INSTANCE(hi2c->Instance)); 163:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** assert_param(IS_I2C_DIGITAL_FILTER(DigitalFilter)); 164:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** 165:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** if (hi2c->State == HAL_I2C_STATE_READY) 135 .loc 1 165 0 136 0002 4123 movs r3, #65 137 0004 C35C ldrb r3, [r0, r3] 138 0006 202B cmp r3, #32 139 0008 1ED1 bne .L9 166:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** { 167:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** /* Process Locked */ 168:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** __HAL_LOCK(hi2c); 140 .loc 1 168 0 141 000a 2033 adds r3, r3, #32 142 000c C35C ldrb r3, [r0, r3] 143 000e 012B cmp r3, #1 144 0010 1CD0 beq .L10 145 .loc 1 168 0 is_stmt 0 discriminator 2 146 0012 4024 movs r4, #64 147 0014 0122 movs r2, #1 148 0016 0255 strb r2, [r0, r4] 169:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** 170:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** hi2c->State = HAL_I2C_STATE_BUSY; 149 .loc 1 170 0 is_stmt 1 discriminator 2 150 0018 4125 movs r5, #65 151 001a 2423 movs r3, #36 152 001c 4355 strb r3, [r0, r5] 171:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** 172:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** /* Disable the selected I2C peripheral */ 173:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** __HAL_I2C_DISABLE(hi2c); 153 .loc 1 173 0 discriminator 2 154 001e 0668 ldr r6, [r0] 155 0020 3368 ldr r3, [r6] 156 0022 9343 bics r3, r2 157 0024 3360 str r3, [r6] 174:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** 175:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** /* Get the old register value */ 176:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** tmpreg = hi2c->Instance->CR1; 158 .loc 1 176 0 discriminator 2 159 0026 0668 ldr r6, [r0] 160 0028 3368 ldr r3, [r6] 161 .LVL9: 177:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** 178:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** /* Reset I2Cx DNF bits [11:8] */ 179:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** tmpreg &= ~(I2C_CR1_DNF); 162 .loc 1 179 0 discriminator 2 163 002a 094F ldr r7, .L11 164 002c 3B40 ands r3, r7 165 .LVL10: ARM GAS /tmp/ccHVO7A6.s page 7 180:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** 181:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** /* Set I2Cx DNF coefficient */ 182:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** tmpreg |= DigitalFilter << 8U; 166 .loc 1 182 0 discriminator 2 167 002e 0902 lsls r1, r1, #8 168 .LVL11: 169 0030 1943 orrs r1, r3 170 .LVL12: 183:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** 184:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** /* Store the new register value */ 185:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** hi2c->Instance->CR1 = tmpreg; 171 .loc 1 185 0 discriminator 2 172 0032 3160 str r1, [r6] 186:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** 187:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** __HAL_I2C_ENABLE(hi2c); 173 .loc 1 187 0 discriminator 2 174 0034 0168 ldr r1, [r0] 175 .LVL13: 176 0036 0B68 ldr r3, [r1] 177 0038 1343 orrs r3, r2 178 003a 0B60 str r3, [r1] 179 .LVL14: 188:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** 189:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** hi2c->State = HAL_I2C_STATE_READY; 180 .loc 1 189 0 discriminator 2 181 003c 2023 movs r3, #32 182 003e 4355 strb r3, [r0, r5] 190:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** 191:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** /* Process Unlocked */ 192:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** __HAL_UNLOCK(hi2c); 183 .loc 1 192 0 discriminator 2 184 0040 0023 movs r3, #0 185 0042 0355 strb r3, [r0, r4] 193:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** 194:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** return HAL_OK; 186 .loc 1 194 0 discriminator 2 187 0044 0020 movs r0, #0 188 .LVL15: 189 0046 00E0 b .L8 190 .LVL16: 191 .L9: 195:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** } 196:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** else 197:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** { 198:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** return HAL_BUSY; 192 .loc 1 198 0 193 0048 0220 movs r0, #2 194 .LVL17: 195 .L8: 199:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** } 200:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** } 196 .loc 1 200 0 197 @ sp needed 198 004a F0BD pop {r4, r5, r6, r7, pc} 199 .LVL18: 200 .L10: 168:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** ARM GAS /tmp/ccHVO7A6.s page 8 201 .loc 1 168 0 202 004c 0220 movs r0, #2 203 .LVL19: 204 004e FCE7 b .L8 205 .L12: 206 .align 2 207 .L11: 208 0050 FFF0FFFF .word -3841 209 .cfi_endproc 210 .LFE40: 212 .section .text.HAL_I2CEx_EnableWakeUp,"ax",%progbits 213 .align 1 214 .global HAL_I2CEx_EnableWakeUp 215 .syntax unified 216 .code 16 217 .thumb_func 218 .fpu softvfp 220 HAL_I2CEx_EnableWakeUp: 221 .LFB41: 201:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** 202:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** /** 203:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** * @brief Enable I2C wakeup from Stop mode(s). 204:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 205:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** * the configuration information for the specified I2Cx peripheral. 206:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** * @retval HAL status 207:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** */ 208:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** HAL_StatusTypeDef HAL_I2CEx_EnableWakeUp(I2C_HandleTypeDef *hi2c) 209:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** { 222 .loc 1 209 0 223 .cfi_startproc 224 @ args = 0, pretend = 0, frame = 0 225 @ frame_needed = 0, uses_anonymous_args = 0 226 .LVL20: 227 0000 70B5 push {r4, r5, r6, lr} 228 .LCFI2: 229 .cfi_def_cfa_offset 16 230 .cfi_offset 4, -16 231 .cfi_offset 5, -12 232 .cfi_offset 6, -8 233 .cfi_offset 14, -4 210:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** /* Check the parameters */ 211:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** assert_param(IS_I2C_WAKEUP_FROMSTOP_INSTANCE(hi2c->Instance)); 212:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** 213:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** if (hi2c->State == HAL_I2C_STATE_READY) 234 .loc 1 213 0 235 0002 4123 movs r3, #65 236 0004 C35C ldrb r3, [r0, r3] 237 0006 202B cmp r3, #32 238 0008 1DD1 bne .L15 214:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** { 215:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** /* Process Locked */ 216:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** __HAL_LOCK(hi2c); 239 .loc 1 216 0 240 000a 2033 adds r3, r3, #32 241 000c C35C ldrb r3, [r0, r3] 242 000e 012B cmp r3, #1 243 0010 1BD0 beq .L16 ARM GAS /tmp/ccHVO7A6.s page 9 244 .loc 1 216 0 is_stmt 0 discriminator 2 245 0012 4021 movs r1, #64 246 0014 0122 movs r2, #1 247 0016 4254 strb r2, [r0, r1] 217:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** 218:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** hi2c->State = HAL_I2C_STATE_BUSY; 248 .loc 1 218 0 is_stmt 1 discriminator 2 249 0018 4124 movs r4, #65 250 001a 2423 movs r3, #36 251 001c 0355 strb r3, [r0, r4] 219:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** 220:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** /* Disable the selected I2C peripheral */ 221:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** __HAL_I2C_DISABLE(hi2c); 252 .loc 1 221 0 discriminator 2 253 001e 0568 ldr r5, [r0] 254 0020 2B68 ldr r3, [r5] 255 0022 9343 bics r3, r2 256 0024 2B60 str r3, [r5] 222:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** 223:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** /* Enable wakeup from stop mode */ 224:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** hi2c->Instance->CR1 |= I2C_CR1_WUPEN; 257 .loc 1 224 0 discriminator 2 258 0026 0568 ldr r5, [r0] 259 0028 2E68 ldr r6, [r5] 260 002a 8023 movs r3, #128 261 002c DB02 lsls r3, r3, #11 262 002e 3343 orrs r3, r6 263 0030 2B60 str r3, [r5] 225:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** 226:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** __HAL_I2C_ENABLE(hi2c); 264 .loc 1 226 0 discriminator 2 265 0032 0568 ldr r5, [r0] 266 0034 2B68 ldr r3, [r5] 267 0036 1343 orrs r3, r2 268 0038 2B60 str r3, [r5] 227:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** 228:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** hi2c->State = HAL_I2C_STATE_READY; 269 .loc 1 228 0 discriminator 2 270 003a 2023 movs r3, #32 271 003c 0355 strb r3, [r0, r4] 229:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** 230:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** /* Process Unlocked */ 231:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** __HAL_UNLOCK(hi2c); 272 .loc 1 231 0 discriminator 2 273 003e 0023 movs r3, #0 274 0040 4354 strb r3, [r0, r1] 232:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** 233:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** return HAL_OK; 275 .loc 1 233 0 discriminator 2 276 0042 0020 movs r0, #0 277 .LVL21: 278 0044 00E0 b .L14 279 .LVL22: 280 .L15: 234:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** } 235:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** else 236:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** { ARM GAS /tmp/ccHVO7A6.s page 10 237:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** return HAL_BUSY; 281 .loc 1 237 0 282 0046 0220 movs r0, #2 283 .LVL23: 284 .L14: 238:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** } 239:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** } 285 .loc 1 239 0 286 @ sp needed 287 0048 70BD pop {r4, r5, r6, pc} 288 .LVL24: 289 .L16: 216:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** 290 .loc 1 216 0 291 004a 0220 movs r0, #2 292 .LVL25: 293 004c FCE7 b .L14 294 .cfi_endproc 295 .LFE41: 297 .section .text.HAL_I2CEx_DisableWakeUp,"ax",%progbits 298 .align 1 299 .global HAL_I2CEx_DisableWakeUp 300 .syntax unified 301 .code 16 302 .thumb_func 303 .fpu softvfp 305 HAL_I2CEx_DisableWakeUp: 306 .LFB42: 240:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** 241:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** /** 242:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** * @brief Disable I2C wakeup from Stop mode(s). 243:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 244:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** * the configuration information for the specified I2Cx peripheral. 245:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** * @retval HAL status 246:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** */ 247:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** HAL_StatusTypeDef HAL_I2CEx_DisableWakeUp(I2C_HandleTypeDef *hi2c) 248:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** { 307 .loc 1 248 0 308 .cfi_startproc 309 @ args = 0, pretend = 0, frame = 0 310 @ frame_needed = 0, uses_anonymous_args = 0 311 .LVL26: 312 0000 70B5 push {r4, r5, r6, lr} 313 .LCFI3: 314 .cfi_def_cfa_offset 16 315 .cfi_offset 4, -16 316 .cfi_offset 5, -12 317 .cfi_offset 6, -8 318 .cfi_offset 14, -4 249:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** /* Check the parameters */ 250:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** assert_param(IS_I2C_WAKEUP_FROMSTOP_INSTANCE(hi2c->Instance)); 251:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** 252:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** if (hi2c->State == HAL_I2C_STATE_READY) 319 .loc 1 252 0 320 0002 4123 movs r3, #65 321 0004 C35C ldrb r3, [r0, r3] 322 0006 202B cmp r3, #32 ARM GAS /tmp/ccHVO7A6.s page 11 323 0008 1CD1 bne .L19 253:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** { 254:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** /* Process Locked */ 255:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** __HAL_LOCK(hi2c); 324 .loc 1 255 0 325 000a 2033 adds r3, r3, #32 326 000c C35C ldrb r3, [r0, r3] 327 000e 012B cmp r3, #1 328 0010 1AD0 beq .L20 329 .loc 1 255 0 is_stmt 0 discriminator 2 330 0012 4021 movs r1, #64 331 0014 0122 movs r2, #1 332 0016 4254 strb r2, [r0, r1] 256:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** 257:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** hi2c->State = HAL_I2C_STATE_BUSY; 333 .loc 1 257 0 is_stmt 1 discriminator 2 334 0018 4124 movs r4, #65 335 001a 2423 movs r3, #36 336 001c 0355 strb r3, [r0, r4] 258:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** 259:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** /* Disable the selected I2C peripheral */ 260:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** __HAL_I2C_DISABLE(hi2c); 337 .loc 1 260 0 discriminator 2 338 001e 0568 ldr r5, [r0] 339 0020 2B68 ldr r3, [r5] 340 0022 9343 bics r3, r2 341 0024 2B60 str r3, [r5] 261:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** 262:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** /* Enable wakeup from stop mode */ 263:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** hi2c->Instance->CR1 &= ~(I2C_CR1_WUPEN); 342 .loc 1 263 0 discriminator 2 343 0026 0568 ldr r5, [r0] 344 0028 2B68 ldr r3, [r5] 345 002a 084E ldr r6, .L21 346 002c 3340 ands r3, r6 347 002e 2B60 str r3, [r5] 264:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** 265:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** __HAL_I2C_ENABLE(hi2c); 348 .loc 1 265 0 discriminator 2 349 0030 0568 ldr r5, [r0] 350 0032 2B68 ldr r3, [r5] 351 0034 1343 orrs r3, r2 352 0036 2B60 str r3, [r5] 266:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** 267:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** hi2c->State = HAL_I2C_STATE_READY; 353 .loc 1 267 0 discriminator 2 354 0038 2023 movs r3, #32 355 003a 0355 strb r3, [r0, r4] 268:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** 269:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** /* Process Unlocked */ 270:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** __HAL_UNLOCK(hi2c); 356 .loc 1 270 0 discriminator 2 357 003c 0023 movs r3, #0 358 003e 4354 strb r3, [r0, r1] 271:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** 272:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** return HAL_OK; 359 .loc 1 272 0 discriminator 2 ARM GAS /tmp/ccHVO7A6.s page 12 360 0040 0020 movs r0, #0 361 .LVL27: 362 0042 00E0 b .L18 363 .LVL28: 364 .L19: 273:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** } 274:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** else 275:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** { 276:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** return HAL_BUSY; 365 .loc 1 276 0 366 0044 0220 movs r0, #2 367 .LVL29: 368 .L18: 277:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** } 278:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** } 369 .loc 1 278 0 370 @ sp needed 371 0046 70BD pop {r4, r5, r6, pc} 372 .LVL30: 373 .L20: 255:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** 374 .loc 1 255 0 375 0048 0220 movs r0, #2 376 .LVL31: 377 004a FCE7 b .L18 378 .L22: 379 .align 2 380 .L21: 381 004c FFFFFBFF .word -262145 382 .cfi_endproc 383 .LFE42: 385 .section .text.HAL_I2CEx_EnableFastModePlus,"ax",%progbits 386 .align 1 387 .global HAL_I2CEx_EnableFastModePlus 388 .syntax unified 389 .code 16 390 .thumb_func 391 .fpu softvfp 393 HAL_I2CEx_EnableFastModePlus: 394 .LFB43: 279:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** 280:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** /** 281:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** * @brief Enable the I2C fast mode plus driving capability. 282:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** * @param ConfigFastModePlus Selects the pin. 283:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** * This parameter can be one of the @ref I2CEx_FastModePlus values 284:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** * @note For I2C1, fast mode plus driving capability can be enabled on all selected 285:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** * I2C1 pins using I2C_FASTMODEPLUS_I2C1 parameter or independently 286:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** * on each one of the following pins PB6, PB7, PB8 and PB9. 287:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** * @note For remaining I2C1 pins (PA14, PA15...) fast mode plus driving capability 288:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** * can be enabled only by using I2C_FASTMODEPLUS_I2C1 parameter. 289:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** * @note For all I2C2 pins fast mode plus driving capability can be enabled 290:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** * only by using I2C_FASTMODEPLUS_I2C2 parameter. 291:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** * @note For all I2C3 pins fast mode plus driving capability can be enabled 292:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** * only by using I2C_FASTMODEPLUS_I2C3 parameter. 293:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** * @retval None 294:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** */ 295:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** void HAL_I2CEx_EnableFastModePlus(uint32_t ConfigFastModePlus) ARM GAS /tmp/ccHVO7A6.s page 13 296:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** { 395 .loc 1 296 0 396 .cfi_startproc 397 @ args = 0, pretend = 0, frame = 0 398 @ frame_needed = 0, uses_anonymous_args = 0 399 @ link register save eliminated. 400 .LVL32: 297:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** /* Check the parameter */ 298:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** assert_param(IS_I2C_FASTMODEPLUS(ConfigFastModePlus)); 299:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** 300:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** /* Enable SYSCFG clock */ 301:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** __HAL_RCC_SYSCFG_CLK_ENABLE(); 401 .loc 1 301 0 402 0000 044A ldr r2, .L24 403 0002 536B ldr r3, [r2, #52] 404 0004 0121 movs r1, #1 405 0006 0B43 orrs r3, r1 406 0008 5363 str r3, [r2, #52] 302:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** 303:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** /* Enable fast mode plus driving capability for selected pin */ 304:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** SET_BIT(SYSCFG->CFGR2, (uint32_t)ConfigFastModePlus); 407 .loc 1 304 0 408 000a 034A ldr r2, .L24+4 409 000c 5368 ldr r3, [r2, #4] 410 000e 1843 orrs r0, r3 411 .LVL33: 412 0010 5060 str r0, [r2, #4] 305:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** } 413 .loc 1 305 0 414 @ sp needed 415 0012 7047 bx lr 416 .L25: 417 .align 2 418 .L24: 419 0014 00100240 .word 1073876992 420 0018 00000140 .word 1073807360 421 .cfi_endproc 422 .LFE43: 424 .section .text.HAL_I2CEx_DisableFastModePlus,"ax",%progbits 425 .align 1 426 .global HAL_I2CEx_DisableFastModePlus 427 .syntax unified 428 .code 16 429 .thumb_func 430 .fpu softvfp 432 HAL_I2CEx_DisableFastModePlus: 433 .LFB44: 306:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** 307:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** /** 308:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** * @brief Disable the I2C fast mode plus driving capability. 309:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** * @param ConfigFastModePlus Selects the pin. 310:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** * This parameter can be one of the @ref I2CEx_FastModePlus values 311:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** * @note For I2C1, fast mode plus driving capability can be disabled on all selected 312:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** * I2C1 pins using I2C_FASTMODEPLUS_I2C1 parameter or independently 313:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** * on each one of the following pins PB6, PB7, PB8 and PB9. 314:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** * @note For remaining I2C1 pins (PA14, PA15...) fast mode plus driving capability 315:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** * can be disabled only by using I2C_FASTMODEPLUS_I2C1 parameter. ARM GAS /tmp/ccHVO7A6.s page 14 316:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** * @note For all I2C2 pins fast mode plus driving capability can be disabled 317:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** * only by using I2C_FASTMODEPLUS_I2C2 parameter. 318:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** * @note For all I2C3 pins fast mode plus driving capability can be disabled 319:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** * only by using I2C_FASTMODEPLUS_I2C3 parameter. 320:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** * @retval None 321:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** */ 322:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** void HAL_I2CEx_DisableFastModePlus(uint32_t ConfigFastModePlus) 323:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** { 434 .loc 1 323 0 435 .cfi_startproc 436 @ args = 0, pretend = 0, frame = 0 437 @ frame_needed = 0, uses_anonymous_args = 0 438 @ link register save eliminated. 439 .LVL34: 324:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** /* Check the parameter */ 325:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** assert_param(IS_I2C_FASTMODEPLUS(ConfigFastModePlus)); 326:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** 327:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** /* Enable SYSCFG clock */ 328:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** __HAL_RCC_SYSCFG_CLK_ENABLE(); 440 .loc 1 328 0 441 0000 044A ldr r2, .L27 442 0002 536B ldr r3, [r2, #52] 443 0004 0121 movs r1, #1 444 0006 0B43 orrs r3, r1 445 0008 5363 str r3, [r2, #52] 329:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** 330:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** /* Disable fast mode plus driving capability for selected pin */ 331:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** CLEAR_BIT(SYSCFG->CFGR2, (uint32_t)ConfigFastModePlus); 446 .loc 1 331 0 447 000a 034A ldr r2, .L27+4 448 000c 5368 ldr r3, [r2, #4] 449 000e 8343 bics r3, r0 450 0010 5360 str r3, [r2, #4] 332:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c **** } 451 .loc 1 332 0 452 @ sp needed 453 0012 7047 bx lr 454 .L28: 455 .align 2 456 .L27: 457 0014 00100240 .word 1073876992 458 0018 00000140 .word 1073807360 459 .cfi_endproc 460 .LFE44: 462 .text 463 .Letext0: 464 .file 2 "/usr/arm-none-eabi/include/machine/_default_types.h" 465 .file 3 "/usr/arm-none-eabi/include/sys/_stdint.h" 466 .file 4 "Drivers/CMSIS/Device/ST/STM32L0xx/Include/system_stm32l0xx.h" 467 .file 5 "Drivers/CMSIS/Device/ST/STM32L0xx/Include/stm32l073xx.h" 468 .file 6 "/usr/arm-none-eabi/include/sys/lock.h" 469 .file 7 "/usr/arm-none-eabi/include/sys/_types.h" 470 .file 8 "/usr/lib/gcc/arm-none-eabi/7.2.0/include/stddef.h" 471 .file 9 "/usr/arm-none-eabi/include/sys/reent.h" 472 .file 10 "Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal_def.h" 473 .file 11 "Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal_dma.h" 474 .file 12 "Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal_i2c.h" ARM GAS /tmp/ccHVO7A6.s page 15 ARM GAS /tmp/ccHVO7A6.s page 16 DEFINED SYMBOLS *ABS*:0000000000000000 stm32l0xx_hal_i2c_ex.c /tmp/ccHVO7A6.s:16 .text.HAL_I2CEx_ConfigAnalogFilter:0000000000000000 $t /tmp/ccHVO7A6.s:23 .text.HAL_I2CEx_ConfigAnalogFilter:0000000000000000 HAL_I2CEx_ConfigAnalogFilter /tmp/ccHVO7A6.s:107 .text.HAL_I2CEx_ConfigAnalogFilter:0000000000000054 $d /tmp/ccHVO7A6.s:112 .text.HAL_I2CEx_ConfigDigitalFilter:0000000000000000 $t /tmp/ccHVO7A6.s:119 .text.HAL_I2CEx_ConfigDigitalFilter:0000000000000000 HAL_I2CEx_ConfigDigitalFilter /tmp/ccHVO7A6.s:208 .text.HAL_I2CEx_ConfigDigitalFilter:0000000000000050 $d /tmp/ccHVO7A6.s:213 .text.HAL_I2CEx_EnableWakeUp:0000000000000000 $t /tmp/ccHVO7A6.s:220 .text.HAL_I2CEx_EnableWakeUp:0000000000000000 HAL_I2CEx_EnableWakeUp /tmp/ccHVO7A6.s:298 .text.HAL_I2CEx_DisableWakeUp:0000000000000000 $t /tmp/ccHVO7A6.s:305 .text.HAL_I2CEx_DisableWakeUp:0000000000000000 HAL_I2CEx_DisableWakeUp /tmp/ccHVO7A6.s:381 .text.HAL_I2CEx_DisableWakeUp:000000000000004c $d /tmp/ccHVO7A6.s:386 .text.HAL_I2CEx_EnableFastModePlus:0000000000000000 $t /tmp/ccHVO7A6.s:393 .text.HAL_I2CEx_EnableFastModePlus:0000000000000000 HAL_I2CEx_EnableFastModePlus /tmp/ccHVO7A6.s:419 .text.HAL_I2CEx_EnableFastModePlus:0000000000000014 $d /tmp/ccHVO7A6.s:425 .text.HAL_I2CEx_DisableFastModePlus:0000000000000000 $t /tmp/ccHVO7A6.s:432 .text.HAL_I2CEx_DisableFastModePlus:0000000000000000 HAL_I2CEx_DisableFastModePlus /tmp/ccHVO7A6.s:457 .text.HAL_I2CEx_DisableFastModePlus:0000000000000014 $d .debug_frame:0000000000000010 $d NO UNDEFINED SYMBOLS