B3M38SPD seminar project - beehive monitor with LoRa reporting
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
spd-lorabees/build/stm32l0xx_hal_i2c_ex.lst

868 lines
53 KiB

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