ARM GAS C:\Users\zl835\AppData\Local\Temp\ccclxkiZ.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, 6 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 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 .global HAL_I2CEx_ConfigAnalogFilter 27 .syntax unified 28 .thumb 29 .thumb_func 31 HAL_I2CEx_ConfigAnalogFilter: 32 .LFB130: 33 .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 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. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccclxkiZ.s page 2 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 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 **** * ARM GAS C:\Users\zl835\AppData\Local\Temp\ccclxkiZ.s page 3 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 **** { 34 .loc 1 97 1 35 .cfi_startproc 36 @ args = 0, pretend = 0, frame = 8 37 @ frame_needed = 1, uses_anonymous_args = 0 38 0000 80B5 push {r7, lr} 39 .LCFI0: 40 .cfi_def_cfa_offset 8 41 .cfi_offset 7, -8 42 .cfi_offset 14, -4 43 0002 82B0 sub sp, sp, #8 44 .LCFI1: 45 .cfi_def_cfa_offset 16 46 0004 00AF add r7, sp, #0 47 .LCFI2: 48 .cfi_def_cfa_register 7 49 0006 7860 str r0, [r7, #4] 50 0008 3960 str r1, [r7] 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)); 51 .loc 1 99 3 52 000a 7B68 ldr r3, [r7, #4] 53 000c 1B68 ldr r3, [r3] 54 000e 2D4A ldr r2, .L7 55 0010 9342 cmp r3, r2 56 0012 08D0 beq .L2 57 .loc 1 99 3 is_stmt 0 discriminator 1 58 0014 7B68 ldr r3, [r7, #4] 59 0016 1B68 ldr r3, [r3] 60 0018 2B4A ldr r2, .L7+4 61 001a 9342 cmp r3, r2 62 001c 03D0 beq .L2 63 .loc 1 99 3 discriminator 2 64 001e 6321 movs r1, #99 65 0020 2A48 ldr r0, .L7+8 66 0022 FFF7FEFF bl assert_failed 67 .L2: 100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** assert_param(IS_I2C_ANALOG_FILTER(AnalogFilter)); ARM GAS C:\Users\zl835\AppData\Local\Temp\ccclxkiZ.s page 4 68 .loc 1 100 3 is_stmt 1 69 0026 3B68 ldr r3, [r7] 70 0028 002B cmp r3, #0 71 002a 07D0 beq .L3 72 .loc 1 100 3 is_stmt 0 discriminator 1 73 002c 3B68 ldr r3, [r7] 74 002e B3F5805F cmp r3, #4096 75 0032 03D0 beq .L3 76 .loc 1 100 3 discriminator 2 77 0034 6421 movs r1, #100 78 0036 2548 ldr r0, .L7+8 79 0038 FFF7FEFF bl assert_failed 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 11 is_stmt 1 82 003c 7B68 ldr r3, [r7, #4] 83 003e 93F84130 ldrb r3, [r3, #65] 84 0042 DBB2 uxtb r3, r3 85 .loc 1 102 6 86 0044 202B cmp r3, #32 87 0046 38D1 bne .L4 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); 88 .loc 1 105 5 89 0048 7B68 ldr r3, [r7, #4] 90 004a 93F84030 ldrb r3, [r3, #64] @ zero_extendqisi2 91 004e 012B cmp r3, #1 92 0050 01D1 bne .L5 93 .loc 1 105 5 is_stmt 0 discriminator 1 94 0052 0223 movs r3, #2 95 0054 32E0 b .L6 96 .L5: 97 .loc 1 105 5 discriminator 2 98 0056 7B68 ldr r3, [r7, #4] 99 0058 0122 movs r2, #1 100 005a 83F84020 strb r2, [r3, #64] 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; 101 .loc 1 107 17 is_stmt 1 discriminator 2 102 005e 7B68 ldr r3, [r7, #4] 103 0060 2422 movs r2, #36 104 0062 83F84120 strb r2, [r3, #65] 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); 105 .loc 1 110 5 discriminator 2 106 0066 7B68 ldr r3, [r7, #4] 107 0068 1B68 ldr r3, [r3] 108 006a 1A68 ldr r2, [r3] 109 006c 7B68 ldr r3, [r7, #4] 110 006e 1B68 ldr r3, [r3] 111 0070 22F00102 bic r2, r2, #1 112 0074 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 */ ARM GAS C:\Users\zl835\AppData\Local\Temp\ccclxkiZ.s page 5 113:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** hi2c->Instance->CR1 &= ~(I2C_CR1_ANFOFF); 113 .loc 1 113 9 discriminator 2 114 0076 7B68 ldr r3, [r7, #4] 115 0078 1B68 ldr r3, [r3] 116 .loc 1 113 25 discriminator 2 117 007a 1A68 ldr r2, [r3] 118 .loc 1 113 9 discriminator 2 119 007c 7B68 ldr r3, [r7, #4] 120 007e 1B68 ldr r3, [r3] 121 .loc 1 113 25 discriminator 2 122 0080 22F48052 bic r2, r2, #4096 123 0084 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; 124 .loc 1 116 9 discriminator 2 125 0086 7B68 ldr r3, [r7, #4] 126 0088 1B68 ldr r3, [r3] 127 .loc 1 116 25 discriminator 2 128 008a 1968 ldr r1, [r3] 129 .loc 1 116 9 discriminator 2 130 008c 7B68 ldr r3, [r7, #4] 131 008e 1B68 ldr r3, [r3] 132 .loc 1 116 25 discriminator 2 133 0090 3A68 ldr r2, [r7] 134 0092 0A43 orrs r2, r2, r1 135 0094 1A60 str r2, [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); 136 .loc 1 118 5 discriminator 2 137 0096 7B68 ldr r3, [r7, #4] 138 0098 1B68 ldr r3, [r3] 139 009a 1A68 ldr r2, [r3] 140 009c 7B68 ldr r3, [r7, #4] 141 009e 1B68 ldr r3, [r3] 142 00a0 42F00102 orr r2, r2, #1 143 00a4 1A60 str 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; 144 .loc 1 120 17 discriminator 2 145 00a6 7B68 ldr r3, [r7, #4] 146 00a8 2022 movs r2, #32 147 00aa 83F84120 strb r2, [r3, #65] 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); 148 .loc 1 123 5 discriminator 2 149 00ae 7B68 ldr r3, [r7, #4] 150 00b0 0022 movs r2, #0 151 00b2 83F84020 strb r2, [r3, #64] 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; 152 .loc 1 125 12 discriminator 2 153 00b6 0023 movs r3, #0 154 00b8 00E0 b .L6 155 .L4: 126:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** } ARM GAS C:\Users\zl835\AppData\Local\Temp\ccclxkiZ.s page 6 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; 156 .loc 1 129 12 157 00ba 0223 movs r3, #2 158 .L6: 130:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** } 131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** } 159 .loc 1 131 1 160 00bc 1846 mov r0, r3 161 00be 0837 adds r7, r7, #8 162 .LCFI3: 163 .cfi_def_cfa_offset 8 164 00c0 BD46 mov sp, r7 165 .LCFI4: 166 .cfi_def_cfa_register 13 167 @ sp needed 168 00c2 80BD pop {r7, pc} 169 .L8: 170 .align 2 171 .L7: 172 00c4 00540040 .word 1073763328 173 00c8 00580040 .word 1073764352 174 00cc 00000000 .word .LC0 175 .cfi_endproc 176 .LFE130: 178 .section .text.HAL_I2CEx_ConfigDigitalFilter,"ax",%progbits 179 .align 1 180 .global HAL_I2CEx_ConfigDigitalFilter 181 .syntax unified 182 .thumb 183 .thumb_func 185 HAL_I2CEx_ConfigDigitalFilter: 186 .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 **** { 187 .loc 1 141 1 188 .cfi_startproc 189 @ args = 0, pretend = 0, frame = 16 190 @ frame_needed = 1, uses_anonymous_args = 0 191 0000 80B5 push {r7, lr} 192 .LCFI5: 193 .cfi_def_cfa_offset 8 194 .cfi_offset 7, -8 195 .cfi_offset 14, -4 196 0002 84B0 sub sp, sp, #16 197 .LCFI6: 198 .cfi_def_cfa_offset 24 199 0004 00AF add r7, sp, #0 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccclxkiZ.s page 7 200 .LCFI7: 201 .cfi_def_cfa_register 7 202 0006 7860 str r0, [r7, #4] 203 0008 3960 str r1, [r7] 142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** uint32_t tmpreg; 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)); 204 .loc 1 145 3 205 000a 7B68 ldr r3, [r7, #4] 206 000c 1B68 ldr r3, [r3] 207 000e 2C4A ldr r2, .L15 208 0010 9342 cmp r3, r2 209 0012 08D0 beq .L10 210 .loc 1 145 3 is_stmt 0 discriminator 1 211 0014 7B68 ldr r3, [r7, #4] 212 0016 1B68 ldr r3, [r3] 213 0018 2A4A ldr r2, .L15+4 214 001a 9342 cmp r3, r2 215 001c 03D0 beq .L10 216 .loc 1 145 3 discriminator 2 217 001e 9121 movs r1, #145 218 0020 2948 ldr r0, .L15+8 219 0022 FFF7FEFF bl assert_failed 220 .L10: 146:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** assert_param(IS_I2C_DIGITAL_FILTER(DigitalFilter)); 221 .loc 1 146 3 is_stmt 1 222 0026 3B68 ldr r3, [r7] 223 0028 0F2B cmp r3, #15 224 002a 03D9 bls .L11 225 .loc 1 146 3 is_stmt 0 discriminator 1 226 002c 9221 movs r1, #146 227 002e 2648 ldr r0, .L15+8 228 0030 FFF7FEFF bl assert_failed 229 .L11: 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) 230 .loc 1 148 11 is_stmt 1 231 0034 7B68 ldr r3, [r7, #4] 232 0036 93F84130 ldrb r3, [r3, #65] 233 003a DBB2 uxtb r3, r3 234 .loc 1 148 6 235 003c 202B cmp r3, #32 236 003e 39D1 bne .L12 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); 237 .loc 1 151 5 238 0040 7B68 ldr r3, [r7, #4] 239 0042 93F84030 ldrb r3, [r3, #64] @ zero_extendqisi2 240 0046 012B cmp r3, #1 241 0048 01D1 bne .L13 242 .loc 1 151 5 is_stmt 0 discriminator 1 243 004a 0223 movs r3, #2 244 004c 33E0 b .L14 245 .L13: 246 .loc 1 151 5 discriminator 2 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccclxkiZ.s page 8 247 004e 7B68 ldr r3, [r7, #4] 248 0050 0122 movs r2, #1 249 0052 83F84020 strb r2, [r3, #64] 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; 250 .loc 1 153 17 is_stmt 1 discriminator 2 251 0056 7B68 ldr r3, [r7, #4] 252 0058 2422 movs r2, #36 253 005a 83F84120 strb r2, [r3, #65] 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); 254 .loc 1 156 5 discriminator 2 255 005e 7B68 ldr r3, [r7, #4] 256 0060 1B68 ldr r3, [r3] 257 0062 1A68 ldr r2, [r3] 258 0064 7B68 ldr r3, [r7, #4] 259 0066 1B68 ldr r3, [r3] 260 0068 22F00102 bic r2, r2, #1 261 006c 1A60 str r2, [r3] 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; 262 .loc 1 159 18 discriminator 2 263 006e 7B68 ldr r3, [r7, #4] 264 0070 1B68 ldr r3, [r3] 265 .loc 1 159 12 discriminator 2 266 0072 1B68 ldr r3, [r3] 267 0074 FB60 str r3, [r7, #12] 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); 268 .loc 1 162 12 discriminator 2 269 0076 FB68 ldr r3, [r7, #12] 270 0078 23F47063 bic r3, r3, #3840 271 007c FB60 str r3, [r7, #12] 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; 272 .loc 1 165 29 discriminator 2 273 007e 3B68 ldr r3, [r7] 274 0080 1B02 lsls r3, r3, #8 275 .loc 1 165 12 discriminator 2 276 0082 FA68 ldr r2, [r7, #12] 277 0084 1343 orrs r3, r3, r2 278 0086 FB60 str r3, [r7, #12] 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; 279 .loc 1 168 9 discriminator 2 280 0088 7B68 ldr r3, [r7, #4] 281 008a 1B68 ldr r3, [r3] 282 .loc 1 168 25 discriminator 2 283 008c FA68 ldr r2, [r7, #12] 284 008e 1A60 str r2, [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); ARM GAS C:\Users\zl835\AppData\Local\Temp\ccclxkiZ.s page 9 285 .loc 1 170 5 discriminator 2 286 0090 7B68 ldr r3, [r7, #4] 287 0092 1B68 ldr r3, [r3] 288 0094 1A68 ldr r2, [r3] 289 0096 7B68 ldr r3, [r7, #4] 290 0098 1B68 ldr r3, [r3] 291 009a 42F00102 orr r2, r2, #1 292 009e 1A60 str 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; 293 .loc 1 172 17 discriminator 2 294 00a0 7B68 ldr r3, [r7, #4] 295 00a2 2022 movs r2, #32 296 00a4 83F84120 strb r2, [r3, #65] 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); 297 .loc 1 175 5 discriminator 2 298 00a8 7B68 ldr r3, [r7, #4] 299 00aa 0022 movs r2, #0 300 00ac 83F84020 strb r2, [r3, #64] 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; 301 .loc 1 177 12 discriminator 2 302 00b0 0023 movs r3, #0 303 00b2 00E0 b .L14 304 .L12: 178:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** } 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; 305 .loc 1 181 12 306 00b4 0223 movs r3, #2 307 .L14: 182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** } 183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** } 308 .loc 1 183 1 309 00b6 1846 mov r0, r3 310 00b8 1037 adds r7, r7, #16 311 .LCFI8: 312 .cfi_def_cfa_offset 8 313 00ba BD46 mov sp, r7 314 .LCFI9: 315 .cfi_def_cfa_register 13 316 @ sp needed 317 00bc 80BD pop {r7, pc} 318 .L16: 319 00be 00BF .align 2 320 .L15: 321 00c0 00540040 .word 1073763328 322 00c4 00580040 .word 1073764352 323 00c8 00000000 .word .LC0 324 .cfi_endproc 325 .LFE131: 327 .section .text.HAL_I2CEx_EnableWakeUp,"ax",%progbits 328 .align 1 329 .global HAL_I2CEx_EnableWakeUp ARM GAS C:\Users\zl835\AppData\Local\Temp\ccclxkiZ.s page 10 330 .syntax unified 331 .thumb 332 .thumb_func 334 HAL_I2CEx_EnableWakeUp: 335 .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 **** */ 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 **** { 336 .loc 1 209 1 337 .cfi_startproc 338 @ args = 0, pretend = 0, frame = 8 339 @ frame_needed = 1, uses_anonymous_args = 0 340 0000 80B5 push {r7, lr} 341 .LCFI10: 342 .cfi_def_cfa_offset 8 343 .cfi_offset 7, -8 344 .cfi_offset 14, -4 345 0002 82B0 sub sp, sp, #8 346 .LCFI11: 347 .cfi_def_cfa_offset 16 348 0004 00AF add r7, sp, #0 349 .LCFI12: 350 .cfi_def_cfa_register 7 351 0006 7860 str r0, [r7, #4] 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)); 352 .loc 1 211 3 353 0008 7B68 ldr r3, [r7, #4] 354 000a 1B68 ldr r3, [r3] 355 000c 234A ldr r2, .L22 356 000e 9342 cmp r3, r2 357 0010 08D0 beq .L18 358 .loc 1 211 3 is_stmt 0 discriminator 1 359 0012 7B68 ldr r3, [r7, #4] ARM GAS C:\Users\zl835\AppData\Local\Temp\ccclxkiZ.s page 11 360 0014 1B68 ldr r3, [r3] 361 0016 224A ldr r2, .L22+4 362 0018 9342 cmp r3, r2 363 001a 03D0 beq .L18 364 .loc 1 211 3 discriminator 2 365 001c D321 movs r1, #211 366 001e 2148 ldr r0, .L22+8 367 0020 FFF7FEFF bl assert_failed 368 .L18: 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) 369 .loc 1 213 11 is_stmt 1 370 0024 7B68 ldr r3, [r7, #4] 371 0026 93F84130 ldrb r3, [r3, #65] 372 002a DBB2 uxtb r3, r3 373 .loc 1 213 6 374 002c 202B cmp r3, #32 375 002e 30D1 bne .L19 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); 376 .loc 1 216 5 377 0030 7B68 ldr r3, [r7, #4] 378 0032 93F84030 ldrb r3, [r3, #64] @ zero_extendqisi2 379 0036 012B cmp r3, #1 380 0038 01D1 bne .L20 381 .loc 1 216 5 is_stmt 0 discriminator 1 382 003a 0223 movs r3, #2 383 003c 2AE0 b .L21 384 .L20: 385 .loc 1 216 5 discriminator 2 386 003e 7B68 ldr r3, [r7, #4] 387 0040 0122 movs r2, #1 388 0042 83F84020 strb r2, [r3, #64] 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; 389 .loc 1 218 17 is_stmt 1 discriminator 2 390 0046 7B68 ldr r3, [r7, #4] 391 0048 2422 movs r2, #36 392 004a 83F84120 strb r2, [r3, #65] 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); 393 .loc 1 221 5 discriminator 2 394 004e 7B68 ldr r3, [r7, #4] 395 0050 1B68 ldr r3, [r3] 396 0052 1A68 ldr r2, [r3] 397 0054 7B68 ldr r3, [r7, #4] 398 0056 1B68 ldr r3, [r3] 399 0058 22F00102 bic r2, r2, #1 400 005c 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; 401 .loc 1 224 9 discriminator 2 402 005e 7B68 ldr r3, [r7, #4] 403 0060 1B68 ldr r3, [r3] ARM GAS C:\Users\zl835\AppData\Local\Temp\ccclxkiZ.s page 12 404 .loc 1 224 25 discriminator 2 405 0062 1A68 ldr r2, [r3] 406 .loc 1 224 9 discriminator 2 407 0064 7B68 ldr r3, [r7, #4] 408 0066 1B68 ldr r3, [r3] 409 .loc 1 224 25 discriminator 2 410 0068 42F48022 orr r2, r2, #262144 411 006c 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); 412 .loc 1 226 5 discriminator 2 413 006e 7B68 ldr r3, [r7, #4] 414 0070 1B68 ldr r3, [r3] 415 0072 1A68 ldr r2, [r3] 416 0074 7B68 ldr r3, [r7, #4] 417 0076 1B68 ldr r3, [r3] 418 0078 42F00102 orr r2, r2, #1 419 007c 1A60 str 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; 420 .loc 1 228 17 discriminator 2 421 007e 7B68 ldr r3, [r7, #4] 422 0080 2022 movs r2, #32 423 0082 83F84120 strb r2, [r3, #65] 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); 424 .loc 1 231 5 discriminator 2 425 0086 7B68 ldr r3, [r7, #4] 426 0088 0022 movs r2, #0 427 008a 83F84020 strb r2, [r3, #64] 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; 428 .loc 1 233 12 discriminator 2 429 008e 0023 movs r3, #0 430 0090 00E0 b .L21 431 .L19: 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; 432 .loc 1 237 12 433 0092 0223 movs r3, #2 434 .L21: 238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** } 239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** } 435 .loc 1 239 1 436 0094 1846 mov r0, r3 437 0096 0837 adds r7, r7, #8 438 .LCFI13: 439 .cfi_def_cfa_offset 8 440 0098 BD46 mov sp, r7 441 .LCFI14: 442 .cfi_def_cfa_register 13 443 @ sp needed 444 009a 80BD pop {r7, pc} 445 .L23: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccclxkiZ.s page 13 446 .align 2 447 .L22: 448 009c 00540040 .word 1073763328 449 00a0 00580040 .word 1073764352 450 00a4 00000000 .word .LC0 451 .cfi_endproc 452 .LFE132: 454 .section .text.HAL_I2CEx_DisableWakeUp,"ax",%progbits 455 .align 1 456 .global HAL_I2CEx_DisableWakeUp 457 .syntax unified 458 .thumb 459 .thumb_func 461 HAL_I2CEx_DisableWakeUp: 462 .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 **** { 463 .loc 1 248 1 464 .cfi_startproc 465 @ args = 0, pretend = 0, frame = 8 466 @ frame_needed = 1, uses_anonymous_args = 0 467 0000 80B5 push {r7, lr} 468 .LCFI15: 469 .cfi_def_cfa_offset 8 470 .cfi_offset 7, -8 471 .cfi_offset 14, -4 472 0002 82B0 sub sp, sp, #8 473 .LCFI16: 474 .cfi_def_cfa_offset 16 475 0004 00AF add r7, sp, #0 476 .LCFI17: 477 .cfi_def_cfa_register 7 478 0006 7860 str r0, [r7, #4] 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)); 479 .loc 1 250 3 480 0008 7B68 ldr r3, [r7, #4] 481 000a 1B68 ldr r3, [r3] 482 000c 234A ldr r2, .L29 483 000e 9342 cmp r3, r2 484 0010 08D0 beq .L25 485 .loc 1 250 3 is_stmt 0 discriminator 1 486 0012 7B68 ldr r3, [r7, #4] 487 0014 1B68 ldr r3, [r3] 488 0016 224A ldr r2, .L29+4 489 0018 9342 cmp r3, r2 490 001a 03D0 beq .L25 491 .loc 1 250 3 discriminator 2 492 001c FA21 movs r1, #250 493 001e 2148 ldr r0, .L29+8 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccclxkiZ.s page 14 494 0020 FFF7FEFF bl assert_failed 495 .L25: 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) 496 .loc 1 252 11 is_stmt 1 497 0024 7B68 ldr r3, [r7, #4] 498 0026 93F84130 ldrb r3, [r3, #65] 499 002a DBB2 uxtb r3, r3 500 .loc 1 252 6 501 002c 202B cmp r3, #32 502 002e 30D1 bne .L26 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); 503 .loc 1 255 5 504 0030 7B68 ldr r3, [r7, #4] 505 0032 93F84030 ldrb r3, [r3, #64] @ zero_extendqisi2 506 0036 012B cmp r3, #1 507 0038 01D1 bne .L27 508 .loc 1 255 5 is_stmt 0 discriminator 1 509 003a 0223 movs r3, #2 510 003c 2AE0 b .L28 511 .L27: 512 .loc 1 255 5 discriminator 2 513 003e 7B68 ldr r3, [r7, #4] 514 0040 0122 movs r2, #1 515 0042 83F84020 strb r2, [r3, #64] 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; 516 .loc 1 257 17 is_stmt 1 discriminator 2 517 0046 7B68 ldr r3, [r7, #4] 518 0048 2422 movs r2, #36 519 004a 83F84120 strb r2, [r3, #65] 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); 520 .loc 1 260 5 discriminator 2 521 004e 7B68 ldr r3, [r7, #4] 522 0050 1B68 ldr r3, [r3] 523 0052 1A68 ldr r2, [r3] 524 0054 7B68 ldr r3, [r7, #4] 525 0056 1B68 ldr r3, [r3] 526 0058 22F00102 bic r2, r2, #1 527 005c 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); 528 .loc 1 263 9 discriminator 2 529 005e 7B68 ldr r3, [r7, #4] 530 0060 1B68 ldr r3, [r3] 531 .loc 1 263 25 discriminator 2 532 0062 1A68 ldr r2, [r3] 533 .loc 1 263 9 discriminator 2 534 0064 7B68 ldr r3, [r7, #4] 535 0066 1B68 ldr r3, [r3] 536 .loc 1 263 25 discriminator 2 537 0068 22F48022 bic r2, r2, #262144 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccclxkiZ.s page 15 538 006c 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); 539 .loc 1 265 5 discriminator 2 540 006e 7B68 ldr r3, [r7, #4] 541 0070 1B68 ldr r3, [r3] 542 0072 1A68 ldr r2, [r3] 543 0074 7B68 ldr r3, [r7, #4] 544 0076 1B68 ldr r3, [r3] 545 0078 42F00102 orr r2, r2, #1 546 007c 1A60 str 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; 547 .loc 1 267 17 discriminator 2 548 007e 7B68 ldr r3, [r7, #4] 549 0080 2022 movs r2, #32 550 0082 83F84120 strb r2, [r3, #65] 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); 551 .loc 1 270 5 discriminator 2 552 0086 7B68 ldr r3, [r7, #4] 553 0088 0022 movs r2, #0 554 008a 83F84020 strb r2, [r3, #64] 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; 555 .loc 1 272 12 discriminator 2 556 008e 0023 movs r3, #0 557 0090 00E0 b .L28 558 .L26: 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; 559 .loc 1 276 12 560 0092 0223 movs r3, #2 561 .L28: 277:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** } 278:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** } 562 .loc 1 278 1 563 0094 1846 mov r0, r3 564 0096 0837 adds r7, r7, #8 565 .LCFI18: 566 .cfi_def_cfa_offset 8 567 0098 BD46 mov sp, r7 568 .LCFI19: 569 .cfi_def_cfa_register 13 570 @ sp needed 571 009a 80BD pop {r7, pc} 572 .L30: 573 .align 2 574 .L29: 575 009c 00540040 .word 1073763328 576 00a0 00580040 .word 1073764352 577 00a4 00000000 .word .LC0 578 .cfi_endproc 579 .LFE133: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccclxkiZ.s page 16 581 .section .text.HAL_I2CEx_EnableFastModePlus,"ax",%progbits 582 .align 1 583 .global HAL_I2CEx_EnableFastModePlus 584 .syntax unified 585 .thumb 586 .thumb_func 588 HAL_I2CEx_EnableFastModePlus: 589 .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 **** { 590 .loc 1 313 1 591 .cfi_startproc 592 @ args = 0, pretend = 0, frame = 16 593 @ frame_needed = 1, uses_anonymous_args = 0 594 0000 80B5 push {r7, lr} 595 .LCFI20: 596 .cfi_def_cfa_offset 8 597 .cfi_offset 7, -8 598 .cfi_offset 14, -4 599 0002 84B0 sub sp, sp, #16 600 .LCFI21: 601 .cfi_def_cfa_offset 24 602 0004 00AF add r7, sp, #0 603 .LCFI22: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccclxkiZ.s page 17 604 .cfi_def_cfa_register 7 605 0006 7860 str r0, [r7, #4] 314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** /* Check the parameter */ 315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** assert_param(IS_I2C_FASTMODEPLUS(ConfigFastModePlus)); 606 .loc 1 315 3 607 0008 7A68 ldr r2, [r7, #4] 608 000a 224B ldr r3, .L34 609 000c 1340 ands r3, r3, r2 610 000e 214A ldr r2, .L34 611 0010 9342 cmp r3, r2 612 0012 23D0 beq .L32 613 .loc 1 315 3 is_stmt 0 discriminator 2 614 0014 7B68 ldr r3, [r7, #4] 615 0016 03F48033 and r3, r3, #65536 616 001a 002B cmp r3, #0 617 001c 23D1 bne .L33 618 .loc 1 315 3 discriminator 3 619 001e 7B68 ldr r3, [r7, #4] 620 0020 03F40033 and r3, r3, #131072 621 0024 002B cmp r3, #0 622 0026 1ED1 bne .L33 623 .loc 1 315 3 discriminator 4 624 0028 7B68 ldr r3, [r7, #4] 625 002a 03F48023 and r3, r3, #262144 626 002e 002B cmp r3, #0 627 0030 19D1 bne .L33 628 .loc 1 315 3 discriminator 5 629 0032 7B68 ldr r3, [r7, #4] 630 0034 03F40023 and r3, r3, #524288 631 0038 002B cmp r3, #0 632 003a 14D1 bne .L33 633 .loc 1 315 3 discriminator 6 634 003c 7B68 ldr r3, [r7, #4] 635 003e 03F48013 and r3, r3, #1048576 636 0042 002B cmp r3, #0 637 0044 0FD1 bne .L33 638 .loc 1 315 3 discriminator 7 639 0046 7B68 ldr r3, [r7, #4] 640 0048 03F40013 and r3, r3, #2097152 641 004c 002B cmp r3, #0 642 004e 0AD1 bne .L33 643 .loc 1 315 3 discriminator 8 644 0050 7A68 ldr r2, [r7, #4] 645 0052 114B ldr r3, .L34+4 646 0054 1340 ands r3, r3, r2 647 0056 104A ldr r2, .L34+4 648 0058 9342 cmp r3, r2 649 005a 04D0 beq .L33 650 .L32: 651 .loc 1 315 3 discriminator 9 652 005c 40F23B11 movw r1, #315 653 0060 0E48 ldr r0, .L34+8 654 0062 FFF7FEFF bl assert_failed 655 .L33: 656 .LBB2: 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 */ ARM GAS C:\Users\zl835\AppData\Local\Temp\ccclxkiZ.s page 18 318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** __HAL_RCC_SYSCFG_CLK_ENABLE(); 657 .loc 1 318 3 is_stmt 1 658 0066 0E4B ldr r3, .L34+12 659 0068 9B69 ldr r3, [r3, #24] 660 006a 0D4A ldr r2, .L34+12 661 006c 43F00103 orr r3, r3, #1 662 0070 9361 str r3, [r2, #24] 663 0072 0B4B ldr r3, .L34+12 664 0074 9B69 ldr r3, [r3, #24] 665 0076 03F00103 and r3, r3, #1 666 007a FB60 str r3, [r7, #12] 667 007c FB68 ldr r3, [r7, #12] 668 .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); 669 .loc 1 321 3 670 007e 094B ldr r3, .L34+16 671 0080 1A68 ldr r2, [r3] 672 0082 0849 ldr r1, .L34+16 673 0084 7B68 ldr r3, [r7, #4] 674 0086 1343 orrs r3, r3, r2 675 0088 0B60 str r3, [r1] 322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** } 676 .loc 1 322 1 677 008a 00BF nop 678 008c 1037 adds r7, r7, #16 679 .LCFI23: 680 .cfi_def_cfa_offset 8 681 008e BD46 mov sp, r7 682 .LCFI24: 683 .cfi_def_cfa_register 13 684 @ sp needed 685 0090 80BD pop {r7, pc} 686 .L35: 687 0092 00BF .align 2 688 .L34: 689 0094 0000AAAA .word -1431699456 690 0098 0004AAAA .word -1431698432 691 009c 00000000 .word .LC0 692 00a0 00100240 .word 1073876992 693 00a4 00000140 .word 1073807360 694 .cfi_endproc 695 .LFE134: 697 .section .text.HAL_I2CEx_DisableFastModePlus,"ax",%progbits 698 .align 1 699 .global HAL_I2CEx_DisableFastModePlus 700 .syntax unified 701 .thumb 702 .thumb_func 704 HAL_I2CEx_DisableFastModePlus: 705 .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 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccclxkiZ.s page 19 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. 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 **** { 706 .loc 1 340 1 707 .cfi_startproc 708 @ args = 0, pretend = 0, frame = 16 709 @ frame_needed = 1, uses_anonymous_args = 0 710 0000 80B5 push {r7, lr} 711 .LCFI25: 712 .cfi_def_cfa_offset 8 713 .cfi_offset 7, -8 714 .cfi_offset 14, -4 715 0002 84B0 sub sp, sp, #16 716 .LCFI26: 717 .cfi_def_cfa_offset 24 718 0004 00AF add r7, sp, #0 719 .LCFI27: 720 .cfi_def_cfa_register 7 721 0006 7860 str r0, [r7, #4] 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)); 722 .loc 1 342 3 723 0008 7A68 ldr r2, [r7, #4] 724 000a 224B ldr r3, .L39 725 000c 1340 ands r3, r3, r2 726 000e 214A ldr r2, .L39 727 0010 9342 cmp r3, r2 728 0012 23D0 beq .L37 729 .loc 1 342 3 is_stmt 0 discriminator 2 730 0014 7B68 ldr r3, [r7, #4] 731 0016 03F48033 and r3, r3, #65536 732 001a 002B cmp r3, #0 733 001c 23D1 bne .L38 734 .loc 1 342 3 discriminator 3 735 001e 7B68 ldr r3, [r7, #4] 736 0020 03F40033 and r3, r3, #131072 737 0024 002B cmp r3, #0 738 0026 1ED1 bne .L38 739 .loc 1 342 3 discriminator 4 740 0028 7B68 ldr r3, [r7, #4] 741 002a 03F48023 and r3, r3, #262144 742 002e 002B cmp r3, #0 743 0030 19D1 bne .L38 744 .loc 1 342 3 discriminator 5 745 0032 7B68 ldr r3, [r7, #4] 746 0034 03F40023 and r3, r3, #524288 747 0038 002B cmp r3, #0 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccclxkiZ.s page 20 748 003a 14D1 bne .L38 749 .loc 1 342 3 discriminator 6 750 003c 7B68 ldr r3, [r7, #4] 751 003e 03F48013 and r3, r3, #1048576 752 0042 002B cmp r3, #0 753 0044 0FD1 bne .L38 754 .loc 1 342 3 discriminator 7 755 0046 7B68 ldr r3, [r7, #4] 756 0048 03F40013 and r3, r3, #2097152 757 004c 002B cmp r3, #0 758 004e 0AD1 bne .L38 759 .loc 1 342 3 discriminator 8 760 0050 7A68 ldr r2, [r7, #4] 761 0052 114B ldr r3, .L39+4 762 0054 1340 ands r3, r3, r2 763 0056 104A ldr r2, .L39+4 764 0058 9342 cmp r3, r2 765 005a 04D0 beq .L38 766 .L37: 767 .loc 1 342 3 discriminator 9 768 005c 4FF4AB71 mov r1, #342 769 0060 0E48 ldr r0, .L39+8 770 0062 FFF7FEFF bl assert_failed 771 .L38: 772 .LBB3: 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(); 773 .loc 1 345 3 is_stmt 1 774 0066 0E4B ldr r3, .L39+12 775 0068 9B69 ldr r3, [r3, #24] 776 006a 0D4A ldr r2, .L39+12 777 006c 43F00103 orr r3, r3, #1 778 0070 9361 str r3, [r2, #24] 779 0072 0B4B ldr r3, .L39+12 780 0074 9B69 ldr r3, [r3, #24] 781 0076 03F00103 and r3, r3, #1 782 007a FB60 str r3, [r7, #12] 783 007c FB68 ldr r3, [r7, #12] 784 .LBE3: 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); 785 .loc 1 348 3 786 007e 094B ldr r3, .L39+16 787 0080 1A68 ldr r2, [r3] 788 0082 7B68 ldr r3, [r7, #4] 789 0084 DB43 mvns r3, r3 790 0086 0749 ldr r1, .L39+16 791 0088 1340 ands r3, r3, r2 792 008a 0B60 str r3, [r1] 349:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c **** } 793 .loc 1 349 1 794 008c 00BF nop 795 008e 1037 adds r7, r7, #16 796 .LCFI28: 797 .cfi_def_cfa_offset 8 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccclxkiZ.s page 21 798 0090 BD46 mov sp, r7 799 .LCFI29: 800 .cfi_def_cfa_register 13 801 @ sp needed 802 0092 80BD pop {r7, pc} 803 .L40: 804 .align 2 805 .L39: 806 0094 0000AAAA .word -1431699456 807 0098 0004AAAA .word -1431698432 808 009c 00000000 .word .LC0 809 00a0 00100240 .word 1073876992 810 00a4 00000140 .word 1073807360 811 .cfi_endproc 812 .LFE135: 814 .text 815 .Letext0: 816 .file 2 "d:\\arm-gcc\\arm-none-eabi\\include\\machine\\_default_types.h" 817 .file 3 "d:\\arm-gcc\\arm-none-eabi\\include\\sys\\_stdint.h" 818 .file 4 "Drivers/CMSIS/Device/ST/STM32F3xx/Include/stm32f302xc.h" 819 .file 5 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_def.h" 820 .file 6 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_dma.h" 821 .file 7 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_i2c.h" ARM GAS C:\Users\zl835\AppData\Local\Temp\ccclxkiZ.s page 22 DEFINED SYMBOLS *ABS*:00000000 stm32f3xx_hal_i2c_ex.c C:\Users\zl835\AppData\Local\Temp\ccclxkiZ.s:20 .rodata:00000000 $d C:\Users\zl835\AppData\Local\Temp\ccclxkiZ.s:25 .text.HAL_I2CEx_ConfigAnalogFilter:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccclxkiZ.s:31 .text.HAL_I2CEx_ConfigAnalogFilter:00000000 HAL_I2CEx_ConfigAnalogFilter C:\Users\zl835\AppData\Local\Temp\ccclxkiZ.s:172 .text.HAL_I2CEx_ConfigAnalogFilter:000000c4 $d C:\Users\zl835\AppData\Local\Temp\ccclxkiZ.s:179 .text.HAL_I2CEx_ConfigDigitalFilter:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccclxkiZ.s:185 .text.HAL_I2CEx_ConfigDigitalFilter:00000000 HAL_I2CEx_ConfigDigitalFilter C:\Users\zl835\AppData\Local\Temp\ccclxkiZ.s:321 .text.HAL_I2CEx_ConfigDigitalFilter:000000c0 $d C:\Users\zl835\AppData\Local\Temp\ccclxkiZ.s:328 .text.HAL_I2CEx_EnableWakeUp:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccclxkiZ.s:334 .text.HAL_I2CEx_EnableWakeUp:00000000 HAL_I2CEx_EnableWakeUp C:\Users\zl835\AppData\Local\Temp\ccclxkiZ.s:448 .text.HAL_I2CEx_EnableWakeUp:0000009c $d C:\Users\zl835\AppData\Local\Temp\ccclxkiZ.s:455 .text.HAL_I2CEx_DisableWakeUp:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccclxkiZ.s:461 .text.HAL_I2CEx_DisableWakeUp:00000000 HAL_I2CEx_DisableWakeUp C:\Users\zl835\AppData\Local\Temp\ccclxkiZ.s:575 .text.HAL_I2CEx_DisableWakeUp:0000009c $d C:\Users\zl835\AppData\Local\Temp\ccclxkiZ.s:582 .text.HAL_I2CEx_EnableFastModePlus:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccclxkiZ.s:588 .text.HAL_I2CEx_EnableFastModePlus:00000000 HAL_I2CEx_EnableFastModePlus C:\Users\zl835\AppData\Local\Temp\ccclxkiZ.s:689 .text.HAL_I2CEx_EnableFastModePlus:00000094 $d C:\Users\zl835\AppData\Local\Temp\ccclxkiZ.s:698 .text.HAL_I2CEx_DisableFastModePlus:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccclxkiZ.s:704 .text.HAL_I2CEx_DisableFastModePlus:00000000 HAL_I2CEx_DisableFastModePlus C:\Users\zl835\AppData\Local\Temp\ccclxkiZ.s:806 .text.HAL_I2CEx_DisableFastModePlus:00000094 $d UNDEFINED SYMBOLS assert_failed