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

© Copyright (c) 2016 STMicroelectronics. 41:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * All rights reserved.

42:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * 43:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * This software component is licensed by ST under BSD 3-Clause license, 44:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * the "License"; You may not use this file except in compliance with the 45:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * License. You may obtain a copy of the License at: 46:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * opensource.org/licenses/BSD-3-Clause 47:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * 48:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** ****************************************************************************** 49:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** */ 50:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** 51:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /* Includes ------------------------------------------------------------------*/ 52:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** #include "stm32f0xx_hal.h" 53:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** 54:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /** @addtogroup STM32F0xx_HAL_Driver 55:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * @{ 56:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** */ 57:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** 58:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /** @defgroup I2CEx I2CEx 59:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * @brief I2C Extended HAL module driver 60:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * @{ 61:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** */ 62:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** 63:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** #ifdef HAL_I2C_MODULE_ENABLED 64:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** 65:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /* Private typedef -----------------------------------------------------------*/ 66:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /* Private define ------------------------------------------------------------*/ 67:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /* Private macro -------------------------------------------------------------*/ 68:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /* Private variables ---------------------------------------------------------*/ 69:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /* Private function prototypes -----------------------------------------------*/ 70:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /* Private functions ---------------------------------------------------------*/ 71:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** 72:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /** @defgroup I2CEx_Exported_Functions I2C Extended Exported Functions 73:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * @{ 74:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** */ 75:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** 76:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /** @defgroup I2CEx_Exported_Functions_Group1 Filter Mode Functions 77:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * @brief Filter Mode Functions 78:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * 79:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** @verbatim 80:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** =============================================================================== 81:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** ##### Filter Mode Functions ##### 82:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** =============================================================================== 83:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** [..] This section provides functions allowing to: 84:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** (+) Configure Noise Filters 85:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** 86:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** @endverbatim 87:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * @{ 88:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** */ ARM GAS /tmp/cceu5MCx.s page 3 89:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** 90:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /** 91:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * @brief Configure I2C Analog noise filter. 92:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 93:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * the configuration information for the specified I2Cx peripheral. 94:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * @param AnalogFilter New state of the Analog filter. 95:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * @retval HAL status 96:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** */ 97:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** HAL_StatusTypeDef HAL_I2CEx_ConfigAnalogFilter(I2C_HandleTypeDef *hi2c, uint32_t AnalogFilter) 98:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** { 28 .loc 1 98 1 view -0 29 .cfi_startproc 30 @ args = 0, pretend = 0, frame = 0 31 @ frame_needed = 0, uses_anonymous_args = 0 32 .loc 1 98 1 is_stmt 0 view .LVU1 33 0000 F0B5 push {r4, r5, r6, r7, lr} 34 .LCFI0: 35 .cfi_def_cfa_offset 20 36 .cfi_offset 4, -20 37 .cfi_offset 5, -16 38 .cfi_offset 6, -12 39 .cfi_offset 7, -8 40 .cfi_offset 14, -4 99:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /* Check the parameters */ 100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** assert_param(IS_I2C_ALL_INSTANCE(hi2c->Instance)); 41 .loc 1 100 3 is_stmt 1 view .LVU2 101:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** assert_param(IS_I2C_ANALOG_FILTER(AnalogFilter)); 42 .loc 1 101 3 view .LVU3 102:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** 103:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** if (hi2c->State == HAL_I2C_STATE_READY) 43 .loc 1 103 3 view .LVU4 44 .loc 1 103 11 is_stmt 0 view .LVU5 45 0002 4123 movs r3, #65 46 0004 C35C ldrb r3, [r0, r3] 47 .loc 1 103 6 view .LVU6 48 0006 202B cmp r3, #32 49 0008 20D1 bne .L3 104:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** { 105:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /* Process Locked */ 106:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** __HAL_LOCK(hi2c); 50 .loc 1 106 5 is_stmt 1 view .LVU7 51 .loc 1 106 5 view .LVU8 52 000a 2033 adds r3, r3, #32 53 000c C35C ldrb r3, [r0, r3] 54 000e 012B cmp r3, #1 55 0010 1ED0 beq .L4 56 .loc 1 106 5 discriminator 2 view .LVU9 57 0012 4025 movs r5, #64 58 0014 0122 movs r2, #1 59 0016 4255 strb r2, [r0, r5] 107:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** 108:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** hi2c->State = HAL_I2C_STATE_BUSY; 60 .loc 1 108 5 discriminator 2 view .LVU10 61 .loc 1 108 17 is_stmt 0 discriminator 2 view .LVU11 62 0018 4126 movs r6, #65 63 001a 2423 movs r3, #36 64 001c 8355 strb r3, [r0, r6] ARM GAS /tmp/cceu5MCx.s page 4 109:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** 110:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /* Disable the selected I2C peripheral */ 111:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** __HAL_I2C_DISABLE(hi2c); 65 .loc 1 111 5 is_stmt 1 discriminator 2 view .LVU12 66 001e 0368 ldr r3, [r0] 67 0020 1C68 ldr r4, [r3] 68 0022 9443 bics r4, r2 69 0024 1C60 str r4, [r3] 112:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** 113:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /* Reset I2Cx ANOFF bit */ 114:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** hi2c->Instance->CR1 &= ~(I2C_CR1_ANFOFF); 70 .loc 1 114 5 discriminator 2 view .LVU13 71 .loc 1 114 9 is_stmt 0 discriminator 2 view .LVU14 72 0026 0368 ldr r3, [r0] 73 .loc 1 114 25 discriminator 2 view .LVU15 74 0028 1C68 ldr r4, [r3] 75 002a 0A4F ldr r7, .L5 76 002c 3C40 ands r4, r7 77 002e 1C60 str r4, [r3] 115:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** 116:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /* Set analog filter bit*/ 117:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** hi2c->Instance->CR1 |= AnalogFilter; 78 .loc 1 117 5 is_stmt 1 discriminator 2 view .LVU16 79 .loc 1 117 9 is_stmt 0 discriminator 2 view .LVU17 80 0030 0468 ldr r4, [r0] 81 .loc 1 117 25 discriminator 2 view .LVU18 82 0032 2368 ldr r3, [r4] 83 0034 0B43 orrs r3, r1 84 0036 2360 str r3, [r4] 118:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** 119:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** __HAL_I2C_ENABLE(hi2c); 85 .loc 1 119 5 is_stmt 1 discriminator 2 view .LVU19 86 0038 0168 ldr r1, [r0] 87 .LVL1: 88 .loc 1 119 5 is_stmt 0 discriminator 2 view .LVU20 89 003a 0B68 ldr r3, [r1] 90 003c 1343 orrs r3, r2 91 003e 0B60 str r3, [r1] 120:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** 121:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** hi2c->State = HAL_I2C_STATE_READY; 92 .loc 1 121 5 is_stmt 1 discriminator 2 view .LVU21 93 .loc 1 121 17 is_stmt 0 discriminator 2 view .LVU22 94 0040 2023 movs r3, #32 95 0042 8355 strb r3, [r0, r6] 122:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** 123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /* Process Unlocked */ 124:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** __HAL_UNLOCK(hi2c); 96 .loc 1 124 5 is_stmt 1 discriminator 2 view .LVU23 97 .loc 1 124 5 discriminator 2 view .LVU24 98 0044 0023 movs r3, #0 99 0046 4355 strb r3, [r0, r5] 125:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** 126:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** return HAL_OK; 100 .loc 1 126 5 discriminator 2 view .LVU25 101 .loc 1 126 12 is_stmt 0 discriminator 2 view .LVU26 102 0048 0020 movs r0, #0 103 .LVL2: ARM GAS /tmp/cceu5MCx.s page 5 104 .L2: 127:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** } 128:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** else 129:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** { 130:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** return HAL_BUSY; 131:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** } 132:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** } 105 .loc 1 132 1 view .LVU27 106 @ sp needed 107 004a F0BD pop {r4, r5, r6, r7, pc} 108 .LVL3: 109 .L3: 130:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** } 110 .loc 1 130 12 view .LVU28 111 004c 0220 movs r0, #2 112 .LVL4: 130:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** } 113 .loc 1 130 12 view .LVU29 114 004e FCE7 b .L2 115 .LVL5: 116 .L4: 106:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** 117 .loc 1 106 5 view .LVU30 118 0050 0220 movs r0, #2 119 .LVL6: 106:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** 120 .loc 1 106 5 view .LVU31 121 0052 FAE7 b .L2 122 .L6: 123 .align 2 124 .L5: 125 0054 FFEFFFFF .word -4097 126 .cfi_endproc 127 .LFE40: 129 .section .text.HAL_I2CEx_ConfigDigitalFilter,"ax",%progbits 130 .align 1 131 .global HAL_I2CEx_ConfigDigitalFilter 132 .syntax unified 133 .code 16 134 .thumb_func 135 .fpu softvfp 137 HAL_I2CEx_ConfigDigitalFilter: 138 .LVL7: 139 .LFB41: 133:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** 134:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /** 135:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * @brief Configure I2C Digital noise filter. 136:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 137:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * the configuration information for the specified I2Cx peripheral. 138:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * @param DigitalFilter Coefficient of digital noise filter between Min_Data=0x00 and Max_Data=0x 139:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * @retval HAL status 140:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** */ 141:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** HAL_StatusTypeDef HAL_I2CEx_ConfigDigitalFilter(I2C_HandleTypeDef *hi2c, uint32_t DigitalFilter) 142:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** { 140 .loc 1 142 1 is_stmt 1 view -0 141 .cfi_startproc 142 @ args = 0, pretend = 0, frame = 0 ARM GAS /tmp/cceu5MCx.s page 6 143 @ frame_needed = 0, uses_anonymous_args = 0 144 .loc 1 142 1 is_stmt 0 view .LVU33 145 0000 F0B5 push {r4, r5, r6, r7, lr} 146 .LCFI1: 147 .cfi_def_cfa_offset 20 148 .cfi_offset 4, -20 149 .cfi_offset 5, -16 150 .cfi_offset 6, -12 151 .cfi_offset 7, -8 152 .cfi_offset 14, -4 143:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** uint32_t tmpreg; 153 .loc 1 143 3 is_stmt 1 view .LVU34 144:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** 145:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /* Check the parameters */ 146:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** assert_param(IS_I2C_ALL_INSTANCE(hi2c->Instance)); 154 .loc 1 146 3 view .LVU35 147:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** assert_param(IS_I2C_DIGITAL_FILTER(DigitalFilter)); 155 .loc 1 147 3 view .LVU36 148:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** 149:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** if (hi2c->State == HAL_I2C_STATE_READY) 156 .loc 1 149 3 view .LVU37 157 .loc 1 149 11 is_stmt 0 view .LVU38 158 0002 4123 movs r3, #65 159 0004 C35C ldrb r3, [r0, r3] 160 .loc 1 149 6 view .LVU39 161 0006 202B cmp r3, #32 162 0008 1ED1 bne .L9 150:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** { 151:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /* Process Locked */ 152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** __HAL_LOCK(hi2c); 163 .loc 1 152 5 is_stmt 1 view .LVU40 164 .loc 1 152 5 view .LVU41 165 000a 2033 adds r3, r3, #32 166 000c C35C ldrb r3, [r0, r3] 167 000e 012B cmp r3, #1 168 0010 1CD0 beq .L10 169 .loc 1 152 5 discriminator 2 view .LVU42 170 0012 4024 movs r4, #64 171 0014 0122 movs r2, #1 172 0016 0255 strb r2, [r0, r4] 153:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** 154:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** hi2c->State = HAL_I2C_STATE_BUSY; 173 .loc 1 154 5 discriminator 2 view .LVU43 174 .loc 1 154 17 is_stmt 0 discriminator 2 view .LVU44 175 0018 4125 movs r5, #65 176 001a 2423 movs r3, #36 177 001c 4355 strb r3, [r0, r5] 155:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** 156:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /* Disable the selected I2C peripheral */ 157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** __HAL_I2C_DISABLE(hi2c); 178 .loc 1 157 5 is_stmt 1 discriminator 2 view .LVU45 179 001e 0668 ldr r6, [r0] 180 0020 3368 ldr r3, [r6] 181 0022 9343 bics r3, r2 182 0024 3360 str r3, [r6] 158:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** 159:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /* Get the old register value */ ARM GAS /tmp/cceu5MCx.s page 7 160:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** tmpreg = hi2c->Instance->CR1; 183 .loc 1 160 5 discriminator 2 view .LVU46 184 .loc 1 160 18 is_stmt 0 discriminator 2 view .LVU47 185 0026 0668 ldr r6, [r0] 186 .loc 1 160 12 discriminator 2 view .LVU48 187 0028 3368 ldr r3, [r6] 188 .LVL8: 161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** 162:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /* Reset I2Cx DNF bits [11:8] */ 163:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** tmpreg &= ~(I2C_CR1_DNF); 189 .loc 1 163 5 is_stmt 1 discriminator 2 view .LVU49 190 .loc 1 163 12 is_stmt 0 discriminator 2 view .LVU50 191 002a 094F ldr r7, .L11 192 002c 3B40 ands r3, r7 193 .LVL9: 164:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** 165:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /* Set I2Cx DNF coefficient */ 166:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** tmpreg |= DigitalFilter << 8U; 194 .loc 1 166 5 is_stmt 1 discriminator 2 view .LVU51 195 .loc 1 166 29 is_stmt 0 discriminator 2 view .LVU52 196 002e 0902 lsls r1, r1, #8 197 .LVL10: 198 .loc 1 166 12 discriminator 2 view .LVU53 199 0030 1943 orrs r1, r3 200 .LVL11: 167:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** 168:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /* Store the new register value */ 169:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** hi2c->Instance->CR1 = tmpreg; 201 .loc 1 169 5 is_stmt 1 discriminator 2 view .LVU54 202 .loc 1 169 25 is_stmt 0 discriminator 2 view .LVU55 203 0032 3160 str r1, [r6] 170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** 171:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** __HAL_I2C_ENABLE(hi2c); 204 .loc 1 171 5 is_stmt 1 discriminator 2 view .LVU56 205 0034 0168 ldr r1, [r0] 206 .LVL12: 207 .loc 1 171 5 is_stmt 0 discriminator 2 view .LVU57 208 0036 0B68 ldr r3, [r1] 209 0038 1343 orrs r3, r2 210 003a 0B60 str r3, [r1] 211 .LVL13: 172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** 173:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** hi2c->State = HAL_I2C_STATE_READY; 212 .loc 1 173 5 is_stmt 1 discriminator 2 view .LVU58 213 .loc 1 173 17 is_stmt 0 discriminator 2 view .LVU59 214 003c 2023 movs r3, #32 215 003e 4355 strb r3, [r0, r5] 174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** 175:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /* Process Unlocked */ 176:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** __HAL_UNLOCK(hi2c); 216 .loc 1 176 5 is_stmt 1 discriminator 2 view .LVU60 217 .loc 1 176 5 discriminator 2 view .LVU61 218 0040 0023 movs r3, #0 219 0042 0355 strb r3, [r0, r4] 177:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** 178:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** return HAL_OK; 220 .loc 1 178 5 discriminator 2 view .LVU62 ARM GAS /tmp/cceu5MCx.s page 8 221 .loc 1 178 12 is_stmt 0 discriminator 2 view .LVU63 222 0044 0020 movs r0, #0 223 .LVL14: 224 .L8: 179:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** } 180:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** else 181:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** { 182:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** return HAL_BUSY; 183:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** } 184:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** } 225 .loc 1 184 1 view .LVU64 226 @ sp needed 227 0046 F0BD pop {r4, r5, r6, r7, pc} 228 .LVL15: 229 .L9: 182:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** } 230 .loc 1 182 12 view .LVU65 231 0048 0220 movs r0, #2 232 .LVL16: 182:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** } 233 .loc 1 182 12 view .LVU66 234 004a FCE7 b .L8 235 .LVL17: 236 .L10: 152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** 237 .loc 1 152 5 view .LVU67 238 004c 0220 movs r0, #2 239 .LVL18: 152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** 240 .loc 1 152 5 view .LVU68 241 004e FAE7 b .L8 242 .L12: 243 .align 2 244 .L11: 245 0050 FFF0FFFF .word -3841 246 .cfi_endproc 247 .LFE41: 249 .section .text.HAL_I2CEx_EnableWakeUp,"ax",%progbits 250 .align 1 251 .global HAL_I2CEx_EnableWakeUp 252 .syntax unified 253 .code 16 254 .thumb_func 255 .fpu softvfp 257 HAL_I2CEx_EnableWakeUp: 258 .LVL19: 259 .LFB42: 185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /** 186:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * @} 187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** */ 188:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** #if defined(I2C_CR1_WUPEN) 189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** 190:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /** @defgroup I2CEx_Exported_Functions_Group2 WakeUp Mode Functions 191:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * @brief WakeUp Mode Functions 192:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * 193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** @verbatim 194:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** =============================================================================== ARM GAS /tmp/cceu5MCx.s page 9 195:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** ##### WakeUp Mode Functions ##### 196:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** =============================================================================== 197:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** [..] This section provides functions allowing to: 198:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** (+) Configure Wake Up Feature 199:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** 200:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** @endverbatim 201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * @{ 202:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** */ 203:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** 204:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /** 205:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * @brief Enable I2C wakeup from Stop mode(s). 206:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 207:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * the configuration information for the specified I2Cx peripheral. 208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * @retval HAL status 209:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** */ 210:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** HAL_StatusTypeDef HAL_I2CEx_EnableWakeUp(I2C_HandleTypeDef *hi2c) 211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** { 260 .loc 1 211 1 is_stmt 1 view -0 261 .cfi_startproc 262 @ args = 0, pretend = 0, frame = 0 263 @ frame_needed = 0, uses_anonymous_args = 0 264 .loc 1 211 1 is_stmt 0 view .LVU70 265 0000 70B5 push {r4, r5, r6, lr} 266 .LCFI2: 267 .cfi_def_cfa_offset 16 268 .cfi_offset 4, -16 269 .cfi_offset 5, -12 270 .cfi_offset 6, -8 271 .cfi_offset 14, -4 212:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /* Check the parameters */ 213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** assert_param(IS_I2C_WAKEUP_FROMSTOP_INSTANCE(hi2c->Instance)); 272 .loc 1 213 3 is_stmt 1 view .LVU71 214:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** 215:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** if (hi2c->State == HAL_I2C_STATE_READY) 273 .loc 1 215 3 view .LVU72 274 .loc 1 215 11 is_stmt 0 view .LVU73 275 0002 4123 movs r3, #65 276 0004 C35C ldrb r3, [r0, r3] 277 .loc 1 215 6 view .LVU74 278 0006 202B cmp r3, #32 279 0008 1DD1 bne .L15 216:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** { 217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /* Process Locked */ 218:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** __HAL_LOCK(hi2c); 280 .loc 1 218 5 is_stmt 1 view .LVU75 281 .loc 1 218 5 view .LVU76 282 000a 2033 adds r3, r3, #32 283 000c C35C ldrb r3, [r0, r3] 284 000e 012B cmp r3, #1 285 0010 1BD0 beq .L16 286 .loc 1 218 5 discriminator 2 view .LVU77 287 0012 4021 movs r1, #64 288 0014 0122 movs r2, #1 289 0016 4254 strb r2, [r0, r1] 219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** 220:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** hi2c->State = HAL_I2C_STATE_BUSY; 290 .loc 1 220 5 discriminator 2 view .LVU78 ARM GAS /tmp/cceu5MCx.s page 10 291 .loc 1 220 17 is_stmt 0 discriminator 2 view .LVU79 292 0018 4124 movs r4, #65 293 001a 2423 movs r3, #36 294 001c 0355 strb r3, [r0, r4] 221:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** 222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /* Disable the selected I2C peripheral */ 223:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** __HAL_I2C_DISABLE(hi2c); 295 .loc 1 223 5 is_stmt 1 discriminator 2 view .LVU80 296 001e 0568 ldr r5, [r0] 297 0020 2B68 ldr r3, [r5] 298 0022 9343 bics r3, r2 299 0024 2B60 str r3, [r5] 224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** 225:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /* Enable wakeup from stop mode */ 226:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** hi2c->Instance->CR1 |= I2C_CR1_WUPEN; 300 .loc 1 226 5 discriminator 2 view .LVU81 301 .loc 1 226 9 is_stmt 0 discriminator 2 view .LVU82 302 0026 0568 ldr r5, [r0] 303 .loc 1 226 25 discriminator 2 view .LVU83 304 0028 2E68 ldr r6, [r5] 305 002a 8023 movs r3, #128 306 002c DB02 lsls r3, r3, #11 307 002e 3343 orrs r3, r6 308 0030 2B60 str r3, [r5] 227:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** 228:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** __HAL_I2C_ENABLE(hi2c); 309 .loc 1 228 5 is_stmt 1 discriminator 2 view .LVU84 310 0032 0568 ldr r5, [r0] 311 0034 2B68 ldr r3, [r5] 312 0036 1343 orrs r3, r2 313 0038 2B60 str r3, [r5] 229:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** 230:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** hi2c->State = HAL_I2C_STATE_READY; 314 .loc 1 230 5 discriminator 2 view .LVU85 315 .loc 1 230 17 is_stmt 0 discriminator 2 view .LVU86 316 003a 2023 movs r3, #32 317 003c 0355 strb r3, [r0, r4] 231:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** 232:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /* Process Unlocked */ 233:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** __HAL_UNLOCK(hi2c); 318 .loc 1 233 5 is_stmt 1 discriminator 2 view .LVU87 319 .loc 1 233 5 discriminator 2 view .LVU88 320 003e 0023 movs r3, #0 321 0040 4354 strb r3, [r0, r1] 234:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** 235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** return HAL_OK; 322 .loc 1 235 5 discriminator 2 view .LVU89 323 .loc 1 235 12 is_stmt 0 discriminator 2 view .LVU90 324 0042 0020 movs r0, #0 325 .LVL20: 326 .L14: 236:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** } 237:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** else 238:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** { 239:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** return HAL_BUSY; 240:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** } 241:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** } ARM GAS /tmp/cceu5MCx.s page 11 327 .loc 1 241 1 view .LVU91 328 @ sp needed 329 0044 70BD pop {r4, r5, r6, pc} 330 .LVL21: 331 .L15: 239:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** } 332 .loc 1 239 12 view .LVU92 333 0046 0220 movs r0, #2 334 .LVL22: 239:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** } 335 .loc 1 239 12 view .LVU93 336 0048 FCE7 b .L14 337 .LVL23: 338 .L16: 218:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** 339 .loc 1 218 5 view .LVU94 340 004a 0220 movs r0, #2 341 .LVL24: 218:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** 342 .loc 1 218 5 view .LVU95 343 004c FAE7 b .L14 344 .cfi_endproc 345 .LFE42: 347 .section .text.HAL_I2CEx_DisableWakeUp,"ax",%progbits 348 .align 1 349 .global HAL_I2CEx_DisableWakeUp 350 .syntax unified 351 .code 16 352 .thumb_func 353 .fpu softvfp 355 HAL_I2CEx_DisableWakeUp: 356 .LVL25: 357 .LFB43: 242:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** 243:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /** 244:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * @brief Disable I2C wakeup from Stop mode(s). 245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 246:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * the configuration information for the specified I2Cx peripheral. 247:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * @retval HAL status 248:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** */ 249:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** HAL_StatusTypeDef HAL_I2CEx_DisableWakeUp(I2C_HandleTypeDef *hi2c) 250:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** { 358 .loc 1 250 1 is_stmt 1 view -0 359 .cfi_startproc 360 @ args = 0, pretend = 0, frame = 0 361 @ frame_needed = 0, uses_anonymous_args = 0 362 .loc 1 250 1 is_stmt 0 view .LVU97 363 0000 70B5 push {r4, r5, r6, lr} 364 .LCFI3: 365 .cfi_def_cfa_offset 16 366 .cfi_offset 4, -16 367 .cfi_offset 5, -12 368 .cfi_offset 6, -8 369 .cfi_offset 14, -4 251:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /* Check the parameters */ 252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** assert_param(IS_I2C_WAKEUP_FROMSTOP_INSTANCE(hi2c->Instance)); 370 .loc 1 252 3 is_stmt 1 view .LVU98 ARM GAS /tmp/cceu5MCx.s page 12 253:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** 254:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** if (hi2c->State == HAL_I2C_STATE_READY) 371 .loc 1 254 3 view .LVU99 372 .loc 1 254 11 is_stmt 0 view .LVU100 373 0002 4123 movs r3, #65 374 0004 C35C ldrb r3, [r0, r3] 375 .loc 1 254 6 view .LVU101 376 0006 202B cmp r3, #32 377 0008 1CD1 bne .L19 255:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** { 256:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /* Process Locked */ 257:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** __HAL_LOCK(hi2c); 378 .loc 1 257 5 is_stmt 1 view .LVU102 379 .loc 1 257 5 view .LVU103 380 000a 2033 adds r3, r3, #32 381 000c C35C ldrb r3, [r0, r3] 382 000e 012B cmp r3, #1 383 0010 1AD0 beq .L20 384 .loc 1 257 5 discriminator 2 view .LVU104 385 0012 4021 movs r1, #64 386 0014 0122 movs r2, #1 387 0016 4254 strb r2, [r0, r1] 258:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** 259:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** hi2c->State = HAL_I2C_STATE_BUSY; 388 .loc 1 259 5 discriminator 2 view .LVU105 389 .loc 1 259 17 is_stmt 0 discriminator 2 view .LVU106 390 0018 4124 movs r4, #65 391 001a 2423 movs r3, #36 392 001c 0355 strb r3, [r0, r4] 260:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** 261:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /* Disable the selected I2C peripheral */ 262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** __HAL_I2C_DISABLE(hi2c); 393 .loc 1 262 5 is_stmt 1 discriminator 2 view .LVU107 394 001e 0568 ldr r5, [r0] 395 0020 2B68 ldr r3, [r5] 396 0022 9343 bics r3, r2 397 0024 2B60 str r3, [r5] 263:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** 264:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /* Enable wakeup from stop mode */ 265:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** hi2c->Instance->CR1 &= ~(I2C_CR1_WUPEN); 398 .loc 1 265 5 discriminator 2 view .LVU108 399 .loc 1 265 9 is_stmt 0 discriminator 2 view .LVU109 400 0026 0568 ldr r5, [r0] 401 .loc 1 265 25 discriminator 2 view .LVU110 402 0028 2B68 ldr r3, [r5] 403 002a 084E ldr r6, .L21 404 002c 3340 ands r3, r6 405 002e 2B60 str r3, [r5] 266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** 267:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** __HAL_I2C_ENABLE(hi2c); 406 .loc 1 267 5 is_stmt 1 discriminator 2 view .LVU111 407 0030 0568 ldr r5, [r0] 408 0032 2B68 ldr r3, [r5] 409 0034 1343 orrs r3, r2 410 0036 2B60 str r3, [r5] 268:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** 269:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** hi2c->State = HAL_I2C_STATE_READY; ARM GAS /tmp/cceu5MCx.s page 13 411 .loc 1 269 5 discriminator 2 view .LVU112 412 .loc 1 269 17 is_stmt 0 discriminator 2 view .LVU113 413 0038 2023 movs r3, #32 414 003a 0355 strb r3, [r0, r4] 270:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** 271:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /* Process Unlocked */ 272:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** __HAL_UNLOCK(hi2c); 415 .loc 1 272 5 is_stmt 1 discriminator 2 view .LVU114 416 .loc 1 272 5 discriminator 2 view .LVU115 417 003c 0023 movs r3, #0 418 003e 4354 strb r3, [r0, r1] 273:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** 274:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** return HAL_OK; 419 .loc 1 274 5 discriminator 2 view .LVU116 420 .loc 1 274 12 is_stmt 0 discriminator 2 view .LVU117 421 0040 0020 movs r0, #0 422 .LVL26: 423 .L18: 275:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** } 276:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** else 277:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** { 278:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** return HAL_BUSY; 279:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** } 280:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** } 424 .loc 1 280 1 view .LVU118 425 @ sp needed 426 0042 70BD pop {r4, r5, r6, pc} 427 .LVL27: 428 .L19: 278:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** } 429 .loc 1 278 12 view .LVU119 430 0044 0220 movs r0, #2 431 .LVL28: 278:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** } 432 .loc 1 278 12 view .LVU120 433 0046 FCE7 b .L18 434 .LVL29: 435 .L20: 257:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** 436 .loc 1 257 5 view .LVU121 437 0048 0220 movs r0, #2 438 .LVL30: 257:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** 439 .loc 1 257 5 view .LVU122 440 004a FAE7 b .L18 441 .L22: 442 .align 2 443 .L21: 444 004c FFFFFBFF .word -262145 445 .cfi_endproc 446 .LFE43: 448 .section .text.HAL_I2CEx_EnableFastModePlus,"ax",%progbits 449 .align 1 450 .global HAL_I2CEx_EnableFastModePlus 451 .syntax unified 452 .code 16 453 .thumb_func ARM GAS /tmp/cceu5MCx.s page 14 454 .fpu softvfp 456 HAL_I2CEx_EnableFastModePlus: 457 .LVL31: 458 .LFB44: 281:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /** 282:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * @} 283:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** */ 284:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** #endif /* I2C_CR1_WUPEN */ 285:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** 286:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /** @defgroup I2CEx_Exported_Functions_Group3 Fast Mode Plus Functions 287:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * @brief Fast Mode Plus Functions 288:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * 289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** @verbatim 290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** =============================================================================== 291:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** ##### Fast Mode Plus Functions ##### 292:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** =============================================================================== 293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** [..] This section provides functions allowing to: 294:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** (+) Configure Fast Mode Plus 295:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** 296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** @endverbatim 297:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * @{ 298:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** */ 299:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** 300:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /** 301:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * @brief Enable the I2C fast mode plus driving capability. 302:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * @param ConfigFastModePlus Selects the pin. 303:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * This parameter can be one of the @ref I2CEx_FastModePlus values 304:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * @note For I2C1, fast mode plus driving capability can be enabled on all selected 305:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * I2C1 pins using I2C_FASTMODEPLUS_I2C1 parameter or independently 306:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * on each one of the following pins PB6, PB7, PB8 and PB9. 307:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * @note For remaining I2C1 pins (PA14, PA15...) fast mode plus driving capability 308:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * can be enabled only by using I2C_FASTMODEPLUS_I2C1 parameter. 309:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * @note For all I2C2 pins fast mode plus driving capability can be enabled 310:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * only by using I2C_FASTMODEPLUS_I2C2 parameter. 311:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * @retval None 312:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** */ 313:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** void HAL_I2CEx_EnableFastModePlus(uint32_t ConfigFastModePlus) 314:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** { 459 .loc 1 314 1 is_stmt 1 view -0 460 .cfi_startproc 461 @ args = 0, pretend = 0, frame = 8 462 @ frame_needed = 0, uses_anonymous_args = 0 463 @ link register save eliminated. 464 .loc 1 314 1 is_stmt 0 view .LVU124 465 0000 82B0 sub sp, sp, #8 466 .LCFI4: 467 .cfi_def_cfa_offset 8 315:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /* Check the parameter */ 316:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** assert_param(IS_I2C_FASTMODEPLUS(ConfigFastModePlus)); 468 .loc 1 316 3 is_stmt 1 view .LVU125 317:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** 318:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /* Enable SYSCFG clock */ 319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** __HAL_RCC_SYSCFG_CLK_ENABLE(); 469 .loc 1 319 3 view .LVU126 470 .LBB2: 471 .loc 1 319 3 view .LVU127 472 .loc 1 319 3 view .LVU128 ARM GAS /tmp/cceu5MCx.s page 15 473 0002 074A ldr r2, .L24 474 0004 9169 ldr r1, [r2, #24] 475 0006 0123 movs r3, #1 476 0008 1943 orrs r1, r3 477 000a 9161 str r1, [r2, #24] 478 .loc 1 319 3 view .LVU129 479 000c 9269 ldr r2, [r2, #24] 480 000e 1340 ands r3, r2 481 0010 0193 str r3, [sp, #4] 482 .loc 1 319 3 view .LVU130 483 0012 019B ldr r3, [sp, #4] 484 .LBE2: 320:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** 321:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /* Enable fast mode plus driving capability for selected pin */ 322:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** SET_BIT(SYSCFG->CFGR1, (uint32_t)ConfigFastModePlus); 485 .loc 1 322 3 view .LVU131 486 0014 034A ldr r2, .L24+4 487 0016 1368 ldr r3, [r2] 488 0018 0343 orrs r3, r0 489 001a 1360 str r3, [r2] 323:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** } 490 .loc 1 323 1 is_stmt 0 view .LVU132 491 001c 02B0 add sp, sp, #8 492 @ sp needed 493 001e 7047 bx lr 494 .L25: 495 .align 2 496 .L24: 497 0020 00100240 .word 1073876992 498 0024 00000140 .word 1073807360 499 .cfi_endproc 500 .LFE44: 502 .section .text.HAL_I2CEx_DisableFastModePlus,"ax",%progbits 503 .align 1 504 .global HAL_I2CEx_DisableFastModePlus 505 .syntax unified 506 .code 16 507 .thumb_func 508 .fpu softvfp 510 HAL_I2CEx_DisableFastModePlus: 511 .LVL32: 512 .LFB45: 324:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** 325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /** 326:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * @brief Disable the I2C fast mode plus driving capability. 327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * @param ConfigFastModePlus Selects the pin. 328:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * This parameter can be one of the @ref I2CEx_FastModePlus values 329:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * @note For I2C1, fast mode plus driving capability can be disabled on all selected 330:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * I2C1 pins using I2C_FASTMODEPLUS_I2C1 parameter or independently 331:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * on each one of the following pins PB6, PB7, PB8 and PB9. 332:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * @note For remaining I2C1 pins (PA14, PA15...) fast mode plus driving capability 333:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * can be disabled only by using I2C_FASTMODEPLUS_I2C1 parameter. 334:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * @note For all I2C2 pins fast mode plus driving capability can be disabled 335:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * only by using I2C_FASTMODEPLUS_I2C2 parameter. 336:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * @retval None 337:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** */ 338:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** void HAL_I2CEx_DisableFastModePlus(uint32_t ConfigFastModePlus) ARM GAS /tmp/cceu5MCx.s page 16 339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** { 513 .loc 1 339 1 is_stmt 1 view -0 514 .cfi_startproc 515 @ args = 0, pretend = 0, frame = 8 516 @ frame_needed = 0, uses_anonymous_args = 0 517 @ link register save eliminated. 518 .loc 1 339 1 is_stmt 0 view .LVU134 519 0000 82B0 sub sp, sp, #8 520 .LCFI5: 521 .cfi_def_cfa_offset 8 340:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /* Check the parameter */ 341:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** assert_param(IS_I2C_FASTMODEPLUS(ConfigFastModePlus)); 522 .loc 1 341 3 is_stmt 1 view .LVU135 342:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** 343:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /* Enable SYSCFG clock */ 344:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** __HAL_RCC_SYSCFG_CLK_ENABLE(); 523 .loc 1 344 3 view .LVU136 524 .LBB3: 525 .loc 1 344 3 view .LVU137 526 .loc 1 344 3 view .LVU138 527 0002 074A ldr r2, .L27 528 0004 9169 ldr r1, [r2, #24] 529 0006 0123 movs r3, #1 530 0008 1943 orrs r1, r3 531 000a 9161 str r1, [r2, #24] 532 .loc 1 344 3 view .LVU139 533 000c 9269 ldr r2, [r2, #24] 534 000e 1340 ands r3, r2 535 0010 0193 str r3, [sp, #4] 536 .loc 1 344 3 view .LVU140 537 0012 019B ldr r3, [sp, #4] 538 .LBE3: 345:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** 346:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /* Disable fast mode plus driving capability for selected pin */ 347:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** CLEAR_BIT(SYSCFG->CFGR1, (uint32_t)ConfigFastModePlus); 539 .loc 1 347 3 view .LVU141 540 0014 034A ldr r2, .L27+4 541 0016 1368 ldr r3, [r2] 542 0018 8343 bics r3, r0 543 001a 1360 str r3, [r2] 348:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** } 544 .loc 1 348 1 is_stmt 0 view .LVU142 545 001c 02B0 add sp, sp, #8 546 @ sp needed 547 001e 7047 bx lr 548 .L28: 549 .align 2 550 .L27: 551 0020 00100240 .word 1073876992 552 0024 00000140 .word 1073807360 553 .cfi_endproc 554 .LFE45: 556 .text 557 .Letext0: 558 .file 2 "/usr/lib/gcc/arm-none-eabi/8.3.1/include/stdint.h" 559 .file 3 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h" 560 .file 4 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f042x6.h" ARM GAS /tmp/cceu5MCx.s page 17 561 .file 5 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h" 562 .file 6 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h" 563 .file 7 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h" 564 .file 8 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h" ARM GAS /tmp/cceu5MCx.s page 18 DEFINED SYMBOLS *ABS*:0000000000000000 stm32f0xx_hal_i2c_ex.c /tmp/cceu5MCx.s:16 .text.HAL_I2CEx_ConfigAnalogFilter:0000000000000000 $t /tmp/cceu5MCx.s:24 .text.HAL_I2CEx_ConfigAnalogFilter:0000000000000000 HAL_I2CEx_ConfigAnalogFilter /tmp/cceu5MCx.s:125 .text.HAL_I2CEx_ConfigAnalogFilter:0000000000000054 $d /tmp/cceu5MCx.s:130 .text.HAL_I2CEx_ConfigDigitalFilter:0000000000000000 $t /tmp/cceu5MCx.s:137 .text.HAL_I2CEx_ConfigDigitalFilter:0000000000000000 HAL_I2CEx_ConfigDigitalFilter /tmp/cceu5MCx.s:245 .text.HAL_I2CEx_ConfigDigitalFilter:0000000000000050 $d /tmp/cceu5MCx.s:250 .text.HAL_I2CEx_EnableWakeUp:0000000000000000 $t /tmp/cceu5MCx.s:257 .text.HAL_I2CEx_EnableWakeUp:0000000000000000 HAL_I2CEx_EnableWakeUp /tmp/cceu5MCx.s:348 .text.HAL_I2CEx_DisableWakeUp:0000000000000000 $t /tmp/cceu5MCx.s:355 .text.HAL_I2CEx_DisableWakeUp:0000000000000000 HAL_I2CEx_DisableWakeUp /tmp/cceu5MCx.s:444 .text.HAL_I2CEx_DisableWakeUp:000000000000004c $d /tmp/cceu5MCx.s:449 .text.HAL_I2CEx_EnableFastModePlus:0000000000000000 $t /tmp/cceu5MCx.s:456 .text.HAL_I2CEx_EnableFastModePlus:0000000000000000 HAL_I2CEx_EnableFastModePlus /tmp/cceu5MCx.s:497 .text.HAL_I2CEx_EnableFastModePlus:0000000000000020 $d /tmp/cceu5MCx.s:503 .text.HAL_I2CEx_DisableFastModePlus:0000000000000000 $t /tmp/cceu5MCx.s:510 .text.HAL_I2CEx_DisableFastModePlus:0000000000000000 HAL_I2CEx_DisableFastModePlus /tmp/cceu5MCx.s:551 .text.HAL_I2CEx_DisableFastModePlus:0000000000000020 $d NO UNDEFINED SYMBOLS