ARM GAS C:\Users\zl835\AppData\Local\Temp\ccHg2MhS.s page 1 1 .cpu cortex-m4 2 .arch armv7e-m 3 .fpu fpv4-sp-d16 4 .eabi_attribute 27, 1 5 .eabi_attribute 28, 1 6 .eabi_attribute 20, 1 7 .eabi_attribute 21, 1 8 .eabi_attribute 23, 3 9 .eabi_attribute 24, 1 10 .eabi_attribute 25, 1 11 .eabi_attribute 26, 1 12 .eabi_attribute 30, 2 13 .eabi_attribute 34, 1 14 .eabi_attribute 18, 4 15 .file "stm32f3xx_hal_i2c_ex.c" 16 .text 17 .Ltext0: 18 .cfi_sections .debug_frame 19 .section .rodata.HAL_I2CEx_ConfigAnalogFilter.str1.4,"aMS",%progbits,1 20 .align 2 21 .LC0: 22 0000 44726976 .ascii "Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_" 22 6572732F 22 53544D33 22 32463378 22 785F4841 23 0033 65782E63 .ascii "ex.c\000" 23 00 24 .section .text.HAL_I2CEx_ConfigAnalogFilter,"ax",%progbits 25 .align 1 26 .p2align 2,,3 27 .global HAL_I2CEx_ConfigAnalogFilter 28 .syntax unified 29 .thumb 30 .thumb_func 32 HAL_I2CEx_ConfigAnalogFilter: 33 .LVL0: 34 .LFB130: 35 .file 1 "Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c" 1:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** /** 2:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** ****************************************************************************** 3:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** * @file stm32f3xx_hal_i2c_ex.c 4:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** * @author MCD Application Team 5:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** * @brief I2C Extended HAL module driver. 6:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** * This file provides firmware functions to manage the following 7:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** * functionalities of I2C Extended peripheral: 8:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** * + Filter Mode Functions 9:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** * + WakeUp Mode Functions 10:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** * + FastModePlus Functions 11:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** * 12:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** ****************************************************************************** 13:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** * @attention 14:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** * 15:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** * Copyright (c) 2016 STMicroelectronics. 16:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** * All rights reserved. 17:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** * 18:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** * This software is licensed under terms that can be found in the LICENSE file ARM GAS C:\Users\zl835\AppData\Local\Temp\ccHg2MhS.s page 2 19:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** * in the root directory of this software component. 20:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** * If no LICENSE file comes with this software, it is provided AS-IS. 21:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** * 22:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** ****************************************************************************** 23:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** @verbatim 24:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** ============================================================================== 25:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** ##### I2C peripheral Extended features ##### 26:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** ============================================================================== 27:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** 28:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** [..] Comparing to other previous devices, the I2C interface for STM32F3xx 29:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** devices contains the following additional features 30:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** 31:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** (+) Possibility to disable or enable Analog Noise Filter 32:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** (+) Use of a configured Digital Noise Filter 33:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** (+) Disable or enable wakeup from Stop mode(s) 34:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** (+) Disable or enable Fast Mode Plus 35:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** 36:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** ##### How to use this driver ##### 37:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** ============================================================================== 38:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** [..] This driver provides functions to configure Noise Filter and Wake Up Feature 39:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** (#) Configure I2C Analog noise filter using the function HAL_I2CEx_ConfigAnalogFilter() 40:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** (#) Configure I2C Digital noise filter using the function HAL_I2CEx_ConfigDigitalFilter() 41:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** (#) Configure the enable or disable of I2C Wake Up Mode using the functions : 42:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** (++) HAL_I2CEx_EnableWakeUp() 43:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** (++) HAL_I2CEx_DisableWakeUp() 44:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** (#) Configure the enable or disable of fast mode plus driving capability using the functions : 45:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** (++) HAL_I2CEx_EnableFastModePlus() 46:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** (++) HAL_I2CEx_DisableFastModePlus() 47:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** @endverbatim 48:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** */ 49:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** 50:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** /* Includes ------------------------------------------------------------------*/ 51:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** #include "stm32f3xx_hal.h" 52:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** 53:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** /** @addtogroup STM32F3xx_HAL_Driver 54:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** * @{ 55:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** */ 56:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** 57:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** /** @defgroup I2CEx I2CEx 58:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** * @brief I2C Extended HAL module driver 59:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** * @{ 60:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** */ 61:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** 62:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** #ifdef HAL_I2C_MODULE_ENABLED 63:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** 64:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** /* Private typedef -----------------------------------------------------------*/ 65:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** /* Private define ------------------------------------------------------------*/ 66:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** /* Private macro -------------------------------------------------------------*/ 67:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** /* Private variables ---------------------------------------------------------*/ 68:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** /* Private function prototypes -----------------------------------------------*/ 69:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** /* Private functions ---------------------------------------------------------*/ 70:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** 71:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** /** @defgroup I2CEx_Exported_Functions I2C Extended Exported Functions 72:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** * @{ 73:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** */ 74:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** 75:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** /** @defgroup I2CEx_Exported_Functions_Group1 Filter Mode Functions ARM GAS C:\Users\zl835\AppData\Local\Temp\ccHg2MhS.s page 3 76:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** * @brief Filter Mode Functions 77:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** * 78:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** @verbatim 79:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** =============================================================================== 80:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** ##### Filter Mode Functions ##### 81:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** =============================================================================== 82:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** [..] This section provides functions allowing to: 83:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** (+) Configure Noise Filters 84:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** 85:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** @endverbatim 86:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** * @{ 87:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** */ 88:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** 89:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** /** 90:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** * @brief Configure I2C Analog noise filter. 91:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 92:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** * the configuration information for the specified I2Cx peripheral. 93:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** * @param AnalogFilter New state of the Analog filter. 94:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** * @retval HAL status 95:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** */ 96:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** HAL_StatusTypeDef HAL_I2CEx_ConfigAnalogFilter(I2C_HandleTypeDef *hi2c, uint32_t AnalogFilter) 97:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** { 36 .loc 1 97 1 view -0 37 .cfi_startproc 38 @ args = 0, pretend = 0, frame = 0 39 @ frame_needed = 0, uses_anonymous_args = 0 98:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** /* Check the parameters */ 99:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** assert_param(IS_I2C_ALL_INSTANCE(hi2c->Instance)); 40 .loc 1 99 3 view .LVU1 97:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** /* Check the parameters */ 41 .loc 1 97 1 is_stmt 0 view .LVU2 42 0000 38B5 push {r3, r4, r5, lr} 43 .LCFI0: 44 .cfi_def_cfa_offset 16 45 .cfi_offset 3, -16 46 .cfi_offset 4, -12 47 .cfi_offset 5, -8 48 .cfi_offset 14, -4 49 .loc 1 99 3 view .LVU3 50 0002 1D4A ldr r2, .L12 51 0004 0368 ldr r3, [r0] 52 0006 9342 cmp r3, r2 97:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** /* Check the parameters */ 53 .loc 1 97 1 view .LVU4 54 0008 0446 mov r4, r0 55 000a 0D46 mov r5, r1 56 .loc 1 99 3 view .LVU5 57 000c 07D0 beq .L2 58 .loc 1 99 3 discriminator 1 view .LVU6 59 000e 02F58062 add r2, r2, #1024 60 0012 9342 cmp r3, r2 61 0014 03D0 beq .L2 62 .loc 1 99 3 discriminator 2 view .LVU7 63 0016 1948 ldr r0, .L12+4 64 .LVL1: 65 .loc 1 99 3 discriminator 2 view .LVU8 66 0018 6321 movs r1, #99 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccHg2MhS.s page 4 67 .LVL2: 68 .loc 1 99 3 discriminator 2 view .LVU9 69 001a FFF7FEFF bl assert_failed 70 .LVL3: 71 .L2: 100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** assert_param(IS_I2C_ANALOG_FILTER(AnalogFilter)); 72 .loc 1 100 3 is_stmt 1 view .LVU10 73 001e 35F48053 bics r3, r5, #4096 74 0022 03D0 beq .L3 75 .loc 1 100 3 is_stmt 0 discriminator 2 view .LVU11 76 0024 1548 ldr r0, .L12+4 77 0026 6421 movs r1, #100 78 0028 FFF7FEFF bl assert_failed 79 .LVL4: 80 .L3: 101:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** 102:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** if (hi2c->State == HAL_I2C_STATE_READY) 81 .loc 1 102 3 is_stmt 1 view .LVU12 82 .loc 1 102 11 is_stmt 0 view .LVU13 83 002c 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2 84 .loc 1 102 6 view .LVU14 85 0030 202B cmp r3, #32 86 .loc 1 102 11 view .LVU15 87 0032 5FFA83FC uxtb ip, r3 88 .loc 1 102 6 view .LVU16 89 0036 1DD1 bne .L6 103:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** { 104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** /* Process Locked */ 105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** __HAL_LOCK(hi2c); 90 .loc 1 105 5 is_stmt 1 view .LVU17 91 .loc 1 105 5 view .LVU18 92 0038 94F84030 ldrb r3, [r4, #64] @ zero_extendqisi2 93 003c 012B cmp r3, #1 94 003e 19D0 beq .L6 95 .loc 1 105 5 discriminator 2 view .LVU19 96 .loc 1 105 5 discriminator 2 view .LVU20 106:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** 107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** hi2c->State = HAL_I2C_STATE_BUSY; 97 .loc 1 107 5 discriminator 2 view .LVU21 108:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** 109:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** /* Disable the selected I2C peripheral */ 110:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** __HAL_I2C_DISABLE(hi2c); 98 .loc 1 110 5 is_stmt 0 discriminator 2 view .LVU22 99 0040 2368 ldr r3, [r4] 107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** 100 .loc 1 107 17 discriminator 2 view .LVU23 101 0042 2422 movs r2, #36 102 0044 84F84120 strb r2, [r4, #65] 103 .loc 1 110 5 is_stmt 1 discriminator 2 view .LVU24 104 0048 1A68 ldr r2, [r3] 105 004a 22F00102 bic r2, r2, #1 106 004e 1A60 str r2, [r3] 111:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** 112:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** /* Reset I2Cx ANOFF bit */ 113:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** hi2c->Instance->CR1 &= ~(I2C_CR1_ANFOFF); 107 .loc 1 113 5 discriminator 2 view .LVU25 108 .loc 1 113 25 is_stmt 0 discriminator 2 view .LVU26 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccHg2MhS.s page 5 109 0050 1A68 ldr r2, [r3] 110 0052 22F48052 bic r2, r2, #4096 111 0056 1A60 str r2, [r3] 114:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** 115:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** /* Set analog filter bit*/ 116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** hi2c->Instance->CR1 |= AnalogFilter; 112 .loc 1 116 5 is_stmt 1 discriminator 2 view .LVU27 113 .loc 1 116 25 is_stmt 0 discriminator 2 view .LVU28 114 0058 1968 ldr r1, [r3] 115 005a 0D43 orrs r5, r5, r1 116 .LVL5: 117 .loc 1 116 25 discriminator 2 view .LVU29 118 005c 1D60 str r5, [r3] 117:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** 118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** __HAL_I2C_ENABLE(hi2c); 119 .loc 1 118 5 is_stmt 1 discriminator 2 view .LVU30 120 005e 1A68 ldr r2, [r3] 119:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** 120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** hi2c->State = HAL_I2C_STATE_READY; 121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** 122:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** /* Process Unlocked */ 123:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** __HAL_UNLOCK(hi2c); 121 .loc 1 123 5 is_stmt 0 discriminator 2 view .LVU31 122 0060 0021 movs r1, #0 118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** 123 .loc 1 118 5 discriminator 2 view .LVU32 124 0062 42F00102 orr r2, r2, #1 125 0066 1A60 str r2, [r3] 120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** 126 .loc 1 120 5 is_stmt 1 discriminator 2 view .LVU33 120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** 127 .loc 1 120 17 is_stmt 0 discriminator 2 view .LVU34 128 0068 84F841C0 strb ip, [r4, #65] 129 .loc 1 123 5 is_stmt 1 discriminator 2 view .LVU35 130 .loc 1 123 5 discriminator 2 view .LVU36 131 006c 84F84010 strb r1, [r4, #64] 132 .loc 1 123 5 discriminator 2 view .LVU37 124:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** 125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** return HAL_OK; 133 .loc 1 125 5 discriminator 2 view .LVU38 134 .loc 1 125 12 is_stmt 0 discriminator 2 view .LVU39 135 0070 0846 mov r0, r1 126:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** } 127:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** else 128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** { 129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** return HAL_BUSY; 130:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** } 131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** } 136 .loc 1 131 1 discriminator 2 view .LVU40 137 0072 38BD pop {r3, r4, r5, pc} 138 .LVL6: 139 .L6: 129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** } 140 .loc 1 129 12 view .LVU41 141 0074 0220 movs r0, #2 142 .loc 1 131 1 view .LVU42 143 0076 38BD pop {r3, r4, r5, pc} ARM GAS C:\Users\zl835\AppData\Local\Temp\ccHg2MhS.s page 6 144 .LVL7: 145 .L13: 146 .loc 1 131 1 view .LVU43 147 .align 2 148 .L12: 149 0078 00540040 .word 1073763328 150 007c 00000000 .word .LC0 151 .cfi_endproc 152 .LFE130: 154 .section .text.HAL_I2CEx_ConfigDigitalFilter,"ax",%progbits 155 .align 1 156 .p2align 2,,3 157 .global HAL_I2CEx_ConfigDigitalFilter 158 .syntax unified 159 .thumb 160 .thumb_func 162 HAL_I2CEx_ConfigDigitalFilter: 163 .LVL8: 164 .LFB131: 132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** 133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** /** 134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** * @brief Configure I2C Digital noise filter. 135:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 136:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** * the configuration information for the specified I2Cx peripheral. 137:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** * @param DigitalFilter Coefficient of digital noise filter between Min_Data=0x00 and Max_Data=0x 138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** * @retval HAL status 139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** */ 140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** HAL_StatusTypeDef HAL_I2CEx_ConfigDigitalFilter(I2C_HandleTypeDef *hi2c, uint32_t DigitalFilter) 141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** { 165 .loc 1 141 1 is_stmt 1 view -0 166 .cfi_startproc 167 @ args = 0, pretend = 0, frame = 0 168 @ frame_needed = 0, uses_anonymous_args = 0 142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** uint32_t tmpreg; 169 .loc 1 142 3 view .LVU45 143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** 144:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** /* Check the parameters */ 145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** assert_param(IS_I2C_ALL_INSTANCE(hi2c->Instance)); 170 .loc 1 145 3 view .LVU46 141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** uint32_t tmpreg; 171 .loc 1 141 1 is_stmt 0 view .LVU47 172 0000 38B5 push {r3, r4, r5, lr} 173 .LCFI1: 174 .cfi_def_cfa_offset 16 175 .cfi_offset 3, -16 176 .cfi_offset 4, -12 177 .cfi_offset 5, -8 178 .cfi_offset 14, -4 179 .loc 1 145 3 view .LVU48 180 0002 1D4A ldr r2, .L22 181 0004 0368 ldr r3, [r0] 182 0006 9342 cmp r3, r2 141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** uint32_t tmpreg; 183 .loc 1 141 1 view .LVU49 184 0008 0446 mov r4, r0 185 000a 0D46 mov r5, r1 186 .loc 1 145 3 view .LVU50 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccHg2MhS.s page 7 187 000c 07D0 beq .L15 188 .loc 1 145 3 discriminator 1 view .LVU51 189 000e 02F58062 add r2, r2, #1024 190 0012 9342 cmp r3, r2 191 0014 03D0 beq .L15 192 .loc 1 145 3 discriminator 2 view .LVU52 193 0016 1948 ldr r0, .L22+4 194 .LVL9: 195 .loc 1 145 3 discriminator 2 view .LVU53 196 0018 9121 movs r1, #145 197 .LVL10: 198 .loc 1 145 3 discriminator 2 view .LVU54 199 001a FFF7FEFF bl assert_failed 200 .LVL11: 201 .L15: 146:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** assert_param(IS_I2C_DIGITAL_FILTER(DigitalFilter)); 202 .loc 1 146 3 is_stmt 1 view .LVU55 203 001e 0F2D cmp r5, #15 204 0020 24D8 bhi .L21 205 .L16: 147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** 148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** if (hi2c->State == HAL_I2C_STATE_READY) 206 .loc 1 148 3 view .LVU56 207 .loc 1 148 11 is_stmt 0 view .LVU57 208 0022 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2 209 .loc 1 148 6 view .LVU58 210 0026 202B cmp r3, #32 211 .loc 1 148 11 view .LVU59 212 0028 5FFA83FC uxtb ip, r3 213 .loc 1 148 6 view .LVU60 214 002c 1CD1 bne .L19 149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** { 150:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** /* Process Locked */ 151:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** __HAL_LOCK(hi2c); 215 .loc 1 151 5 is_stmt 1 view .LVU61 216 .loc 1 151 5 view .LVU62 217 002e 94F84030 ldrb r3, [r4, #64] @ zero_extendqisi2 218 0032 012B cmp r3, #1 219 0034 18D0 beq .L19 220 .loc 1 151 5 discriminator 2 view .LVU63 221 .loc 1 151 5 discriminator 2 view .LVU64 152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** 153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** hi2c->State = HAL_I2C_STATE_BUSY; 222 .loc 1 153 5 discriminator 2 view .LVU65 154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** 155:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** /* Disable the selected I2C peripheral */ 156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** __HAL_I2C_DISABLE(hi2c); 223 .loc 1 156 5 is_stmt 0 discriminator 2 view .LVU66 224 0036 2368 ldr r3, [r4] 153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** 225 .loc 1 153 17 discriminator 2 view .LVU67 226 0038 2422 movs r2, #36 227 003a 84F84120 strb r2, [r4, #65] 228 .loc 1 156 5 is_stmt 1 discriminator 2 view .LVU68 229 003e 1A68 ldr r2, [r3] 230 0040 22F00102 bic r2, r2, #1 231 0044 1A60 str r2, [r3] ARM GAS C:\Users\zl835\AppData\Local\Temp\ccHg2MhS.s page 8 157:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** 158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** /* Get the old register value */ 159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** tmpreg = hi2c->Instance->CR1; 232 .loc 1 159 5 discriminator 2 view .LVU69 233 .loc 1 159 12 is_stmt 0 discriminator 2 view .LVU70 234 0046 1968 ldr r1, [r3] 235 .LVL12: 160:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** 161:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** /* Reset I2Cx DNF bits [11:8] */ 162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** tmpreg &= ~(I2C_CR1_DNF); 236 .loc 1 162 5 is_stmt 1 discriminator 2 view .LVU71 237 .loc 1 162 12 is_stmt 0 discriminator 2 view .LVU72 238 0048 21F47061 bic r1, r1, #3840 239 .LVL13: 163:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** 164:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** /* Set I2Cx DNF coefficient */ 165:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** tmpreg |= DigitalFilter << 8U; 240 .loc 1 165 5 is_stmt 1 discriminator 2 view .LVU73 241 .loc 1 165 12 is_stmt 0 discriminator 2 view .LVU74 242 004c 41EA0525 orr r5, r1, r5, lsl #8 243 .LVL14: 166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** 167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** /* Store the new register value */ 168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** hi2c->Instance->CR1 = tmpreg; 244 .loc 1 168 5 is_stmt 1 discriminator 2 view .LVU75 245 .loc 1 168 25 is_stmt 0 discriminator 2 view .LVU76 246 0050 1D60 str r5, [r3] 169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** 170:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** __HAL_I2C_ENABLE(hi2c); 247 .loc 1 170 5 is_stmt 1 discriminator 2 view .LVU77 248 0052 1A68 ldr r2, [r3] 171:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** 172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** hi2c->State = HAL_I2C_STATE_READY; 173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** 174:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** /* Process Unlocked */ 175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** __HAL_UNLOCK(hi2c); 249 .loc 1 175 5 is_stmt 0 discriminator 2 view .LVU78 250 0054 0021 movs r1, #0 170:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** 251 .loc 1 170 5 discriminator 2 view .LVU79 252 0056 42F00102 orr r2, r2, #1 253 005a 1A60 str r2, [r3] 172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** 254 .loc 1 172 5 is_stmt 1 discriminator 2 view .LVU80 172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** 255 .loc 1 172 17 is_stmt 0 discriminator 2 view .LVU81 256 005c 84F841C0 strb ip, [r4, #65] 257 .loc 1 175 5 is_stmt 1 discriminator 2 view .LVU82 258 .loc 1 175 5 discriminator 2 view .LVU83 259 0060 84F84010 strb r1, [r4, #64] 260 .loc 1 175 5 discriminator 2 view .LVU84 176:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** 177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** return HAL_OK; 261 .loc 1 177 5 discriminator 2 view .LVU85 262 .loc 1 177 12 is_stmt 0 discriminator 2 view .LVU86 263 0064 0846 mov r0, r1 178:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** } ARM GAS C:\Users\zl835\AppData\Local\Temp\ccHg2MhS.s page 9 179:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** else 180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** { 181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** return HAL_BUSY; 182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** } 183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** } 264 .loc 1 183 1 discriminator 2 view .LVU87 265 0066 38BD pop {r3, r4, r5, pc} 266 .LVL15: 267 .L19: 181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** } 268 .loc 1 181 12 view .LVU88 269 0068 0220 movs r0, #2 270 .loc 1 183 1 view .LVU89 271 006a 38BD pop {r3, r4, r5, pc} 272 .LVL16: 273 .L21: 146:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** 274 .loc 1 146 3 discriminator 1 view .LVU90 275 006c 0348 ldr r0, .L22+4 276 006e 9221 movs r1, #146 277 0070 FFF7FEFF bl assert_failed 278 .LVL17: 279 0074 D5E7 b .L16 280 .L23: 281 0076 00BF .align 2 282 .L22: 283 0078 00540040 .word 1073763328 284 007c 00000000 .word .LC0 285 .cfi_endproc 286 .LFE131: 288 .section .text.HAL_I2CEx_EnableWakeUp,"ax",%progbits 289 .align 1 290 .p2align 2,,3 291 .global HAL_I2CEx_EnableWakeUp 292 .syntax unified 293 .thumb 294 .thumb_func 296 HAL_I2CEx_EnableWakeUp: 297 .LVL18: 298 .LFB132: 184:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** /** 185:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** * @} 186:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** */ 187:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** 188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** /** @defgroup I2CEx_Exported_Functions_Group2 WakeUp Mode Functions 189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** * @brief WakeUp Mode Functions 190:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** * 191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** @verbatim 192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** =============================================================================== 193:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** ##### WakeUp Mode Functions ##### 194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** =============================================================================== 195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** [..] This section provides functions allowing to: 196:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** (+) Configure Wake Up Feature 197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** 198:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** @endverbatim 199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** * @{ 200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** */ ARM GAS C:\Users\zl835\AppData\Local\Temp\ccHg2MhS.s page 10 201:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** 202:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** /** 203:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** * @brief Enable I2C wakeup from Stop mode(s). 204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 205:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** * the configuration information for the specified I2Cx peripheral. 206:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** * @retval HAL status 207:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** */ 208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** HAL_StatusTypeDef HAL_I2CEx_EnableWakeUp(I2C_HandleTypeDef *hi2c) 209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** { 299 .loc 1 209 1 is_stmt 1 view -0 300 .cfi_startproc 301 @ args = 0, pretend = 0, frame = 0 302 @ frame_needed = 0, uses_anonymous_args = 0 210:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** /* Check the parameters */ 211:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** assert_param(IS_I2C_WAKEUP_FROMSTOP_INSTANCE(hi2c->Instance)); 303 .loc 1 211 3 view .LVU92 304 0000 184A ldr r2, .L30 305 0002 0368 ldr r3, [r0] 306 0004 9342 cmp r3, r2 209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** /* Check the parameters */ 307 .loc 1 209 1 is_stmt 0 view .LVU93 308 0006 10B5 push {r4, lr} 309 .LCFI2: 310 .cfi_def_cfa_offset 8 311 .cfi_offset 4, -8 312 .cfi_offset 14, -4 209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** /* Check the parameters */ 313 .loc 1 209 1 view .LVU94 314 0008 0446 mov r4, r0 315 .loc 1 211 3 view .LVU95 316 000a 07D0 beq .L25 317 .loc 1 211 3 discriminator 1 view .LVU96 318 000c 02F58062 add r2, r2, #1024 319 0010 9342 cmp r3, r2 320 0012 03D0 beq .L25 321 .loc 1 211 3 discriminator 2 view .LVU97 322 0014 1448 ldr r0, .L30+4 323 .LVL19: 324 .loc 1 211 3 discriminator 2 view .LVU98 325 0016 D321 movs r1, #211 326 0018 FFF7FEFF bl assert_failed 327 .LVL20: 328 .L25: 212:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** 213:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** if (hi2c->State == HAL_I2C_STATE_READY) 329 .loc 1 213 3 is_stmt 1 view .LVU99 330 .loc 1 213 11 is_stmt 0 view .LVU100 331 001c 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2 332 .loc 1 213 6 view .LVU101 333 0020 202B cmp r3, #32 334 .loc 1 213 11 view .LVU102 335 0022 5FFA83FC uxtb ip, r3 336 .loc 1 213 6 view .LVU103 337 0026 1AD1 bne .L28 214:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** { 215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** /* Process Locked */ 216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** __HAL_LOCK(hi2c); ARM GAS C:\Users\zl835\AppData\Local\Temp\ccHg2MhS.s page 11 338 .loc 1 216 5 is_stmt 1 view .LVU104 339 .loc 1 216 5 view .LVU105 340 0028 94F84030 ldrb r3, [r4, #64] @ zero_extendqisi2 341 002c 012B cmp r3, #1 342 002e 16D0 beq .L28 343 .loc 1 216 5 discriminator 2 view .LVU106 344 .loc 1 216 5 discriminator 2 view .LVU107 217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** 218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** hi2c->State = HAL_I2C_STATE_BUSY; 345 .loc 1 218 5 discriminator 2 view .LVU108 219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** 220:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** /* Disable the selected I2C peripheral */ 221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** __HAL_I2C_DISABLE(hi2c); 346 .loc 1 221 5 is_stmt 0 discriminator 2 view .LVU109 347 0030 2368 ldr r3, [r4] 218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** 348 .loc 1 218 17 discriminator 2 view .LVU110 349 0032 2422 movs r2, #36 350 0034 84F84120 strb r2, [r4, #65] 351 .loc 1 221 5 is_stmt 1 discriminator 2 view .LVU111 352 0038 1A68 ldr r2, [r3] 353 003a 22F00102 bic r2, r2, #1 354 003e 1A60 str r2, [r3] 222:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** 223:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** /* Enable wakeup from stop mode */ 224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** hi2c->Instance->CR1 |= I2C_CR1_WUPEN; 355 .loc 1 224 5 discriminator 2 view .LVU112 356 .loc 1 224 25 is_stmt 0 discriminator 2 view .LVU113 357 0040 1A68 ldr r2, [r3] 358 0042 42F48022 orr r2, r2, #262144 359 0046 1A60 str r2, [r3] 225:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** 226:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** __HAL_I2C_ENABLE(hi2c); 360 .loc 1 226 5 is_stmt 1 discriminator 2 view .LVU114 361 0048 1A68 ldr r2, [r3] 227:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** 228:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** hi2c->State = HAL_I2C_STATE_READY; 229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** 230:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** /* Process Unlocked */ 231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** __HAL_UNLOCK(hi2c); 362 .loc 1 231 5 is_stmt 0 discriminator 2 view .LVU115 363 004a 0021 movs r1, #0 226:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** 364 .loc 1 226 5 discriminator 2 view .LVU116 365 004c 42F00102 orr r2, r2, #1 366 0050 1A60 str r2, [r3] 228:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** 367 .loc 1 228 5 is_stmt 1 discriminator 2 view .LVU117 228:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** 368 .loc 1 228 17 is_stmt 0 discriminator 2 view .LVU118 369 0052 84F841C0 strb ip, [r4, #65] 370 .loc 1 231 5 is_stmt 1 discriminator 2 view .LVU119 371 .loc 1 231 5 discriminator 2 view .LVU120 372 0056 84F84010 strb r1, [r4, #64] 373 .loc 1 231 5 discriminator 2 view .LVU121 232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** 233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** return HAL_OK; ARM GAS C:\Users\zl835\AppData\Local\Temp\ccHg2MhS.s page 12 374 .loc 1 233 5 discriminator 2 view .LVU122 375 .loc 1 233 12 is_stmt 0 discriminator 2 view .LVU123 376 005a 0846 mov r0, r1 234:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** } 235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** else 236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** { 237:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** return HAL_BUSY; 238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** } 239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** } 377 .loc 1 239 1 discriminator 2 view .LVU124 378 005c 10BD pop {r4, pc} 379 .LVL21: 380 .L28: 237:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** } 381 .loc 1 237 12 view .LVU125 382 005e 0220 movs r0, #2 383 .loc 1 239 1 view .LVU126 384 0060 10BD pop {r4, pc} 385 .LVL22: 386 .L31: 387 .loc 1 239 1 view .LVU127 388 0062 00BF .align 2 389 .L30: 390 0064 00540040 .word 1073763328 391 0068 00000000 .word .LC0 392 .cfi_endproc 393 .LFE132: 395 .section .text.HAL_I2CEx_DisableWakeUp,"ax",%progbits 396 .align 1 397 .p2align 2,,3 398 .global HAL_I2CEx_DisableWakeUp 399 .syntax unified 400 .thumb 401 .thumb_func 403 HAL_I2CEx_DisableWakeUp: 404 .LVL23: 405 .LFB133: 240:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** 241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** /** 242:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** * @brief Disable I2C wakeup from Stop mode(s). 243:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** * the configuration information for the specified I2Cx peripheral. 245:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** * @retval HAL status 246:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** */ 247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** HAL_StatusTypeDef HAL_I2CEx_DisableWakeUp(I2C_HandleTypeDef *hi2c) 248:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** { 406 .loc 1 248 1 is_stmt 1 view -0 407 .cfi_startproc 408 @ args = 0, pretend = 0, frame = 0 409 @ frame_needed = 0, uses_anonymous_args = 0 249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** /* Check the parameters */ 250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** assert_param(IS_I2C_WAKEUP_FROMSTOP_INSTANCE(hi2c->Instance)); 410 .loc 1 250 3 view .LVU129 411 0000 184A ldr r2, .L38 412 0002 0368 ldr r3, [r0] 413 0004 9342 cmp r3, r2 248:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** /* Check the parameters */ ARM GAS C:\Users\zl835\AppData\Local\Temp\ccHg2MhS.s page 13 414 .loc 1 248 1 is_stmt 0 view .LVU130 415 0006 10B5 push {r4, lr} 416 .LCFI3: 417 .cfi_def_cfa_offset 8 418 .cfi_offset 4, -8 419 .cfi_offset 14, -4 248:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** /* Check the parameters */ 420 .loc 1 248 1 view .LVU131 421 0008 0446 mov r4, r0 422 .loc 1 250 3 view .LVU132 423 000a 07D0 beq .L33 424 .loc 1 250 3 discriminator 1 view .LVU133 425 000c 02F58062 add r2, r2, #1024 426 0010 9342 cmp r3, r2 427 0012 03D0 beq .L33 428 .loc 1 250 3 discriminator 2 view .LVU134 429 0014 1448 ldr r0, .L38+4 430 .LVL24: 431 .loc 1 250 3 discriminator 2 view .LVU135 432 0016 FA21 movs r1, #250 433 0018 FFF7FEFF bl assert_failed 434 .LVL25: 435 .L33: 251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** 252:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** if (hi2c->State == HAL_I2C_STATE_READY) 436 .loc 1 252 3 is_stmt 1 view .LVU136 437 .loc 1 252 11 is_stmt 0 view .LVU137 438 001c 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2 439 .loc 1 252 6 view .LVU138 440 0020 202B cmp r3, #32 441 .loc 1 252 11 view .LVU139 442 0022 5FFA83FC uxtb ip, r3 443 .loc 1 252 6 view .LVU140 444 0026 1AD1 bne .L36 253:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** { 254:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** /* Process Locked */ 255:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** __HAL_LOCK(hi2c); 445 .loc 1 255 5 is_stmt 1 view .LVU141 446 .loc 1 255 5 view .LVU142 447 0028 94F84030 ldrb r3, [r4, #64] @ zero_extendqisi2 448 002c 012B cmp r3, #1 449 002e 16D0 beq .L36 450 .loc 1 255 5 discriminator 2 view .LVU143 451 .loc 1 255 5 discriminator 2 view .LVU144 256:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** 257:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** hi2c->State = HAL_I2C_STATE_BUSY; 452 .loc 1 257 5 discriminator 2 view .LVU145 258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** 259:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** /* Disable the selected I2C peripheral */ 260:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** __HAL_I2C_DISABLE(hi2c); 453 .loc 1 260 5 is_stmt 0 discriminator 2 view .LVU146 454 0030 2368 ldr r3, [r4] 257:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** 455 .loc 1 257 17 discriminator 2 view .LVU147 456 0032 2422 movs r2, #36 457 0034 84F84120 strb r2, [r4, #65] 458 .loc 1 260 5 is_stmt 1 discriminator 2 view .LVU148 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccHg2MhS.s page 14 459 0038 1A68 ldr r2, [r3] 460 003a 22F00102 bic r2, r2, #1 461 003e 1A60 str r2, [r3] 261:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** 262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** /* Enable wakeup from stop mode */ 263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** hi2c->Instance->CR1 &= ~(I2C_CR1_WUPEN); 462 .loc 1 263 5 discriminator 2 view .LVU149 463 .loc 1 263 25 is_stmt 0 discriminator 2 view .LVU150 464 0040 1A68 ldr r2, [r3] 465 0042 22F48022 bic r2, r2, #262144 466 0046 1A60 str r2, [r3] 264:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** 265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** __HAL_I2C_ENABLE(hi2c); 467 .loc 1 265 5 is_stmt 1 discriminator 2 view .LVU151 468 0048 1A68 ldr r2, [r3] 266:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** 267:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** hi2c->State = HAL_I2C_STATE_READY; 268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** 269:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** /* Process Unlocked */ 270:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** __HAL_UNLOCK(hi2c); 469 .loc 1 270 5 is_stmt 0 discriminator 2 view .LVU152 470 004a 0021 movs r1, #0 265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** 471 .loc 1 265 5 discriminator 2 view .LVU153 472 004c 42F00102 orr r2, r2, #1 473 0050 1A60 str r2, [r3] 267:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** 474 .loc 1 267 5 is_stmt 1 discriminator 2 view .LVU154 267:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** 475 .loc 1 267 17 is_stmt 0 discriminator 2 view .LVU155 476 0052 84F841C0 strb ip, [r4, #65] 477 .loc 1 270 5 is_stmt 1 discriminator 2 view .LVU156 478 .loc 1 270 5 discriminator 2 view .LVU157 479 0056 84F84010 strb r1, [r4, #64] 480 .loc 1 270 5 discriminator 2 view .LVU158 271:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** 272:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** return HAL_OK; 481 .loc 1 272 5 discriminator 2 view .LVU159 482 .loc 1 272 12 is_stmt 0 discriminator 2 view .LVU160 483 005a 0846 mov r0, r1 273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** } 274:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** else 275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** { 276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** return HAL_BUSY; 277:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** } 278:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** } 484 .loc 1 278 1 discriminator 2 view .LVU161 485 005c 10BD pop {r4, pc} 486 .LVL26: 487 .L36: 276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** } 488 .loc 1 276 12 view .LVU162 489 005e 0220 movs r0, #2 490 .loc 1 278 1 view .LVU163 491 0060 10BD pop {r4, pc} 492 .LVL27: 493 .L39: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccHg2MhS.s page 15 494 .loc 1 278 1 view .LVU164 495 0062 00BF .align 2 496 .L38: 497 0064 00540040 .word 1073763328 498 0068 00000000 .word .LC0 499 .cfi_endproc 500 .LFE133: 502 .section .text.HAL_I2CEx_EnableFastModePlus,"ax",%progbits 503 .align 1 504 .p2align 2,,3 505 .global HAL_I2CEx_EnableFastModePlus 506 .syntax unified 507 .thumb 508 .thumb_func 510 HAL_I2CEx_EnableFastModePlus: 511 .LVL28: 512 .LFB134: 279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** /** 280:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** * @} 281:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** */ 282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** 283:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** /** @defgroup I2CEx_Exported_Functions_Group3 Fast Mode Plus Functions 284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** * @brief Fast Mode Plus Functions 285:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** * 286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** @verbatim 287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** =============================================================================== 288:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** ##### Fast Mode Plus Functions ##### 289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** =============================================================================== 290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** [..] This section provides functions allowing to: 291:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** (+) Configure Fast Mode Plus 292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** 293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** @endverbatim 294:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** * @{ 295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** */ 296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** 297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** /** 298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** * @brief Enable the I2C fast mode plus driving capability. 299:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** * @param ConfigFastModePlus Selects the pin. 300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** * This parameter can be one of the @ref I2CEx_FastModePlus values 301:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** * @note For I2C1, fast mode plus driving capability can be enabled on all selected 302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** * I2C1 pins using I2C_FASTMODEPLUS_I2C1 parameter or independently 303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** * on each one of the following pins PB6, PB7, PB8 and PB9. 304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** * @note For remaining I2C1 pins (PA14, PA15...) fast mode plus driving capability 305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** * can be enabled only by using I2C_FASTMODEPLUS_I2C1 parameter. 306:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** * @note For all I2C2 pins fast mode plus driving capability can be enabled 307:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** * only by using I2C_FASTMODEPLUS_I2C2 parameter. 308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** * @note For all I2C3 pins fast mode plus driving capability can be enabled 309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** * only by using I2C_FASTMODEPLUS_I2C3 parameter. 310:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** * @retval None 311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** */ 312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** void HAL_I2CEx_EnableFastModePlus(uint32_t ConfigFastModePlus) 313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** { 513 .loc 1 313 1 is_stmt 1 view -0 514 .cfi_startproc 515 @ args = 0, pretend = 0, frame = 8 516 @ frame_needed = 0, uses_anonymous_args = 0 314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** /* Check the parameter */ ARM GAS C:\Users\zl835\AppData\Local\Temp\ccHg2MhS.s page 16 315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** assert_param(IS_I2C_FASTMODEPLUS(ConfigFastModePlus)); 517 .loc 1 315 3 view .LVU166 313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** /* Check the parameter */ 518 .loc 1 313 1 is_stmt 0 view .LVU167 519 0000 10B5 push {r4, lr} 520 .LCFI4: 521 .cfi_def_cfa_offset 8 522 .cfi_offset 4, -8 523 .cfi_offset 14, -4 524 .loc 1 315 3 view .LVU168 525 0002 104B ldr r3, .L44 526 0004 8343 bics r3, r3, r0 313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** /* Check the parameter */ 527 .loc 1 313 1 view .LVU169 528 0006 82B0 sub sp, sp, #8 529 .LCFI5: 530 .cfi_def_cfa_offset 16 313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** /* Check the parameter */ 531 .loc 1 313 1 view .LVU170 532 0008 0446 mov r4, r0 533 .loc 1 315 3 view .LVU171 534 000a 05D0 beq .L41 535 .loc 1 315 3 discriminator 2 view .LVU172 536 000c 10F47C1F tst r0, #4128768 537 0010 07D1 bne .L42 538 .loc 1 315 3 discriminator 3 view .LVU173 539 0012 0D4B ldr r3, .L44+4 540 0014 8343 bics r3, r3, r0 541 0016 04D0 beq .L42 542 .L41: 543 .loc 1 315 3 discriminator 4 view .LVU174 544 0018 0C48 ldr r0, .L44+8 545 .LVL29: 546 .loc 1 315 3 discriminator 4 view .LVU175 547 001a 40F23B11 movw r1, #315 548 001e FFF7FEFF bl assert_failed 549 .LVL30: 550 .L42: 316:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** 317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** /* Enable SYSCFG clock */ 318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** __HAL_RCC_SYSCFG_CLK_ENABLE(); 551 .loc 1 318 3 is_stmt 1 view .LVU176 552 .LBB2: 553 .loc 1 318 3 view .LVU177 554 .loc 1 318 3 view .LVU178 555 0022 0B4B ldr r3, .L44+12 556 .LBE2: 319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** 320:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** /* Enable fast mode plus driving capability for selected pin */ 321:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** SET_BIT(SYSCFG->CFGR1, (uint32_t)ConfigFastModePlus); 557 .loc 1 321 3 is_stmt 0 view .LVU179 558 0024 0B49 ldr r1, .L44+16 559 .LBB3: 318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** 560 .loc 1 318 3 view .LVU180 561 0026 9A69 ldr r2, [r3, #24] 562 0028 42F00102 orr r2, r2, #1 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccHg2MhS.s page 17 563 002c 9A61 str r2, [r3, #24] 318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** 564 .loc 1 318 3 is_stmt 1 view .LVU181 565 002e 9B69 ldr r3, [r3, #24] 566 0030 03F00103 and r3, r3, #1 567 0034 0193 str r3, [sp, #4] 318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** 568 .loc 1 318 3 view .LVU182 569 0036 019B ldr r3, [sp, #4] 570 .LBE3: 318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** 571 .loc 1 318 3 view .LVU183 572 .loc 1 321 3 view .LVU184 573 0038 0868 ldr r0, [r1] 574 003a 0443 orrs r4, r4, r0 575 .LVL31: 576 .loc 1 321 3 is_stmt 0 view .LVU185 577 003c 0C60 str r4, [r1] 322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** } 578 .loc 1 322 1 view .LVU186 579 003e 02B0 add sp, sp, #8 580 .LCFI6: 581 .cfi_def_cfa_offset 8 582 @ sp needed 583 0040 10BD pop {r4, pc} 584 .L45: 585 0042 00BF .align 2 586 .L44: 587 0044 0000AAAA .word -1431699456 588 0048 0004AAAA .word -1431698432 589 004c 00000000 .word .LC0 590 0050 00100240 .word 1073876992 591 0054 00000140 .word 1073807360 592 .cfi_endproc 593 .LFE134: 595 .section .text.HAL_I2CEx_DisableFastModePlus,"ax",%progbits 596 .align 1 597 .p2align 2,,3 598 .global HAL_I2CEx_DisableFastModePlus 599 .syntax unified 600 .thumb 601 .thumb_func 603 HAL_I2CEx_DisableFastModePlus: 604 .LVL32: 605 .LFB135: 323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** 324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** /** 325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** * @brief Disable the I2C fast mode plus driving capability. 326:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** * @param ConfigFastModePlus Selects the pin. 327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** * This parameter can be one of the @ref I2CEx_FastModePlus values 328:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** * @note For I2C1, fast mode plus driving capability can be disabled on all selected 329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** * I2C1 pins using I2C_FASTMODEPLUS_I2C1 parameter or independently 330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** * on each one of the following pins PB6, PB7, PB8 and PB9. 331:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** * @note For remaining I2C1 pins (PA14, PA15...) fast mode plus driving capability 332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** * can be disabled only by using I2C_FASTMODEPLUS_I2C1 parameter. 333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** * @note For all I2C2 pins fast mode plus driving capability can be disabled 334:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** * only by using I2C_FASTMODEPLUS_I2C2 parameter. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccHg2MhS.s page 18 335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** * @note For all I2C3 pins fast mode plus driving capability can be disabled 336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** * only by using I2C_FASTMODEPLUS_I2C3 parameter. 337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** * @retval None 338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** */ 339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** void HAL_I2CEx_DisableFastModePlus(uint32_t ConfigFastModePlus) 340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** { 606 .loc 1 340 1 is_stmt 1 view -0 607 .cfi_startproc 608 @ args = 0, pretend = 0, frame = 8 609 @ frame_needed = 0, uses_anonymous_args = 0 341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** /* Check the parameter */ 342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** assert_param(IS_I2C_FASTMODEPLUS(ConfigFastModePlus)); 610 .loc 1 342 3 view .LVU188 340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** /* Check the parameter */ 611 .loc 1 340 1 is_stmt 0 view .LVU189 612 0000 10B5 push {r4, lr} 613 .LCFI7: 614 .cfi_def_cfa_offset 8 615 .cfi_offset 4, -8 616 .cfi_offset 14, -4 617 .loc 1 342 3 view .LVU190 618 0002 104B ldr r3, .L50 619 0004 8343 bics r3, r3, r0 340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** /* Check the parameter */ 620 .loc 1 340 1 view .LVU191 621 0006 82B0 sub sp, sp, #8 622 .LCFI8: 623 .cfi_def_cfa_offset 16 340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** /* Check the parameter */ 624 .loc 1 340 1 view .LVU192 625 0008 0446 mov r4, r0 626 .loc 1 342 3 view .LVU193 627 000a 05D0 beq .L47 628 .loc 1 342 3 discriminator 2 view .LVU194 629 000c 10F47C1F tst r0, #4128768 630 0010 07D1 bne .L48 631 .loc 1 342 3 discriminator 3 view .LVU195 632 0012 0D4B ldr r3, .L50+4 633 0014 8343 bics r3, r3, r0 634 0016 04D0 beq .L48 635 .L47: 636 .loc 1 342 3 discriminator 4 view .LVU196 637 0018 0C48 ldr r0, .L50+8 638 .LVL33: 639 .loc 1 342 3 discriminator 4 view .LVU197 640 001a 4FF4AB71 mov r1, #342 641 001e FFF7FEFF bl assert_failed 642 .LVL34: 643 .L48: 343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** 344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** /* Enable SYSCFG clock */ 345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** __HAL_RCC_SYSCFG_CLK_ENABLE(); 644 .loc 1 345 3 is_stmt 1 view .LVU198 645 .LBB4: 646 .loc 1 345 3 view .LVU199 647 .loc 1 345 3 view .LVU200 648 0022 0B4B ldr r3, .L50+12 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccHg2MhS.s page 19 649 .LBE4: 346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** 347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** /* Disable fast mode plus driving capability for selected pin */ 348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** CLEAR_BIT(SYSCFG->CFGR1, (uint32_t)ConfigFastModePlus); 650 .loc 1 348 3 is_stmt 0 view .LVU201 651 0024 0B49 ldr r1, .L50+16 652 .LBB5: 345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** 653 .loc 1 345 3 view .LVU202 654 0026 9A69 ldr r2, [r3, #24] 655 0028 42F00102 orr r2, r2, #1 656 002c 9A61 str r2, [r3, #24] 345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** 657 .loc 1 345 3 is_stmt 1 view .LVU203 658 002e 9B69 ldr r3, [r3, #24] 659 0030 03F00103 and r3, r3, #1 660 0034 0193 str r3, [sp, #4] 345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** 661 .loc 1 345 3 view .LVU204 662 0036 019B ldr r3, [sp, #4] 663 .LBE5: 345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** 664 .loc 1 345 3 view .LVU205 665 .loc 1 348 3 view .LVU206 666 0038 0868 ldr r0, [r1] 667 003a 20EA0404 bic r4, r0, r4 668 .LVL35: 669 .loc 1 348 3 is_stmt 0 view .LVU207 670 003e 0C60 str r4, [r1] 349:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** } 671 .loc 1 349 1 view .LVU208 672 0040 02B0 add sp, sp, #8 673 .LCFI9: 674 .cfi_def_cfa_offset 8 675 @ sp needed 676 0042 10BD pop {r4, pc} 677 .L51: 678 .align 2 679 .L50: 680 0044 0000AAAA .word -1431699456 681 0048 0004AAAA .word -1431698432 682 004c 00000000 .word .LC0 683 0050 00100240 .word 1073876992 684 0054 00000140 .word 1073807360 685 .cfi_endproc 686 .LFE135: 688 .text 689 .Letext0: 690 .file 2 "d:\\arm-gcc\\arm-none-eabi\\include\\machine\\_default_types.h" 691 .file 3 "d:\\arm-gcc\\arm-none-eabi\\include\\sys\\_stdint.h" 692 .file 4 "Drivers/CMSIS/Device/ST/STM32F3xx/Include/stm32f302xc.h" 693 .file 5 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_def.h" 694 .file 6 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_dma.h" 695 .file 7 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_i2c.h" 696 .file 8 "Core/Inc/stm32f3xx_hal_conf.h" ARM GAS C:\Users\zl835\AppData\Local\Temp\ccHg2MhS.s page 20 DEFINED SYMBOLS *ABS*:00000000 stm32f3xx_hal_i2c_ex.c C:\Users\zl835\AppData\Local\Temp\ccHg2MhS.s:20 .rodata.HAL_I2CEx_ConfigAnalogFilter.str1.4:00000000 $d C:\Users\zl835\AppData\Local\Temp\ccHg2MhS.s:25 .text.HAL_I2CEx_ConfigAnalogFilter:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccHg2MhS.s:32 .text.HAL_I2CEx_ConfigAnalogFilter:00000000 HAL_I2CEx_ConfigAnalogFilter C:\Users\zl835\AppData\Local\Temp\ccHg2MhS.s:149 .text.HAL_I2CEx_ConfigAnalogFilter:00000078 $d C:\Users\zl835\AppData\Local\Temp\ccHg2MhS.s:155 .text.HAL_I2CEx_ConfigDigitalFilter:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccHg2MhS.s:162 .text.HAL_I2CEx_ConfigDigitalFilter:00000000 HAL_I2CEx_ConfigDigitalFilter C:\Users\zl835\AppData\Local\Temp\ccHg2MhS.s:283 .text.HAL_I2CEx_ConfigDigitalFilter:00000078 $d C:\Users\zl835\AppData\Local\Temp\ccHg2MhS.s:289 .text.HAL_I2CEx_EnableWakeUp:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccHg2MhS.s:296 .text.HAL_I2CEx_EnableWakeUp:00000000 HAL_I2CEx_EnableWakeUp C:\Users\zl835\AppData\Local\Temp\ccHg2MhS.s:390 .text.HAL_I2CEx_EnableWakeUp:00000064 $d C:\Users\zl835\AppData\Local\Temp\ccHg2MhS.s:396 .text.HAL_I2CEx_DisableWakeUp:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccHg2MhS.s:403 .text.HAL_I2CEx_DisableWakeUp:00000000 HAL_I2CEx_DisableWakeUp C:\Users\zl835\AppData\Local\Temp\ccHg2MhS.s:497 .text.HAL_I2CEx_DisableWakeUp:00000064 $d C:\Users\zl835\AppData\Local\Temp\ccHg2MhS.s:503 .text.HAL_I2CEx_EnableFastModePlus:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccHg2MhS.s:510 .text.HAL_I2CEx_EnableFastModePlus:00000000 HAL_I2CEx_EnableFastModePlus C:\Users\zl835\AppData\Local\Temp\ccHg2MhS.s:587 .text.HAL_I2CEx_EnableFastModePlus:00000044 $d C:\Users\zl835\AppData\Local\Temp\ccHg2MhS.s:596 .text.HAL_I2CEx_DisableFastModePlus:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccHg2MhS.s:603 .text.HAL_I2CEx_DisableFastModePlus:00000000 HAL_I2CEx_DisableFastModePlus C:\Users\zl835\AppData\Local\Temp\ccHg2MhS.s:680 .text.HAL_I2CEx_DisableFastModePlus:00000044 $d UNDEFINED SYMBOLS assert_failed