SLS/Software/build/stm32f0xx_hal_i2c.lst

28891 lines
1.7 MiB
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

ARM GAS /tmp/ccuRhBPx.s page 1
1 .cpu cortex-m0
2 .arch armv6s-m
3 .fpu softvfp
4 .eabi_attribute 20, 1
5 .eabi_attribute 21, 1
6 .eabi_attribute 23, 3
7 .eabi_attribute 24, 1
8 .eabi_attribute 25, 1
9 .eabi_attribute 26, 1
10 .eabi_attribute 30, 1
11 .eabi_attribute 34, 0
12 .eabi_attribute 18, 4
13 .file "stm32f0xx_hal_i2c.c"
14 .text
15 .Ltext0:
16 .cfi_sections .debug_frame
17 .file 1 "Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c"
18 .section .text.I2C_Flush_TXDR,"ax",%progbits
19 .align 1
20 .syntax unified
21 .code 16
22 .thumb_func
24 I2C_Flush_TXDR:
25 .LVL0:
26 .LFB105:
1:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
2:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** ******************************************************************************
3:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @file stm32f0xx_hal_i2c.c
4:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @author MCD Application Team
5:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief I2C HAL module driver.
6:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * This file provides firmware functions to manage the following
7:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * functionalities of the Inter Integrated Circuit (I2C) peripheral:
8:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * + Initialization and de-initialization functions
9:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * + IO operation functions
10:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * + Peripheral State and Errors functions
11:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** *
12:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** ******************************************************************************
13:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @attention
14:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** *
15:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * Copyright (c) 2016 STMicroelectronics.
16:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * All rights reserved.
17:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** *
18:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * This software is licensed under terms that can be found in the LICENSE file
19:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * in the root directory of this software component.
20:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * If no LICENSE file comes with this software, it is provided AS-IS.
21:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** *
22:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** ******************************************************************************
23:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** @verbatim
24:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** ==============================================================================
25:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** ##### How to use this driver #####
26:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** ==============================================================================
27:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** [..]
28:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** The I2C HAL driver can be used as follows:
29:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
30:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (#) Declare a I2C_HandleTypeDef handle structure, for example:
31:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_HandleTypeDef hi2c;
32:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
ARM GAS /tmp/ccuRhBPx.s page 2
33:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (#)Initialize the I2C low level resources by implementing the HAL_I2C_MspInit() API:
34:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (##) Enable the I2Cx interface clock
35:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (##) I2C pins configuration
36:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+++) Enable the clock for the I2C GPIOs
37:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+++) Configure I2C pins as alternate function open-drain
38:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (##) NVIC configuration if you need to use interrupt process
39:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+++) Configure the I2Cx interrupt priority
40:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+++) Enable the NVIC I2C IRQ Channel
41:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (##) DMA Configuration if you need to use DMA process
42:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+++) Declare a DMA_HandleTypeDef handle structure for
43:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** the transmit or receive channel
44:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+++) Enable the DMAx interface clock using
45:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+++) Configure the DMA handle parameters
46:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+++) Configure the DMA Tx or Rx channel
47:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+++) Associate the initialized DMA handle to the hi2c DMA Tx or Rx handle
48:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+++) Configure the priority and enable the NVIC for the transfer complete interrupt on
49:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** the DMA Tx or Rx channel
50:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
51:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (#) Configure the Communication Clock Timing, Own Address1, Master Addressing mode, Dual Addres
52:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** Own Address2, Own Address2 Mask, General call and Nostretch mode in the hi2c Init structure
53:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
54:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (#) Initialize the I2C registers by calling the HAL_I2C_Init(), configures also the low level H
55:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (GPIO, CLOCK, NVIC...etc) by calling the customized HAL_I2C_MspInit(&hi2c) API.
56:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
57:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (#) To check if target device is ready for communication, use the function HAL_I2C_IsDeviceRead
58:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
59:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (#) For I2C IO and IO MEM operations, three operation modes are available within this driver :
60:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
61:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** *** Polling mode IO operation ***
62:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** =================================
63:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** [..]
64:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Transmit in master mode an amount of data in blocking mode using HAL_I2C_Master_Transmit(
65:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Receive in master mode an amount of data in blocking mode using HAL_I2C_Master_Receive()
66:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Transmit in slave mode an amount of data in blocking mode using HAL_I2C_Slave_Transmit()
67:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Receive in slave mode an amount of data in blocking mode using HAL_I2C_Slave_Receive()
68:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
69:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** *** Polling mode IO MEM operation ***
70:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** =====================================
71:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** [..]
72:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Write an amount of data in blocking mode to a specific memory address using HAL_I2C_Mem_W
73:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Read an amount of data in blocking mode from a specific memory address using HAL_I2C_Mem_
74:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
75:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
76:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** *** Interrupt mode IO operation ***
77:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** ===================================
78:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** [..]
79:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Transmit in master mode an amount of data in non-blocking mode using HAL_I2C_Master_Trans
80:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) At transmission end of transfer, HAL_I2C_MasterTxCpltCallback() is executed and users can
81:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_MasterTxCpltCallback()
82:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Receive in master mode an amount of data in non-blocking mode using HAL_I2C_Master_Receiv
83:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) At reception end of transfer, HAL_I2C_MasterRxCpltCallback() is executed and users can
84:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_MasterRxCpltCallback()
85:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Transmit in slave mode an amount of data in non-blocking mode using HAL_I2C_Slave_Transmi
86:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) At transmission end of transfer, HAL_I2C_SlaveTxCpltCallback() is executed and users can
87:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_SlaveTxCpltCallback()
88:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Receive in slave mode an amount of data in non-blocking mode using HAL_I2C_Slave_Receive_
89:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) At reception end of transfer, HAL_I2C_SlaveRxCpltCallback() is executed and users can
ARM GAS /tmp/ccuRhBPx.s page 3
90:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_SlaveRxCpltCallback()
91:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) In case of transfer Error, HAL_I2C_ErrorCallback() function is executed and users can
92:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_ErrorCallback()
93:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Abort a master I2C process communication with Interrupt using HAL_I2C_Master_Abort_IT()
94:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) End of abort process, HAL_I2C_AbortCpltCallback() is executed and users can
95:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_AbortCpltCallback()
96:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Discard a slave I2C process communication using __HAL_I2C_GENERATE_NACK() macro.
97:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** This action will inform Master to generate a Stop condition to discard the communication
98:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
99:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** *** Interrupt mode or DMA mode IO sequential operation ***
101:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** ==========================================================
102:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** [..]
103:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (@) These interfaces allow to manage a sequential transfer with a repeated start condition
104:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** when a direction change during transfer
105:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** [..]
106:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) A specific option field manage the different steps of a sequential transfer
107:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Option field values are defined through I2C_XFEROPTIONS and are listed below:
108:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) I2C_FIRST_AND_LAST_FRAME: No sequential usage, functional is same as associated interfac
109:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** no sequential mode
110:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) I2C_FIRST_FRAME: Sequential usage, this option allow to manage a sequence with start con
111:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** and data to transfer without a final stop condition
112:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) I2C_FIRST_AND_NEXT_FRAME: Sequential usage (Master only), this option allow to manage a
113:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** start condition, address and data to transfer without a final stop cond
114:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** an then permit a call the same master sequential interface several time
115:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (like HAL_I2C_Master_Seq_Transmit_IT() then HAL_I2C_Master_Seq_Transmit
116:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** or HAL_I2C_Master_Seq_Transmit_DMA() then HAL_I2C_Master_Seq_Transmit_D
117:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) I2C_NEXT_FRAME: Sequential usage, this option allow to manage a sequence with a restart
118:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** and with new data to transfer if the direction change or manage only th
119:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** transfer
120:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if no direction change and without a final stop condition in both cases
121:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) I2C_LAST_FRAME: Sequential usage, this option allow to manage a sequance with a restart
122:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** and with new data to transfer if the direction change or manage only th
123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** transfer
124:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if no direction change and with a final stop condition in both cases
125:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) I2C_LAST_FRAME_NO_STOP: Sequential usage (Master only), this option allow to manage a re
126:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** after several call of the same master sequential interface several time
127:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (link with option I2C_FIRST_AND_NEXT_FRAME).
128:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** Usage can, transfer several bytes one by one using
129:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_Master_Seq_Transmit_IT
130:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** or HAL_I2C_Master_Seq_Receive_IT
131:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** or HAL_I2C_Master_Seq_Transmit_DMA
132:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** or HAL_I2C_Master_Seq_Receive_DMA
133:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** with option I2C_FIRST_AND_NEXT_FRAME then I2C_NEXT_FRAME.
134:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** Then usage of this option I2C_LAST_FRAME_NO_STOP at the last Transmit
135:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** Receive sequence permit to call the opposite interface Receive or Tra
136:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** without stopping the communication and so generate a restart conditio
137:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) I2C_OTHER_FRAME: Sequential usage (Master only), this option allow to manage a restart c
138:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** each call of the same master sequential
139:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** interface.
140:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** Usage can, transfer several bytes one by one with a restart with slave
141:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** each bytes using
142:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_Master_Seq_Transmit_IT
143:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** or HAL_I2C_Master_Seq_Receive_IT
144:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** or HAL_I2C_Master_Seq_Transmit_DMA
145:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** or HAL_I2C_Master_Seq_Receive_DMA
146:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** with option I2C_FIRST_FRAME then I2C_OTHER_FRAME.
ARM GAS /tmp/ccuRhBPx.s page 4
147:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** Then usage of this option I2C_OTHER_AND_LAST_FRAME at the last frame to
148:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** generation of STOP condition.
149:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
150:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Different sequential I2C interfaces are listed below:
151:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) Sequential transmit in master I2C mode an amount of data in non-blocking mode using
152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_Master_Seq_Transmit_IT() or using HAL_I2C_Master_Seq_Transmit_DMA()
153:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+++) At transmission end of current frame transfer, HAL_I2C_MasterTxCpltCallback() is execut
154:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** users can add their own code by customization of function pointer HAL_I2C_MasterTxCpltC
155:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) Sequential receive in master I2C mode an amount of data in non-blocking mode using
156:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_Master_Seq_Receive_IT() or using HAL_I2C_Master_Seq_Receive_DMA()
157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+++) At reception end of current frame transfer, HAL_I2C_MasterRxCpltCallback() is executed
158:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_MasterRxCpltCallback()
159:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) Abort a master IT or DMA I2C process communication with Interrupt using HAL_I2C_Master_A
160:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+++) End of abort process, HAL_I2C_AbortCpltCallback() is executed and users can
161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_AbortCpltCallback()
162:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) Enable/disable the Address listen mode in slave I2C mode using HAL_I2C_EnableListen_IT()
163:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_DisableListen_IT()
164:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+++) When address slave I2C match, HAL_I2C_AddrCallback() is executed and users can
165:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** add their own code to check the Address Match Code and the transmission direction reques
166:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (Write/Read).
167:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+++) At Listen mode end HAL_I2C_ListenCpltCallback() is executed and users can
168:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_ListenCpltCallback()
169:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) Sequential transmit in slave I2C mode an amount of data in non-blocking mode using
170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_Slave_Seq_Transmit_IT() or using HAL_I2C_Slave_Seq_Transmit_DMA()
171:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+++) At transmission end of current frame transfer, HAL_I2C_SlaveTxCpltCallback() is execute
172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** users can add their own code by customization of function pointer HAL_I2C_SlaveTxCpltCa
173:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) Sequential receive in slave I2C mode an amount of data in non-blocking mode using
174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_Slave_Seq_Receive_IT() or using HAL_I2C_Slave_Seq_Receive_DMA()
175:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+++) At reception end of current frame transfer, HAL_I2C_SlaveRxCpltCallback() is executed a
176:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_SlaveRxCpltCallback()
177:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) In case of transfer Error, HAL_I2C_ErrorCallback() function is executed and users can
178:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_ErrorCallback()
179:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) Discard a slave I2C process communication using __HAL_I2C_GENERATE_NACK() macro.
180:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** This action will inform Master to generate a Stop condition to discard the communication
181:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
182:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** *** Interrupt mode IO MEM operation ***
183:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** =======================================
184:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** [..]
185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Write an amount of data in non-blocking mode with Interrupt to a specific memory address
186:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_Mem_Write_IT()
187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) At Memory end of write transfer, HAL_I2C_MemTxCpltCallback() is executed and users can
188:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_MemTxCpltCallback()
189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Read an amount of data in non-blocking mode with Interrupt from a specific memory address
190:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_Mem_Read_IT()
191:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) At Memory end of read transfer, HAL_I2C_MemRxCpltCallback() is executed and users can
192:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_MemRxCpltCallback()
193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) In case of transfer Error, HAL_I2C_ErrorCallback() function is executed and users can
194:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_ErrorCallback()
195:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
196:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** *** DMA mode IO operation ***
197:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** ==============================
198:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** [..]
199:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Transmit in master mode an amount of data in non-blocking mode (DMA) using
200:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_Master_Transmit_DMA()
201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) At transmission end of transfer, HAL_I2C_MasterTxCpltCallback() is executed and users can
202:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_MasterTxCpltCallback()
203:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Receive in master mode an amount of data in non-blocking mode (DMA) using
ARM GAS /tmp/ccuRhBPx.s page 5
204:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_Master_Receive_DMA()
205:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) At reception end of transfer, HAL_I2C_MasterRxCpltCallback() is executed and users can
206:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_MasterRxCpltCallback()
207:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Transmit in slave mode an amount of data in non-blocking mode (DMA) using
208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_Slave_Transmit_DMA()
209:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) At transmission end of transfer, HAL_I2C_SlaveTxCpltCallback() is executed and users can
210:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_SlaveTxCpltCallback()
211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Receive in slave mode an amount of data in non-blocking mode (DMA) using
212:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_Slave_Receive_DMA()
213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) At reception end of transfer, HAL_I2C_SlaveRxCpltCallback() is executed and users can
214:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_SlaveRxCpltCallback()
215:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) In case of transfer Error, HAL_I2C_ErrorCallback() function is executed and users can
216:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_ErrorCallback()
217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Abort a master I2C process communication with Interrupt using HAL_I2C_Master_Abort_IT()
218:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) End of abort process, HAL_I2C_AbortCpltCallback() is executed and users can
219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_AbortCpltCallback()
220:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Discard a slave I2C process communication using __HAL_I2C_GENERATE_NACK() macro.
221:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** This action will inform Master to generate a Stop condition to discard the communication
222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
223:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** *** DMA mode IO MEM operation ***
224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** =================================
225:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** [..]
226:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Write an amount of data in non-blocking mode with DMA to a specific memory address using
227:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_Mem_Write_DMA()
228:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) At Memory end of write transfer, HAL_I2C_MemTxCpltCallback() is executed and users can
229:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_MemTxCpltCallback()
230:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Read an amount of data in non-blocking mode with DMA from a specific memory address using
231:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_Mem_Read_DMA()
232:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) At Memory end of read transfer, HAL_I2C_MemRxCpltCallback() is executed and users can
233:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_MemRxCpltCallback()
234:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) In case of transfer Error, HAL_I2C_ErrorCallback() function is executed and users can
235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_ErrorCallback()
236:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
237:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
238:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** *** I2C HAL driver macros list ***
239:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** ==================================
240:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** [..]
241:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** Below the list of most used macros in I2C HAL driver.
242:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
243:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) __HAL_I2C_ENABLE: Enable the I2C peripheral
244:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) __HAL_I2C_DISABLE: Disable the I2C peripheral
245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) __HAL_I2C_GENERATE_NACK: Generate a Non-Acknowledge I2C peripheral in Slave mode
246:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) __HAL_I2C_GET_FLAG: Check whether the specified I2C flag is set or not
247:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) __HAL_I2C_CLEAR_FLAG: Clear the specified I2C pending flag
248:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) __HAL_I2C_ENABLE_IT: Enable the specified I2C interrupt
249:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) __HAL_I2C_DISABLE_IT: Disable the specified I2C interrupt
250:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
251:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** *** Callback registration ***
252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** =============================================
253:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** [..]
254:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** The compilation flag USE_HAL_I2C_REGISTER_CALLBACKS when set to 1
255:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** allows the user to configure dynamically the driver callbacks.
256:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** Use Functions HAL_I2C_RegisterCallback() or HAL_I2C_RegisterAddrCallback()
257:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to register an interrupt callback.
258:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** [..]
259:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** Function HAL_I2C_RegisterCallback() allows to register following callbacks:
260:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) MasterTxCpltCallback : callback for Master transmission end of transfer.
ARM GAS /tmp/ccuRhBPx.s page 6
261:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) MasterRxCpltCallback : callback for Master reception end of transfer.
262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) SlaveTxCpltCallback : callback for Slave transmission end of transfer.
263:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) SlaveRxCpltCallback : callback for Slave reception end of transfer.
264:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) ListenCpltCallback : callback for end of listen mode.
265:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) MemTxCpltCallback : callback for Memory transmission end of transfer.
266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) MemRxCpltCallback : callback for Memory reception end of transfer.
267:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) ErrorCallback : callback for error detection.
268:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) AbortCpltCallback : callback for abort completion process.
269:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) MspInitCallback : callback for Msp Init.
270:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) MspDeInitCallback : callback for Msp DeInit.
271:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** This function takes as parameters the HAL peripheral handle, the Callback ID
272:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** and a pointer to the user callback function.
273:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** [..]
274:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** For specific callback AddrCallback use dedicated register callbacks : HAL_I2C_RegisterAddrCall
275:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** [..]
276:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** Use function HAL_I2C_UnRegisterCallback to reset a callback to the default
277:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** weak function.
278:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_UnRegisterCallback takes as parameters the HAL peripheral handle,
279:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** and the Callback ID.
280:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** This function allows to reset following callbacks:
281:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) MasterTxCpltCallback : callback for Master transmission end of transfer.
282:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) MasterRxCpltCallback : callback for Master reception end of transfer.
283:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) SlaveTxCpltCallback : callback for Slave transmission end of transfer.
284:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) SlaveRxCpltCallback : callback for Slave reception end of transfer.
285:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) ListenCpltCallback : callback for end of listen mode.
286:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) MemTxCpltCallback : callback for Memory transmission end of transfer.
287:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) MemRxCpltCallback : callback for Memory reception end of transfer.
288:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) ErrorCallback : callback for error detection.
289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) AbortCpltCallback : callback for abort completion process.
290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) MspInitCallback : callback for Msp Init.
291:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) MspDeInitCallback : callback for Msp DeInit.
292:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** [..]
293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** For callback AddrCallback use dedicated register callbacks : HAL_I2C_UnRegisterAddrCallback().
294:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** [..]
295:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** By default, after the HAL_I2C_Init() and when the state is HAL_I2C_STATE_RESET
296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** all callbacks are set to the corresponding weak functions:
297:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** examples HAL_I2C_MasterTxCpltCallback(), HAL_I2C_MasterRxCpltCallback().
298:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** Exception done for MspInit and MspDeInit functions that are
299:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** reset to the legacy weak functions in the HAL_I2C_Init()/ HAL_I2C_DeInit() only when
300:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** these callbacks are null (not registered beforehand).
301:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** If MspInit or MspDeInit are not null, the HAL_I2C_Init()/ HAL_I2C_DeInit()
302:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** keep and use the user MspInit/MspDeInit callbacks (registered beforehand) whatever the state.
303:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** [..]
304:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** Callbacks can be registered/unregistered in HAL_I2C_STATE_READY state only.
305:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** Exception done MspInit/MspDeInit functions that can be registered/unregistered
306:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** in HAL_I2C_STATE_READY or HAL_I2C_STATE_RESET state,
307:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** thus registered (user) MspInit/DeInit callbacks can be used during the Init/DeInit.
308:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** Then, the user first registers the MspInit/MspDeInit user callbacks
309:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** using HAL_I2C_RegisterCallback() before calling HAL_I2C_DeInit()
310:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** or HAL_I2C_Init() function.
311:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** [..]
312:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** When the compilation flag USE_HAL_I2C_REGISTER_CALLBACKS is set to 0 or
313:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** not defined, the callback registration feature is not available and all callbacks
314:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** are set to the corresponding weak functions.
315:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
316:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** [..]
317:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (@) You can refer to the I2C HAL driver header file for more useful macros
ARM GAS /tmp/ccuRhBPx.s page 7
318:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** @endverbatim
320:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
321:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
322:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Includes ------------------------------------------------------------------*/
323:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #include "stm32f0xx_hal.h"
324:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** @addtogroup STM32F0xx_HAL_Driver
326:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @{
327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
328:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
329:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** @defgroup I2C I2C
330:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief I2C HAL module driver
331:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @{
332:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
333:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
334:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #ifdef HAL_I2C_MODULE_ENABLED
335:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
336:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Private typedef -----------------------------------------------------------*/
337:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Private define ------------------------------------------------------------*/
338:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** @defgroup I2C_Private_Define I2C Private Define
340:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @{
341:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
342:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define TIMING_CLEAR_MASK (0xF0FFFFFFU) /*!< I2C TIMING clear register Mask */
343:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define I2C_TIMEOUT_ADDR (10000U) /*!< 10 s */
344:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define I2C_TIMEOUT_BUSY (25U) /*!< 25 ms */
345:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define I2C_TIMEOUT_DIR (25U) /*!< 25 ms */
346:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define I2C_TIMEOUT_RXNE (25U) /*!< 25 ms */
347:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define I2C_TIMEOUT_STOPF (25U) /*!< 25 ms */
348:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define I2C_TIMEOUT_TC (25U) /*!< 25 ms */
349:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define I2C_TIMEOUT_TCR (25U) /*!< 25 ms */
350:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define I2C_TIMEOUT_TXIS (25U) /*!< 25 ms */
351:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define I2C_TIMEOUT_FLAG (25U) /*!< 25 ms */
352:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
353:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define MAX_NBYTE_SIZE 255U
354:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define SLAVE_ADDR_SHIFT 7U
355:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define SLAVE_ADDR_MSK 0x06U
356:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
357:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Private define for @ref PreviousState usage */
358:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define I2C_STATE_MSK ((uint32_t)((uint32_t)((uint32_t)HAL_I2C_STATE_BUSY_TX | \
359:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (uint32_t)HAL_I2C_STATE_BUSY_RX) & \
360:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (uint32_t)(~((uint32_t)HAL_I2C_STATE_READY))))
361:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /*!< Mask State define, keep only RX and TX bits */
362:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define I2C_STATE_NONE ((uint32_t)(HAL_I2C_MODE_NONE))
363:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /*!< Default Value */
364:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define I2C_STATE_MASTER_BUSY_TX ((uint32_t)(((uint32_t)HAL_I2C_STATE_BUSY_TX & I2C_STATE_MSK) | \
365:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (uint32_t)HAL_I2C_MODE_MASTER))
366:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /*!< Master Busy TX, combinaison of State LSB and Mode enum */
367:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define I2C_STATE_MASTER_BUSY_RX ((uint32_t)(((uint32_t)HAL_I2C_STATE_BUSY_RX & I2C_STATE_MSK) | \
368:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (uint32_t)HAL_I2C_MODE_MASTER))
369:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /*!< Master Busy RX, combinaison of State LSB and Mode enum */
370:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define I2C_STATE_SLAVE_BUSY_TX ((uint32_t)(((uint32_t)HAL_I2C_STATE_BUSY_TX & I2C_STATE_MSK) | \
371:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (uint32_t)HAL_I2C_MODE_SLAVE))
372:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /*!< Slave Busy TX, combinaison of State LSB and Mode enum */
373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define I2C_STATE_SLAVE_BUSY_RX ((uint32_t)(((uint32_t)HAL_I2C_STATE_BUSY_RX & I2C_STATE_MSK) | \
374:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (uint32_t)HAL_I2C_MODE_SLAVE))
ARM GAS /tmp/ccuRhBPx.s page 8
375:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /*!< Slave Busy RX, combinaison of State LSB and Mode enum */
376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define I2C_STATE_MEM_BUSY_TX ((uint32_t)(((uint32_t)HAL_I2C_STATE_BUSY_TX & I2C_STATE_MSK) | \
377:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (uint32_t)HAL_I2C_MODE_MEM))
378:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /*!< Memory Busy TX, combinaison of State LSB and Mode enum */
379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define I2C_STATE_MEM_BUSY_RX ((uint32_t)(((uint32_t)HAL_I2C_STATE_BUSY_RX & I2C_STATE_MSK) | \
380:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (uint32_t)HAL_I2C_MODE_MEM))
381:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /*!< Memory Busy RX, combinaison of State LSB and Mode enum */
382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
383:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
384:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Private define to centralize the enable/disable of Interrupts */
385:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define I2C_XFER_TX_IT (uint16_t)(0x0001U) /*!< Bit field can be combinated with
386:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** @ref I2C_XFER_LISTEN_IT */
387:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define I2C_XFER_RX_IT (uint16_t)(0x0002U) /*!< Bit field can be combinated with
388:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** @ref I2C_XFER_LISTEN_IT */
389:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define I2C_XFER_LISTEN_IT (uint16_t)(0x8000U) /*!< Bit field can be combinated with @ref I2
390:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** and @ref I2C_XFER_RX_IT */
391:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
392:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define I2C_XFER_ERROR_IT (uint16_t)(0x0010U) /*!< Bit definition to manage addition of glo
393:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** and NACK treatment */
394:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define I2C_XFER_CPLT_IT (uint16_t)(0x0020U) /*!< Bit definition to manage only STOP evene
395:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define I2C_XFER_RELOAD_IT (uint16_t)(0x0040U) /*!< Bit definition to manage only Reload of
396:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
397:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Private define Sequential Transfer Options default/reset value */
398:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define I2C_NO_OPTION_FRAME (0xFFFF0000U)
399:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
400:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @}
401:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
402:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
403:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Private macros ------------------------------------------------------------*/
404:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** @addtogroup I2C_Private_Macro
405:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @{
406:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
407:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Macro to get remaining data to transfer on DMA side */
408:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define I2C_GET_DMA_REMAIN_DATA(__HANDLE__) __HAL_DMA_GET_COUNTER(__HANDLE__)
409:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
410:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @}
411:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
412:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
413:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Private variables ---------------------------------------------------------*/
414:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Private function prototypes -----------------------------------------------*/
415:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
416:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** @defgroup I2C_Private_Functions I2C Private Functions
417:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @{
418:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
419:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Private functions to handle DMA transfer */
420:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_DMAMasterTransmitCplt(DMA_HandleTypeDef *hdma);
421:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_DMAMasterReceiveCplt(DMA_HandleTypeDef *hdma);
422:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_DMASlaveTransmitCplt(DMA_HandleTypeDef *hdma);
423:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_DMASlaveReceiveCplt(DMA_HandleTypeDef *hdma);
424:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_DMAError(DMA_HandleTypeDef *hdma);
425:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_DMAAbort(DMA_HandleTypeDef *hdma);
426:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
427:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
428:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Private functions to handle IT transfer */
429:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_ITAddrCplt(I2C_HandleTypeDef *hi2c, uint32_t ITFlags);
430:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_ITMasterSeqCplt(I2C_HandleTypeDef *hi2c);
431:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_ITSlaveSeqCplt(I2C_HandleTypeDef *hi2c);
ARM GAS /tmp/ccuRhBPx.s page 9
432:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_ITMasterCplt(I2C_HandleTypeDef *hi2c, uint32_t ITFlags);
433:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_ITSlaveCplt(I2C_HandleTypeDef *hi2c, uint32_t ITFlags);
434:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_ITListenCplt(I2C_HandleTypeDef *hi2c, uint32_t ITFlags);
435:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_ITError(I2C_HandleTypeDef *hi2c, uint32_t ErrorCode);
436:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
437:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Private functions to handle IT transfer */
438:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_RequestMemoryWrite(I2C_HandleTypeDef *hi2c, uint16_t DevAddress,
439:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint16_t MemAddress, uint16_t MemAddSize, uint32_t
440:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t Tickstart);
441:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_RequestMemoryRead(I2C_HandleTypeDef *hi2c, uint16_t DevAddress,
442:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint16_t MemAddress, uint16_t MemAddSize, uint32_t T
443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t Tickstart);
444:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
445:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Private functions for I2C transfer IRQ handler */
446:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_Master_ISR_IT(struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags,
447:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t ITSources);
448:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_Mem_ISR_IT(struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags,
449:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t ITSources);
450:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_Slave_ISR_IT(struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags,
451:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t ITSources);
452:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_Master_ISR_DMA(struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags,
453:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t ITSources);
454:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_Mem_ISR_DMA(struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags,
455:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t ITSources);
456:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_Slave_ISR_DMA(struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags,
457:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t ITSources);
458:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
459:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Private functions to handle flags during polling transfer */
460:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_WaitOnFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t Flag, FlagSta
461:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t Timeout, uint32_t Tickstart);
462:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_WaitOnTXISFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t Timeout,
463:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t Tickstart);
464:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_WaitOnRXNEFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t Timeout,
465:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t Tickstart);
466:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_WaitOnSTOPFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t Timeout,
467:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t Tickstart);
468:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_IsErrorOccurred(I2C_HandleTypeDef *hi2c, uint32_t Timeout,
469:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t Tickstart);
470:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
471:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Private functions to centralize the enable/disable of Interrupts */
472:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_Enable_IRQ(I2C_HandleTypeDef *hi2c, uint16_t InterruptRequest);
473:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_Disable_IRQ(I2C_HandleTypeDef *hi2c, uint16_t InterruptRequest);
474:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
475:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Private function to treat different error callback */
476:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_TreatErrorCallback(I2C_HandleTypeDef *hi2c);
477:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
478:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Private function to flush TXDR register */
479:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_Flush_TXDR(I2C_HandleTypeDef *hi2c);
480:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Private function to handle start, restart or stop a transfer */
482:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_TransferConfig(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t Size, uint32_t
483:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t Request);
484:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
485:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Private function to Convert Specific options */
486:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_ConvertOtherXferOptions(I2C_HandleTypeDef *hi2c);
487:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
488:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @}
ARM GAS /tmp/ccuRhBPx.s page 10
489:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
490:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
491:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Exported functions --------------------------------------------------------*/
492:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
493:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** @defgroup I2C_Exported_Functions I2C Exported Functions
494:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @{
495:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
496:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
497:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** @defgroup I2C_Exported_Functions_Group1 Initialization and de-initialization functions
498:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Initialization and Configuration functions
499:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** *
500:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** @verbatim
501:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** ===============================================================================
502:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** ##### Initialization and de-initialization functions #####
503:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** ===============================================================================
504:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** [..] This subsection provides a set of functions allowing to initialize and
505:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** deinitialize the I2Cx peripheral:
506:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
507:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) User must Implement HAL_I2C_MspInit() function in which he configures
508:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** all related peripherals resources (CLOCK, GPIO, DMA, IT and NVIC ).
509:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
510:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Call the function HAL_I2C_Init() to configure the selected device with
511:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** the selected configuration:
512:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) Clock Timing
513:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) Own Address 1
514:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) Addressing mode (Master, Slave)
515:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) Dual Addressing mode
516:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) Own Address 2
517:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) Own Address 2 Mask
518:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) General call mode
519:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) Nostretch mode
520:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
521:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Call the function HAL_I2C_DeInit() to restore the default configuration
522:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** of the selected I2Cx peripheral.
523:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
524:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** @endverbatim
525:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @{
526:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
527:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
528:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
529:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Initializes the I2C according to the specified parameters
530:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * in the I2C_InitTypeDef and initialize the associated handle.
531:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
532:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
533:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
534:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
535:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Init(I2C_HandleTypeDef *hi2c)
536:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
537:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check the I2C handle allocation */
538:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c == NULL)
539:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
540:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
541:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
542:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
543:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check the parameters */
544:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_ALL_INSTANCE(hi2c->Instance));
545:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_OWN_ADDRESS1(hi2c->Init.OwnAddress1));
ARM GAS /tmp/ccuRhBPx.s page 11
546:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_ADDRESSING_MODE(hi2c->Init.AddressingMode));
547:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_DUAL_ADDRESS(hi2c->Init.DualAddressMode));
548:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_OWN_ADDRESS2(hi2c->Init.OwnAddress2));
549:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_OWN_ADDRESS2_MASK(hi2c->Init.OwnAddress2Masks));
550:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_GENERAL_CALL(hi2c->Init.GeneralCallMode));
551:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_NO_STRETCH(hi2c->Init.NoStretchMode));
552:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
553:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_RESET)
554:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
555:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Allocate lock resource and initialize it */
556:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Lock = HAL_UNLOCKED;
557:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
558:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
559:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Init the I2C Callback settings */
560:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MasterTxCpltCallback = HAL_I2C_MasterTxCpltCallback; /* Legacy weak MasterTxCpltCallback
561:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MasterRxCpltCallback = HAL_I2C_MasterRxCpltCallback; /* Legacy weak MasterRxCpltCallback
562:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->SlaveTxCpltCallback = HAL_I2C_SlaveTxCpltCallback; /* Legacy weak SlaveTxCpltCallback
563:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->SlaveRxCpltCallback = HAL_I2C_SlaveRxCpltCallback; /* Legacy weak SlaveRxCpltCallback
564:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ListenCpltCallback = HAL_I2C_ListenCpltCallback; /* Legacy weak ListenCpltCallback
565:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MemTxCpltCallback = HAL_I2C_MemTxCpltCallback; /* Legacy weak MemTxCpltCallback
566:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MemRxCpltCallback = HAL_I2C_MemRxCpltCallback; /* Legacy weak MemRxCpltCallback
567:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCallback = HAL_I2C_ErrorCallback; /* Legacy weak ErrorCallback
568:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->AbortCpltCallback = HAL_I2C_AbortCpltCallback; /* Legacy weak AbortCpltCallback
569:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->AddrCallback = HAL_I2C_AddrCallback; /* Legacy weak AddrCallback
570:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
571:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->MspInitCallback == NULL)
572:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
573:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MspInitCallback = HAL_I2C_MspInit; /* Legacy weak MspInit */
574:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
575:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
576:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Init the low level hardware : GPIO, CLOCK, CORTEX...etc */
577:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MspInitCallback(hi2c);
578:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #else
579:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Init the low level hardware : GPIO, CLOCK, CORTEX...etc */
580:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_MspInit(hi2c);
581:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
582:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
583:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
584:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY;
585:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
586:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable the selected I2C peripheral */
587:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_DISABLE(hi2c);
588:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
589:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /*---------------------------- I2Cx TIMINGR Configuration ------------------*/
590:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Configure I2Cx: Frequency range */
591:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->TIMINGR = hi2c->Init.Timing & TIMING_CLEAR_MASK;
592:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
593:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /*---------------------------- I2Cx OAR1 Configuration ---------------------*/
594:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Own Address1 before set the Own Address1 configuration */
595:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->OAR1 &= ~I2C_OAR1_OA1EN;
596:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
597:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Configure I2Cx: Own Address1 and ack own address1 mode */
598:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->Init.AddressingMode == I2C_ADDRESSINGMODE_7BIT)
599:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
600:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->OAR1 = (I2C_OAR1_OA1EN | hi2c->Init.OwnAddress1);
601:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
602:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else /* I2C_ADDRESSINGMODE_10BIT */
ARM GAS /tmp/ccuRhBPx.s page 12
603:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
604:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->OAR1 = (I2C_OAR1_OA1EN | I2C_OAR1_OA1MODE | hi2c->Init.OwnAddress1);
605:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
606:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
607:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /*---------------------------- I2Cx CR2 Configuration ----------------------*/
608:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Configure I2Cx: Addressing Master mode */
609:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->Init.AddressingMode == I2C_ADDRESSINGMODE_10BIT)
610:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
611:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 = (I2C_CR2_ADD10);
612:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
613:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable the AUTOEND by default, and enable NACK (should be disable only during Slave process */
614:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 |= (I2C_CR2_AUTOEND | I2C_CR2_NACK);
615:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
616:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /*---------------------------- I2Cx OAR2 Configuration ---------------------*/
617:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Own Address2 before set the Own Address2 configuration */
618:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->OAR2 &= ~I2C_DUALADDRESS_ENABLE;
619:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
620:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Configure I2Cx: Dual mode and Own Address2 */
621:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->OAR2 = (hi2c->Init.DualAddressMode | hi2c->Init.OwnAddress2 | \
622:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (hi2c->Init.OwnAddress2Masks << 8));
623:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
624:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /*---------------------------- I2Cx CR1 Configuration ----------------------*/
625:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Configure I2Cx: Generalcall and NoStretch mode */
626:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 = (hi2c->Init.GeneralCallMode | hi2c->Init.NoStretchMode);
627:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
628:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable the selected I2C peripheral */
629:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_ENABLE(hi2c);
630:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
631:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
632:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
633:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
634:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
635:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
636:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
637:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
638:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
639:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
640:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief DeInitialize the I2C peripheral.
641:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
642:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
643:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
644:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
645:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_DeInit(I2C_HandleTypeDef *hi2c)
646:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
647:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check the I2C handle allocation */
648:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c == NULL)
649:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
650:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
651:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
652:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
653:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check the parameters */
654:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_ALL_INSTANCE(hi2c->Instance));
655:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
656:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY;
657:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
658:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable the I2C Peripheral Clock */
659:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_DISABLE(hi2c);
ARM GAS /tmp/ccuRhBPx.s page 13
660:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
661:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
662:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->MspDeInitCallback == NULL)
663:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
664:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MspDeInitCallback = HAL_I2C_MspDeInit; /* Legacy weak MspDeInit */
665:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
666:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
667:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* DeInit the low level hardware: GPIO, CLOCK, NVIC */
668:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MspDeInitCallback(hi2c);
669:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #else
670:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* DeInit the low level hardware: GPIO, CLOCK, NVIC */
671:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_MspDeInit(hi2c);
672:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
673:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
674:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
675:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_RESET;
676:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
677:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
678:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
679:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Release Lock */
680:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
681:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
682:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
683:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
684:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
685:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
686:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Initialize the I2C MSP.
687:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
688:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
689:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
690:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
691:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __weak void HAL_I2C_MspInit(I2C_HandleTypeDef *hi2c)
692:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
693:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
694:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** UNUSED(hi2c);
695:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
696:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed,
697:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** the HAL_I2C_MspInit could be implemented in the user file
698:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
699:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
700:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
701:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
702:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief DeInitialize the I2C MSP.
703:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
704:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
705:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
706:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
707:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __weak void HAL_I2C_MspDeInit(I2C_HandleTypeDef *hi2c)
708:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
709:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
710:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** UNUSED(hi2c);
711:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
712:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed,
713:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** the HAL_I2C_MspDeInit could be implemented in the user file
714:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
715:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
716:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
ARM GAS /tmp/ccuRhBPx.s page 14
717:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
718:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
719:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Register a User I2C Callback
720:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * To be used instead of the weak predefined callback
721:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @note The HAL_I2C_RegisterCallback() may be called before HAL_I2C_Init() in HAL_I2C_STATE_RES
722:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * to register callbacks for HAL_I2C_MSPINIT_CB_ID and HAL_I2C_MSPDEINIT_CB_ID.
723:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
724:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
725:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param CallbackID ID of the callback to be registered
726:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * This parameter can be one of the following values:
727:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref HAL_I2C_MASTER_TX_COMPLETE_CB_ID Master Tx Transfer completed callback ID
728:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref HAL_I2C_MASTER_RX_COMPLETE_CB_ID Master Rx Transfer completed callback ID
729:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref HAL_I2C_SLAVE_TX_COMPLETE_CB_ID Slave Tx Transfer completed callback ID
730:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref HAL_I2C_SLAVE_RX_COMPLETE_CB_ID Slave Rx Transfer completed callback ID
731:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref HAL_I2C_LISTEN_COMPLETE_CB_ID Listen Complete callback ID
732:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref HAL_I2C_MEM_TX_COMPLETE_CB_ID Memory Tx Transfer callback ID
733:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref HAL_I2C_MEM_RX_COMPLETE_CB_ID Memory Rx Transfer completed callback ID
734:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref HAL_I2C_ERROR_CB_ID Error callback ID
735:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref HAL_I2C_ABORT_CB_ID Abort callback ID
736:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref HAL_I2C_MSPINIT_CB_ID MspInit callback ID
737:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref HAL_I2C_MSPDEINIT_CB_ID MspDeInit callback ID
738:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pCallback pointer to the Callback function
739:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
740:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
741:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_RegisterCallback(I2C_HandleTypeDef *hi2c, HAL_I2C_CallbackIDTypeDef Callb
742:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** pI2C_CallbackTypeDef pCallback)
743:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
744:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef status = HAL_OK;
745:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
746:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (pCallback == NULL)
747:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
748:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update the error code */
749:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK;
750:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
751:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
752:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
753:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
754:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (HAL_I2C_STATE_READY == hi2c->State)
755:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
756:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** switch (CallbackID)
757:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
758:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_MASTER_TX_COMPLETE_CB_ID :
759:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MasterTxCpltCallback = pCallback;
760:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break;
761:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
762:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_MASTER_RX_COMPLETE_CB_ID :
763:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MasterRxCpltCallback = pCallback;
764:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break;
765:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
766:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_SLAVE_TX_COMPLETE_CB_ID :
767:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->SlaveTxCpltCallback = pCallback;
768:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break;
769:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
770:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_SLAVE_RX_COMPLETE_CB_ID :
771:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->SlaveRxCpltCallback = pCallback;
772:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break;
773:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
ARM GAS /tmp/ccuRhBPx.s page 15
774:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_LISTEN_COMPLETE_CB_ID :
775:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ListenCpltCallback = pCallback;
776:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break;
777:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
778:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_MEM_TX_COMPLETE_CB_ID :
779:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MemTxCpltCallback = pCallback;
780:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break;
781:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
782:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_MEM_RX_COMPLETE_CB_ID :
783:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MemRxCpltCallback = pCallback;
784:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break;
785:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
786:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_ERROR_CB_ID :
787:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCallback = pCallback;
788:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break;
789:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
790:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_ABORT_CB_ID :
791:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->AbortCpltCallback = pCallback;
792:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break;
793:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
794:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_MSPINIT_CB_ID :
795:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MspInitCallback = pCallback;
796:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break;
797:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
798:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_MSPDEINIT_CB_ID :
799:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MspDeInitCallback = pCallback;
800:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break;
801:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
802:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** default :
803:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update the error code */
804:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK;
805:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
806:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Return error status */
807:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** status = HAL_ERROR;
808:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break;
809:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
810:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
811:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if (HAL_I2C_STATE_RESET == hi2c->State)
812:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
813:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** switch (CallbackID)
814:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
815:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_MSPINIT_CB_ID :
816:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MspInitCallback = pCallback;
817:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break;
818:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
819:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_MSPDEINIT_CB_ID :
820:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MspDeInitCallback = pCallback;
821:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break;
822:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
823:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** default :
824:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update the error code */
825:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK;
826:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
827:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Return error status */
828:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** status = HAL_ERROR;
829:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break;
830:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
ARM GAS /tmp/ccuRhBPx.s page 16
831:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
832:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
833:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
834:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update the error code */
835:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK;
836:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
837:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Return error status */
838:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** status = HAL_ERROR;
839:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
840:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
841:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return status;
842:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
843:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
844:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
845:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Unregister an I2C Callback
846:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * I2C callback is redirected to the weak predefined callback
847:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @note The HAL_I2C_UnRegisterCallback() may be called before HAL_I2C_Init() in HAL_I2C_STATE_R
848:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * to un-register callbacks for HAL_I2C_MSPINIT_CB_ID and HAL_I2C_MSPDEINIT_CB_ID.
849:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
850:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
851:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param CallbackID ID of the callback to be unregistered
852:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * This parameter can be one of the following values:
853:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * This parameter can be one of the following values:
854:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref HAL_I2C_MASTER_TX_COMPLETE_CB_ID Master Tx Transfer completed callback ID
855:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref HAL_I2C_MASTER_RX_COMPLETE_CB_ID Master Rx Transfer completed callback ID
856:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref HAL_I2C_SLAVE_TX_COMPLETE_CB_ID Slave Tx Transfer completed callback ID
857:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref HAL_I2C_SLAVE_RX_COMPLETE_CB_ID Slave Rx Transfer completed callback ID
858:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref HAL_I2C_LISTEN_COMPLETE_CB_ID Listen Complete callback ID
859:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref HAL_I2C_MEM_TX_COMPLETE_CB_ID Memory Tx Transfer callback ID
860:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref HAL_I2C_MEM_RX_COMPLETE_CB_ID Memory Rx Transfer completed callback ID
861:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref HAL_I2C_ERROR_CB_ID Error callback ID
862:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref HAL_I2C_ABORT_CB_ID Abort callback ID
863:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref HAL_I2C_MSPINIT_CB_ID MspInit callback ID
864:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref HAL_I2C_MSPDEINIT_CB_ID MspDeInit callback ID
865:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
866:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
867:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_UnRegisterCallback(I2C_HandleTypeDef *hi2c, HAL_I2C_CallbackIDTypeDef Cal
868:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
869:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef status = HAL_OK;
870:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
871:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (HAL_I2C_STATE_READY == hi2c->State)
872:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
873:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** switch (CallbackID)
874:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
875:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_MASTER_TX_COMPLETE_CB_ID :
876:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MasterTxCpltCallback = HAL_I2C_MasterTxCpltCallback; /* Legacy weak MasterTxCpltCallb
877:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break;
878:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
879:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_MASTER_RX_COMPLETE_CB_ID :
880:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MasterRxCpltCallback = HAL_I2C_MasterRxCpltCallback; /* Legacy weak MasterRxCpltCallb
881:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break;
882:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
883:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_SLAVE_TX_COMPLETE_CB_ID :
884:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->SlaveTxCpltCallback = HAL_I2C_SlaveTxCpltCallback; /* Legacy weak SlaveTxCpltCallba
885:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break;
886:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
887:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_SLAVE_RX_COMPLETE_CB_ID :
ARM GAS /tmp/ccuRhBPx.s page 17
888:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->SlaveRxCpltCallback = HAL_I2C_SlaveRxCpltCallback; /* Legacy weak SlaveRxCpltCallba
889:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break;
890:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
891:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_LISTEN_COMPLETE_CB_ID :
892:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ListenCpltCallback = HAL_I2C_ListenCpltCallback; /* Legacy weak ListenCpltCallbac
893:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break;
894:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
895:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_MEM_TX_COMPLETE_CB_ID :
896:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MemTxCpltCallback = HAL_I2C_MemTxCpltCallback; /* Legacy weak MemTxCpltCallback
897:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break;
898:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
899:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_MEM_RX_COMPLETE_CB_ID :
900:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MemRxCpltCallback = HAL_I2C_MemRxCpltCallback; /* Legacy weak MemRxCpltCallback
901:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break;
902:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
903:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_ERROR_CB_ID :
904:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCallback = HAL_I2C_ErrorCallback; /* Legacy weak ErrorCallback
905:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break;
906:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
907:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_ABORT_CB_ID :
908:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->AbortCpltCallback = HAL_I2C_AbortCpltCallback; /* Legacy weak AbortCpltCallback
909:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break;
910:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
911:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_MSPINIT_CB_ID :
912:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MspInitCallback = HAL_I2C_MspInit; /* Legacy weak MspInit
913:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break;
914:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
915:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_MSPDEINIT_CB_ID :
916:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MspDeInitCallback = HAL_I2C_MspDeInit; /* Legacy weak MspDeInit
917:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break;
918:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
919:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** default :
920:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update the error code */
921:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK;
922:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
923:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Return error status */
924:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** status = HAL_ERROR;
925:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break;
926:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
927:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
928:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if (HAL_I2C_STATE_RESET == hi2c->State)
929:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
930:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** switch (CallbackID)
931:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
932:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_MSPINIT_CB_ID :
933:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MspInitCallback = HAL_I2C_MspInit; /* Legacy weak MspInit
934:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break;
935:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
936:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_MSPDEINIT_CB_ID :
937:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MspDeInitCallback = HAL_I2C_MspDeInit; /* Legacy weak MspDeInit
938:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break;
939:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
940:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** default :
941:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update the error code */
942:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK;
943:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
944:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Return error status */
ARM GAS /tmp/ccuRhBPx.s page 18
945:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** status = HAL_ERROR;
946:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break;
947:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
948:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
949:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
950:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
951:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update the error code */
952:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK;
953:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
954:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Return error status */
955:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** status = HAL_ERROR;
956:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
957:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
958:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return status;
959:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
960:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
961:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
962:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Register the Slave Address Match I2C Callback
963:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * To be used instead of the weak HAL_I2C_AddrCallback() predefined callback
964:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
965:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
966:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pCallback pointer to the Address Match Callback function
967:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
968:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
969:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_RegisterAddrCallback(I2C_HandleTypeDef *hi2c, pI2C_AddrCallbackTypeDef pC
970:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
971:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef status = HAL_OK;
972:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
973:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (pCallback == NULL)
974:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
975:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update the error code */
976:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK;
977:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
978:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
979:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
980:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
981:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (HAL_I2C_STATE_READY == hi2c->State)
982:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
983:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->AddrCallback = pCallback;
984:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
985:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
986:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
987:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update the error code */
988:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK;
989:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
990:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Return error status */
991:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** status = HAL_ERROR;
992:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
993:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
994:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return status;
995:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
996:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
997:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
998:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief UnRegister the Slave Address Match I2C Callback
999:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * Info Ready I2C Callback is redirected to the weak HAL_I2C_AddrCallback() predefined cal
1000:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
1001:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
ARM GAS /tmp/ccuRhBPx.s page 19
1002:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
1003:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
1004:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_UnRegisterAddrCallback(I2C_HandleTypeDef *hi2c)
1005:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1006:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef status = HAL_OK;
1007:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1008:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (HAL_I2C_STATE_READY == hi2c->State)
1009:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1010:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->AddrCallback = HAL_I2C_AddrCallback; /* Legacy weak AddrCallback */
1011:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1012:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
1013:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1014:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update the error code */
1015:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK;
1016:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1017:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Return error status */
1018:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** status = HAL_ERROR;
1019:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1020:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1021:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return status;
1022:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1023:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1024:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
1025:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1026:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
1027:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @}
1028:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
1029:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1030:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** @defgroup I2C_Exported_Functions_Group2 Input and Output operation functions
1031:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Data transfers functions
1032:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** *
1033:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** @verbatim
1034:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** ===============================================================================
1035:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** ##### IO operation functions #####
1036:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** ===============================================================================
1037:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** [..]
1038:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** This subsection provides a set of functions allowing to manage the I2C data
1039:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** transfers.
1040:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1041:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (#) There are two modes of transfer:
1042:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) Blocking mode : The communication is performed in the polling mode.
1043:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** The status of all data processing is returned by the same function
1044:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** after finishing transfer.
1045:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) No-Blocking mode : The communication is performed using Interrupts
1046:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** or DMA. These functions return the status of the transfer startup.
1047:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** The end of the data processing will be indicated through the
1048:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** dedicated I2C IRQ when using Interrupt mode or the DMA IRQ when
1049:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** using DMA mode.
1050:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1051:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (#) Blocking mode functions are :
1052:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Master_Transmit()
1053:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Master_Receive()
1054:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Slave_Transmit()
1055:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Slave_Receive()
1056:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Mem_Write()
1057:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Mem_Read()
1058:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_IsDeviceReady()
ARM GAS /tmp/ccuRhBPx.s page 20
1059:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1060:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (#) No-Blocking mode functions with Interrupt are :
1061:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Master_Transmit_IT()
1062:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Master_Receive_IT()
1063:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Slave_Transmit_IT()
1064:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Slave_Receive_IT()
1065:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Mem_Write_IT()
1066:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Mem_Read_IT()
1067:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Master_Seq_Transmit_IT()
1068:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Master_Seq_Receive_IT()
1069:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Slave_Seq_Transmit_IT()
1070:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Slave_Seq_Receive_IT()
1071:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_EnableListen_IT()
1072:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_DisableListen_IT()
1073:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Master_Abort_IT()
1074:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1075:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (#) No-Blocking mode functions with DMA are :
1076:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Master_Transmit_DMA()
1077:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Master_Receive_DMA()
1078:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Slave_Transmit_DMA()
1079:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Slave_Receive_DMA()
1080:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Mem_Write_DMA()
1081:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Mem_Read_DMA()
1082:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Master_Seq_Transmit_DMA()
1083:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Master_Seq_Receive_DMA()
1084:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Slave_Seq_Transmit_DMA()
1085:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Slave_Seq_Receive_DMA()
1086:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1087:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (#) A set of Transfer Complete Callbacks are provided in non Blocking mode:
1088:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_MasterTxCpltCallback()
1089:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_MasterRxCpltCallback()
1090:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_SlaveTxCpltCallback()
1091:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_SlaveRxCpltCallback()
1092:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_MemTxCpltCallback()
1093:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_MemRxCpltCallback()
1094:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_AddrCallback()
1095:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_ListenCpltCallback()
1096:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_ErrorCallback()
1097:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_AbortCpltCallback()
1098:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1099:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** @endverbatim
1100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @{
1101:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
1102:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1103:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
1104:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Transmits in master mode an amount of data in blocking mode.
1105:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
1106:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
1107:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
1108:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
1109:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer
1110:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be sent
1111:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Timeout Timeout duration
1112:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
1113:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
1114:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Transmit(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t *pD
1115:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint16_t Size, uint32_t Timeout)
ARM GAS /tmp/ccuRhBPx.s page 21
1116:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1117:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart;
1118:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1119:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
1120:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1121:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */
1122:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
1123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1124:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Init tickstart for timeout management*/
1125:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tickstart = HAL_GetTick();
1126:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1127:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_BUSY, SET, I2C_TIMEOUT_BUSY, tickstart) != HAL_OK
1128:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1129:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
1130:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1131:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1132:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX;
1133:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
1134:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
1135:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1136:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */
1137:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
1138:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
1139:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL;
1140:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1141:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send Slave Address */
1142:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE and generate RESTART */
1143:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
1144:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1145:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
1146:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE,
1147:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_GENERATE_START_WRITE);
1148:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1149:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
1150:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1151:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
1152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
1153:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_GENERATE_START_WRITE);
1154:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1155:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1156:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** while (hi2c->XferCount > 0U)
1157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1158:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until TXIS flag is set */
1159:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnTXISFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK)
1160:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
1162:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1163:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Write data to TXDR */
1164:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->TXDR = *hi2c->pBuffPtr;
1165:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1166:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Increment Buffer pointer */
1167:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr++;
1168:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1169:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--;
1170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize--;
1171:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((hi2c->XferCount != 0U) && (hi2c->XferSize == 0U))
ARM GAS /tmp/ccuRhBPx.s page 22
1173:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until TCR flag is set */
1175:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_TCR, RESET, Timeout, tickstart) != HAL_OK)
1176:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1177:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
1178:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1179:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1180:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
1181:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1182:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
1183:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE,
1184:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_NO_STARTSTOP);
1185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1186:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
1187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1188:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
1189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
1190:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_NO_STARTSTOP);
1191:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1192:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1194:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1195:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* No need to Check TC flag, with AUTOEND mode the stop is automatically generated */
1196:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until STOPF flag is set */
1197:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnSTOPFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK)
1198:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1199:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
1200:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1202:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear STOP Flag */
1203:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF);
1204:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1205:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear Configuration Register 2 */
1206:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_RESET_CR2(hi2c);
1207:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
1209:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
1210:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
1212:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
1213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1214:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
1215:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1216:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
1217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1218:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
1219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1220:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1221:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
1223:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Receives in master mode an amount of data in blocking mode.
1224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
1225:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
1226:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
1227:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
1228:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer
1229:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be sent
ARM GAS /tmp/ccuRhBPx.s page 23
1230:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Timeout Timeout duration
1231:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
1232:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
1233:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Receive(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t *pDa
1234:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint16_t Size, uint32_t Timeout)
1235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1236:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart;
1237:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1238:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
1239:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1240:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */
1241:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
1242:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1243:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Init tickstart for timeout management*/
1244:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tickstart = HAL_GetTick();
1245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1246:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_BUSY, SET, I2C_TIMEOUT_BUSY, tickstart) != HAL_OK
1247:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1248:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
1249:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1250:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1251:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX;
1252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
1253:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
1254:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1255:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */
1256:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
1257:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
1258:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL;
1259:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1260:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send Slave Address */
1261:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE and generate RESTART */
1262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
1263:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1264:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
1265:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE,
1266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_GENERATE_START_READ);
1267:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1268:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
1269:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1270:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
1271:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
1272:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_GENERATE_START_READ);
1273:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1274:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1275:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** while (hi2c->XferCount > 0U)
1276:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1277:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until RXNE flag is set */
1278:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnRXNEFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK)
1279:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1280:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
1281:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1282:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1283:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Read data from RXDR */
1284:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->RXDR;
1285:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1286:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Increment Buffer pointer */
ARM GAS /tmp/ccuRhBPx.s page 24
1287:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr++;
1288:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize--;
1290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--;
1291:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1292:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((hi2c->XferCount != 0U) && (hi2c->XferSize == 0U))
1293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1294:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until TCR flag is set */
1295:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_TCR, RESET, Timeout, tickstart) != HAL_OK)
1296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1297:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
1298:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1299:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1300:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
1301:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1302:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
1303:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE,
1304:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_NO_STARTSTOP);
1305:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1306:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
1307:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1308:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
1309:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
1310:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_NO_STARTSTOP);
1311:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1312:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1313:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1314:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1315:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* No need to Check TC flag, with AUTOEND mode the stop is automatically generated */
1316:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until STOPF flag is set */
1317:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnSTOPFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK)
1318:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
1320:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1321:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1322:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear STOP Flag */
1323:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF);
1324:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear Configuration Register 2 */
1326:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_RESET_CR2(hi2c);
1327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1328:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
1329:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
1330:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1331:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
1332:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
1333:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1334:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
1335:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1336:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
1337:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1338:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
1339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1340:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1341:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1342:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
1343:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Transmits in slave mode an amount of data in blocking mode.
ARM GAS /tmp/ccuRhBPx.s page 25
1344:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
1345:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
1346:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer
1347:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be sent
1348:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Timeout Timeout duration
1349:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
1350:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
1351:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Transmit(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size,
1352:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t Timeout)
1353:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1354:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart;
1355:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1356:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
1357:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1358:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U))
1359:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1360:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM;
1361:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
1362:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1363:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */
1364:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
1365:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1366:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Init tickstart for timeout management*/
1367:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tickstart = HAL_GetTick();
1368:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1369:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX;
1370:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
1371:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
1372:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */
1374:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
1375:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
1376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL;
1377:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1378:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable Address Acknowledge */
1379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 &= ~I2C_CR2_NACK;
1380:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1381:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until ADDR flag is set */
1382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_ADDR, RESET, Timeout, tickstart) != HAL_OK)
1383:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1384:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Address Acknowledge */
1385:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK;
1386:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
1387:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1388:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1389:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Preload TX data if no stretch enable */
1390:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->Init.NoStretchMode == I2C_NOSTRETCH_ENABLE)
1391:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1392:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Preload TX register */
1393:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Write data to TXDR */
1394:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->TXDR = *hi2c->pBuffPtr;
1395:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1396:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Increment Buffer pointer */
1397:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr++;
1398:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1399:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--;
1400:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
ARM GAS /tmp/ccuRhBPx.s page 26
1401:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1402:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear ADDR flag */
1403:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ADDR);
1404:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1405:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* If 10bit addressing mode is selected */
1406:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->Init.AddressingMode == I2C_ADDRESSINGMODE_10BIT)
1407:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1408:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until ADDR flag is set */
1409:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_ADDR, RESET, Timeout, tickstart) != HAL_OK)
1410:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1411:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Address Acknowledge */
1412:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK;
1413:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
1414:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1415:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1416:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear ADDR flag */
1417:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ADDR);
1418:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1419:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1420:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until DIR flag is set Transmitter mode */
1421:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_DIR, RESET, Timeout, tickstart) != HAL_OK)
1422:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1423:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Address Acknowledge */
1424:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK;
1425:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
1426:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1427:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1428:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** while (hi2c->XferCount > 0U)
1429:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1430:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until TXIS flag is set */
1431:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnTXISFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK)
1432:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1433:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Address Acknowledge */
1434:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK;
1435:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
1436:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1437:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1438:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Write data to TXDR */
1439:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->TXDR = *hi2c->pBuffPtr;
1440:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1441:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Increment Buffer pointer */
1442:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr++;
1443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1444:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--;
1445:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1446:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1447:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until AF flag is set */
1448:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_AF, RESET, Timeout, tickstart) != HAL_OK)
1449:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1450:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Address Acknowledge */
1451:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK;
1452:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
1453:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1454:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1455:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Flush TX register */
1456:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Flush_TXDR(hi2c);
1457:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
ARM GAS /tmp/ccuRhBPx.s page 27
1458:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear AF flag */
1459:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
1460:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1461:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until STOP flag is set */
1462:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnSTOPFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK)
1463:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1464:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Address Acknowledge */
1465:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK;
1466:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1467:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
1468:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1469:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1470:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear STOP flag */
1471:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF);
1472:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1473:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until BUSY flag is reset */
1474:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_BUSY, SET, Timeout, tickstart) != HAL_OK)
1475:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1476:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Address Acknowledge */
1477:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK;
1478:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
1479:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1480:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Address Acknowledge */
1482:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK;
1483:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1484:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
1485:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
1486:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1487:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
1488:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
1489:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1490:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
1491:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1492:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
1493:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1494:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
1495:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1496:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1497:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1498:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
1499:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Receive in slave mode an amount of data in blocking mode
1500:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
1501:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
1502:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer
1503:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be sent
1504:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Timeout Timeout duration
1505:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
1506:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
1507:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Receive(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size,
1508:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t Timeout)
1509:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1510:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart;
1511:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1512:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
1513:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1514:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U))
ARM GAS /tmp/ccuRhBPx.s page 28
1515:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1516:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM;
1517:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
1518:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1519:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */
1520:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
1521:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1522:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Init tickstart for timeout management*/
1523:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tickstart = HAL_GetTick();
1524:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1525:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX;
1526:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
1527:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
1528:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1529:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */
1530:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
1531:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
1532:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
1533:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL;
1534:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1535:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable Address Acknowledge */
1536:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 &= ~I2C_CR2_NACK;
1537:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1538:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until ADDR flag is set */
1539:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_ADDR, RESET, Timeout, tickstart) != HAL_OK)
1540:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1541:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Address Acknowledge */
1542:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK;
1543:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
1544:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1545:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1546:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear ADDR flag */
1547:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ADDR);
1548:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1549:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until DIR flag is reset Receiver mode */
1550:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_DIR, SET, Timeout, tickstart) != HAL_OK)
1551:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1552:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Address Acknowledge */
1553:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK;
1554:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
1555:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1556:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1557:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** while (hi2c->XferCount > 0U)
1558:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1559:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until RXNE flag is set */
1560:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnRXNEFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK)
1561:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1562:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Address Acknowledge */
1563:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK;
1564:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1565:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Store Last receive data if any */
1566:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_RXNE) == SET)
1567:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1568:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Read data from RXDR */
1569:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->RXDR;
1570:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1571:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Increment Buffer pointer */
ARM GAS /tmp/ccuRhBPx.s page 29
1572:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr++;
1573:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1574:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--;
1575:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize--;
1576:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1577:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1578:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
1579:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1580:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1581:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Read data from RXDR */
1582:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->RXDR;
1583:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1584:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Increment Buffer pointer */
1585:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr++;
1586:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1587:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--;
1588:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize--;
1589:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1590:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1591:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until STOP flag is set */
1592:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnSTOPFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK)
1593:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1594:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Address Acknowledge */
1595:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK;
1596:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
1597:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1598:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1599:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear STOP flag */
1600:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF);
1601:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1602:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until BUSY flag is reset */
1603:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_BUSY, SET, Timeout, tickstart) != HAL_OK)
1604:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1605:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Address Acknowledge */
1606:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK;
1607:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
1608:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1609:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1610:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Address Acknowledge */
1611:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK;
1612:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1613:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
1614:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
1615:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1616:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
1617:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
1618:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1619:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
1620:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1621:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
1622:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1623:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
1624:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1625:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1626:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1627:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
1628:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Transmit in master mode an amount of data in non-blocking mode with Interrupt
ARM GAS /tmp/ccuRhBPx.s page 30
1629:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
1630:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
1631:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
1632:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
1633:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer
1634:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be sent
1635:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
1636:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
1637:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Transmit_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t
1638:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint16_t Size)
1639:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1640:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xfermode;
1641:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1642:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
1643:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1644:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) == SET)
1645:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1646:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
1647:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1648:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1649:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */
1650:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
1651:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1652:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX;
1653:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
1654:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
1655:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1656:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */
1657:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
1658:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
1659:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
1660:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
1661:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1662:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
1663:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1664:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
1665:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
1666:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1667:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
1668:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1669:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
1670:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
1671:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1672:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1673:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send Slave Address */
1674:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE */
1675:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, xfermode, I2C_GENERATE_START_WRIT
1676:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1677:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
1678:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
1679:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1680:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
1681:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
1682:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** process unlock */
1683:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1684:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK, TXI interrupt */
1685:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* possible to enable all of these */
ARM GAS /tmp/ccuRhBPx.s page 31
1686:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI |
1687:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TXI */
1688:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_TX_IT);
1689:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1690:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
1691:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1692:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
1693:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1694:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
1695:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1696:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1697:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1698:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
1699:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Receive in master mode an amount of data in non-blocking mode with Interrupt
1700:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
1701:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
1702:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
1703:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
1704:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer
1705:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be sent
1706:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
1707:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
1708:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Receive_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t *
1709:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint16_t Size)
1710:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1711:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xfermode;
1712:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1713:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
1714:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1715:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) == SET)
1716:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1717:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
1718:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1719:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1720:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */
1721:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
1722:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1723:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX;
1724:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
1725:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
1726:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1727:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */
1728:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
1729:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
1730:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
1731:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
1732:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1733:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
1734:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1735:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
1736:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
1737:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1738:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
1739:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1740:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
1741:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
1742:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
ARM GAS /tmp/ccuRhBPx.s page 32
1743:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1744:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send Slave Address */
1745:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE */
1746:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, xfermode, I2C_GENERATE_START_READ
1747:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1748:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
1749:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
1750:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1751:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
1752:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
1753:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** process unlock */
1754:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1755:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK, RXI interrupt */
1756:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* possible to enable all of these */
1757:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI |
1758:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TXI */
1759:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_RX_IT);
1760:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1761:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
1762:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1763:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
1764:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1765:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
1766:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1767:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1768:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1769:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
1770:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Transmit in slave mode an amount of data in non-blocking mode with Interrupt
1771:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
1772:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
1773:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer
1774:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be sent
1775:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
1776:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
1777:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Transmit_IT(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size)
1778:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1779:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
1780:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1781:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */
1782:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
1783:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1784:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX;
1785:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
1786:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
1787:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1788:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable Address Acknowledge */
1789:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 &= ~I2C_CR2_NACK;
1790:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1791:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */
1792:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
1793:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
1794:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
1795:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
1796:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
1797:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1798:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Preload TX data if no stretch enable */
1799:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->Init.NoStretchMode == I2C_NOSTRETCH_ENABLE)
ARM GAS /tmp/ccuRhBPx.s page 33
1800:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1801:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Preload TX register */
1802:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Write data to TXDR */
1803:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->TXDR = *hi2c->pBuffPtr;
1804:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1805:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Increment Buffer pointer */
1806:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr++;
1807:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1808:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--;
1809:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize--;
1810:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1811:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1812:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
1813:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
1814:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1815:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
1816:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
1817:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** process unlock */
1818:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1819:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK, TXI interrupt */
1820:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* possible to enable all of these */
1821:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI |
1822:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TXI */
1823:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_TX_IT | I2C_XFER_LISTEN_IT);
1824:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1825:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
1826:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1827:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
1828:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1829:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
1830:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1831:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1832:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1833:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
1834:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Receive in slave mode an amount of data in non-blocking mode with Interrupt
1835:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
1836:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
1837:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer
1838:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be sent
1839:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
1840:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
1841:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Receive_IT(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size)
1842:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1843:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
1844:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1845:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */
1846:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
1847:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1848:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX;
1849:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
1850:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
1851:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1852:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable Address Acknowledge */
1853:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 &= ~I2C_CR2_NACK;
1854:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1855:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */
1856:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
ARM GAS /tmp/ccuRhBPx.s page 34
1857:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
1858:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
1859:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
1860:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
1861:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1862:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
1863:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
1864:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1865:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
1866:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
1867:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** process unlock */
1868:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1869:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK, RXI interrupt */
1870:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* possible to enable all of these */
1871:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI |
1872:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TXI */
1873:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_RX_IT | I2C_XFER_LISTEN_IT);
1874:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1875:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
1876:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1877:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
1878:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1879:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
1880:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1881:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1882:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1883:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
1884:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Transmit in master mode an amount of data in non-blocking mode with DMA
1885:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
1886:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
1887:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
1888:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
1889:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer
1890:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be sent
1891:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
1892:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
1893:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Transmit_DMA(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t
1894:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint16_t Size)
1895:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1896:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xfermode;
1897:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
1898:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1899:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
1900:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1901:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) == SET)
1902:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1903:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
1904:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1905:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1906:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */
1907:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
1908:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1909:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX;
1910:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
1911:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
1912:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1913:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */
ARM GAS /tmp/ccuRhBPx.s page 35
1914:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
1915:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
1916:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
1917:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA;
1918:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1919:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
1920:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1921:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
1922:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
1923:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1924:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
1925:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1926:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
1927:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
1928:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1929:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1930:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferSize > 0U)
1931:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1932:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->hdmatx != NULL)
1933:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1934:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the I2C DMA transfer complete callback */
1935:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferCpltCallback = I2C_DMAMasterTransmitCplt;
1936:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1937:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the DMA error callback */
1938:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferErrorCallback = I2C_DMAError;
1939:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1940:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the unused DMA callbacks to NULL */
1941:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferHalfCpltCallback = NULL;
1942:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
1943:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1944:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable the DMA channel */
1945:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmatx, (uint32_t)pData, (uint32_t)&hi2c->Instance->
1946:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize);
1947:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1948:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
1949:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1950:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C state */
1951:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
1952:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
1953:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1954:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C error code */
1955:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA_PARAM;
1956:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1957:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
1958:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
1959:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1960:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
1961:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1962:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1963:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (dmaxferstatus == HAL_OK)
1964:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1965:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send Slave Address */
1966:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE and generate RESTART
1967:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, xfermode, I2C_GENERATE_START_
1968:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1969:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update XferCount value */
1970:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount -= hi2c->XferSize;
ARM GAS /tmp/ccuRhBPx.s page 36
1971:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1972:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
1973:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
1974:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1975:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
1976:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
1977:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** process unlock */
1978:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR and NACK interrupts */
1979:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_ERROR_IT);
1980:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1981:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable DMA Request */
1982:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_TXDMAEN;
1983:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1984:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
1985:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1986:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C state */
1987:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
1988:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
1989:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1990:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C error code */
1991:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA;
1992:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1993:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
1994:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
1995:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1996:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
1997:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1998:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1999:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
2000:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2001:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update Transfer ISR function pointer */
2002:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
2003:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2004:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send Slave Address */
2005:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set NBYTES to write and generate START condition */
2006:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
2007:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_GENERATE_START_WRITE);
2008:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2009:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
2010:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
2011:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2012:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
2013:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
2014:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** process unlock */
2015:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK, TXI interrupt */
2016:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* possible to enable all of these */
2017:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI |
2018:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TXI */
2019:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_TX_IT);
2020:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2021:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2022:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
2023:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2024:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
2025:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2026:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
2027:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
ARM GAS /tmp/ccuRhBPx.s page 37
2028:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2029:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2030:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
2031:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Receive in master mode an amount of data in non-blocking mode with DMA
2032:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
2033:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
2034:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
2035:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
2036:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer
2037:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be sent
2038:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
2039:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
2040:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Receive_DMA(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t
2041:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint16_t Size)
2042:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2043:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xfermode;
2044:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
2045:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2046:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
2047:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2048:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) == SET)
2049:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2050:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
2051:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2052:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2053:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */
2054:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
2055:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2056:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX;
2057:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
2058:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
2059:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2060:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */
2061:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
2062:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
2063:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
2064:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA;
2065:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2066:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
2067:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2068:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
2069:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
2070:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2071:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
2072:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2073:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
2074:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
2075:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2076:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2077:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferSize > 0U)
2078:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2079:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->hdmarx != NULL)
2080:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2081:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the I2C DMA transfer complete callback */
2082:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferCpltCallback = I2C_DMAMasterReceiveCplt;
2083:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2084:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the DMA error callback */
ARM GAS /tmp/ccuRhBPx.s page 38
2085:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferErrorCallback = I2C_DMAError;
2086:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2087:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the unused DMA callbacks to NULL */
2088:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferHalfCpltCallback = NULL;
2089:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
2090:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2091:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable the DMA channel */
2092:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmarx, (uint32_t)&hi2c->Instance->RXDR, (uint32_t)p
2093:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize);
2094:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2095:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
2096:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2097:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C state */
2098:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
2099:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
2100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2101:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C error code */
2102:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA_PARAM;
2103:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2104:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
2105:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
2106:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2107:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
2108:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2109:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2110:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (dmaxferstatus == HAL_OK)
2111:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2112:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send Slave Address */
2113:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set NBYTES to read and reload if hi2c->XferCount > MAX_NBYTE_SIZE and generate RESTART *
2114:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, xfermode, I2C_GENERATE_START_
2115:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2116:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update XferCount value */
2117:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount -= hi2c->XferSize;
2118:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2119:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
2120:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
2121:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2122:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
2123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
2124:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** process unlock */
2125:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR and NACK interrupts */
2126:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_ERROR_IT);
2127:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2128:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable DMA Request */
2129:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_RXDMAEN;
2130:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2131:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
2132:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2133:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C state */
2134:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
2135:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
2136:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2137:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C error code */
2138:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA;
2139:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2140:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
2141:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
ARM GAS /tmp/ccuRhBPx.s page 39
2142:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2143:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
2144:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2145:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2146:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
2147:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2148:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update Transfer ISR function pointer */
2149:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
2150:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2151:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send Slave Address */
2152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set NBYTES to read and generate START condition */
2153:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
2154:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_GENERATE_START_READ);
2155:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2156:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
2157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
2158:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2159:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
2160:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
2161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** process unlock */
2162:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK, TXI interrupt */
2163:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* possible to enable all of these */
2164:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI |
2165:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TXI */
2166:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_TX_IT);
2167:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2168:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2169:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
2170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2171:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
2172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2173:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
2174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2175:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2176:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2177:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
2178:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Transmit in slave mode an amount of data in non-blocking mode with DMA
2179:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
2180:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
2181:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer
2182:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be sent
2183:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
2184:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
2185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Transmit_DMA(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size
2186:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
2188:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
2190:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2191:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U))
2192:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM;
2194:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
2195:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2196:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */
2197:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
2198:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
ARM GAS /tmp/ccuRhBPx.s page 40
2199:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX;
2200:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
2201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
2202:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2203:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */
2204:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
2205:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
2206:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
2207:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
2208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_DMA;
2209:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2210:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Preload TX data if no stretch enable */
2211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->Init.NoStretchMode == I2C_NOSTRETCH_ENABLE)
2212:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Preload TX register */
2214:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Write data to TXDR */
2215:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->TXDR = *hi2c->pBuffPtr;
2216:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Increment Buffer pointer */
2218:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr++;
2219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2220:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--;
2221:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize--;
2222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2223:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount != 0U)
2225:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2226:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->hdmatx != NULL)
2227:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2228:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the I2C DMA transfer complete callback */
2229:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferCpltCallback = I2C_DMASlaveTransmitCplt;
2230:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2231:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the DMA error callback */
2232:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferErrorCallback = I2C_DMAError;
2233:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2234:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the unused DMA callbacks to NULL */
2235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferHalfCpltCallback = NULL;
2236:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
2237:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2238:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable the DMA channel */
2239:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmatx,
2240:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (uint32_t)hi2c->pBuffPtr, (uint32_t)&hi2c->Instance->TXDR,
2241:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize);
2242:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2243:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
2244:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C state */
2246:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN;
2247:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
2248:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2249:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C error code */
2250:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA_PARAM;
2251:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
2253:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
2254:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2255:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
ARM GAS /tmp/ccuRhBPx.s page 41
2256:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2257:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2258:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (dmaxferstatus == HAL_OK)
2259:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2260:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable Address Acknowledge */
2261:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 &= ~I2C_CR2_NACK;
2262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2263:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
2264:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
2265:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
2267:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
2268:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** process unlock */
2269:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR, STOP, NACK, ADDR interrupts */
2270:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_LISTEN_IT);
2271:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2272:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable DMA Request */
2273:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_TXDMAEN;
2274:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2275:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
2276:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2277:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C state */
2278:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN;
2279:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
2280:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2281:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C error code */
2282:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA;
2283:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2284:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
2285:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
2286:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2287:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
2288:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
2291:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2292:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable Address Acknowledge */
2293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 &= ~I2C_CR2_NACK;
2294:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2295:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
2296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
2297:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2298:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
2299:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
2300:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** process unlock */
2301:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR, STOP, NACK, ADDR interrupts */
2302:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_LISTEN_IT);
2303:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2304:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2305:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
2306:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2307:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
2308:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2309:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
2310:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2311:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2312:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
ARM GAS /tmp/ccuRhBPx.s page 42
2313:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
2314:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Receive in slave mode an amount of data in non-blocking mode with DMA
2315:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
2316:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
2317:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer
2318:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be sent
2319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
2320:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
2321:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Receive_DMA(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size)
2322:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2323:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
2324:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
2326:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U))
2328:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2329:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM;
2330:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
2331:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2332:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */
2333:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
2334:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2335:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX;
2336:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
2337:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
2338:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */
2340:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
2341:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
2342:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
2343:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
2344:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_DMA;
2345:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2346:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->hdmarx != NULL)
2347:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2348:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the I2C DMA transfer complete callback */
2349:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferCpltCallback = I2C_DMASlaveReceiveCplt;
2350:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2351:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the DMA error callback */
2352:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferErrorCallback = I2C_DMAError;
2353:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2354:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the unused DMA callbacks to NULL */
2355:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferHalfCpltCallback = NULL;
2356:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
2357:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2358:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable the DMA channel */
2359:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmarx, (uint32_t)&hi2c->Instance->RXDR, (uint32_t)pDa
2360:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize);
2361:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2362:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
2363:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2364:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C state */
2365:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN;
2366:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
2367:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2368:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C error code */
2369:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA_PARAM;
ARM GAS /tmp/ccuRhBPx.s page 43
2370:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2371:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
2372:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
2373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2374:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
2375:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2377:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (dmaxferstatus == HAL_OK)
2378:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable Address Acknowledge */
2380:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 &= ~I2C_CR2_NACK;
2381:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
2383:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
2384:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2385:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
2386:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
2387:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** process unlock */
2388:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR, STOP, NACK, ADDR interrupts */
2389:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_LISTEN_IT);
2390:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2391:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable DMA Request */
2392:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_RXDMAEN;
2393:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2394:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
2395:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2396:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C state */
2397:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN;
2398:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
2399:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2400:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C error code */
2401:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA;
2402:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2403:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
2404:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
2405:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2406:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
2407:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2408:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2409:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
2410:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2411:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
2412:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2413:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
2414:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2415:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2416:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2417:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
2418:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Write an amount of data in blocking mode to a specific memory address
2419:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
2420:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
2421:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
2422:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
2423:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param MemAddress Internal memory address
2424:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param MemAddSize Size of internal memory address
2425:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer
2426:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be sent
ARM GAS /tmp/ccuRhBPx.s page 44
2427:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Timeout Timeout duration
2428:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
2429:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
2430:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Mem_Write(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemAddre
2431:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint16_t MemAddSize, uint8_t *pData, uint16_t Size, uint32_t Ti
2432:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2433:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart;
2434:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2435:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check the parameters */
2436:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_MEMADD_SIZE(MemAddSize));
2437:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2438:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
2439:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2440:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U))
2441:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2442:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM;
2443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
2444:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2445:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2446:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */
2447:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
2448:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2449:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Init tickstart for timeout management*/
2450:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tickstart = HAL_GetTick();
2451:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2452:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_BUSY, SET, I2C_TIMEOUT_BUSY, tickstart) != HAL_OK
2453:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2454:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
2455:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2456:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2457:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX;
2458:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
2459:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
2460:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2461:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */
2462:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
2463:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
2464:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL;
2465:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2466:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send Slave Address and Memory Address */
2467:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_RequestMemoryWrite(hi2c, DevAddress, MemAddress, MemAddSize, Timeout, tickstart) != HAL
2468:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2469:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
2470:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
2471:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
2472:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2473:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2474:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE */
2475:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
2476:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2477:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
2478:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, I2C_NO_STARTST
2479:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2480:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
2481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2482:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
2483:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, I2C_NO_STARTS
ARM GAS /tmp/ccuRhBPx.s page 45
2484:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2485:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2486:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** do
2487:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2488:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until TXIS flag is set */
2489:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnTXISFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK)
2490:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2491:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
2492:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2493:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2494:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Write data to TXDR */
2495:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->TXDR = *hi2c->pBuffPtr;
2496:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2497:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Increment Buffer pointer */
2498:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr++;
2499:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2500:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--;
2501:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize--;
2502:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2503:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((hi2c->XferCount != 0U) && (hi2c->XferSize == 0U))
2504:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2505:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until TCR flag is set */
2506:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_TCR, RESET, Timeout, tickstart) != HAL_OK)
2507:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2508:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
2509:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2510:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2511:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
2512:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2513:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
2514:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE,
2515:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_NO_STARTSTOP);
2516:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2517:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
2518:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2519:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
2520:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
2521:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_NO_STARTSTOP);
2522:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2523:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2524:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2525:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } while (hi2c->XferCount > 0U);
2526:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2527:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* No need to Check TC flag, with AUTOEND mode the stop is automatically generated */
2528:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until STOPF flag is reset */
2529:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnSTOPFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK)
2530:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2531:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
2532:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2533:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2534:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear STOP Flag */
2535:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF);
2536:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2537:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear Configuration Register 2 */
2538:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_RESET_CR2(hi2c);
2539:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2540:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
ARM GAS /tmp/ccuRhBPx.s page 46
2541:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
2542:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2543:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
2544:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
2545:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2546:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
2547:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2548:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
2549:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2550:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
2551:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2552:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2553:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2554:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
2555:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Read an amount of data in blocking mode from a specific memory address
2556:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
2557:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
2558:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
2559:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
2560:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param MemAddress Internal memory address
2561:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param MemAddSize Size of internal memory address
2562:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer
2563:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be sent
2564:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Timeout Timeout duration
2565:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
2566:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
2567:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Mem_Read(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemAddres
2568:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint16_t MemAddSize, uint8_t *pData, uint16_t Size, uint32_t Tim
2569:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2570:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart;
2571:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2572:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check the parameters */
2573:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_MEMADD_SIZE(MemAddSize));
2574:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2575:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
2576:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2577:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U))
2578:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2579:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM;
2580:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
2581:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2582:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2583:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */
2584:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
2585:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2586:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Init tickstart for timeout management*/
2587:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tickstart = HAL_GetTick();
2588:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2589:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_BUSY, SET, I2C_TIMEOUT_BUSY, tickstart) != HAL_OK
2590:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2591:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
2592:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2593:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2594:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX;
2595:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
2596:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
2597:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
ARM GAS /tmp/ccuRhBPx.s page 47
2598:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */
2599:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
2600:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
2601:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL;
2602:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2603:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send Slave Address and Memory Address */
2604:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_RequestMemoryRead(hi2c, DevAddress, MemAddress, MemAddSize, Timeout, tickstart) != HAL_
2605:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2606:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
2607:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
2608:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
2609:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2610:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2611:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send Slave Address */
2612:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE and generate RESTART */
2613:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
2614:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2615:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
2616:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE,
2617:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_GENERATE_START_READ);
2618:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2619:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
2620:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2621:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
2622:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
2623:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_GENERATE_START_READ);
2624:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2625:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2626:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** do
2627:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2628:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until RXNE flag is set */
2629:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_RXNE, RESET, Timeout, tickstart) != HAL_OK)
2630:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2631:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
2632:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2633:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2634:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Read data from RXDR */
2635:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->RXDR;
2636:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2637:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Increment Buffer pointer */
2638:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr++;
2639:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2640:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize--;
2641:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--;
2642:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2643:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((hi2c->XferCount != 0U) && (hi2c->XferSize == 0U))
2644:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2645:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until TCR flag is set */
2646:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_TCR, RESET, Timeout, tickstart) != HAL_OK)
2647:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2648:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
2649:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2650:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2651:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
2652:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2653:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
2654:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t) hi2c->XferSize, I2C_RELOAD_MODE,
ARM GAS /tmp/ccuRhBPx.s page 48
2655:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_NO_STARTSTOP);
2656:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2657:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
2658:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2659:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
2660:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
2661:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_NO_STARTSTOP);
2662:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2663:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2664:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } while (hi2c->XferCount > 0U);
2665:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2666:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* No need to Check TC flag, with AUTOEND mode the stop is automatically generated */
2667:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until STOPF flag is reset */
2668:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnSTOPFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK)
2669:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2670:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
2671:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2672:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2673:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear STOP Flag */
2674:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF);
2675:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2676:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear Configuration Register 2 */
2677:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_RESET_CR2(hi2c);
2678:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2679:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
2680:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
2681:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2682:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
2683:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
2684:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2685:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
2686:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2687:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
2688:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2689:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
2690:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2691:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2692:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
2693:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Write an amount of data in non-blocking mode with Interrupt to a specific memory addres
2694:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
2695:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
2696:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
2697:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
2698:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param MemAddress Internal memory address
2699:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param MemAddSize Size of internal memory address
2700:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer
2701:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be sent
2702:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
2703:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
2704:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Mem_Write_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemAd
2705:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint16_t MemAddSize, uint8_t *pData, uint16_t Size)
2706:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2707:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check the parameters */
2708:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_MEMADD_SIZE(MemAddSize));
2709:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2710:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
2711:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
ARM GAS /tmp/ccuRhBPx.s page 49
2712:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U))
2713:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2714:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM;
2715:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
2716:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2717:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2718:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) == SET)
2719:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2720:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
2721:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2722:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2723:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */
2724:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
2725:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2726:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX;
2727:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
2728:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
2729:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2730:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */
2731:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
2732:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
2733:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
2734:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Mem_ISR_IT;
2735:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Devaddress = DevAddress;
2736:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2737:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* If Memory address size is 8Bit */
2738:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (MemAddSize == I2C_MEMADD_SIZE_8BIT)
2739:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2740:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prefetch Memory Address */
2741:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->TXDR = I2C_MEM_ADD_LSB(MemAddress);
2742:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2743:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Reset Memaddress content */
2744:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Memaddress = 0xFFFFFFFFU;
2745:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2746:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* If Memory address size is 16Bit */
2747:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
2748:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2749:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prefetch Memory Address (MSB part, LSB will be manage through interrupt) */
2750:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->TXDR = I2C_MEM_ADD_MSB(MemAddress);
2751:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2752:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare Memaddress buffer for LSB part */
2753:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Memaddress = I2C_MEM_ADD_LSB(MemAddress);
2754:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2755:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send Slave Address and Memory Address */
2756:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)MemAddSize, I2C_RELOAD_MODE, I2C_GENERATE_START_W
2757:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2758:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
2759:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
2760:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2761:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
2762:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
2763:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** process unlock */
2764:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2765:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK, TXI interrupt */
2766:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* possible to enable all of these */
2767:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI |
2768:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TXI */
ARM GAS /tmp/ccuRhBPx.s page 50
2769:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_TX_IT);
2770:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2771:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
2772:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2773:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
2774:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2775:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
2776:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2777:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2778:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2779:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
2780:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Read an amount of data in non-blocking mode with Interrupt from a specific memory addre
2781:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
2782:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
2783:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
2784:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
2785:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param MemAddress Internal memory address
2786:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param MemAddSize Size of internal memory address
2787:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer
2788:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be sent
2789:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
2790:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
2791:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Mem_Read_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemAdd
2792:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint16_t MemAddSize, uint8_t *pData, uint16_t Size)
2793:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2794:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check the parameters */
2795:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_MEMADD_SIZE(MemAddSize));
2796:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2797:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
2798:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2799:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U))
2800:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2801:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM;
2802:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
2803:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2804:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2805:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) == SET)
2806:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2807:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
2808:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2809:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2810:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */
2811:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
2812:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2813:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX;
2814:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
2815:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
2816:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2817:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */
2818:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
2819:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
2820:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
2821:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Mem_ISR_IT;
2822:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Devaddress = DevAddress;
2823:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2824:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* If Memory address size is 8Bit */
2825:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (MemAddSize == I2C_MEMADD_SIZE_8BIT)
ARM GAS /tmp/ccuRhBPx.s page 51
2826:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2827:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prefetch Memory Address */
2828:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->TXDR = I2C_MEM_ADD_LSB(MemAddress);
2829:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2830:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Reset Memaddress content */
2831:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Memaddress = 0xFFFFFFFFU;
2832:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2833:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* If Memory address size is 16Bit */
2834:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
2835:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2836:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prefetch Memory Address (MSB part, LSB will be manage through interrupt) */
2837:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->TXDR = I2C_MEM_ADD_MSB(MemAddress);
2838:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2839:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare Memaddress buffer for LSB part */
2840:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Memaddress = I2C_MEM_ADD_LSB(MemAddress);
2841:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2842:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send Slave Address and Memory Address */
2843:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)MemAddSize, I2C_SOFTEND_MODE, I2C_GENERATE_START_
2844:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2845:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
2846:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
2847:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2848:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
2849:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
2850:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** process unlock */
2851:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2852:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK, RXI interrupt */
2853:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* possible to enable all of these */
2854:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI |
2855:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TXI */
2856:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, (I2C_XFER_TX_IT | I2C_XFER_RX_IT));
2857:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2858:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
2859:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2860:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
2861:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2862:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
2863:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2864:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2865:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2866:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
2867:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Write an amount of data in non-blocking mode with DMA to a specific memory address
2868:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
2869:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
2870:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
2871:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
2872:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param MemAddress Internal memory address
2873:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param MemAddSize Size of internal memory address
2874:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer
2875:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be sent
2876:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
2877:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
2878:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Mem_Write_DMA(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemA
2879:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint16_t MemAddSize, uint8_t *pData, uint16_t Size)
2880:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2881:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
2882:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
ARM GAS /tmp/ccuRhBPx.s page 52
2883:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check the parameters */
2884:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_MEMADD_SIZE(MemAddSize));
2885:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2886:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
2887:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2888:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U))
2889:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2890:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM;
2891:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
2892:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2893:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2894:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) == SET)
2895:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2896:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
2897:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2898:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2899:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */
2900:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
2901:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2902:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX;
2903:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
2904:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
2905:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2906:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */
2907:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
2908:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
2909:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
2910:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Mem_ISR_DMA;
2911:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Devaddress = DevAddress;
2912:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2913:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
2914:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2915:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
2916:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2917:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
2918:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2919:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
2920:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2921:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2922:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* If Memory address size is 8Bit */
2923:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (MemAddSize == I2C_MEMADD_SIZE_8BIT)
2924:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2925:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prefetch Memory Address */
2926:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->TXDR = I2C_MEM_ADD_LSB(MemAddress);
2927:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2928:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Reset Memaddress content */
2929:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Memaddress = 0xFFFFFFFFU;
2930:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2931:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* If Memory address size is 16Bit */
2932:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
2933:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2934:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prefetch Memory Address (MSB part, LSB will be manage through interrupt) */
2935:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->TXDR = I2C_MEM_ADD_MSB(MemAddress);
2936:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2937:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare Memaddress buffer for LSB part */
2938:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Memaddress = I2C_MEM_ADD_LSB(MemAddress);
2939:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
ARM GAS /tmp/ccuRhBPx.s page 53
2940:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2941:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->hdmatx != NULL)
2942:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2943:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the I2C DMA transfer complete callback */
2944:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferCpltCallback = I2C_DMAMasterTransmitCplt;
2945:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2946:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the DMA error callback */
2947:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferErrorCallback = I2C_DMAError;
2948:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2949:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the unused DMA callbacks to NULL */
2950:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferHalfCpltCallback = NULL;
2951:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
2952:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2953:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable the DMA channel */
2954:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmatx, (uint32_t)pData, (uint32_t)&hi2c->Instance->TX
2955:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize);
2956:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2957:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
2958:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2959:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C state */
2960:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
2961:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
2962:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2963:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C error code */
2964:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA_PARAM;
2965:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2966:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
2967:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
2968:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2969:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
2970:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2971:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2972:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (dmaxferstatus == HAL_OK)
2973:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2974:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send Slave Address and Memory Address */
2975:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)MemAddSize, I2C_RELOAD_MODE, I2C_GENERATE_START
2976:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2977:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
2978:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
2979:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2980:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
2981:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
2982:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** process unlock */
2983:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK, TXI interrupt */
2984:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* possible to enable all of these */
2985:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI |
2986:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TXI */
2987:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_TX_IT);
2988:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2989:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
2990:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2991:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C state */
2992:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
2993:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
2994:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2995:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C error code */
2996:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA;
ARM GAS /tmp/ccuRhBPx.s page 54
2997:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2998:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
2999:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
3000:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3001:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
3002:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3003:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3004:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
3005:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3006:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
3007:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3008:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
3009:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3010:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3011:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3012:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
3013:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Reads an amount of data in non-blocking mode with DMA from a specific memory address.
3014:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
3015:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
3016:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
3017:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
3018:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param MemAddress Internal memory address
3019:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param MemAddSize Size of internal memory address
3020:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer
3021:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be read
3022:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
3023:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
3024:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Mem_Read_DMA(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemAd
3025:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint16_t MemAddSize, uint8_t *pData, uint16_t Size)
3026:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3027:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
3028:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3029:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check the parameters */
3030:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_MEMADD_SIZE(MemAddSize));
3031:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3032:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
3033:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3034:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U))
3035:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3036:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM;
3037:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
3038:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3039:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3040:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) == SET)
3041:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3042:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
3043:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3044:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3045:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */
3046:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
3047:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3048:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX;
3049:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
3050:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
3051:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3052:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */
3053:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
ARM GAS /tmp/ccuRhBPx.s page 55
3054:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
3055:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
3056:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Mem_ISR_DMA;
3057:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Devaddress = DevAddress;
3058:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3059:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
3060:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3061:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
3062:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3063:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
3064:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3065:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
3066:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3067:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3068:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* If Memory address size is 8Bit */
3069:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (MemAddSize == I2C_MEMADD_SIZE_8BIT)
3070:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3071:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prefetch Memory Address */
3072:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->TXDR = I2C_MEM_ADD_LSB(MemAddress);
3073:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3074:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Reset Memaddress content */
3075:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Memaddress = 0xFFFFFFFFU;
3076:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3077:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* If Memory address size is 16Bit */
3078:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
3079:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3080:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prefetch Memory Address (MSB part, LSB will be manage through interrupt) */
3081:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->TXDR = I2C_MEM_ADD_MSB(MemAddress);
3082:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3083:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare Memaddress buffer for LSB part */
3084:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Memaddress = I2C_MEM_ADD_LSB(MemAddress);
3085:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3086:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3087:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->hdmarx != NULL)
3088:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3089:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the I2C DMA transfer complete callback */
3090:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferCpltCallback = I2C_DMAMasterReceiveCplt;
3091:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3092:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the DMA error callback */
3093:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferErrorCallback = I2C_DMAError;
3094:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3095:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the unused DMA callbacks to NULL */
3096:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferHalfCpltCallback = NULL;
3097:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
3098:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3099:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable the DMA channel */
3100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmarx, (uint32_t)&hi2c->Instance->RXDR, (uint32_t)pDa
3101:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize);
3102:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3103:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
3104:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3105:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C state */
3106:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
3107:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
3108:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3109:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C error code */
3110:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA_PARAM;
ARM GAS /tmp/ccuRhBPx.s page 56
3111:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3112:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
3113:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
3114:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3115:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
3116:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3117:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3118:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (dmaxferstatus == HAL_OK)
3119:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3120:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send Slave Address and Memory Address */
3121:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)MemAddSize, I2C_SOFTEND_MODE, I2C_GENERATE_STAR
3122:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
3124:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
3125:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3126:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
3127:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
3128:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** process unlock */
3129:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK, TXI interrupt */
3130:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* possible to enable all of these */
3131:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI |
3132:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TXI */
3133:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_TX_IT);
3134:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3135:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
3136:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3137:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C state */
3138:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
3139:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
3140:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3141:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C error code */
3142:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA;
3143:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3144:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
3145:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
3146:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3147:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
3148:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3149:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3150:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
3151:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
3153:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3154:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
3155:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3156:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3158:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
3159:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Checks if target device is ready for communication.
3160:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @note This function is used with Memory devices
3161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
3162:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
3163:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
3164:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
3165:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Trials Number of trials
3166:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Timeout Timeout duration
3167:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
ARM GAS /tmp/ccuRhBPx.s page 57
3168:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
3169:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_IsDeviceReady(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint32_t Tria
3170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t Timeout)
3171:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart;
3173:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __IO uint32_t I2C_Trials = 0UL;
3175:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3176:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** FlagStatus tmp1;
3177:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** FlagStatus tmp2;
3178:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3179:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
3180:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3181:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) == SET)
3182:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3183:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
3184:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3186:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */
3187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
3188:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY;
3190:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
3191:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3192:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** do
3193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3194:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Generate Start */
3195:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 = I2C_GENERATE_START(hi2c->Init.AddressingMode, DevAddress);
3196:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3197:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* No need to Check TC flag, with AUTOEND mode the stop is automatically generated */
3198:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until STOPF flag is set or a NACK flag is set*/
3199:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tickstart = HAL_GetTick();
3200:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmp1 = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_STOPF);
3202:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmp2 = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF);
3203:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3204:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** while ((tmp1 == RESET) && (tmp2 == RESET))
3205:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3206:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (Timeout != HAL_MAX_DELAY)
3207:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (((HAL_GetTick() - tickstart) > Timeout) || (Timeout == 0U))
3209:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3210:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C state */
3211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
3212:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C error code */
3214:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT;
3215:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3216:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
3217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
3218:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
3220:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3221:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3223:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmp1 = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_STOPF);
3224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmp2 = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF);
ARM GAS /tmp/ccuRhBPx.s page 58
3225:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3226:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3227:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check if the NACKF flag has not been set */
3228:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF) == RESET)
3229:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3230:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until STOPF flag is reset */
3231:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_STOPF, RESET, Timeout, tickstart) != HAL_OK)
3232:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3233:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
3234:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3236:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear STOP Flag */
3237:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF);
3238:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3239:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Device is ready */
3240:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
3241:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3242:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
3243:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
3244:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
3246:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3247:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
3248:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3249:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until STOPF flag is reset */
3250:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_STOPF, RESET, Timeout, tickstart) != HAL_OK)
3251:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
3253:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3254:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3255:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear NACK Flag */
3256:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
3257:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3258:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear STOP Flag, auto generated with autoend*/
3259:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF);
3260:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3261:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check if the maximum allowed number of trials has been reached */
3263:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_Trials == Trials)
3264:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3265:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Generate Stop */
3266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_STOP;
3267:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3268:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until STOPF flag is reset */
3269:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_STOPF, RESET, Timeout, tickstart) != HAL_OK)
3270:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3271:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
3272:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3273:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3274:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear STOP Flag */
3275:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF);
3276:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3277:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3278:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Increment Trials */
3279:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Trials++;
3280:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } while (I2C_Trials < Trials);
3281:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
ARM GAS /tmp/ccuRhBPx.s page 59
3282:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C state */
3283:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
3284:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3285:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C error code */
3286:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT;
3287:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3288:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
3289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
3290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3291:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
3292:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
3294:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3295:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
3296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3297:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3298:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3299:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
3300:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Sequential transmit in master I2C mode an amount of data in non-blocking mode with Inte
3301:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @note This interface allow to manage repeated start condition when a direction change during
3302:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
3303:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
3304:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
3305:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
3306:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer
3307:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be sent
3308:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param XferOptions Options of Transfer, value of @ref I2C_XFEROPTIONS
3309:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
3310:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
3311:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Seq_Transmit_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint
3312:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint16_t Size, uint32_t XferOptions)
3313:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3314:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xfermode;
3315:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xferrequest = I2C_GENERATE_START_WRITE;
3316:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3317:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check the parameters */
3318:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_TRANSFER_OPTIONS_REQUEST(XferOptions));
3319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3320:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
3321:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3322:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */
3323:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
3324:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX;
3326:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
3327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
3328:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3329:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */
3330:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
3331:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
3332:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
3333:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
3334:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3335:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* If hi2c->XferCount > MAX_NBYTE_SIZE, use reload mode */
3336:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
3337:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3338:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
ARM GAS /tmp/ccuRhBPx.s page 60
3339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
3340:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3341:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
3342:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3343:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
3344:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
3345:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3346:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3347:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* If transfer direction not change and there is no request to start another frame,
3348:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** do not generate Restart Condition */
3349:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Mean Previous state is same as current state */
3350:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((hi2c->PreviousState == I2C_STATE_MASTER_BUSY_TX) && \
3351:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0))
3352:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3353:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xferrequest = I2C_NO_STARTSTOP;
3354:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3355:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
3356:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3357:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Convert OTHER_xxx XferOptions if any */
3358:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ConvertOtherXferOptions(hi2c);
3359:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3360:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update xfermode accordingly if no reload is necessary */
3361:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount <= MAX_NBYTE_SIZE)
3362:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3363:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
3364:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3365:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3366:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3367:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send Slave Address and set NBYTES to write */
3368:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, xfermode, xferrequest);
3369:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3370:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
3371:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
3372:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
3374:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
3375:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** process unlock */
3376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK, TXI interrupt */
3377:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* possible to enable all of these */
3378:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI |
3379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TXI */
3380:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_TX_IT);
3381:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
3383:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3384:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
3385:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3386:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
3387:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3388:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3389:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3390:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
3391:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Sequential transmit in master I2C mode an amount of data in non-blocking mode with DMA.
3392:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @note This interface allow to manage repeated start condition when a direction change during
3393:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
3394:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
3395:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
ARM GAS /tmp/ccuRhBPx.s page 61
3396:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
3397:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer
3398:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be sent
3399:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param XferOptions Options of Transfer, value of @ref I2C_XFEROPTIONS
3400:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
3401:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
3402:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Seq_Transmit_DMA(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uin
3403:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint16_t Size, uint32_t XferOptions)
3404:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3405:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xfermode;
3406:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xferrequest = I2C_GENERATE_START_WRITE;
3407:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
3408:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3409:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check the parameters */
3410:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_TRANSFER_OPTIONS_REQUEST(XferOptions));
3411:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3412:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
3413:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3414:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */
3415:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
3416:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3417:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX;
3418:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
3419:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
3420:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3421:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */
3422:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
3423:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
3424:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
3425:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA;
3426:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3427:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* If hi2c->XferCount > MAX_NBYTE_SIZE, use reload mode */
3428:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
3429:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3430:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
3431:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
3432:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3433:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
3434:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3435:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
3436:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
3437:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3438:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3439:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* If transfer direction not change and there is no request to start another frame,
3440:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** do not generate Restart Condition */
3441:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Mean Previous state is same as current state */
3442:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((hi2c->PreviousState == I2C_STATE_MASTER_BUSY_TX) && \
3443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0))
3444:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3445:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xferrequest = I2C_NO_STARTSTOP;
3446:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3447:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
3448:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3449:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Convert OTHER_xxx XferOptions if any */
3450:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ConvertOtherXferOptions(hi2c);
3451:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3452:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update xfermode accordingly if no reload is necessary */
ARM GAS /tmp/ccuRhBPx.s page 62
3453:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount <= MAX_NBYTE_SIZE)
3454:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3455:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
3456:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3457:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3458:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3459:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferSize > 0U)
3460:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3461:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->hdmatx != NULL)
3462:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3463:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the I2C DMA transfer complete callback */
3464:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferCpltCallback = I2C_DMAMasterTransmitCplt;
3465:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3466:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the DMA error callback */
3467:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferErrorCallback = I2C_DMAError;
3468:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3469:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the unused DMA callbacks to NULL */
3470:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferHalfCpltCallback = NULL;
3471:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
3472:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3473:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable the DMA channel */
3474:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmatx, (uint32_t)pData, (uint32_t)&hi2c->Instance->
3475:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize);
3476:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3477:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
3478:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3479:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C state */
3480:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
3481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
3482:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3483:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C error code */
3484:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA_PARAM;
3485:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3486:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
3487:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
3488:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3489:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
3490:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3491:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3492:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (dmaxferstatus == HAL_OK)
3493:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3494:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send Slave Address and set NBYTES to write */
3495:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, xfermode, xferrequest);
3496:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3497:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update XferCount value */
3498:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount -= hi2c->XferSize;
3499:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3500:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
3501:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
3502:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3503:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
3504:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
3505:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** process unlock */
3506:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR and NACK interrupts */
3507:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_ERROR_IT);
3508:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3509:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable DMA Request */
ARM GAS /tmp/ccuRhBPx.s page 63
3510:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_TXDMAEN;
3511:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3512:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
3513:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3514:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C state */
3515:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
3516:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
3517:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3518:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C error code */
3519:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA;
3520:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3521:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
3522:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
3523:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3524:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
3525:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3526:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3527:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
3528:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3529:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update Transfer ISR function pointer */
3530:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
3531:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3532:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send Slave Address */
3533:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set NBYTES to write and generate START condition */
3534:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
3535:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_GENERATE_START_WRITE);
3536:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3537:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
3538:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
3539:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3540:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
3541:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
3542:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** process unlock */
3543:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK, TXI interrupt */
3544:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* possible to enable all of these */
3545:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI |
3546:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TXI */
3547:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_TX_IT);
3548:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3549:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3550:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
3551:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3552:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
3553:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3554:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
3555:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3556:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3557:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3558:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
3559:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Sequential receive in master I2C mode an amount of data in non-blocking mode with Inter
3560:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @note This interface allow to manage repeated start condition when a direction change during
3561:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
3562:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
3563:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
3564:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
3565:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer
3566:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be sent
ARM GAS /tmp/ccuRhBPx.s page 64
3567:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param XferOptions Options of Transfer, value of @ref I2C_XFEROPTIONS
3568:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
3569:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
3570:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Seq_Receive_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8
3571:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint16_t Size, uint32_t XferOptions)
3572:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3573:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xfermode;
3574:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xferrequest = I2C_GENERATE_START_READ;
3575:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3576:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check the parameters */
3577:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_TRANSFER_OPTIONS_REQUEST(XferOptions));
3578:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3579:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
3580:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3581:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */
3582:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
3583:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3584:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX;
3585:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
3586:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
3587:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3588:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */
3589:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
3590:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
3591:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
3592:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
3593:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3594:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* If hi2c->XferCount > MAX_NBYTE_SIZE, use reload mode */
3595:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
3596:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3597:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
3598:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
3599:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3600:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
3601:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3602:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
3603:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
3604:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3605:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3606:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* If transfer direction not change and there is no request to start another frame,
3607:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** do not generate Restart Condition */
3608:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Mean Previous state is same as current state */
3609:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((hi2c->PreviousState == I2C_STATE_MASTER_BUSY_RX) && \
3610:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0))
3611:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3612:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xferrequest = I2C_NO_STARTSTOP;
3613:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3614:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
3615:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3616:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Convert OTHER_xxx XferOptions if any */
3617:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ConvertOtherXferOptions(hi2c);
3618:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3619:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update xfermode accordingly if no reload is necessary */
3620:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount <= MAX_NBYTE_SIZE)
3621:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3622:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
3623:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
ARM GAS /tmp/ccuRhBPx.s page 65
3624:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3625:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3626:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send Slave Address and set NBYTES to read */
3627:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, xfermode, xferrequest);
3628:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3629:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
3630:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
3631:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3632:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
3633:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
3634:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** process unlock */
3635:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_RX_IT);
3636:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3637:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
3638:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3639:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
3640:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3641:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
3642:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3643:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3644:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3645:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
3646:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Sequential receive in master I2C mode an amount of data in non-blocking mode with DMA
3647:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @note This interface allow to manage repeated start condition when a direction change during
3648:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
3649:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
3650:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
3651:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
3652:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer
3653:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be sent
3654:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param XferOptions Options of Transfer, value of @ref I2C_XFEROPTIONS
3655:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
3656:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
3657:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Seq_Receive_DMA(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint
3658:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint16_t Size, uint32_t XferOptions)
3659:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3660:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xfermode;
3661:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xferrequest = I2C_GENERATE_START_READ;
3662:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
3663:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3664:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check the parameters */
3665:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_TRANSFER_OPTIONS_REQUEST(XferOptions));
3666:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3667:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
3668:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3669:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */
3670:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
3671:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3672:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX;
3673:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
3674:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
3675:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3676:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */
3677:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
3678:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
3679:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
3680:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA;
ARM GAS /tmp/ccuRhBPx.s page 66
3681:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3682:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* If hi2c->XferCount > MAX_NBYTE_SIZE, use reload mode */
3683:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
3684:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3685:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
3686:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
3687:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3688:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
3689:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3690:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
3691:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
3692:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3693:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3694:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* If transfer direction not change and there is no request to start another frame,
3695:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** do not generate Restart Condition */
3696:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Mean Previous state is same as current state */
3697:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((hi2c->PreviousState == I2C_STATE_MASTER_BUSY_RX) && \
3698:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0))
3699:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3700:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xferrequest = I2C_NO_STARTSTOP;
3701:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3702:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
3703:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3704:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Convert OTHER_xxx XferOptions if any */
3705:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ConvertOtherXferOptions(hi2c);
3706:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3707:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update xfermode accordingly if no reload is necessary */
3708:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount <= MAX_NBYTE_SIZE)
3709:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3710:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
3711:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3712:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3713:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3714:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferSize > 0U)
3715:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3716:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->hdmarx != NULL)
3717:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3718:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the I2C DMA transfer complete callback */
3719:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferCpltCallback = I2C_DMAMasterReceiveCplt;
3720:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3721:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the DMA error callback */
3722:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferErrorCallback = I2C_DMAError;
3723:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3724:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the unused DMA callbacks to NULL */
3725:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferHalfCpltCallback = NULL;
3726:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
3727:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3728:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable the DMA channel */
3729:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmarx, (uint32_t)&hi2c->Instance->RXDR, (uint32_t)p
3730:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize);
3731:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3732:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
3733:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3734:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C state */
3735:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
3736:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
3737:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
ARM GAS /tmp/ccuRhBPx.s page 67
3738:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C error code */
3739:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA_PARAM;
3740:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3741:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
3742:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
3743:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3744:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
3745:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3746:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3747:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (dmaxferstatus == HAL_OK)
3748:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3749:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send Slave Address and set NBYTES to read */
3750:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, xfermode, xferrequest);
3751:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3752:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update XferCount value */
3753:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount -= hi2c->XferSize;
3754:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3755:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
3756:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
3757:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3758:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
3759:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
3760:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** process unlock */
3761:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR and NACK interrupts */
3762:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_ERROR_IT);
3763:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3764:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable DMA Request */
3765:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_RXDMAEN;
3766:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3767:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
3768:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3769:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C state */
3770:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
3771:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
3772:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3773:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C error code */
3774:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA;
3775:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3776:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
3777:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
3778:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3779:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
3780:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3781:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3782:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
3783:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3784:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update Transfer ISR function pointer */
3785:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
3786:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3787:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send Slave Address */
3788:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set NBYTES to read and generate START condition */
3789:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
3790:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_GENERATE_START_READ);
3791:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3792:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
3793:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
3794:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
ARM GAS /tmp/ccuRhBPx.s page 68
3795:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
3796:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
3797:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** process unlock */
3798:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK, TXI interrupt */
3799:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* possible to enable all of these */
3800:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI |
3801:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TXI */
3802:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_TX_IT);
3803:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3804:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3805:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
3806:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3807:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
3808:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3809:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
3810:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3811:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3812:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3813:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
3814:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Sequential transmit in slave/device I2C mode an amount of data in non-blocking mode wit
3815:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @note This interface allow to manage repeated start condition when a direction change during
3816:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
3817:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
3818:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer
3819:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be sent
3820:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param XferOptions Options of Transfer, value of @ref I2C_XFEROPTIONS
3821:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
3822:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
3823:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Seq_Transmit_IT(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t S
3824:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t XferOptions)
3825:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3826:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Declaration of tmp to prevent undefined behavior of volatile usage */
3827:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** FlagStatus tmp;
3828:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3829:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check the parameters */
3830:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_TRANSFER_OPTIONS_REQUEST(XferOptions));
3831:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3832:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (((uint32_t)hi2c->State & (uint32_t)HAL_I2C_STATE_LISTEN) == (uint32_t)HAL_I2C_STATE_LISTEN)
3833:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3834:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U))
3835:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3836:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM;
3837:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
3838:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3839:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3840:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Interrupts, to prevent preemption during treatment in case of multicall */
3841:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT | I2C_XFER_TX_IT);
3842:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3843:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */
3844:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
3845:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3846:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* I2C cannot manage full duplex exchange so disable previous IT enabled if any */
3847:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* and then toggle the HAL slave RX state to TX state */
3848:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_BUSY_RX_LISTEN)
3849:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3850:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable associated Interrupts */
3851:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_RX_IT);
ARM GAS /tmp/ccuRhBPx.s page 69
3852:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3853:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Abort DMA Xfer if any */
3854:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_RXDMAEN) == I2C_CR1_RXDMAEN)
3855:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3856:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_RXDMAEN;
3857:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3858:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->hdmarx != NULL)
3859:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3860:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the I2C DMA Abort callback :
3861:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** will lead to call HAL_I2C_ErrorCallback() at end of DMA abort procedure */
3862:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = I2C_DMAAbort;
3863:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3864:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Abort DMA RX */
3865:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (HAL_DMA_Abort_IT(hi2c->hdmarx) != HAL_OK)
3866:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3867:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call Directly XferAbortCallback function in case of error */
3868:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback(hi2c->hdmarx);
3869:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3870:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3871:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3872:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3873:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3874:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX_LISTEN;
3875:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
3876:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
3877:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3878:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable Address Acknowledge */
3879:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 &= ~I2C_CR2_NACK;
3880:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3881:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */
3882:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
3883:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
3884:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
3885:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
3886:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
3887:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3888:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmp = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_ADDR);
3889:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((I2C_GET_DIR(hi2c) == I2C_DIRECTION_RECEIVE) && (tmp != RESET))
3890:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3891:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear ADDR flag after prepare the transfer parameters */
3892:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* This action will generate an acknowledge to the Master */
3893:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ADDR);
3894:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3895:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3896:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
3897:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
3898:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3899:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
3900:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
3901:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** process unlock */
3902:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* REnable ADDR interrupt */
3903:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_TX_IT | I2C_XFER_LISTEN_IT);
3904:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3905:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
3906:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3907:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
3908:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
ARM GAS /tmp/ccuRhBPx.s page 70
3909:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
3910:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3911:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3912:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3913:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
3914:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Sequential transmit in slave/device I2C mode an amount of data in non-blocking mode wit
3915:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @note This interface allow to manage repeated start condition when a direction change during
3916:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
3917:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
3918:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer
3919:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be sent
3920:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param XferOptions Options of Transfer, value of @ref I2C_XFEROPTIONS
3921:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
3922:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
3923:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Seq_Transmit_DMA(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t
3924:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t XferOptions)
3925:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3926:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Declaration of tmp to prevent undefined behavior of volatile usage */
3927:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** FlagStatus tmp;
3928:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
3929:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3930:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check the parameters */
3931:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_TRANSFER_OPTIONS_REQUEST(XferOptions));
3932:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3933:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (((uint32_t)hi2c->State & (uint32_t)HAL_I2C_STATE_LISTEN) == (uint32_t)HAL_I2C_STATE_LISTEN)
3934:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3935:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U))
3936:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3937:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM;
3938:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
3939:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3940:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3941:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */
3942:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
3943:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3944:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Interrupts, to prevent preemption during treatment in case of multicall */
3945:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT | I2C_XFER_TX_IT);
3946:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3947:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* I2C cannot manage full duplex exchange so disable previous IT enabled if any */
3948:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* and then toggle the HAL slave RX state to TX state */
3949:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_BUSY_RX_LISTEN)
3950:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3951:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable associated Interrupts */
3952:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_RX_IT);
3953:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3954:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_RXDMAEN) == I2C_CR1_RXDMAEN)
3955:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3956:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Abort DMA Xfer if any */
3957:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->hdmarx != NULL)
3958:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3959:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_RXDMAEN;
3960:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3961:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the I2C DMA Abort callback :
3962:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** will lead to call HAL_I2C_ErrorCallback() at end of DMA abort procedure */
3963:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = I2C_DMAAbort;
3964:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3965:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Abort DMA RX */
ARM GAS /tmp/ccuRhBPx.s page 71
3966:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (HAL_DMA_Abort_IT(hi2c->hdmarx) != HAL_OK)
3967:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3968:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call Directly XferAbortCallback function in case of error */
3969:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback(hi2c->hdmarx);
3970:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3971:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3972:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3973:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3974:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if (hi2c->State == HAL_I2C_STATE_BUSY_TX_LISTEN)
3975:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3976:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_TXDMAEN) == I2C_CR1_TXDMAEN)
3977:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3978:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_TXDMAEN;
3979:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3980:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Abort DMA Xfer if any */
3981:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->hdmatx != NULL)
3982:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3983:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the I2C DMA Abort callback :
3984:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** will lead to call HAL_I2C_ErrorCallback() at end of DMA abort procedure */
3985:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = I2C_DMAAbort;
3986:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3987:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Abort DMA TX */
3988:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (HAL_DMA_Abort_IT(hi2c->hdmatx) != HAL_OK)
3989:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3990:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call Directly XferAbortCallback function in case of error */
3991:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback(hi2c->hdmatx);
3992:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3993:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3994:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3995:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3996:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
3997:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3998:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Nothing to do */
3999:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4000:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4001:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX_LISTEN;
4002:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
4003:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
4004:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4005:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable Address Acknowledge */
4006:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 &= ~I2C_CR2_NACK;
4007:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4008:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */
4009:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
4010:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
4011:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
4012:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
4013:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_DMA;
4014:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4015:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->hdmatx != NULL)
4016:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4017:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the I2C DMA transfer complete callback */
4018:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferCpltCallback = I2C_DMASlaveTransmitCplt;
4019:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4020:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the DMA error callback */
4021:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferErrorCallback = I2C_DMAError;
4022:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
ARM GAS /tmp/ccuRhBPx.s page 72
4023:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the unused DMA callbacks to NULL */
4024:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferHalfCpltCallback = NULL;
4025:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
4026:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4027:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable the DMA channel */
4028:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmatx, (uint32_t)pData, (uint32_t)&hi2c->Instance->TX
4029:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize);
4030:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4031:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
4032:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4033:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C state */
4034:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN;
4035:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
4036:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4037:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C error code */
4038:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA_PARAM;
4039:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4040:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
4041:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
4042:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4043:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
4044:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4045:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4046:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (dmaxferstatus == HAL_OK)
4047:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4048:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update XferCount value */
4049:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount -= hi2c->XferSize;
4050:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4051:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Reset XferSize */
4052:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = 0;
4053:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4054:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
4055:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4056:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C state */
4057:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN;
4058:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
4059:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4060:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C error code */
4061:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA;
4062:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4063:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
4064:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
4065:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4066:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
4067:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4068:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4069:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmp = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_ADDR);
4070:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((I2C_GET_DIR(hi2c) == I2C_DIRECTION_RECEIVE) && (tmp != RESET))
4071:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4072:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear ADDR flag after prepare the transfer parameters */
4073:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* This action will generate an acknowledge to the Master */
4074:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ADDR);
4075:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4076:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4077:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
4078:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
4079:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
ARM GAS /tmp/ccuRhBPx.s page 73
4080:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable DMA Request */
4081:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_TXDMAEN;
4082:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4083:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
4084:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
4085:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** process unlock */
4086:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR, STOP, NACK, ADDR interrupts */
4087:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_LISTEN_IT);
4088:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4089:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
4090:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4091:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
4092:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4093:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
4094:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4095:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4096:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4097:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
4098:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Sequential receive in slave/device I2C mode an amount of data in non-blocking mode with
4099:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @note This interface allow to manage repeated start condition when a direction change during
4100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
4101:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
4102:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer
4103:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be sent
4104:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param XferOptions Options of Transfer, value of @ref I2C_XFEROPTIONS
4105:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
4106:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
4107:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Seq_Receive_IT(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Si
4108:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t XferOptions)
4109:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4110:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Declaration of tmp to prevent undefined behavior of volatile usage */
4111:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** FlagStatus tmp;
4112:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4113:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check the parameters */
4114:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_TRANSFER_OPTIONS_REQUEST(XferOptions));
4115:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4116:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (((uint32_t)hi2c->State & (uint32_t)HAL_I2C_STATE_LISTEN) == (uint32_t)HAL_I2C_STATE_LISTEN)
4117:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4118:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U))
4119:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4120:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM;
4121:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
4122:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4124:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Interrupts, to prevent preemption during treatment in case of multicall */
4125:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT | I2C_XFER_RX_IT);
4126:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4127:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */
4128:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
4129:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4130:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* I2C cannot manage full duplex exchange so disable previous IT enabled if any */
4131:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* and then toggle the HAL slave TX state to RX state */
4132:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_BUSY_TX_LISTEN)
4133:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4134:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable associated Interrupts */
4135:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_TX_IT);
4136:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
ARM GAS /tmp/ccuRhBPx.s page 74
4137:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_TXDMAEN) == I2C_CR1_TXDMAEN)
4138:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4139:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_TXDMAEN;
4140:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4141:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Abort DMA Xfer if any */
4142:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->hdmatx != NULL)
4143:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4144:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the I2C DMA Abort callback :
4145:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** will lead to call HAL_I2C_ErrorCallback() at end of DMA abort procedure */
4146:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = I2C_DMAAbort;
4147:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4148:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Abort DMA TX */
4149:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (HAL_DMA_Abort_IT(hi2c->hdmatx) != HAL_OK)
4150:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4151:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call Directly XferAbortCallback function in case of error */
4152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback(hi2c->hdmatx);
4153:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4154:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4155:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4156:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4158:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX_LISTEN;
4159:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
4160:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
4161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4162:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable Address Acknowledge */
4163:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 &= ~I2C_CR2_NACK;
4164:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4165:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */
4166:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
4167:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
4168:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
4169:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
4170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
4171:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmp = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_ADDR);
4173:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((I2C_GET_DIR(hi2c) == I2C_DIRECTION_TRANSMIT) && (tmp != RESET))
4174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4175:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear ADDR flag after prepare the transfer parameters */
4176:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* This action will generate an acknowledge to the Master */
4177:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ADDR);
4178:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4179:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4180:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
4181:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
4182:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4183:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
4184:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
4185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** process unlock */
4186:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* REnable ADDR interrupt */
4187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_RX_IT | I2C_XFER_LISTEN_IT);
4188:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
4190:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4191:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
4192:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
ARM GAS /tmp/ccuRhBPx.s page 75
4194:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4195:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4196:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4197:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
4198:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Sequential receive in slave/device I2C mode an amount of data in non-blocking mode with
4199:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @note This interface allow to manage repeated start condition when a direction change during
4200:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
4201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
4202:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer
4203:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be sent
4204:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param XferOptions Options of Transfer, value of @ref I2C_XFEROPTIONS
4205:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
4206:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
4207:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Seq_Receive_DMA(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t S
4208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t XferOptions)
4209:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4210:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Declaration of tmp to prevent undefined behavior of volatile usage */
4211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** FlagStatus tmp;
4212:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
4213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4214:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check the parameters */
4215:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_TRANSFER_OPTIONS_REQUEST(XferOptions));
4216:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (((uint32_t)hi2c->State & (uint32_t)HAL_I2C_STATE_LISTEN) == (uint32_t)HAL_I2C_STATE_LISTEN)
4218:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U))
4220:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4221:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM;
4222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
4223:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4225:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Interrupts, to prevent preemption during treatment in case of multicall */
4226:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT | I2C_XFER_RX_IT);
4227:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4228:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */
4229:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
4230:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4231:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* I2C cannot manage full duplex exchange so disable previous IT enabled if any */
4232:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* and then toggle the HAL slave TX state to RX state */
4233:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_BUSY_TX_LISTEN)
4234:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable associated Interrupts */
4236:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_TX_IT);
4237:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4238:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_TXDMAEN) == I2C_CR1_TXDMAEN)
4239:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4240:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Abort DMA Xfer if any */
4241:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->hdmatx != NULL)
4242:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4243:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_TXDMAEN;
4244:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the I2C DMA Abort callback :
4246:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** will lead to call HAL_I2C_ErrorCallback() at end of DMA abort procedure */
4247:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = I2C_DMAAbort;
4248:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4249:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Abort DMA TX */
4250:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (HAL_DMA_Abort_IT(hi2c->hdmatx) != HAL_OK)
ARM GAS /tmp/ccuRhBPx.s page 76
4251:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call Directly XferAbortCallback function in case of error */
4253:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback(hi2c->hdmatx);
4254:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4255:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4256:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4257:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4258:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if (hi2c->State == HAL_I2C_STATE_BUSY_RX_LISTEN)
4259:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4260:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_RXDMAEN) == I2C_CR1_RXDMAEN)
4261:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_RXDMAEN;
4263:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4264:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Abort DMA Xfer if any */
4265:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->hdmarx != NULL)
4266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4267:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the I2C DMA Abort callback :
4268:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** will lead to call HAL_I2C_ErrorCallback() at end of DMA abort procedure */
4269:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = I2C_DMAAbort;
4270:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4271:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Abort DMA RX */
4272:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (HAL_DMA_Abort_IT(hi2c->hdmarx) != HAL_OK)
4273:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4274:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call Directly XferAbortCallback function in case of error */
4275:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback(hi2c->hdmarx);
4276:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4277:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4278:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4279:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4280:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
4281:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4282:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Nothing to do */
4283:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4284:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4285:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX_LISTEN;
4286:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
4287:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
4288:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable Address Acknowledge */
4290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 &= ~I2C_CR2_NACK;
4291:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4292:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */
4293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
4294:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
4295:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
4296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
4297:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_DMA;
4298:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4299:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->hdmarx != NULL)
4300:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4301:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the I2C DMA transfer complete callback */
4302:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferCpltCallback = I2C_DMASlaveReceiveCplt;
4303:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4304:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the DMA error callback */
4305:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferErrorCallback = I2C_DMAError;
4306:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4307:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the unused DMA callbacks to NULL */
ARM GAS /tmp/ccuRhBPx.s page 77
4308:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferHalfCpltCallback = NULL;
4309:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
4310:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4311:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable the DMA channel */
4312:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmarx, (uint32_t)&hi2c->Instance->RXDR,
4313:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (uint32_t)pData, hi2c->XferSize);
4314:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4315:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
4316:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4317:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C state */
4318:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN;
4319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
4320:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4321:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C error code */
4322:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA_PARAM;
4323:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4324:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
4325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
4326:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
4328:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4329:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4330:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (dmaxferstatus == HAL_OK)
4331:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4332:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update XferCount value */
4333:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount -= hi2c->XferSize;
4334:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4335:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Reset XferSize */
4336:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = 0;
4337:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4338:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
4339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4340:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C state */
4341:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN;
4342:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
4343:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4344:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C error code */
4345:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA;
4346:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4347:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
4348:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
4349:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4350:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
4351:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4352:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4353:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmp = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_ADDR);
4354:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((I2C_GET_DIR(hi2c) == I2C_DIRECTION_TRANSMIT) && (tmp != RESET))
4355:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4356:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear ADDR flag after prepare the transfer parameters */
4357:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* This action will generate an acknowledge to the Master */
4358:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ADDR);
4359:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4360:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4361:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
4362:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
4363:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4364:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable DMA Request */
ARM GAS /tmp/ccuRhBPx.s page 78
4365:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_RXDMAEN;
4366:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4367:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
4368:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
4369:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** process unlock */
4370:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* REnable ADDR interrupt */
4371:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_RX_IT | I2C_XFER_LISTEN_IT);
4372:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
4374:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4375:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
4376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4377:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
4378:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4380:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4381:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
4382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Enable the Address listen mode with Interrupt.
4383:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
4384:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
4385:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
4386:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
4387:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_EnableListen_IT(I2C_HandleTypeDef *hi2c)
4388:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4389:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
4390:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4391:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN;
4392:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
4393:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4394:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable the Address Match interrupt */
4395:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_LISTEN_IT);
4396:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4397:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
4398:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4399:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
4400:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4401:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
4402:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4403:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4404:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4405:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
4406:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Disable the Address listen mode with Interrupt.
4407:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
4408:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C
4409:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
4410:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
4411:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_DisableListen_IT(I2C_HandleTypeDef *hi2c)
4412:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4413:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Declaration of tmp to prevent undefined behavior of volatile usage */
4414:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmp;
4415:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4416:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Address listen mode only if a transfer is not ongoing */
4417:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_LISTEN)
4418:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4419:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmp = (uint32_t)(hi2c->State) & I2C_STATE_MSK;
4420:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = tmp | (uint32_t)(hi2c->Mode);
4421:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
ARM GAS /tmp/ccuRhBPx.s page 79
4422:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
4423:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL;
4424:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4425:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable the Address Match interrupt */
4426:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT);
4427:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4428:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
4429:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4430:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
4431:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4432:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
4433:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4434:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4435:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4436:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
4437:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Abort a master I2C IT or DMA process communication with Interrupt.
4438:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
4439:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
4440:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
4441:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
4442:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
4443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
4444:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Abort_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress)
4445:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4446:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->Mode == HAL_I2C_MODE_MASTER)
4447:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4448:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */
4449:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
4450:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4451:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Interrupts and Store Previous state */
4452:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_BUSY_TX)
4453:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4454:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_TX_IT);
4455:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_TX;
4456:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4457:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if (hi2c->State == HAL_I2C_STATE_BUSY_RX)
4458:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4459:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_RX_IT);
4460:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_RX;
4461:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4462:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
4463:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4464:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Do nothing */
4465:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4466:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4467:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set State at HAL_I2C_STATE_ABORT */
4468:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_ABORT;
4469:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4470:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set NBYTES to 1 to generate a dummy read on I2C peripheral */
4471:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set AUTOEND mode, this will generate a NACK then STOP condition to abort the current transfe
4472:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, 1, I2C_AUTOEND_MODE, I2C_GENERATE_STOP);
4473:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4474:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
4475:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
4476:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4477:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
4478:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
ARM GAS /tmp/ccuRhBPx.s page 80
4479:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** process unlock */
4480:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_CPLT_IT);
4481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4482:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
4483:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4484:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
4485:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4486:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wrong usage of abort function */
4487:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* This function should be used only in case of abort monitored by master device */
4488:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
4489:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4490:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4491:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4492:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
4493:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @}
4494:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
4495:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4496:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** @defgroup I2C_IRQ_Handler_and_Callbacks IRQ Handler and Callbacks
4497:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @{
4498:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
4499:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4500:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
4501:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief This function handles I2C event interrupt request.
4502:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
4503:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
4504:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
4505:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
4506:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** void HAL_I2C_EV_IRQHandler(I2C_HandleTypeDef *hi2c) /* Derogation MISRAC2012-Rule-8.13 */
4507:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4508:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Get current IT Flags and IT sources value */
4509:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t itflags = READ_REG(hi2c->Instance->ISR);
4510:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t itsources = READ_REG(hi2c->Instance->CR1);
4511:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4512:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* I2C events treatment -------------------------------------*/
4513:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferISR != NULL)
4514:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4515:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR(hi2c, itflags, itsources);
4516:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4517:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4518:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4519:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
4520:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief This function handles I2C error interrupt request.
4521:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
4522:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
4523:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
4524:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
4525:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** void HAL_I2C_ER_IRQHandler(I2C_HandleTypeDef *hi2c)
4526:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4527:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t itflags = READ_REG(hi2c->Instance->ISR);
4528:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t itsources = READ_REG(hi2c->Instance->CR1);
4529:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmperror;
4530:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4531:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* I2C Bus error interrupt occurred ------------------------------------*/
4532:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(itflags, I2C_FLAG_BERR) != RESET) && \
4533:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ERRI) != RESET))
4534:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4535:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_BERR;
ARM GAS /tmp/ccuRhBPx.s page 81
4536:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4537:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear BERR flag */
4538:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_BERR);
4539:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4540:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4541:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* I2C Over-Run/Under-Run interrupt occurred ----------------------------------------*/
4542:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(itflags, I2C_FLAG_OVR) != RESET) && \
4543:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ERRI) != RESET))
4544:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4545:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_OVR;
4546:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4547:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear OVR flag */
4548:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_OVR);
4549:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4550:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4551:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* I2C Arbitration Loss error interrupt occurred -------------------------------------*/
4552:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(itflags, I2C_FLAG_ARLO) != RESET) && \
4553:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ERRI) != RESET))
4554:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4555:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_ARLO;
4556:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4557:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear ARLO flag */
4558:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ARLO);
4559:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4560:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4561:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Store current volatile hi2c->ErrorCode, misra rule */
4562:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmperror = hi2c->ErrorCode;
4563:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4564:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the Error Callback in case of Error detected */
4565:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((tmperror & (HAL_I2C_ERROR_BERR | HAL_I2C_ERROR_OVR | HAL_I2C_ERROR_ARLO)) != HAL_I2C_ERROR_
4566:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4567:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITError(hi2c, tmperror);
4568:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4569:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4570:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4571:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
4572:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Master Tx Transfer completed callback.
4573:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
4574:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
4575:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
4576:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
4577:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __weak void HAL_I2C_MasterTxCpltCallback(I2C_HandleTypeDef *hi2c)
4578:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4579:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
4580:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** UNUSED(hi2c);
4581:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4582:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed,
4583:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** the HAL_I2C_MasterTxCpltCallback could be implemented in the user file
4584:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
4585:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4586:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4587:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
4588:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Master Rx Transfer completed callback.
4589:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
4590:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
4591:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
4592:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
ARM GAS /tmp/ccuRhBPx.s page 82
4593:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __weak void HAL_I2C_MasterRxCpltCallback(I2C_HandleTypeDef *hi2c)
4594:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4595:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
4596:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** UNUSED(hi2c);
4597:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4598:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed,
4599:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** the HAL_I2C_MasterRxCpltCallback could be implemented in the user file
4600:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
4601:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4602:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4603:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** @brief Slave Tx Transfer completed callback.
4604:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
4605:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
4606:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
4607:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
4608:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __weak void HAL_I2C_SlaveTxCpltCallback(I2C_HandleTypeDef *hi2c)
4609:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4610:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
4611:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** UNUSED(hi2c);
4612:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4613:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed,
4614:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** the HAL_I2C_SlaveTxCpltCallback could be implemented in the user file
4615:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
4616:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4617:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4618:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
4619:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Slave Rx Transfer completed callback.
4620:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
4621:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
4622:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
4623:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
4624:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __weak void HAL_I2C_SlaveRxCpltCallback(I2C_HandleTypeDef *hi2c)
4625:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4626:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
4627:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** UNUSED(hi2c);
4628:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4629:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed,
4630:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** the HAL_I2C_SlaveRxCpltCallback could be implemented in the user file
4631:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
4632:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4633:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4634:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
4635:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Slave Address Match callback.
4636:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
4637:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
4638:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param TransferDirection Master request Transfer Direction (Write/Read), value of @ref I2C_XFE
4639:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param AddrMatchCode Address Match Code
4640:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
4641:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
4642:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __weak void HAL_I2C_AddrCallback(I2C_HandleTypeDef *hi2c, uint8_t TransferDirection, uint16_t AddrM
4643:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4644:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
4645:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** UNUSED(hi2c);
4646:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** UNUSED(TransferDirection);
4647:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** UNUSED(AddrMatchCode);
4648:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4649:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed,
ARM GAS /tmp/ccuRhBPx.s page 83
4650:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** the HAL_I2C_AddrCallback() could be implemented in the user file
4651:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
4652:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4653:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4654:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
4655:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Listen Complete callback.
4656:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
4657:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
4658:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
4659:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
4660:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __weak void HAL_I2C_ListenCpltCallback(I2C_HandleTypeDef *hi2c)
4661:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4662:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
4663:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** UNUSED(hi2c);
4664:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4665:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed,
4666:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** the HAL_I2C_ListenCpltCallback() could be implemented in the user file
4667:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
4668:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4669:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4670:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
4671:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Memory Tx Transfer completed callback.
4672:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
4673:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
4674:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
4675:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
4676:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __weak void HAL_I2C_MemTxCpltCallback(I2C_HandleTypeDef *hi2c)
4677:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4678:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
4679:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** UNUSED(hi2c);
4680:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4681:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed,
4682:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** the HAL_I2C_MemTxCpltCallback could be implemented in the user file
4683:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
4684:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4685:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4686:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
4687:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Memory Rx Transfer completed callback.
4688:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
4689:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
4690:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
4691:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
4692:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __weak void HAL_I2C_MemRxCpltCallback(I2C_HandleTypeDef *hi2c)
4693:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4694:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
4695:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** UNUSED(hi2c);
4696:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4697:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed,
4698:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** the HAL_I2C_MemRxCpltCallback could be implemented in the user file
4699:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
4700:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4701:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4702:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
4703:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief I2C error callback.
4704:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
4705:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
4706:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
ARM GAS /tmp/ccuRhBPx.s page 84
4707:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
4708:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __weak void HAL_I2C_ErrorCallback(I2C_HandleTypeDef *hi2c)
4709:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4710:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
4711:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** UNUSED(hi2c);
4712:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4713:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed,
4714:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** the HAL_I2C_ErrorCallback could be implemented in the user file
4715:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
4716:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4717:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4718:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
4719:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief I2C abort callback.
4720:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
4721:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
4722:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
4723:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
4724:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __weak void HAL_I2C_AbortCpltCallback(I2C_HandleTypeDef *hi2c)
4725:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4726:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
4727:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** UNUSED(hi2c);
4728:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4729:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed,
4730:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** the HAL_I2C_AbortCpltCallback could be implemented in the user file
4731:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
4732:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4733:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4734:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
4735:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @}
4736:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
4737:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4738:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** @defgroup I2C_Exported_Functions_Group3 Peripheral State, Mode and Error functions
4739:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Peripheral State, Mode and Error functions
4740:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** *
4741:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** @verbatim
4742:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** ===============================================================================
4743:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** ##### Peripheral State, Mode and Error functions #####
4744:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** ===============================================================================
4745:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** [..]
4746:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** This subsection permit to get in run-time the status of the peripheral
4747:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** and the data flow.
4748:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4749:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** @endverbatim
4750:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @{
4751:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
4752:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4753:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
4754:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Return the I2C handle state.
4755:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
4756:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
4757:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL state
4758:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
4759:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_StateTypeDef HAL_I2C_GetState(const I2C_HandleTypeDef *hi2c)
4760:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4761:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Return I2C handle state */
4762:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return hi2c->State;
4763:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
ARM GAS /tmp/ccuRhBPx.s page 85
4764:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4765:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
4766:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Returns the I2C Master, Slave, Memory or no mode.
4767:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
4768:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for I2C module
4769:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL mode
4770:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
4771:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_ModeTypeDef HAL_I2C_GetMode(const I2C_HandleTypeDef *hi2c)
4772:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4773:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return hi2c->Mode;
4774:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4775:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4776:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
4777:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Return the I2C error code.
4778:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
4779:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
4780:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval I2C Error Code
4781:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
4782:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t HAL_I2C_GetError(const I2C_HandleTypeDef *hi2c)
4783:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4784:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return hi2c->ErrorCode;
4785:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4786:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4787:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
4788:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @}
4789:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
4790:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4791:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
4792:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @}
4793:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
4794:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4795:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** @addtogroup I2C_Private_Functions
4796:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @{
4797:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
4798:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4799:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
4800:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Interrupt Sub-Routine which handle the Interrupt Flags Master Mode with Interrupt.
4801:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
4802:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
4803:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param ITFlags Interrupt flags to handle.
4804:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param ITSources Interrupt sources enabled.
4805:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
4806:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
4807:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_Master_ISR_IT(struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags,
4808:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t ITSources)
4809:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4810:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint16_t devaddress;
4811:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmpITFlags = ITFlags;
4812:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4813:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */
4814:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
4815:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4816:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_AF) != RESET) && \
4817:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
4818:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4819:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear NACK Flag */
4820:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
ARM GAS /tmp/ccuRhBPx.s page 86
4821:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4822:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set corresponding Error Code */
4823:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* No need to generate STOP, it is automatically done */
4824:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Error callback will be send during stop flag treatment */
4825:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_AF;
4826:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4827:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Flush TX register */
4828:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Flush_TXDR(hi2c);
4829:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4830:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_RXNE) != RESET) && \
4831:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_RXI) != RESET))
4832:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4833:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Remove RXNE flag on temporary variable as read done */
4834:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmpITFlags &= ~I2C_FLAG_RXNE;
4835:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4836:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Read data from RXDR */
4837:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->RXDR;
4838:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4839:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Increment Buffer pointer */
4840:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr++;
4841:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4842:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize--;
4843:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--;
4844:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4845:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_TXIS) != RESET) && \
4846:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TXI) != RESET))
4847:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4848:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Write data to TXDR */
4849:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->TXDR = *hi2c->pBuffPtr;
4850:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4851:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Increment Buffer pointer */
4852:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr++;
4853:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4854:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize--;
4855:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--;
4856:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4857:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_TCR) != RESET) && \
4858:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
4859:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4860:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((hi2c->XferCount != 0U) && (hi2c->XferSize == 0U))
4861:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4862:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** devaddress = (uint16_t)(hi2c->Instance->CR2 & I2C_CR2_SADD);
4863:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4864:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
4865:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4866:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
4867:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, devaddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, I2C_NO_START
4868:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4869:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
4870:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4871:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
4872:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferOptions != I2C_NO_OPTION_FRAME)
4873:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4874:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, devaddress, (uint8_t)hi2c->XferSize,
4875:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions, I2C_NO_STARTSTOP);
4876:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4877:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
ARM GAS /tmp/ccuRhBPx.s page 87
4878:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4879:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, devaddress, (uint8_t)hi2c->XferSize,
4880:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_AUTOEND_MODE, I2C_NO_STARTSTOP);
4881:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4882:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4883:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4884:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
4885:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4886:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call TxCpltCallback() if no stop mode is set */
4887:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_GET_STOP_MODE(hi2c) != I2C_AUTOEND_MODE)
4888:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4889:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call I2C Master Sequential complete process */
4890:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITMasterSeqCplt(hi2c);
4891:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4892:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
4893:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4894:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wrong size Status regarding TCR flag event */
4895:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
4896:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITError(hi2c, HAL_I2C_ERROR_SIZE);
4897:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4898:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4899:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4900:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_TC) != RESET) && \
4901:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
4902:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4903:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount == 0U)
4904:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4905:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_GET_STOP_MODE(hi2c) != I2C_AUTOEND_MODE)
4906:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4907:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Generate a stop condition in case of no transfer option */
4908:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferOptions == I2C_NO_OPTION_FRAME)
4909:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4910:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Generate Stop */
4911:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_STOP;
4912:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4913:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
4914:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4915:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call I2C Master Sequential complete process */
4916:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITMasterSeqCplt(hi2c);
4917:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4918:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4919:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4920:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
4921:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4922:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wrong size Status regarding TC flag event */
4923:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
4924:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITError(hi2c, HAL_I2C_ERROR_SIZE);
4925:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4926:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4927:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
4928:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4929:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Nothing to do */
4930:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4931:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4932:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_STOPF) != RESET) && \
4933:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
4934:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
ARM GAS /tmp/ccuRhBPx.s page 88
4935:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call I2C Master complete process */
4936:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITMasterCplt(hi2c, tmpITFlags);
4937:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4938:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4939:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
4940:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
4941:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4942:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
4943:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4944:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4945:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
4946:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Interrupt Sub-Routine which handle the Interrupt Flags Memory Mode with Interrupt.
4947:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
4948:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
4949:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param ITFlags Interrupt flags to handle.
4950:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param ITSources Interrupt sources enabled.
4951:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
4952:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
4953:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_Mem_ISR_IT(struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags,
4954:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t ITSources)
4955:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4956:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t direction = I2C_GENERATE_START_WRITE;
4957:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmpITFlags = ITFlags;
4958:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4959:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */
4960:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
4961:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4962:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_AF) != RESET) && \
4963:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
4964:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4965:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear NACK Flag */
4966:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
4967:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4968:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set corresponding Error Code */
4969:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* No need to generate STOP, it is automatically done */
4970:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Error callback will be send during stop flag treatment */
4971:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_AF;
4972:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4973:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Flush TX register */
4974:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Flush_TXDR(hi2c);
4975:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4976:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_RXNE) != RESET) && \
4977:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_RXI) != RESET))
4978:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4979:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Remove RXNE flag on temporary variable as read done */
4980:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmpITFlags &= ~I2C_FLAG_RXNE;
4981:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4982:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Read data from RXDR */
4983:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->RXDR;
4984:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4985:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Increment Buffer pointer */
4986:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr++;
4987:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4988:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize--;
4989:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--;
4990:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4991:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_TXIS) != RESET) && \
ARM GAS /tmp/ccuRhBPx.s page 89
4992:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TXI) != RESET))
4993:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4994:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->Memaddress == 0xFFFFFFFFU)
4995:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4996:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Write data to TXDR */
4997:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->TXDR = *hi2c->pBuffPtr;
4998:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4999:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Increment Buffer pointer */
5000:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr++;
5001:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5002:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize--;
5003:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--;
5004:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5005:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
5006:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5007:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Write LSB part of Memory Address */
5008:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->TXDR = hi2c->Memaddress;
5009:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5010:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Reset Memaddress content */
5011:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Memaddress = 0xFFFFFFFFU;
5012:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5013:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5014:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_TCR) != RESET) && \
5015:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
5016:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5017:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((hi2c->XferCount != 0U) && (hi2c->XferSize == 0U))
5018:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5019:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
5020:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5021:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
5022:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, (uint16_t)hi2c->Devaddress, (uint8_t)hi2c->XferSize,
5023:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_RELOAD_MODE, I2C_NO_STARTSTOP);
5024:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5025:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
5026:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5027:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
5028:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, (uint16_t)hi2c->Devaddress, (uint8_t)hi2c->XferSize,
5029:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_AUTOEND_MODE, I2C_NO_STARTSTOP);
5030:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5031:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5032:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
5033:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5034:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wrong size Status regarding TCR flag event */
5035:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
5036:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITError(hi2c, HAL_I2C_ERROR_SIZE);
5037:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5038:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5039:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_TC) != RESET) && \
5040:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
5041:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5042:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_BUSY_RX)
5043:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5044:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** direction = I2C_GENERATE_START_READ;
5045:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5046:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5047:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
5048:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
ARM GAS /tmp/ccuRhBPx.s page 90
5049:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
5050:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5051:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE and generate RESTART */
5052:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, (uint16_t)hi2c->Devaddress, (uint8_t)hi2c->XferSize,
5053:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_RELOAD_MODE, direction);
5054:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5055:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
5056:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5057:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
5058:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5059:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set NBYTES to write and generate RESTART */
5060:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, (uint16_t)hi2c->Devaddress, (uint8_t)hi2c->XferSize,
5061:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_AUTOEND_MODE, direction);
5062:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5063:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5064:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
5065:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5066:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Nothing to do */
5067:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5068:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5069:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_STOPF) != RESET) && \
5070:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
5071:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5072:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call I2C Master complete process */
5073:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITMasterCplt(hi2c, tmpITFlags);
5074:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5075:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5076:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
5077:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
5078:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5079:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
5080:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5081:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5082:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
5083:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Interrupt Sub-Routine which handle the Interrupt Flags Slave Mode with Interrupt.
5084:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
5085:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
5086:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param ITFlags Interrupt flags to handle.
5087:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param ITSources Interrupt sources enabled.
5088:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
5089:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
5090:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_Slave_ISR_IT(struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags,
5091:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t ITSources)
5092:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5093:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmpoptions = hi2c->XferOptions;
5094:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmpITFlags = ITFlags;
5095:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5096:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process locked */
5097:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
5098:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5099:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check if STOPF is set */
5100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_STOPF) != RESET) && \
5101:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
5102:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5103:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call I2C Slave complete process */
5104:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITSlaveCplt(hi2c, tmpITFlags);
5105:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
ARM GAS /tmp/ccuRhBPx.s page 91
5106:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5107:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_AF) != RESET) && \
5108:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
5109:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5110:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check that I2C transfer finished */
5111:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* if yes, normal use case, a NACK is sent by the MASTER when Transfer is finished */
5112:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Mean XferCount == 0*/
5113:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* So clear Flag NACKF only */
5114:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount == 0U)
5115:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5116:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((hi2c->State == HAL_I2C_STATE_LISTEN) && (tmpoptions == I2C_FIRST_AND_LAST_FRAME))
5117:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Same action must be done for (tmpoptions == I2C_LAST_FRAME) which removed for
5118:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** Warning[Pa134]: left and right operands are identical */
5119:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5120:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call I2C Listen complete process */
5121:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITListenCplt(hi2c, tmpITFlags);
5122:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if ((hi2c->State == HAL_I2C_STATE_BUSY_TX_LISTEN) && (tmpoptions != I2C_NO_OPTION_FRAME)
5124:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5125:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear NACK Flag */
5126:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
5127:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5128:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Flush TX register */
5129:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Flush_TXDR(hi2c);
5130:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5131:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Last Byte is Transmitted */
5132:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call I2C Slave Sequential complete process */
5133:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITSlaveSeqCplt(hi2c);
5134:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5135:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
5136:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5137:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear NACK Flag */
5138:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
5139:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5140:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5141:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
5142:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5143:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* if no, error use case, a Non-Acknowledge of last Data is generated by the MASTER*/
5144:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear NACK Flag */
5145:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
5146:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5147:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set ErrorCode corresponding to a Non-Acknowledge */
5148:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_AF;
5149:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5150:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((tmpoptions == I2C_FIRST_FRAME) || (tmpoptions == I2C_NEXT_FRAME))
5151:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
5153:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITError(hi2c, hi2c->ErrorCode);
5154:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5155:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5156:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_RXNE) != RESET) && \
5158:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_RXI) != RESET))
5159:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5160:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > 0U)
5161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5162:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Read data from RXDR */
ARM GAS /tmp/ccuRhBPx.s page 92
5163:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->RXDR;
5164:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5165:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Increment Buffer pointer */
5166:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr++;
5167:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5168:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize--;
5169:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--;
5170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5171:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((hi2c->XferCount == 0U) && \
5173:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (tmpoptions != I2C_NO_OPTION_FRAME))
5174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5175:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call I2C Slave Sequential complete process */
5176:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITSlaveSeqCplt(hi2c);
5177:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5178:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5179:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_ADDR) != RESET) && \
5180:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_ADDRI) != RESET))
5181:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5182:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITAddrCplt(hi2c, tmpITFlags);
5183:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5184:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_TXIS) != RESET) && \
5185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TXI) != RESET))
5186:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Write data to TXDR only if XferCount not reach "0" */
5188:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* A TXIS flag can be set, during STOP treatment */
5189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check if all Data have already been sent */
5190:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* If it is the case, this last write in TXDR is not sent, correspond to a dummy TXIS event */
5191:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > 0U)
5192:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Write data to TXDR */
5194:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->TXDR = *hi2c->pBuffPtr;
5195:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5196:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Increment Buffer pointer */
5197:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr++;
5198:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5199:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--;
5200:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize--;
5201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5202:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
5203:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5204:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((tmpoptions == I2C_NEXT_FRAME) || (tmpoptions == I2C_FIRST_FRAME))
5205:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5206:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Last Byte is Transmitted */
5207:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call I2C Slave Sequential complete process */
5208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITSlaveSeqCplt(hi2c);
5209:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5210:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5212:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
5213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5214:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Nothing to do */
5215:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5216:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
5218:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
5219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
ARM GAS /tmp/ccuRhBPx.s page 93
5220:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
5221:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5223:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
5224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Interrupt Sub-Routine which handle the Interrupt Flags Master Mode with DMA.
5225:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
5226:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
5227:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param ITFlags Interrupt flags to handle.
5228:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param ITSources Interrupt sources enabled.
5229:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
5230:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
5231:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_Master_ISR_DMA(struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags,
5232:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t ITSources)
5233:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5234:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint16_t devaddress;
5235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xfermode;
5236:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5237:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */
5238:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
5239:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5240:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_AF) != RESET) && \
5241:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
5242:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5243:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear NACK Flag */
5244:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
5245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5246:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set corresponding Error Code */
5247:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_AF;
5248:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5249:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* No need to generate STOP, it is automatically done */
5250:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* But enable STOP interrupt, to treat it */
5251:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Error callback will be send during stop flag treatment */
5252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_CPLT_IT);
5253:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5254:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Flush TX register */
5255:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Flush_TXDR(hi2c);
5256:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5257:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_TCR) != RESET) && \
5258:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
5259:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5260:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable TC interrupt */
5261:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_DISABLE_IT(hi2c, I2C_IT_TCI);
5262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5263:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount != 0U)
5264:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5265:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Recover Slave address */
5266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** devaddress = (uint16_t)(hi2c->Instance->CR2 & I2C_CR2_SADD);
5267:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5268:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare the new XferSize to transfer */
5269:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
5270:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5271:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
5272:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
5273:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5274:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
5275:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5276:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
ARM GAS /tmp/ccuRhBPx.s page 94
5277:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferOptions != I2C_NO_OPTION_FRAME)
5278:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5279:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
5280:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5281:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
5282:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5283:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
5284:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5285:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5286:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5287:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the new XferSize in Nbytes register */
5288:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, devaddress, (uint8_t)hi2c->XferSize, xfermode, I2C_NO_STARTSTOP);
5289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update XferCount value */
5291:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount -= hi2c->XferSize;
5292:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable DMA Request */
5294:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_BUSY_RX)
5295:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_RXDMAEN;
5297:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5298:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
5299:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5300:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_TXDMAEN;
5301:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5302:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5303:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
5304:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5305:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call TxCpltCallback() if no stop mode is set */
5306:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_GET_STOP_MODE(hi2c) != I2C_AUTOEND_MODE)
5307:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5308:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call I2C Master Sequential complete process */
5309:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITMasterSeqCplt(hi2c);
5310:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5311:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
5312:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5313:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wrong size Status regarding TCR flag event */
5314:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
5315:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITError(hi2c, HAL_I2C_ERROR_SIZE);
5316:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5317:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5318:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_TC) != RESET) && \
5320:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
5321:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5322:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount == 0U)
5323:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5324:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_GET_STOP_MODE(hi2c) != I2C_AUTOEND_MODE)
5325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5326:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Generate a stop condition in case of no transfer option */
5327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferOptions == I2C_NO_OPTION_FRAME)
5328:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5329:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Generate Stop */
5330:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_STOP;
5331:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5332:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
5333:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
ARM GAS /tmp/ccuRhBPx.s page 95
5334:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call I2C Master Sequential complete process */
5335:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITMasterSeqCplt(hi2c);
5336:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5337:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5338:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
5340:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5341:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wrong size Status regarding TC flag event */
5342:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
5343:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITError(hi2c, HAL_I2C_ERROR_SIZE);
5344:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5345:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5346:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_STOPF) != RESET) && \
5347:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
5348:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5349:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call I2C Master complete process */
5350:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITMasterCplt(hi2c, ITFlags);
5351:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5352:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
5353:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5354:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Nothing to do */
5355:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5356:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5357:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
5358:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
5359:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5360:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
5361:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5362:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5363:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
5364:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Interrupt Sub-Routine which handle the Interrupt Flags Memory Mode with DMA.
5365:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
5366:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
5367:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param ITFlags Interrupt flags to handle.
5368:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param ITSources Interrupt sources enabled.
5369:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
5370:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
5371:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_Mem_ISR_DMA(struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags,
5372:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t ITSources)
5373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5374:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t direction = I2C_GENERATE_START_WRITE;
5375:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */
5377:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
5378:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_AF) != RESET) && \
5380:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
5381:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear NACK Flag */
5383:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
5384:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5385:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set corresponding Error Code */
5386:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_AF;
5387:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5388:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* No need to generate STOP, it is automatically done */
5389:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* But enable STOP interrupt, to treat it */
5390:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Error callback will be send during stop flag treatment */
ARM GAS /tmp/ccuRhBPx.s page 96
5391:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_CPLT_IT);
5392:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5393:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Flush TX register */
5394:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Flush_TXDR(hi2c);
5395:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5396:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_TXIS) != RESET) && \
5397:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TXI) != RESET))
5398:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5399:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Write LSB part of Memory Address */
5400:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->TXDR = hi2c->Memaddress;
5401:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5402:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Reset Memaddress content */
5403:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Memaddress = 0xFFFFFFFFU;
5404:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5405:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_TCR) != RESET) && \
5406:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
5407:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5408:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable only Error interrupt */
5409:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_ERROR_IT);
5410:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5411:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount != 0U)
5412:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5413:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare the new XferSize to transfer */
5414:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
5415:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5416:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
5417:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, (uint16_t)hi2c->Devaddress, (uint8_t)hi2c->XferSize,
5418:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_RELOAD_MODE, I2C_NO_STARTSTOP);
5419:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5420:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
5421:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5422:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
5423:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, (uint16_t)hi2c->Devaddress, (uint8_t)hi2c->XferSize,
5424:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_AUTOEND_MODE, I2C_NO_STARTSTOP);
5425:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5426:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5427:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update XferCount value */
5428:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount -= hi2c->XferSize;
5429:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5430:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable DMA Request */
5431:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_BUSY_RX)
5432:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5433:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_RXDMAEN;
5434:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5435:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
5436:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5437:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_TXDMAEN;
5438:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5439:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5440:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
5441:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5442:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wrong size Status regarding TCR flag event */
5443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
5444:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITError(hi2c, HAL_I2C_ERROR_SIZE);
5445:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5446:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5447:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_TC) != RESET) && \
ARM GAS /tmp/ccuRhBPx.s page 97
5448:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
5449:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5450:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_BUSY_RX)
5451:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5452:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** direction = I2C_GENERATE_START_READ;
5453:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5454:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5455:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
5456:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5457:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
5458:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5459:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE and generate RESTART */
5460:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, (uint16_t)hi2c->Devaddress, (uint8_t)hi2c->XferSize,
5461:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_RELOAD_MODE, direction);
5462:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5463:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
5464:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5465:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
5466:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5467:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set NBYTES to write and generate RESTART */
5468:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, (uint16_t)hi2c->Devaddress, (uint8_t)hi2c->XferSize,
5469:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_AUTOEND_MODE, direction);
5470:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5471:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5472:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update XferCount value */
5473:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount -= hi2c->XferSize;
5474:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5475:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable DMA Request */
5476:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_BUSY_RX)
5477:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5478:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_RXDMAEN;
5479:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5480:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
5481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5482:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_TXDMAEN;
5483:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5484:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5485:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_STOPF) != RESET) && \
5486:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
5487:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5488:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call I2C Master complete process */
5489:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITMasterCplt(hi2c, ITFlags);
5490:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5491:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
5492:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5493:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Nothing to do */
5494:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5495:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5496:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
5497:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
5498:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5499:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
5500:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5501:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5502:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
5503:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Interrupt Sub-Routine which handle the Interrupt Flags Slave Mode with DMA.
5504:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
ARM GAS /tmp/ccuRhBPx.s page 98
5505:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
5506:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param ITFlags Interrupt flags to handle.
5507:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param ITSources Interrupt sources enabled.
5508:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
5509:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
5510:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_Slave_ISR_DMA(struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags,
5511:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t ITSources)
5512:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5513:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmpoptions = hi2c->XferOptions;
5514:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t treatdmanack = 0U;
5515:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_StateTypeDef tmpstate;
5516:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5517:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process locked */
5518:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
5519:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5520:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check if STOPF is set */
5521:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_STOPF) != RESET) && \
5522:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
5523:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5524:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call I2C Slave complete process */
5525:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITSlaveCplt(hi2c, ITFlags);
5526:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5527:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5528:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_AF) != RESET) && \
5529:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
5530:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5531:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check that I2C transfer finished */
5532:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* if yes, normal use case, a NACK is sent by the MASTER when Transfer is finished */
5533:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Mean XferCount == 0 */
5534:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* So clear Flag NACKF only */
5535:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((I2C_CHECK_IT_SOURCE(ITSources, I2C_CR1_TXDMAEN) != RESET) ||
5536:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_CR1_RXDMAEN) != RESET))
5537:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5538:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Split check of hdmarx, for MISRA compliance */
5539:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->hdmarx != NULL)
5540:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5541:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_CHECK_IT_SOURCE(ITSources, I2C_CR1_RXDMAEN) != RESET)
5542:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5543:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_GET_DMA_REMAIN_DATA(hi2c->hdmarx) == 0U)
5544:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5545:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** treatdmanack = 1U;
5546:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5547:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5548:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5549:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5550:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Split check of hdmatx, for MISRA compliance */
5551:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->hdmatx != NULL)
5552:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5553:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_CHECK_IT_SOURCE(ITSources, I2C_CR1_TXDMAEN) != RESET)
5554:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5555:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_GET_DMA_REMAIN_DATA(hi2c->hdmatx) == 0U)
5556:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5557:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** treatdmanack = 1U;
5558:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5559:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5560:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5561:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
ARM GAS /tmp/ccuRhBPx.s page 99
5562:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (treatdmanack == 1U)
5563:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5564:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((hi2c->State == HAL_I2C_STATE_LISTEN) && (tmpoptions == I2C_FIRST_AND_LAST_FRAME))
5565:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Same action must be done for (tmpoptions == I2C_LAST_FRAME) which removed for
5566:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** Warning[Pa134]: left and right operands are identical */
5567:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5568:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call I2C Listen complete process */
5569:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITListenCplt(hi2c, ITFlags);
5570:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5571:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if ((hi2c->State == HAL_I2C_STATE_BUSY_TX_LISTEN) && (tmpoptions != I2C_NO_OPTION_FRAM
5572:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5573:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear NACK Flag */
5574:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
5575:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5576:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Flush TX register */
5577:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Flush_TXDR(hi2c);
5578:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5579:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Last Byte is Transmitted */
5580:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call I2C Slave Sequential complete process */
5581:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITSlaveSeqCplt(hi2c);
5582:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5583:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
5584:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5585:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear NACK Flag */
5586:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
5587:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5588:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5589:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
5590:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5591:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* if no, error use case, a Non-Acknowledge of last Data is generated by the MASTER*/
5592:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear NACK Flag */
5593:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
5594:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5595:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set ErrorCode corresponding to a Non-Acknowledge */
5596:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_AF;
5597:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5598:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Store current hi2c->State, solve MISRA2012-Rule-13.5 */
5599:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmpstate = hi2c->State;
5600:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5601:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((tmpoptions == I2C_FIRST_FRAME) || (tmpoptions == I2C_NEXT_FRAME))
5602:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5603:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((tmpstate == HAL_I2C_STATE_BUSY_TX) || (tmpstate == HAL_I2C_STATE_BUSY_TX_LISTEN))
5604:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5605:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_TX;
5606:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5607:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if ((tmpstate == HAL_I2C_STATE_BUSY_RX) || (tmpstate == HAL_I2C_STATE_BUSY_RX_LISTEN
5608:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5609:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_RX;
5610:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5611:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
5612:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5613:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Do nothing */
5614:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5615:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5616:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
5617:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITError(hi2c, hi2c->ErrorCode);
5618:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
ARM GAS /tmp/ccuRhBPx.s page 100
5619:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5620:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5621:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
5622:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5623:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Only Clear NACK Flag, no DMA treatment is pending */
5624:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
5625:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5626:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5627:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_ADDR) != RESET) && \
5628:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_ADDRI) != RESET))
5629:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5630:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITAddrCplt(hi2c, ITFlags);
5631:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5632:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
5633:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5634:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Nothing to do */
5635:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5636:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5637:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
5638:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
5639:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5640:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
5641:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5642:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5643:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
5644:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Master sends target device address followed by internal memory address for write reques
5645:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
5646:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
5647:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
5648:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
5649:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param MemAddress Internal memory address
5650:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param MemAddSize Size of internal memory address
5651:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Timeout Timeout duration
5652:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Tickstart Tick start value
5653:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
5654:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
5655:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_RequestMemoryWrite(I2C_HandleTypeDef *hi2c, uint16_t DevAddress,
5656:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint16_t MemAddress, uint16_t MemAddSize, uint32_t
5657:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t Tickstart)
5658:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5659:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)MemAddSize, I2C_RELOAD_MODE, I2C_GENERATE_START_WRI
5660:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5661:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until TXIS flag is set */
5662:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnTXISFlagUntilTimeout(hi2c, Timeout, Tickstart) != HAL_OK)
5663:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5664:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
5665:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5666:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5667:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* If Memory address size is 8Bit */
5668:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (MemAddSize == I2C_MEMADD_SIZE_8BIT)
5669:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5670:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send Memory Address */
5671:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->TXDR = I2C_MEM_ADD_LSB(MemAddress);
5672:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5673:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* If Memory address size is 16Bit */
5674:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
5675:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
ARM GAS /tmp/ccuRhBPx.s page 101
5676:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send MSB of Memory Address */
5677:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->TXDR = I2C_MEM_ADD_MSB(MemAddress);
5678:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5679:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until TXIS flag is set */
5680:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnTXISFlagUntilTimeout(hi2c, Timeout, Tickstart) != HAL_OK)
5681:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5682:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
5683:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5684:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5685:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send LSB of Memory Address */
5686:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->TXDR = I2C_MEM_ADD_LSB(MemAddress);
5687:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5688:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5689:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until TCR flag is set */
5690:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_TCR, RESET, Timeout, Tickstart) != HAL_OK)
5691:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5692:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
5693:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5694:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5695:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
5696:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5697:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5698:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
5699:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Master sends target device address followed by internal memory address for read request
5700:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
5701:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
5702:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
5703:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
5704:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param MemAddress Internal memory address
5705:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param MemAddSize Size of internal memory address
5706:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Timeout Timeout duration
5707:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Tickstart Tick start value
5708:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
5709:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
5710:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_RequestMemoryRead(I2C_HandleTypeDef *hi2c, uint16_t DevAddress,
5711:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint16_t MemAddress, uint16_t MemAddSize, uint32_t T
5712:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t Tickstart)
5713:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5714:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)MemAddSize, I2C_SOFTEND_MODE, I2C_GENERATE_START_WR
5715:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5716:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until TXIS flag is set */
5717:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnTXISFlagUntilTimeout(hi2c, Timeout, Tickstart) != HAL_OK)
5718:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5719:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
5720:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5721:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5722:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* If Memory address size is 8Bit */
5723:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (MemAddSize == I2C_MEMADD_SIZE_8BIT)
5724:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5725:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send Memory Address */
5726:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->TXDR = I2C_MEM_ADD_LSB(MemAddress);
5727:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5728:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* If Memory address size is 16Bit */
5729:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
5730:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5731:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send MSB of Memory Address */
5732:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->TXDR = I2C_MEM_ADD_MSB(MemAddress);
ARM GAS /tmp/ccuRhBPx.s page 102
5733:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5734:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until TXIS flag is set */
5735:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnTXISFlagUntilTimeout(hi2c, Timeout, Tickstart) != HAL_OK)
5736:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5737:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
5738:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5739:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5740:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send LSB of Memory Address */
5741:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->TXDR = I2C_MEM_ADD_LSB(MemAddress);
5742:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5743:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5744:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until TC flag is set */
5745:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_TC, RESET, Timeout, Tickstart) != HAL_OK)
5746:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5747:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
5748:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5749:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5750:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
5751:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5752:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5753:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
5754:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief I2C Address complete process callback.
5755:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c I2C handle.
5756:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param ITFlags Interrupt flags to handle.
5757:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
5758:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
5759:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_ITAddrCplt(I2C_HandleTypeDef *hi2c, uint32_t ITFlags)
5760:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5761:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint8_t transferdirection;
5762:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint16_t slaveaddrcode;
5763:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint16_t ownadd1code;
5764:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint16_t ownadd2code;
5765:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5766:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
5767:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** UNUSED(ITFlags);
5768:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5769:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* In case of Listen state, need to inform upper layer of address match code event */
5770:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (((uint32_t)hi2c->State & (uint32_t)HAL_I2C_STATE_LISTEN) == (uint32_t)HAL_I2C_STATE_LISTEN)
5771:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5772:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** transferdirection = I2C_GET_DIR(hi2c);
5773:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** slaveaddrcode = I2C_GET_ADDR_MATCH(hi2c);
5774:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** ownadd1code = I2C_GET_OWN_ADDRESS1(hi2c);
5775:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** ownadd2code = I2C_GET_OWN_ADDRESS2(hi2c);
5776:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5777:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* If 10bits addressing mode is selected */
5778:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->Init.AddressingMode == I2C_ADDRESSINGMODE_10BIT)
5779:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5780:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((slaveaddrcode & SLAVE_ADDR_MSK) == ((ownadd1code >> SLAVE_ADDR_SHIFT) & SLAVE_ADDR_MSK))
5781:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5782:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** slaveaddrcode = ownadd1code;
5783:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->AddrEventCount++;
5784:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->AddrEventCount == 2U)
5785:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5786:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Reset Address Event counter */
5787:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->AddrEventCount = 0U;
5788:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5789:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear ADDR flag */
ARM GAS /tmp/ccuRhBPx.s page 103
5790:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ADDR);
5791:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5792:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
5793:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
5794:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5795:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call Slave Addr callback */
5796:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
5797:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->AddrCallback(hi2c, transferdirection, slaveaddrcode);
5798:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #else
5799:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_AddrCallback(hi2c, transferdirection, slaveaddrcode);
5800:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
5801:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5802:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5803:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
5804:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5805:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** slaveaddrcode = ownadd2code;
5806:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5807:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable ADDR Interrupts */
5808:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT);
5809:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5810:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
5811:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
5812:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5813:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call Slave Addr callback */
5814:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
5815:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->AddrCallback(hi2c, transferdirection, slaveaddrcode);
5816:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #else
5817:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_AddrCallback(hi2c, transferdirection, slaveaddrcode);
5818:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
5819:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5820:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5821:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* else 7 bits addressing mode is selected */
5822:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
5823:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5824:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable ADDR Interrupts */
5825:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT);
5826:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5827:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
5828:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
5829:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5830:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call Slave Addr callback */
5831:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
5832:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->AddrCallback(hi2c, transferdirection, slaveaddrcode);
5833:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #else
5834:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_AddrCallback(hi2c, transferdirection, slaveaddrcode);
5835:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
5836:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5837:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5838:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Else clear address flag only */
5839:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
5840:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5841:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear ADDR flag */
5842:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ADDR);
5843:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5844:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
5845:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
5846:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
ARM GAS /tmp/ccuRhBPx.s page 104
5847:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5848:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5849:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
5850:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief I2C Master sequential complete process.
5851:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c I2C handle.
5852:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
5853:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
5854:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_ITMasterSeqCplt(I2C_HandleTypeDef *hi2c)
5855:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5856:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Reset I2C handle mode */
5857:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
5858:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5859:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* No Generate Stop, to permit restart mode */
5860:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* The stop will be done at the end of transfer, when I2C_AUTOEND_MODE enable */
5861:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_BUSY_TX)
5862:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5863:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
5864:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_TX;
5865:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL;
5866:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5867:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Interrupts */
5868:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_TX_IT);
5869:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5870:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
5871:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
5872:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5873:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
5874:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
5875:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MasterTxCpltCallback(hi2c);
5876:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #else
5877:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_MasterTxCpltCallback(hi2c);
5878:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
5879:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5880:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* hi2c->State == HAL_I2C_STATE_BUSY_RX */
5881:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
5882:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5883:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
5884:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_RX;
5885:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL;
5886:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5887:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Interrupts */
5888:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_RX_IT);
5889:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5890:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
5891:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
5892:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5893:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
5894:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
5895:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MasterRxCpltCallback(hi2c);
5896:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #else
5897:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_MasterRxCpltCallback(hi2c);
5898:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
5899:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5900:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5901:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5902:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
5903:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief I2C Slave sequential complete process.
ARM GAS /tmp/ccuRhBPx.s page 105
5904:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c I2C handle.
5905:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
5906:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
5907:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_ITSlaveSeqCplt(I2C_HandleTypeDef *hi2c)
5908:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5909:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmpcr1value = READ_REG(hi2c->Instance->CR1);
5910:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5911:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Reset I2C handle mode */
5912:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
5913:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5914:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* If a DMA is ongoing, Update handle size context */
5915:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_CHECK_IT_SOURCE(tmpcr1value, I2C_CR1_TXDMAEN) != RESET)
5916:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5917:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable DMA Request */
5918:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_TXDMAEN;
5919:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5920:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if (I2C_CHECK_IT_SOURCE(tmpcr1value, I2C_CR1_RXDMAEN) != RESET)
5921:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5922:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable DMA Request */
5923:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_RXDMAEN;
5924:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5925:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
5926:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5927:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Do nothing */
5928:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5929:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5930:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_BUSY_TX_LISTEN)
5931:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5932:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Remove HAL_I2C_STATE_SLAVE_BUSY_TX, keep only HAL_I2C_STATE_LISTEN */
5933:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN;
5934:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_TX;
5935:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5936:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Interrupts */
5937:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_TX_IT);
5938:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5939:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
5940:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
5941:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5942:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
5943:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
5944:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->SlaveTxCpltCallback(hi2c);
5945:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #else
5946:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_SlaveTxCpltCallback(hi2c);
5947:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
5948:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5949:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5950:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if (hi2c->State == HAL_I2C_STATE_BUSY_RX_LISTEN)
5951:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5952:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Remove HAL_I2C_STATE_SLAVE_BUSY_RX, keep only HAL_I2C_STATE_LISTEN */
5953:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN;
5954:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_RX;
5955:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5956:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Interrupts */
5957:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_RX_IT);
5958:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5959:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
5960:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
ARM GAS /tmp/ccuRhBPx.s page 106
5961:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5962:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
5963:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
5964:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->SlaveRxCpltCallback(hi2c);
5965:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #else
5966:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_SlaveRxCpltCallback(hi2c);
5967:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
5968:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5969:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
5970:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5971:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Nothing to do */
5972:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5973:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5974:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5975:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
5976:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief I2C Master complete process.
5977:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c I2C handle.
5978:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param ITFlags Interrupt flags to handle.
5979:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
5980:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
5981:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_ITMasterCplt(I2C_HandleTypeDef *hi2c, uint32_t ITFlags)
5982:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5983:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmperror;
5984:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmpITFlags = ITFlags;
5985:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __IO uint32_t tmpreg;
5986:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5987:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear STOP Flag */
5988:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF);
5989:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5990:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Interrupts and Store Previous state */
5991:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_BUSY_TX)
5992:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5993:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_TX_IT);
5994:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_TX;
5995:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5996:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if (hi2c->State == HAL_I2C_STATE_BUSY_RX)
5997:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5998:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_RX_IT);
5999:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_RX;
6000:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6001:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
6002:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6003:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Do nothing */
6004:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6005:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6006:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear Configuration Register 2 */
6007:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_RESET_CR2(hi2c);
6008:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6009:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Reset handle parameters */
6010:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL;
6011:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
6012:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6013:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_AF) != RESET)
6014:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6015:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear NACK Flag */
6016:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
6017:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
ARM GAS /tmp/ccuRhBPx.s page 107
6018:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set acknowledge error code */
6019:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_AF;
6020:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6021:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6022:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Fetch Last receive data if any */
6023:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((hi2c->State == HAL_I2C_STATE_ABORT) && (I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_RXNE) != RESET))
6024:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6025:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Read data from RXDR */
6026:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmpreg = (uint8_t)hi2c->Instance->RXDR;
6027:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** UNUSED(tmpreg);
6028:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6029:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6030:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Flush TX register */
6031:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Flush_TXDR(hi2c);
6032:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6033:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Store current volatile hi2c->ErrorCode, misra rule */
6034:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmperror = hi2c->ErrorCode;
6035:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6036:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
6037:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((hi2c->State == HAL_I2C_STATE_ABORT) || (tmperror != HAL_I2C_ERROR_NONE))
6038:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6039:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
6040:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITError(hi2c, hi2c->ErrorCode);
6041:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6042:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* hi2c->State == HAL_I2C_STATE_BUSY_TX */
6043:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if (hi2c->State == HAL_I2C_STATE_BUSY_TX)
6044:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6045:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
6046:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
6047:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6048:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->Mode == HAL_I2C_MODE_MEM)
6049:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6050:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
6051:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6052:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
6053:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
6054:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6055:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
6056:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
6057:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MemTxCpltCallback(hi2c);
6058:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #else
6059:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_MemTxCpltCallback(hi2c);
6060:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
6061:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6062:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
6063:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6064:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
6065:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6066:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
6067:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
6068:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6069:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
6070:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
6071:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MasterTxCpltCallback(hi2c);
6072:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #else
6073:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_MasterTxCpltCallback(hi2c);
6074:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
ARM GAS /tmp/ccuRhBPx.s page 108
6075:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6076:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6077:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* hi2c->State == HAL_I2C_STATE_BUSY_RX */
6078:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if (hi2c->State == HAL_I2C_STATE_BUSY_RX)
6079:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6080:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
6081:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
6082:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6083:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->Mode == HAL_I2C_MODE_MEM)
6084:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6085:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
6086:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6087:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
6088:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
6089:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6090:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
6091:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
6092:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MemRxCpltCallback(hi2c);
6093:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #else
6094:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_MemRxCpltCallback(hi2c);
6095:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
6096:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6097:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
6098:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6099:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
6100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6101:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
6102:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
6103:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6104:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
6105:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
6106:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MasterRxCpltCallback(hi2c);
6107:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #else
6108:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_MasterRxCpltCallback(hi2c);
6109:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
6110:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6111:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6112:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
6113:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6114:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Nothing to do */
6115:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6116:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6117:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6118:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
6119:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief I2C Slave complete process.
6120:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c I2C handle.
6121:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param ITFlags Interrupt flags to handle.
6122:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
6123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
6124:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_ITSlaveCplt(I2C_HandleTypeDef *hi2c, uint32_t ITFlags)
6125:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6126:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmpcr1value = READ_REG(hi2c->Instance->CR1);
6127:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmpITFlags = ITFlags;
6128:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_StateTypeDef tmpstate = hi2c->State;
6129:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6130:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear STOP Flag */
6131:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF);
ARM GAS /tmp/ccuRhBPx.s page 109
6132:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6133:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Interrupts and Store Previous state */
6134:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((tmpstate == HAL_I2C_STATE_BUSY_TX) || (tmpstate == HAL_I2C_STATE_BUSY_TX_LISTEN))
6135:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6136:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT | I2C_XFER_TX_IT);
6137:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_TX;
6138:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6139:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if ((tmpstate == HAL_I2C_STATE_BUSY_RX) || (tmpstate == HAL_I2C_STATE_BUSY_RX_LISTEN))
6140:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6141:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT | I2C_XFER_RX_IT);
6142:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_RX;
6143:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6144:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
6145:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6146:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Do nothing */
6147:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6148:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6149:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Address Acknowledge */
6150:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK;
6151:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear Configuration Register 2 */
6153:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_RESET_CR2(hi2c);
6154:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6155:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Flush TX register */
6156:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Flush_TXDR(hi2c);
6157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6158:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* If a DMA is ongoing, Update handle size context */
6159:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_CHECK_IT_SOURCE(tmpcr1value, I2C_CR1_TXDMAEN) != RESET)
6160:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable DMA Request */
6162:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_TXDMAEN;
6163:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6164:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->hdmatx != NULL)
6165:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6166:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = (uint16_t)I2C_GET_DMA_REMAIN_DATA(hi2c->hdmatx);
6167:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6168:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6169:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if (I2C_CHECK_IT_SOURCE(tmpcr1value, I2C_CR1_RXDMAEN) != RESET)
6170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6171:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable DMA Request */
6172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_RXDMAEN;
6173:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->hdmarx != NULL)
6175:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6176:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = (uint16_t)I2C_GET_DMA_REMAIN_DATA(hi2c->hdmarx);
6177:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6178:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6179:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
6180:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6181:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Do nothing */
6182:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6183:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6184:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Store Last receive data if any */
6185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_RXNE) != RESET)
6186:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Remove RXNE flag on temporary variable as read done */
6188:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmpITFlags &= ~I2C_FLAG_RXNE;
ARM GAS /tmp/ccuRhBPx.s page 110
6189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6190:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Read data from RXDR */
6191:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->RXDR;
6192:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Increment Buffer pointer */
6194:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr++;
6195:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6196:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((hi2c->XferSize > 0U))
6197:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6198:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize--;
6199:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--;
6200:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6202:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6203:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* All data are not transferred, so set error code accordingly */
6204:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount != 0U)
6205:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6206:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set ErrorCode corresponding to a Non-Acknowledge */
6207:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_AF;
6208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6209:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6210:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
6211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL;
6212:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->ErrorCode != HAL_I2C_ERROR_NONE)
6214:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6215:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
6216:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITError(hi2c, hi2c->ErrorCode);
6217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6218:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the Listen Complete callback, to inform upper layer of the end of Listen usecase */
6219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_LISTEN)
6220:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6221:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call I2C Listen complete process */
6222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITListenCplt(hi2c, tmpITFlags);
6223:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6225:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if (hi2c->XferOptions != I2C_NO_OPTION_FRAME)
6226:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6227:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the Sequential Complete callback, to inform upper layer of the end of Transfer */
6228:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITSlaveSeqCplt(hi2c);
6229:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6230:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
6231:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
6232:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
6233:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6234:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
6235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
6236:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6237:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the Listen Complete callback, to inform upper layer of the end of Listen usecase */
6238:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
6239:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ListenCpltCallback(hi2c);
6240:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #else
6241:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_ListenCpltCallback(hi2c);
6242:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
6243:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6244:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
6245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if (hi2c->State == HAL_I2C_STATE_BUSY_RX)
ARM GAS /tmp/ccuRhBPx.s page 111
6246:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6247:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
6248:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
6249:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6250:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
6251:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
6252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6253:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
6254:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
6255:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->SlaveRxCpltCallback(hi2c);
6256:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #else
6257:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_SlaveRxCpltCallback(hi2c);
6258:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
6259:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6260:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
6261:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
6263:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
6264:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6265:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
6266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
6267:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6268:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
6269:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
6270:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->SlaveTxCpltCallback(hi2c);
6271:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #else
6272:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_SlaveTxCpltCallback(hi2c);
6273:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
6274:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6275:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6276:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6277:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
6278:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief I2C Listen complete process.
6279:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c I2C handle.
6280:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param ITFlags Interrupt flags to handle.
6281:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
6282:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
6283:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_ITListenCplt(I2C_HandleTypeDef *hi2c, uint32_t ITFlags)
6284:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6285:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Reset handle parameters */
6286:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
6287:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
6288:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
6289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
6290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL;
6291:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6292:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Store Last receive data if any */
6293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_CHECK_FLAG(ITFlags, I2C_FLAG_RXNE) != RESET)
6294:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6295:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Read data from RXDR */
6296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->RXDR;
6297:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6298:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Increment Buffer pointer */
6299:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr++;
6300:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6301:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((hi2c->XferSize > 0U))
6302:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
ARM GAS /tmp/ccuRhBPx.s page 112
6303:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize--;
6304:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--;
6305:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6306:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set ErrorCode corresponding to a Non-Acknowledge */
6307:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_AF;
6308:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6309:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6310:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6311:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable all Interrupts*/
6312:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT | I2C_XFER_RX_IT | I2C_XFER_TX_IT);
6313:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6314:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear NACK Flag */
6315:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
6316:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6317:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
6318:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
6319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6320:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the Listen Complete callback, to inform upper layer of the end of Listen usecase */
6321:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
6322:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ListenCpltCallback(hi2c);
6323:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #else
6324:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_ListenCpltCallback(hi2c);
6325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
6326:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6328:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
6329:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief I2C interrupts error process.
6330:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c I2C handle.
6331:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param ErrorCode Error code to handle.
6332:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
6333:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
6334:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_ITError(I2C_HandleTypeDef *hi2c, uint32_t ErrorCode)
6335:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6336:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_StateTypeDef tmpstate = hi2c->State;
6337:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6338:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmppreviousstate;
6339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6340:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Reset handle parameters */
6341:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
6342:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
6343:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = 0U;
6344:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6345:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set new error code */
6346:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= ErrorCode;
6347:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6348:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Interrupts */
6349:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((tmpstate == HAL_I2C_STATE_LISTEN) ||
6350:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (tmpstate == HAL_I2C_STATE_BUSY_TX_LISTEN) ||
6351:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (tmpstate == HAL_I2C_STATE_BUSY_RX_LISTEN))
6352:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6353:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable all interrupts, except interrupts related to LISTEN state */
6354:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_RX_IT | I2C_XFER_TX_IT);
6355:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6356:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* keep HAL_I2C_STATE_LISTEN if set */
6357:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN;
6358:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
6359:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
ARM GAS /tmp/ccuRhBPx.s page 113
6360:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
6361:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6362:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable all interrupts */
6363:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT | I2C_XFER_RX_IT | I2C_XFER_TX_IT);
6364:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6365:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Flush TX register */
6366:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Flush_TXDR(hi2c);
6367:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6368:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* If state is an abort treatment on going, don't change state */
6369:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* This change will be do later */
6370:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State != HAL_I2C_STATE_ABORT)
6371:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6372:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set HAL_I2C_STATE_READY */
6373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
6374:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6375:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check if a STOPF is detected */
6376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_STOPF) == SET)
6377:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6378:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF) == SET)
6379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6380:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
6381:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_AF;
6382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6383:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6384:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear STOP Flag */
6385:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF);
6386:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6387:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6388:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6389:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL;
6390:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6391:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6392:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Abort DMA TX transfer if any */
6393:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmppreviousstate = hi2c->PreviousState;
6394:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6395:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((hi2c->hdmatx != NULL) && ((tmppreviousstate == I2C_STATE_MASTER_BUSY_TX) || \
6396:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (tmppreviousstate == I2C_STATE_SLAVE_BUSY_TX)))
6397:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6398:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_TXDMAEN) == I2C_CR1_TXDMAEN)
6399:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6400:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_TXDMAEN;
6401:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6402:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6403:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (HAL_DMA_GetState(hi2c->hdmatx) != HAL_DMA_STATE_READY)
6404:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6405:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the I2C DMA Abort callback :
6406:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** will lead to call HAL_I2C_ErrorCallback() at end of DMA abort procedure */
6407:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = I2C_DMAAbort;
6408:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6409:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
6410:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
6411:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6412:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Abort DMA TX */
6413:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (HAL_DMA_Abort_IT(hi2c->hdmatx) != HAL_OK)
6414:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6415:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call Directly XferAbortCallback function in case of error */
6416:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback(hi2c->hdmatx);
ARM GAS /tmp/ccuRhBPx.s page 114
6417:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6418:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6419:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
6420:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6421:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TreatErrorCallback(hi2c);
6422:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6423:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6424:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Abort DMA RX transfer if any */
6425:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if ((hi2c->hdmarx != NULL) && ((tmppreviousstate == I2C_STATE_MASTER_BUSY_RX) || \
6426:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (tmppreviousstate == I2C_STATE_SLAVE_BUSY_RX)))
6427:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6428:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_RXDMAEN) == I2C_CR1_RXDMAEN)
6429:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6430:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_RXDMAEN;
6431:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6432:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6433:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (HAL_DMA_GetState(hi2c->hdmarx) != HAL_DMA_STATE_READY)
6434:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6435:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the I2C DMA Abort callback :
6436:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** will lead to call HAL_I2C_ErrorCallback() at end of DMA abort procedure */
6437:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = I2C_DMAAbort;
6438:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6439:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
6440:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
6441:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6442:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Abort DMA RX */
6443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (HAL_DMA_Abort_IT(hi2c->hdmarx) != HAL_OK)
6444:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6445:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call Directly hi2c->hdmarx->XferAbortCallback function in case of error */
6446:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback(hi2c->hdmarx);
6447:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6448:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6449:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
6450:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6451:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TreatErrorCallback(hi2c);
6452:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6453:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6454:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
6455:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6456:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TreatErrorCallback(hi2c);
6457:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6458:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6459:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6460:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
6461:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief I2C Error callback treatment.
6462:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c I2C handle.
6463:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
6464:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
6465:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_TreatErrorCallback(I2C_HandleTypeDef *hi2c)
6466:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6467:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_ABORT)
6468:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6469:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
6470:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
6471:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6472:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
6473:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
ARM GAS /tmp/ccuRhBPx.s page 115
6474:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6475:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
6476:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
6477:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->AbortCpltCallback(hi2c);
6478:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #else
6479:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_AbortCpltCallback(hi2c);
6480:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
6481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6482:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
6483:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6484:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
6485:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6486:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
6487:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
6488:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6489:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
6490:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
6491:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCallback(hi2c);
6492:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #else
6493:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_ErrorCallback(hi2c);
6494:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
6495:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6496:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6497:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6498:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
6499:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief I2C Tx data register flush process.
6500:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c I2C handle.
6501:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
6502:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
6503:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_Flush_TXDR(I2C_HandleTypeDef *hi2c)
6504:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
27 .loc 1 6504 1 view -0
28 .cfi_startproc
29 @ args = 0, pretend = 0, frame = 0
30 @ frame_needed = 0, uses_anonymous_args = 0
31 @ link register save eliminated.
6505:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* If a pending TXIS flag is set */
6506:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Write a dummy data in TXDR to clear it */
6507:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_TXIS) != RESET)
32 .loc 1 6507 3 view .LVU1
33 .loc 1 6507 7 is_stmt 0 view .LVU2
34 0000 0268 ldr r2, [r0]
35 0002 9369 ldr r3, [r2, #24]
36 .loc 1 6507 6 view .LVU3
37 0004 9B07 lsls r3, r3, #30
38 0006 01D5 bpl .L2
6508:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6509:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->TXDR = 0x00U;
39 .loc 1 6509 5 is_stmt 1 view .LVU4
40 .loc 1 6509 26 is_stmt 0 view .LVU5
41 0008 0023 movs r3, #0
42 000a 9362 str r3, [r2, #40]
43 .L2:
6510:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6511:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6512:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Flush TX register if not empty */
6513:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_TXE) == RESET)
ARM GAS /tmp/ccuRhBPx.s page 116
44 .loc 1 6513 3 is_stmt 1 view .LVU6
45 .loc 1 6513 7 is_stmt 0 view .LVU7
46 000c 0368 ldr r3, [r0]
47 000e 9A69 ldr r2, [r3, #24]
48 .loc 1 6513 6 view .LVU8
49 0010 D207 lsls r2, r2, #31
50 0012 03D4 bmi .L1
6514:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6515:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_TXE);
51 .loc 1 6515 5 is_stmt 1 view .LVU9
52 0014 9A69 ldr r2, [r3, #24]
53 0016 0121 movs r1, #1
54 0018 0A43 orrs r2, r1
55 001a 9A61 str r2, [r3, #24]
56 .L1:
6516:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6517:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
57 .loc 1 6517 1 is_stmt 0 view .LVU10
58 @ sp needed
59 001c 7047 bx lr
60 .cfi_endproc
61 .LFE105:
63 .section .text.I2C_TransferConfig,"ax",%progbits
64 .align 1
65 .syntax unified
66 .code 16
67 .thumb_func
69 I2C_TransferConfig:
70 .LVL1:
71 .LFB117:
6518:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6519:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
6520:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief DMA I2C master transmit process complete callback.
6521:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hdma DMA handle
6522:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
6523:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
6524:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_DMAMasterTransmitCplt(DMA_HandleTypeDef *hdma)
6525:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6526:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Derogation MISRAC2012-Rule-11.5 */
6527:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_HandleTypeDef *hi2c = (I2C_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent);
6528:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6529:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable DMA Request */
6530:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_TXDMAEN;
6531:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6532:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* If last transfer, enable STOP interrupt */
6533:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount == 0U)
6534:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6535:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable STOP interrupt */
6536:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_CPLT_IT);
6537:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6538:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* else prepare a new DMA transfer and enable TCReload interrupt */
6539:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
6540:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6541:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update Buffer pointer */
6542:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr += hi2c->XferSize;
6543:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6544:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the XferSize to transfer */
ARM GAS /tmp/ccuRhBPx.s page 117
6545:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
6546:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6547:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
6548:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6549:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
6550:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6551:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
6552:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6553:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6554:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable the DMA channel */
6555:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (HAL_DMA_Start_IT(hi2c->hdmatx, (uint32_t)hi2c->pBuffPtr, (uint32_t)&hi2c->Instance->TXDR,
6556:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize) != HAL_OK)
6557:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6558:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
6559:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITError(hi2c, HAL_I2C_ERROR_DMA);
6560:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6561:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
6562:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6563:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable TC interrupts */
6564:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_RELOAD_IT);
6565:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6566:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6567:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6568:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6569:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6570:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
6571:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief DMA I2C slave transmit process complete callback.
6572:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hdma DMA handle
6573:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
6574:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
6575:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_DMASlaveTransmitCplt(DMA_HandleTypeDef *hdma)
6576:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6577:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Derogation MISRAC2012-Rule-11.5 */
6578:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_HandleTypeDef *hi2c = (I2C_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent);
6579:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmpoptions = hi2c->XferOptions;
6580:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6581:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((tmpoptions == I2C_NEXT_FRAME) || (tmpoptions == I2C_FIRST_FRAME))
6582:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6583:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable DMA Request */
6584:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_TXDMAEN;
6585:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6586:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Last Byte is Transmitted */
6587:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call I2C Slave Sequential complete process */
6588:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITSlaveSeqCplt(hi2c);
6589:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6590:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
6591:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6592:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* No specific action, Master fully manage the generation of STOP condition */
6593:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Mean that this generation can arrive at any time, at the end or during DMA process */
6594:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* So STOP condition should be manage through Interrupt treatment */
6595:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6596:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6597:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6598:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6599:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
6600:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief DMA I2C master receive process complete callback.
6601:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hdma DMA handle
ARM GAS /tmp/ccuRhBPx.s page 118
6602:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
6603:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
6604:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_DMAMasterReceiveCplt(DMA_HandleTypeDef *hdma)
6605:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6606:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Derogation MISRAC2012-Rule-11.5 */
6607:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_HandleTypeDef *hi2c = (I2C_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent);
6608:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6609:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable DMA Request */
6610:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_RXDMAEN;
6611:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6612:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* If last transfer, enable STOP interrupt */
6613:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount == 0U)
6614:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6615:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable STOP interrupt */
6616:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_CPLT_IT);
6617:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6618:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* else prepare a new DMA transfer and enable TCReload interrupt */
6619:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
6620:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6621:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update Buffer pointer */
6622:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr += hi2c->XferSize;
6623:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6624:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the XferSize to transfer */
6625:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
6626:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6627:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
6628:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6629:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
6630:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6631:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
6632:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6633:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6634:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable the DMA channel */
6635:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (HAL_DMA_Start_IT(hi2c->hdmarx, (uint32_t)&hi2c->Instance->RXDR, (uint32_t)hi2c->pBuffPtr,
6636:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize) != HAL_OK)
6637:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6638:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
6639:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITError(hi2c, HAL_I2C_ERROR_DMA);
6640:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6641:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
6642:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6643:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable TC interrupts */
6644:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_RELOAD_IT);
6645:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6646:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6647:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6648:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6649:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6650:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
6651:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief DMA I2C slave receive process complete callback.
6652:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hdma DMA handle
6653:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
6654:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
6655:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_DMASlaveReceiveCplt(DMA_HandleTypeDef *hdma)
6656:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6657:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Derogation MISRAC2012-Rule-11.5 */
6658:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_HandleTypeDef *hi2c = (I2C_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent);
ARM GAS /tmp/ccuRhBPx.s page 119
6659:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmpoptions = hi2c->XferOptions;
6660:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6661:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((I2C_GET_DMA_REMAIN_DATA(hi2c->hdmarx) == 0U) && \
6662:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (tmpoptions != I2C_NO_OPTION_FRAME))
6663:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6664:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable DMA Request */
6665:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_RXDMAEN;
6666:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6667:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call I2C Slave Sequential complete process */
6668:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITSlaveSeqCplt(hi2c);
6669:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6670:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
6671:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6672:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* No specific action, Master fully manage the generation of STOP condition */
6673:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Mean that this generation can arrive at any time, at the end or during DMA process */
6674:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* So STOP condition should be manage through Interrupt treatment */
6675:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6676:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6677:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6678:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6679:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
6680:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief DMA I2C communication error callback.
6681:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hdma DMA handle
6682:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
6683:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
6684:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_DMAError(DMA_HandleTypeDef *hdma)
6685:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6686:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Derogation MISRAC2012-Rule-11.5 */
6687:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_HandleTypeDef *hi2c = (I2C_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent);
6688:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6689:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Acknowledge */
6690:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK;
6691:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6692:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
6693:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITError(hi2c, HAL_I2C_ERROR_DMA);
6694:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6695:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6696:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6697:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
6698:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief DMA I2C communication abort callback
6699:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * (To be called at end of DMA Abort procedure).
6700:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hdma DMA handle.
6701:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
6702:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
6703:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_DMAAbort(DMA_HandleTypeDef *hdma)
6704:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6705:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Derogation MISRAC2012-Rule-11.5 */
6706:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_HandleTypeDef *hi2c = (I2C_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent);
6707:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6708:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Reset AbortCpltCallback */
6709:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->hdmatx != NULL)
6710:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6711:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
6712:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6713:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->hdmarx != NULL)
6714:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6715:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
ARM GAS /tmp/ccuRhBPx.s page 120
6716:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6717:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6718:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TreatErrorCallback(hi2c);
6719:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6720:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6721:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6722:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
6723:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief This function handles I2C Communication Timeout. It waits
6724:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * until a flag is no longer in the specified status.
6725:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
6726:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
6727:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Flag Specifies the I2C flag to check.
6728:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Status The actual Flag status (SET or RESET).
6729:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Timeout Timeout duration
6730:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Tickstart Tick start value
6731:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
6732:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
6733:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_WaitOnFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t Flag, FlagSta
6734:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t Timeout, uint32_t Tickstart)
6735:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6736:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, Flag) == Status)
6737:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6738:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check for the Timeout */
6739:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (Timeout != HAL_MAX_DELAY)
6740:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6741:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (((HAL_GetTick() - Tickstart) > Timeout) || (Timeout == 0U))
6742:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6743:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((__HAL_I2C_GET_FLAG(hi2c, Flag) == Status))
6744:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6745:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT;
6746:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
6747:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
6748:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6749:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
6750:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
6751:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
6752:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6753:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6754:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6755:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6756:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
6757:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6758:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6759:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
6760:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief This function handles I2C Communication Timeout for specific usage of TXIS flag.
6761:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
6762:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
6763:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Timeout Timeout duration
6764:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Tickstart Tick start value
6765:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
6766:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
6767:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_WaitOnTXISFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t Timeout,
6768:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t Tickstart)
6769:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6770:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_TXIS) == RESET)
6771:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6772:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check if an error is detected */
ARM GAS /tmp/ccuRhBPx.s page 121
6773:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_IsErrorOccurred(hi2c, Timeout, Tickstart) != HAL_OK)
6774:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6775:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
6776:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6777:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6778:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check for the Timeout */
6779:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (Timeout != HAL_MAX_DELAY)
6780:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6781:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (((HAL_GetTick() - Tickstart) > Timeout) || (Timeout == 0U))
6782:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6783:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_TXIS) == RESET))
6784:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6785:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT;
6786:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
6787:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
6788:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6789:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
6790:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
6791:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6792:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
6793:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6794:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6795:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6796:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6797:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
6798:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6799:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6800:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
6801:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief This function handles I2C Communication Timeout for specific usage of STOP flag.
6802:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
6803:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
6804:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Timeout Timeout duration
6805:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Tickstart Tick start value
6806:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
6807:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
6808:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_WaitOnSTOPFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t Timeout,
6809:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t Tickstart)
6810:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6811:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_STOPF) == RESET)
6812:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6813:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check if an error is detected */
6814:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_IsErrorOccurred(hi2c, Timeout, Tickstart) != HAL_OK)
6815:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6816:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
6817:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6818:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6819:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check for the Timeout */
6820:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (((HAL_GetTick() - Tickstart) > Timeout) || (Timeout == 0U))
6821:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6822:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_STOPF) == RESET))
6823:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6824:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT;
6825:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
6826:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
6827:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6828:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
6829:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
ARM GAS /tmp/ccuRhBPx.s page 122
6830:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6831:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
6832:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6833:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6834:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6835:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
6836:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6837:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6838:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
6839:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief This function handles I2C Communication Timeout for specific usage of RXNE flag.
6840:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
6841:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
6842:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Timeout Timeout duration
6843:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Tickstart Tick start value
6844:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
6845:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
6846:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_WaitOnRXNEFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t Timeout,
6847:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t Tickstart)
6848:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6849:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_RXNE) == RESET)
6850:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6851:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check if an error is detected */
6852:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_IsErrorOccurred(hi2c, Timeout, Tickstart) != HAL_OK)
6853:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6854:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
6855:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6856:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6857:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check if a STOPF is detected */
6858:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_STOPF) == SET)
6859:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6860:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check if an RXNE is pending */
6861:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Store Last receive data if any */
6862:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_RXNE) == SET) && (hi2c->XferSize > 0U))
6863:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6864:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Return HAL_OK */
6865:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* The Reading of data from RXDR will be done in caller function */
6866:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
6867:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6868:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
6869:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6870:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF) == SET)
6871:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6872:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
6873:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_AF;
6874:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6875:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
6876:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6877:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
6878:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6879:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6880:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear STOP Flag */
6881:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF);
6882:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6883:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear Configuration Register 2 */
6884:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_RESET_CR2(hi2c);
6885:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6886:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
ARM GAS /tmp/ccuRhBPx.s page 123
6887:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
6888:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6889:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
6890:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
6891:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6892:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
6893:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6894:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6895:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6896:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check for the Timeout */
6897:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (((HAL_GetTick() - Tickstart) > Timeout) || (Timeout == 0U))
6898:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6899:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_RXNE) == RESET))
6900:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6901:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT;
6902:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
6903:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6904:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
6905:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
6906:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6907:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
6908:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6909:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6910:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6911:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
6912:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6913:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6914:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
6915:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief This function handles errors detection during an I2C Communication.
6916:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
6917:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
6918:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Timeout Timeout duration
6919:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Tickstart Tick start value
6920:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
6921:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
6922:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_IsErrorOccurred(I2C_HandleTypeDef *hi2c, uint32_t Timeout, uint32_t Ti
6923:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6924:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef status = HAL_OK;
6925:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t itflag = hi2c->Instance->ISR;
6926:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t error_code = 0;
6927:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart = Tickstart;
6928:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmp1;
6929:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_ModeTypeDef tmp2;
6930:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6931:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (HAL_IS_BIT_SET(itflag, I2C_FLAG_AF))
6932:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6933:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear NACKF Flag */
6934:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
6935:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6936:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until STOP Flag is set or timeout occurred */
6937:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* AutoEnd should be initiate after AF */
6938:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** while ((__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_STOPF) == RESET) && (status == HAL_OK))
6939:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6940:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check for the Timeout */
6941:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (Timeout != HAL_MAX_DELAY)
6942:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6943:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (((HAL_GetTick() - tickstart) > Timeout) || (Timeout == 0U))
ARM GAS /tmp/ccuRhBPx.s page 124
6944:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6945:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmp1 = (uint32_t)(hi2c->Instance->CR2 & I2C_CR2_STOP);
6946:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmp2 = hi2c->Mode;
6947:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6948:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* In case of I2C still busy, try to regenerate a STOP manually */
6949:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) != RESET) && \
6950:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (tmp1 != I2C_CR2_STOP) && \
6951:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (tmp2 != HAL_I2C_MODE_SLAVE))
6952:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6953:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Generate Stop */
6954:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_STOP;
6955:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6956:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update Tick with new reference */
6957:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tickstart = HAL_GetTick();
6958:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6959:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6960:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_STOPF) == RESET)
6961:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6962:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check for the Timeout */
6963:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((HAL_GetTick() - tickstart) > I2C_TIMEOUT_STOPF)
6964:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6965:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** error_code |= HAL_I2C_ERROR_TIMEOUT;
6966:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6967:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** status = HAL_ERROR;
6968:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6969:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break;
6970:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6971:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6972:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6973:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6974:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6975:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6976:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* In case STOP Flag is detected, clear it */
6977:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (status == HAL_OK)
6978:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6979:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear STOP Flag */
6980:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF);
6981:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6982:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6983:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** error_code |= HAL_I2C_ERROR_AF;
6984:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6985:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** status = HAL_ERROR;
6986:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6987:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6988:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Refresh Content of Status register */
6989:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** itflag = hi2c->Instance->ISR;
6990:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6991:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Then verify if an additional errors occurs */
6992:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check if a Bus error occurred */
6993:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (HAL_IS_BIT_SET(itflag, I2C_FLAG_BERR))
6994:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6995:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** error_code |= HAL_I2C_ERROR_BERR;
6996:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6997:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear BERR flag */
6998:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_BERR);
6999:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7000:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** status = HAL_ERROR;
ARM GAS /tmp/ccuRhBPx.s page 125
7001:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7002:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7003:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check if an Over-Run/Under-Run error occurred */
7004:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (HAL_IS_BIT_SET(itflag, I2C_FLAG_OVR))
7005:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7006:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** error_code |= HAL_I2C_ERROR_OVR;
7007:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7008:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear OVR flag */
7009:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_OVR);
7010:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7011:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** status = HAL_ERROR;
7012:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7013:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7014:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check if an Arbitration Loss error occurred */
7015:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (HAL_IS_BIT_SET(itflag, I2C_FLAG_ARLO))
7016:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7017:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** error_code |= HAL_I2C_ERROR_ARLO;
7018:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7019:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear ARLO flag */
7020:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ARLO);
7021:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7022:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** status = HAL_ERROR;
7023:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7024:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7025:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (status != HAL_OK)
7026:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7027:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Flush TX register */
7028:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Flush_TXDR(hi2c);
7029:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7030:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear Configuration Register 2 */
7031:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_RESET_CR2(hi2c);
7032:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7033:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= error_code;
7034:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
7035:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
7036:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7037:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
7038:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
7039:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7040:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7041:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return status;
7042:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7043:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7044:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
7045:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Handles I2Cx communication when starting transfer or during transfer (TC or TCR flag ar
7046:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c I2C handle.
7047:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param DevAddress Specifies the slave address to be programmed.
7048:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Specifies the number of bytes to be programmed.
7049:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * This parameter must be a value between 0 and 255.
7050:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Mode New state of the I2C START condition generation.
7051:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * This parameter can be one of the following values:
7052:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref I2C_RELOAD_MODE Enable Reload mode .
7053:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref I2C_AUTOEND_MODE Enable Automatic end mode.
7054:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref I2C_SOFTEND_MODE Enable Software end mode.
7055:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Request New state of the I2C START condition generation.
7056:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * This parameter can be one of the following values:
7057:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref I2C_NO_STARTSTOP Don't Generate stop and start condition.
ARM GAS /tmp/ccuRhBPx.s page 126
7058:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref I2C_GENERATE_STOP Generate stop condition (Size should be set to 0).
7059:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref I2C_GENERATE_START_READ Generate Restart for read request.
7060:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref I2C_GENERATE_START_WRITE Generate Restart for write request.
7061:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
7062:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
7063:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_TransferConfig(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t Size, uint32_t
7064:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t Request)
7065:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
72 .loc 1 7065 1 is_stmt 1 view -0
73 .cfi_startproc
74 @ args = 4, pretend = 0, frame = 0
75 @ frame_needed = 0, uses_anonymous_args = 0
76 .loc 1 7065 1 is_stmt 0 view .LVU12
77 0000 10B5 push {r4, lr}
78 .cfi_def_cfa_offset 8
79 .cfi_offset 4, -8
80 .cfi_offset 14, -4
7066:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check the parameters */
7067:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_ALL_INSTANCE(hi2c->Instance));
81 .loc 1 7067 3 is_stmt 1 view .LVU13
7068:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode));
82 .loc 1 7068 3 view .LVU14
7069:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_TRANSFER_REQUEST(Request));
83 .loc 1 7069 3 view .LVU15
7070:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7071:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Declaration of tmp to prevent undefined behavior of volatile usage */
7072:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmp = ((uint32_t)(((uint32_t)DevAddress & I2C_CR2_SADD) | \
84 .loc 1 7072 3 view .LVU16
85 .loc 1 7072 52 is_stmt 0 view .LVU17
86 0002 8905 lsls r1, r1, #22
87 .LVL2:
88 .loc 1 7072 52 view .LVU18
89 0004 890D lsrs r1, r1, #22
7073:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \
90 .loc 1 7073 70 view .LVU19
91 0006 1204 lsls r2, r2, #16
92 .LVL3:
7072:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \
93 .loc 1 7072 68 view .LVU20
94 0008 1143 orrs r1, r2
95 .loc 1 7073 88 view .LVU21
96 000a 1943 orrs r1, r3
7072:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \
97 .loc 1 7072 19 view .LVU22
98 000c 029B ldr r3, [sp, #8]
99 .LVL4:
7072:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \
100 .loc 1 7072 19 view .LVU23
101 000e 1943 orrs r1, r3
7072:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \
102 .loc 1 7072 12 view .LVU24
103 0010 4900 lsls r1, r1, #1
104 0012 4908 lsrs r1, r1, #1
105 .LVL5:
7074:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (uint32_t)Mode | (uint32_t)Request) & (~0x80000000U));
7075:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7076:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* update CR2 register */
ARM GAS /tmp/ccuRhBPx.s page 127
7077:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** MODIFY_REG(hi2c->Instance->CR2, \
106 .loc 1 7077 3 is_stmt 1 view .LVU25
107 0014 0468 ldr r4, [r0]
108 0016 6268 ldr r2, [r4, #4]
109 0018 5B0D lsrs r3, r3, #21
110 001a 8020 movs r0, #128
111 .LVL6:
112 .loc 1 7077 3 is_stmt 0 view .LVU26
113 001c C000 lsls r0, r0, #3
114 001e 0340 ands r3, r0
115 0020 0348 ldr r0, .L7
116 0022 0343 orrs r3, r0
117 0024 9A43 bics r2, r3
118 0026 1300 movs r3, r2
119 0028 0B43 orrs r3, r1
120 002a 6360 str r3, [r4, #4]
7078:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \
7079:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CR2_RD_WRN & (uint32_t)(Request >> (31U - I2C_CR2_RD_WRN_Pos))) | \
7080:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_CR2_START | I2C_CR2_STOP)), tmp);
7081:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
121 .loc 1 7081 1 view .LVU27
122 @ sp needed
123 002c 10BD pop {r4, pc}
124 .L8:
125 002e C046 .align 2
126 .L7:
127 0030 FF63FF03 .word 67068927
128 .cfi_endproc
129 .LFE117:
131 .section .text.I2C_Enable_IRQ,"ax",%progbits
132 .align 1
133 .syntax unified
134 .code 16
135 .thumb_func
137 I2C_Enable_IRQ:
138 .LVL7:
139 .LFB118:
7082:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7083:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
7084:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Manage the enabling of Interrupts.
7085:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
7086:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
7087:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param InterruptRequest Value of @ref I2C_Interrupt_configuration_definition.
7088:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
7089:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
7090:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_Enable_IRQ(I2C_HandleTypeDef *hi2c, uint16_t InterruptRequest)
7091:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
140 .loc 1 7091 1 is_stmt 1 view -0
141 .cfi_startproc
142 @ args = 0, pretend = 0, frame = 0
143 @ frame_needed = 0, uses_anonymous_args = 0
144 .loc 1 7091 1 is_stmt 0 view .LVU29
145 0000 10B5 push {r4, lr}
146 .cfi_def_cfa_offset 8
147 .cfi_offset 4, -8
148 .cfi_offset 14, -4
7092:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmpisr = 0U;
ARM GAS /tmp/ccuRhBPx.s page 128
149 .loc 1 7092 3 is_stmt 1 view .LVU30
150 .LVL8:
7093:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7094:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((hi2c->XferISR != I2C_Master_ISR_DMA) && \
151 .loc 1 7094 3 view .LVU31
152 .loc 1 7094 12 is_stmt 0 view .LVU32
153 0002 426B ldr r2, [r0, #52]
154 .loc 1 7094 6 view .LVU33
155 0004 224B ldr r3, .L31
156 0006 9A42 cmp r2, r3
157 0008 1DD0 beq .L10
158 .loc 1 7094 45 discriminator 1 view .LVU34
159 000a 224B ldr r3, .L31+4
160 000c 9A42 cmp r2, r3
161 000e 1AD0 beq .L10
7095:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \
162 .loc 1 7095 44 view .LVU35
163 0010 214B ldr r3, .L31+8
164 0012 9A42 cmp r2, r3
165 0014 17D0 beq .L10
7096:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (hi2c->XferISR != I2C_Mem_ISR_DMA))
7097:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7098:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((InterruptRequest & I2C_XFER_LISTEN_IT) == I2C_XFER_LISTEN_IT)
166 .loc 1 7098 5 is_stmt 1 view .LVU36
167 .loc 1 7098 49 is_stmt 0 view .LVU37
168 0016 0BB2 sxth r3, r1
169 .loc 1 7098 8 view .LVU38
170 0018 002B cmp r3, #0
171 001a 0FDB blt .L21
7092:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
172 .loc 1 7092 12 view .LVU39
173 001c 0023 movs r3, #0
174 .L11:
175 .LVL9:
7099:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR, STOP, NACK and ADDR interrupts */
7101:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmpisr |= I2C_IT_ADDRI | I2C_IT_STOPI | I2C_IT_NACKI | I2C_IT_ERRI;
7102:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7103:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7104:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((InterruptRequest & I2C_XFER_TX_IT) == I2C_XFER_TX_IT)
176 .loc 1 7104 5 is_stmt 1 view .LVU40
177 .loc 1 7104 8 is_stmt 0 view .LVU41
178 001e CA07 lsls r2, r1, #31
179 0020 01D5 bpl .L12
7105:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7106:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK and RXI interrupts */
7107:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmpisr |= I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI | I2C_IT_TXI;
180 .loc 1 7107 7 is_stmt 1 view .LVU42
181 .loc 1 7107 14 is_stmt 0 view .LVU43
182 0022 F222 movs r2, #242
183 0024 1343 orrs r3, r2
184 .LVL10:
185 .L12:
7108:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7109:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7110:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((InterruptRequest & I2C_XFER_RX_IT) == I2C_XFER_RX_IT)
186 .loc 1 7110 5 is_stmt 1 view .LVU44
ARM GAS /tmp/ccuRhBPx.s page 129
187 .loc 1 7110 8 is_stmt 0 view .LVU45
188 0026 8A07 lsls r2, r1, #30
189 0028 01D5 bpl .L13
7111:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7112:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK and TXI interrupts */
7113:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmpisr |= I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI | I2C_IT_RXI;
190 .loc 1 7113 7 is_stmt 1 view .LVU46
191 .loc 1 7113 14 is_stmt 0 view .LVU47
192 002a F422 movs r2, #244
193 002c 1343 orrs r3, r2
194 .LVL11:
195 .L13:
7114:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7115:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7116:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (InterruptRequest == I2C_XFER_ERROR_IT)
196 .loc 1 7116 5 is_stmt 1 view .LVU48
197 .loc 1 7116 8 is_stmt 0 view .LVU49
198 002e 1029 cmp r1, #16
199 0030 06D0 beq .L27
200 .L14:
7117:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7118:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR and NACK interrupts */
7119:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmpisr |= I2C_IT_ERRI | I2C_IT_NACKI;
7120:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7121:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7122:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (InterruptRequest == I2C_XFER_CPLT_IT)
201 .loc 1 7122 5 is_stmt 1 view .LVU50
202 .loc 1 7122 8 is_stmt 0 view .LVU51
203 0032 2029 cmp r1, #32
204 0034 1CD1 bne .L15
7123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7124:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable STOP interrupts */
7125:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmpisr |= I2C_IT_STOPI;
205 .loc 1 7125 7 is_stmt 1 view .LVU52
206 .loc 1 7125 14 is_stmt 0 view .LVU53
207 0036 2022 movs r2, #32
208 0038 1343 orrs r3, r2
209 .LVL12:
210 .loc 1 7125 14 view .LVU54
211 003a 19E0 b .L15
212 .LVL13:
213 .L21:
7101:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
214 .loc 1 7101 14 view .LVU55
215 003c B823 movs r3, #184
216 003e EEE7 b .L11
217 .LVL14:
218 .L27:
7119:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
219 .loc 1 7119 7 is_stmt 1 view .LVU56
7119:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
220 .loc 1 7119 14 is_stmt 0 view .LVU57
221 0040 9022 movs r2, #144
222 0042 1343 orrs r3, r2
223 .LVL15:
7119:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
224 .loc 1 7119 14 view .LVU58
ARM GAS /tmp/ccuRhBPx.s page 130
225 0044 F5E7 b .L14
226 .LVL16:
227 .L10:
7126:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7127:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7128:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7129:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
7130:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7131:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((InterruptRequest & I2C_XFER_LISTEN_IT) == I2C_XFER_LISTEN_IT)
228 .loc 1 7131 5 is_stmt 1 view .LVU59
229 .loc 1 7131 49 is_stmt 0 view .LVU60
230 0046 0BB2 sxth r3, r1
231 .loc 1 7131 8 view .LVU61
232 0048 002B cmp r3, #0
233 004a 16DB blt .L22
7092:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
234 .loc 1 7092 12 view .LVU62
235 004c 0023 movs r3, #0
236 .L16:
237 .LVL17:
7132:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7133:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR, STOP, NACK and ADDR interrupts */
7134:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmpisr |= I2C_IT_ADDRI | I2C_IT_STOPI | I2C_IT_NACKI | I2C_IT_ERRI;
7135:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7136:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7137:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((InterruptRequest & I2C_XFER_TX_IT) == I2C_XFER_TX_IT)
238 .loc 1 7137 5 is_stmt 1 view .LVU63
239 .loc 1 7137 8 is_stmt 0 view .LVU64
240 004e CC07 lsls r4, r1, #31
241 0050 01D5 bpl .L17
7138:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7139:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK and RXI interrupts */
7140:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmpisr |= I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI | I2C_IT_TXI;
242 .loc 1 7140 7 is_stmt 1 view .LVU65
243 .loc 1 7140 14 is_stmt 0 view .LVU66
244 0052 F224 movs r4, #242
245 0054 2343 orrs r3, r4
246 .LVL18:
247 .L17:
7141:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7142:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7143:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((InterruptRequest & I2C_XFER_RX_IT) == I2C_XFER_RX_IT)
248 .loc 1 7143 5 is_stmt 1 view .LVU67
249 .loc 1 7143 8 is_stmt 0 view .LVU68
250 0056 8C07 lsls r4, r1, #30
251 0058 01D5 bpl .L18
7144:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7145:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK and TXI interrupts */
7146:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmpisr |= I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI | I2C_IT_RXI;
252 .loc 1 7146 7 is_stmt 1 view .LVU69
253 .loc 1 7146 14 is_stmt 0 view .LVU70
254 005a F424 movs r4, #244
255 005c 2343 orrs r3, r4
256 .LVL19:
257 .L18:
7147:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7148:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
ARM GAS /tmp/ccuRhBPx.s page 131
7149:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (InterruptRequest == I2C_XFER_ERROR_IT)
258 .loc 1 7149 5 is_stmt 1 view .LVU71
259 .loc 1 7149 8 is_stmt 0 view .LVU72
260 005e 1029 cmp r1, #16
261 0060 0DD0 beq .L28
262 .L19:
7150:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7151:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR and NACK interrupts */
7152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmpisr |= I2C_IT_ERRI | I2C_IT_NACKI;
7153:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7154:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7155:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (InterruptRequest == I2C_XFER_CPLT_IT)
263 .loc 1 7155 5 is_stmt 1 view .LVU73
264 .loc 1 7155 8 is_stmt 0 view .LVU74
265 0062 2029 cmp r1, #32
266 0064 0ED0 beq .L29
267 .L20:
7156:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable STOP interrupts */
7158:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmpisr |= (I2C_IT_STOPI | I2C_IT_TCI);
7159:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7160:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((hi2c->XferISR != I2C_Mem_ISR_DMA) && (InterruptRequest == I2C_XFER_RELOAD_IT))
268 .loc 1 7161 5 is_stmt 1 view .LVU75
269 .loc 1 7161 8 is_stmt 0 view .LVU76
270 0066 0C4C ldr r4, .L31+8
271 0068 A242 cmp r2, r4
272 006a 01D0 beq .L15
273 .loc 1 7161 44 discriminator 1 view .LVU77
274 006c 4029 cmp r1, #64
275 006e 0CD0 beq .L30
276 .L15:
7162:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7163:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable TC interrupts */
7164:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmpisr |= I2C_IT_TCI;
7165:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7166:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7167:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7168:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable interrupts only at the end */
7169:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* to avoid the risk of I2C interrupt handle execution before */
7170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* all interrupts requested done */
7171:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_ENABLE_IT(hi2c, tmpisr);
277 .loc 1 7171 3 is_stmt 1 view .LVU78
278 0070 0168 ldr r1, [r0]
279 .LVL20:
280 .loc 1 7171 3 is_stmt 0 view .LVU79
281 0072 0A68 ldr r2, [r1]
282 0074 1343 orrs r3, r2
283 .LVL21:
284 .loc 1 7171 3 view .LVU80
285 0076 0B60 str r3, [r1]
7172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
286 .loc 1 7172 1 view .LVU81
287 @ sp needed
288 0078 10BD pop {r4, pc}
289 .LVL22:
290 .L22:
ARM GAS /tmp/ccuRhBPx.s page 132
7134:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
291 .loc 1 7134 14 view .LVU82
292 007a B823 movs r3, #184
293 007c E7E7 b .L16
294 .LVL23:
295 .L28:
7152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
296 .loc 1 7152 7 is_stmt 1 view .LVU83
7152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
297 .loc 1 7152 14 is_stmt 0 view .LVU84
298 007e 9024 movs r4, #144
299 0080 2343 orrs r3, r4
300 .LVL24:
7152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
301 .loc 1 7152 14 view .LVU85
302 0082 EEE7 b .L19
303 .L29:
7158:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
304 .loc 1 7158 7 is_stmt 1 view .LVU86
7158:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
305 .loc 1 7158 14 is_stmt 0 view .LVU87
306 0084 6024 movs r4, #96
307 0086 2343 orrs r3, r4
308 .LVL25:
7158:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
309 .loc 1 7158 14 view .LVU88
310 0088 EDE7 b .L20
311 .L30:
7164:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
312 .loc 1 7164 7 is_stmt 1 view .LVU89
7164:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
313 .loc 1 7164 14 is_stmt 0 view .LVU90
314 008a 4022 movs r2, #64
315 008c 1343 orrs r3, r2
316 .LVL26:
7164:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
317 .loc 1 7164 14 view .LVU91
318 008e EFE7 b .L15
319 .L32:
320 .align 2
321 .L31:
322 0090 00000000 .word I2C_Master_ISR_DMA
323 0094 00000000 .word I2C_Slave_ISR_DMA
324 0098 00000000 .word I2C_Mem_ISR_DMA
325 .cfi_endproc
326 .LFE118:
328 .section .text.I2C_Disable_IRQ,"ax",%progbits
329 .align 1
330 .syntax unified
331 .code 16
332 .thumb_func
334 I2C_Disable_IRQ:
335 .LVL27:
336 .LFB119:
7173:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
7175:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Manage the disabling of Interrupts.
ARM GAS /tmp/ccuRhBPx.s page 133
7176:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
7177:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
7178:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param InterruptRequest Value of @ref I2C_Interrupt_configuration_definition.
7179:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
7180:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
7181:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_Disable_IRQ(I2C_HandleTypeDef *hi2c, uint16_t InterruptRequest)
7182:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
337 .loc 1 7182 1 is_stmt 1 view -0
338 .cfi_startproc
339 @ args = 0, pretend = 0, frame = 0
340 @ frame_needed = 0, uses_anonymous_args = 0
341 .loc 1 7182 1 is_stmt 0 view .LVU93
342 0000 30B5 push {r4, r5, lr}
343 .cfi_def_cfa_offset 12
344 .cfi_offset 4, -12
345 .cfi_offset 5, -8
346 .cfi_offset 14, -4
7183:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmpisr = 0U;
347 .loc 1 7183 3 is_stmt 1 view .LVU94
348 .LVL28:
7184:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((InterruptRequest & I2C_XFER_TX_IT) == I2C_XFER_TX_IT)
349 .loc 1 7185 3 view .LVU95
350 .loc 1 7185 6 is_stmt 0 view .LVU96
351 0002 CB07 lsls r3, r1, #31
352 0004 09D5 bpl .L40
7186:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable TC and TXI interrupts */
7188:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmpisr |= I2C_IT_TCI | I2C_IT_TXI;
353 .loc 1 7188 5 is_stmt 1 view .LVU97
354 .LVL29:
7189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7190:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (((uint32_t)hi2c->State & (uint32_t)HAL_I2C_STATE_LISTEN) != (uint32_t)HAL_I2C_STATE_LISTEN)
355 .loc 1 7190 5 view .LVU98
356 .loc 1 7190 24 is_stmt 0 view .LVU99
357 0006 4123 movs r3, #65
358 0008 C35C ldrb r3, [r0, r3]
359 .loc 1 7190 8 view .LVU100
360 000a 2822 movs r2, #40
361 000c 1340 ands r3, r2
362 000e 282B cmp r3, #40
363 0010 01D0 beq .L44
7191:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7192:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable NACK and STOP interrupts */
7193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmpisr |= I2C_IT_STOPI | I2C_IT_NACKI | I2C_IT_ERRI;
364 .loc 1 7193 14 view .LVU101
365 0012 F223 movs r3, #242
366 0014 02E0 b .L34
367 .L44:
7188:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
368 .loc 1 7188 12 view .LVU102
369 0016 1A33 adds r3, r3, #26
370 0018 00E0 b .L34
371 .LVL30:
372 .L40:
7183:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
373 .loc 1 7183 12 view .LVU103
ARM GAS /tmp/ccuRhBPx.s page 134
374 001a 0023 movs r3, #0
375 .LVL31:
376 .L34:
7194:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7195:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7196:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7197:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((InterruptRequest & I2C_XFER_RX_IT) == I2C_XFER_RX_IT)
377 .loc 1 7197 3 is_stmt 1 view .LVU104
378 .loc 1 7197 6 is_stmt 0 view .LVU105
379 001c 8A07 lsls r2, r1, #30
380 001e 09D5 bpl .L35
7198:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7199:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable TC and RXI interrupts */
7200:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmpisr |= I2C_IT_TCI | I2C_IT_RXI;
381 .loc 1 7200 5 is_stmt 1 view .LVU106
382 .loc 1 7200 12 is_stmt 0 view .LVU107
383 0020 4424 movs r4, #68
384 0022 1C43 orrs r4, r3
385 .LVL32:
7201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7202:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (((uint32_t)hi2c->State & (uint32_t)HAL_I2C_STATE_LISTEN) != (uint32_t)HAL_I2C_STATE_LISTEN)
386 .loc 1 7202 5 is_stmt 1 view .LVU108
387 .loc 1 7202 24 is_stmt 0 view .LVU109
388 0024 4122 movs r2, #65
389 0026 825C ldrb r2, [r0, r2]
390 .loc 1 7202 8 view .LVU110
391 0028 2825 movs r5, #40
392 002a 2A40 ands r2, r5
393 002c 282A cmp r2, #40
394 002e 0FD0 beq .L42
7203:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7204:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable NACK and STOP interrupts */
7205:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmpisr |= I2C_IT_STOPI | I2C_IT_NACKI | I2C_IT_ERRI;
395 .loc 1 7205 7 is_stmt 1 view .LVU111
396 .loc 1 7205 14 is_stmt 0 view .LVU112
397 0030 F422 movs r2, #244
398 0032 1343 orrs r3, r2
399 .LVL33:
400 .L35:
7206:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7207:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7209:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((InterruptRequest & I2C_XFER_LISTEN_IT) == I2C_XFER_LISTEN_IT)
401 .loc 1 7209 3 is_stmt 1 view .LVU113
402 .loc 1 7209 47 is_stmt 0 view .LVU114
403 0034 0AB2 sxth r2, r1
404 .loc 1 7209 6 view .LVU115
405 0036 002A cmp r2, #0
406 0038 0CDB blt .L45
407 .L36:
7210:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable ADDR, NACK and STOP interrupts */
7212:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmpisr |= I2C_IT_ADDRI | I2C_IT_STOPI | I2C_IT_NACKI | I2C_IT_ERRI;
7213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7214:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7215:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (InterruptRequest == I2C_XFER_ERROR_IT)
408 .loc 1 7215 3 is_stmt 1 view .LVU116
ARM GAS /tmp/ccuRhBPx.s page 135
409 .loc 1 7215 6 is_stmt 0 view .LVU117
410 003a 1029 cmp r1, #16
411 003c 0DD0 beq .L46
412 .L37:
7216:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR and NACK interrupts */
7218:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmpisr |= I2C_IT_ERRI | I2C_IT_NACKI;
7219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7220:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7221:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (InterruptRequest == I2C_XFER_CPLT_IT)
413 .loc 1 7221 3 is_stmt 1 view .LVU118
414 .loc 1 7221 6 is_stmt 0 view .LVU119
415 003e 2029 cmp r1, #32
416 0040 0ED0 beq .L47
417 .L38:
7222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7223:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable STOP interrupts */
7224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmpisr |= I2C_IT_STOPI;
7225:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7226:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7227:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (InterruptRequest == I2C_XFER_RELOAD_IT)
418 .loc 1 7227 3 is_stmt 1 view .LVU120
419 .loc 1 7227 6 is_stmt 0 view .LVU121
420 0042 4029 cmp r1, #64
421 0044 0FD0 beq .L48
422 .L39:
7228:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7229:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable TC interrupts */
7230:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmpisr |= I2C_IT_TCI;
7231:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7232:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7233:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable interrupts only at the end */
7234:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* to avoid a breaking situation like at "t" time */
7235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* all disable interrupts request are not done */
7236:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_DISABLE_IT(hi2c, tmpisr);
423 .loc 1 7236 3 is_stmt 1 view .LVU122
424 0046 0168 ldr r1, [r0]
425 .LVL34:
426 .loc 1 7236 3 is_stmt 0 view .LVU123
427 0048 0A68 ldr r2, [r1]
428 004a 9A43 bics r2, r3
429 004c 0A60 str r2, [r1]
7237:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
430 .loc 1 7237 1 view .LVU124
431 @ sp needed
432 004e 30BD pop {r4, r5, pc}
433 .LVL35:
434 .L42:
7200:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
435 .loc 1 7200 12 view .LVU125
436 0050 2300 movs r3, r4
437 0052 EFE7 b .L35
438 .LVL36:
439 .L45:
7212:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
440 .loc 1 7212 5 is_stmt 1 view .LVU126
7212:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
ARM GAS /tmp/ccuRhBPx.s page 136
441 .loc 1 7212 12 is_stmt 0 view .LVU127
442 0054 B822 movs r2, #184
443 0056 1343 orrs r3, r2
444 .LVL37:
7212:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
445 .loc 1 7212 12 view .LVU128
446 0058 EFE7 b .L36
447 .L46:
7218:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
448 .loc 1 7218 5 is_stmt 1 view .LVU129
7218:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
449 .loc 1 7218 12 is_stmt 0 view .LVU130
450 005a 9022 movs r2, #144
451 005c 1343 orrs r3, r2
452 .LVL38:
7218:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
453 .loc 1 7218 12 view .LVU131
454 005e EEE7 b .L37
455 .L47:
7224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
456 .loc 1 7224 5 is_stmt 1 view .LVU132
7224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
457 .loc 1 7224 12 is_stmt 0 view .LVU133
458 0060 2022 movs r2, #32
459 0062 1343 orrs r3, r2
460 .LVL39:
7224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
461 .loc 1 7224 12 view .LVU134
462 0064 EDE7 b .L38
463 .L48:
7230:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
464 .loc 1 7230 5 is_stmt 1 view .LVU135
7230:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
465 .loc 1 7230 12 is_stmt 0 view .LVU136
466 0066 4022 movs r2, #64
467 0068 1343 orrs r3, r2
468 .LVL40:
7230:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
469 .loc 1 7230 12 view .LVU137
470 006a ECE7 b .L39
471 .cfi_endproc
472 .LFE119:
474 .section .text.I2C_ConvertOtherXferOptions,"ax",%progbits
475 .align 1
476 .syntax unified
477 .code 16
478 .thumb_func
480 I2C_ConvertOtherXferOptions:
481 .LVL41:
482 .LFB120:
7238:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7239:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
7240:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Convert I2Cx OTHER_xxx XferOptions to functional XferOptions.
7241:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c I2C handle.
7242:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
7243:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
7244:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_ConvertOtherXferOptions(I2C_HandleTypeDef *hi2c)
ARM GAS /tmp/ccuRhBPx.s page 137
7245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
483 .loc 1 7245 1 is_stmt 1 view -0
484 .cfi_startproc
485 @ args = 0, pretend = 0, frame = 0
486 @ frame_needed = 0, uses_anonymous_args = 0
487 @ link register save eliminated.
7246:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* if user set XferOptions to I2C_OTHER_FRAME */
7247:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* it request implicitly to generate a restart condition */
7248:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* set XferOptions to I2C_FIRST_FRAME */
7249:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferOptions == I2C_OTHER_FRAME)
488 .loc 1 7249 3 view .LVU139
489 .loc 1 7249 11 is_stmt 0 view .LVU140
490 0000 C36A ldr r3, [r0, #44]
491 .loc 1 7249 6 view .LVU141
492 0002 AA2B cmp r3, #170
493 0004 05D0 beq .L52
7250:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7251:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_FIRST_FRAME;
7252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7253:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* else if user set XferOptions to I2C_OTHER_AND_LAST_FRAME */
7254:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* it request implicitly to generate a restart condition */
7255:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* then generate a stop condition at the end of transfer */
7256:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* set XferOptions to I2C_FIRST_AND_LAST_FRAME */
7257:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if (hi2c->XferOptions == I2C_OTHER_AND_LAST_FRAME)
494 .loc 1 7257 8 is_stmt 1 view .LVU142
495 .loc 1 7257 16 is_stmt 0 view .LVU143
496 0006 C26A ldr r2, [r0, #44]
497 .loc 1 7257 11 view .LVU144
498 0008 AA23 movs r3, #170
499 000a 1B02 lsls r3, r3, #8
500 000c 9A42 cmp r2, r3
501 000e 03D0 beq .L53
502 .L49:
7258:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7259:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_FIRST_AND_LAST_FRAME;
7260:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7261:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
7262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7263:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Nothing to do */
7264:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7265:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
503 .loc 1 7265 1 view .LVU145
504 @ sp needed
505 0010 7047 bx lr
506 .L52:
7251:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
507 .loc 1 7251 5 is_stmt 1 view .LVU146
7251:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
508 .loc 1 7251 23 is_stmt 0 view .LVU147
509 0012 0023 movs r3, #0
510 0014 C362 str r3, [r0, #44]
511 0016 FBE7 b .L49
512 .L53:
7259:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
513 .loc 1 7259 5 is_stmt 1 view .LVU148
7259:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
514 .loc 1 7259 23 is_stmt 0 view .LVU149
ARM GAS /tmp/ccuRhBPx.s page 138
515 0018 8023 movs r3, #128
516 001a 9B04 lsls r3, r3, #18
517 001c C362 str r3, [r0, #44]
7264:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
518 .loc 1 7264 3 is_stmt 1 view .LVU150
519 .loc 1 7265 1 is_stmt 0 view .LVU151
520 001e F7E7 b .L49
521 .cfi_endproc
522 .LFE120:
524 .section .text.I2C_IsErrorOccurred,"ax",%progbits
525 .align 1
526 .syntax unified
527 .code 16
528 .thumb_func
530 I2C_IsErrorOccurred:
531 .LVL42:
532 .LFB116:
6923:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef status = HAL_OK;
533 .loc 1 6923 1 is_stmt 1 view -0
534 .cfi_startproc
535 @ args = 0, pretend = 0, frame = 0
536 @ frame_needed = 0, uses_anonymous_args = 0
6923:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef status = HAL_OK;
537 .loc 1 6923 1 is_stmt 0 view .LVU153
538 0000 F0B5 push {r4, r5, r6, r7, lr}
539 .cfi_def_cfa_offset 20
540 .cfi_offset 4, -20
541 .cfi_offset 5, -16
542 .cfi_offset 6, -12
543 .cfi_offset 7, -8
544 .cfi_offset 14, -4
545 0002 C646 mov lr, r8
546 0004 00B5 push {lr}
547 .cfi_def_cfa_offset 24
548 .cfi_offset 8, -24
549 0006 0400 movs r4, r0
550 0008 0D00 movs r5, r1
551 000a 1700 movs r7, r2
6924:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t itflag = hi2c->Instance->ISR;
552 .loc 1 6924 3 is_stmt 1 view .LVU154
553 .LVL43:
6925:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t error_code = 0;
554 .loc 1 6925 3 view .LVU155
6925:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t error_code = 0;
555 .loc 1 6925 27 is_stmt 0 view .LVU156
556 000c 0168 ldr r1, [r0]
557 .LVL44:
6925:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t error_code = 0;
558 .loc 1 6925 12 view .LVU157
559 000e 8B69 ldr r3, [r1, #24]
560 .LVL45:
6926:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart = Tickstart;
561 .loc 1 6926 3 is_stmt 1 view .LVU158
6927:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmp1;
562 .loc 1 6927 3 view .LVU159
6928:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_ModeTypeDef tmp2;
563 .loc 1 6928 3 view .LVU160
ARM GAS /tmp/ccuRhBPx.s page 139
6929:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
564 .loc 1 6929 3 view .LVU161
6931:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
565 .loc 1 6931 3 view .LVU162
6931:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
566 .loc 1 6931 7 is_stmt 0 view .LVU163
567 0010 1022 movs r2, #16
568 .LVL46:
6931:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
569 .loc 1 6931 7 view .LVU164
570 0012 1600 movs r6, r2
571 0014 1E40 ands r6, r3
6931:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
572 .loc 1 6931 6 view .LVU165
573 0016 1A42 tst r2, r3
574 0018 00D1 bne .LCB565
575 001a 75E0 b .L71 @long jump
576 .LCB565:
6934:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
577 .loc 1 6934 5 is_stmt 1 view .LVU166
578 001c 1023 movs r3, #16
579 .LVL47:
6934:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
580 .loc 1 6934 5 is_stmt 0 view .LVU167
581 001e CB61 str r3, [r1, #28]
6938:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
582 .loc 1 6938 5 is_stmt 1 view .LVU168
6926:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart = Tickstart;
583 .loc 1 6926 12 is_stmt 0 view .LVU169
584 0020 0023 movs r3, #0
585 0022 9846 mov r8, r3
6924:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t itflag = hi2c->Instance->ISR;
586 .loc 1 6924 21 view .LVU170
587 0024 0026 movs r6, #0
588 .LVL48:
589 .L57:
6938:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
590 .loc 1 6938 64 is_stmt 1 view .LVU171
6938:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
591 .loc 1 6938 13 is_stmt 0 view .LVU172
592 0026 2068 ldr r0, [r4]
593 0028 8369 ldr r3, [r0, #24]
6938:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
594 .loc 1 6938 64 view .LVU173
595 002a 9B06 lsls r3, r3, #26
596 002c 31D4 bmi .L63
6938:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
597 .loc 1 6938 64 discriminator 1 view .LVU174
598 002e 002E cmp r6, #0
599 0030 2FD1 bne .L63
6941:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
600 .loc 1 6941 7 is_stmt 1 view .LVU175
6941:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
601 .loc 1 6941 10 is_stmt 0 view .LVU176
602 0032 6B1C adds r3, r5, #1
603 0034 F7D0 beq .L57
6943:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
ARM GAS /tmp/ccuRhBPx.s page 140
604 .loc 1 6943 9 is_stmt 1 view .LVU177
6943:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
605 .loc 1 6943 15 is_stmt 0 view .LVU178
606 0036 FFF7FEFF bl HAL_GetTick
607 .LVL49:
6943:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
608 .loc 1 6943 29 discriminator 1 view .LVU179
609 003a C01B subs r0, r0, r7
6943:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
610 .loc 1 6943 12 discriminator 1 view .LVU180
611 003c A842 cmp r0, r5
612 003e 01D8 bhi .L58
6943:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
613 .loc 1 6943 53 discriminator 1 view .LVU181
614 0040 002D cmp r5, #0
615 0042 F0D1 bne .L57
616 .L58:
6945:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmp2 = hi2c->Mode;
617 .loc 1 6945 11 is_stmt 1 view .LVU182
6945:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmp2 = hi2c->Mode;
618 .loc 1 6945 33 is_stmt 0 view .LVU183
619 0044 2168 ldr r1, [r4]
6945:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmp2 = hi2c->Mode;
620 .loc 1 6945 43 view .LVU184
621 0046 4B68 ldr r3, [r1, #4]
6945:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmp2 = hi2c->Mode;
622 .loc 1 6945 16 view .LVU185
623 0048 8022 movs r2, #128
624 004a D201 lsls r2, r2, #7
625 004c 1340 ands r3, r2
626 .LVL50:
6946:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
627 .loc 1 6946 11 is_stmt 1 view .LVU186
6946:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
628 .loc 1 6946 16 is_stmt 0 view .LVU187
629 004e 4222 movs r2, #66
630 0050 A25C ldrb r2, [r4, r2]
631 0052 D2B2 uxtb r2, r2
632 .LVL51:
6949:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (tmp1 != I2C_CR2_STOP) && \
633 .loc 1 6949 11 is_stmt 1 view .LVU188
6949:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (tmp1 != I2C_CR2_STOP) && \
634 .loc 1 6949 16 is_stmt 0 view .LVU189
635 0054 8869 ldr r0, [r1, #24]
6949:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (tmp1 != I2C_CR2_STOP) && \
636 .loc 1 6949 14 view .LVU190
637 0056 0004 lsls r0, r0, #16
638 0058 03D5 bpl .L61
6949:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (tmp1 != I2C_CR2_STOP) && \
639 .loc 1 6949 66 discriminator 1 view .LVU191
640 005a 002B cmp r3, #0
641 005c 01D1 bne .L61
6950:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (tmp2 != HAL_I2C_MODE_SLAVE))
642 .loc 1 6950 38 view .LVU192
643 005e 202A cmp r2, #32
644 0060 0ED1 bne .L77
645 .LVL52:
ARM GAS /tmp/ccuRhBPx.s page 141
646 .L61:
6960:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
647 .loc 1 6960 59 is_stmt 1 view .LVU193
6960:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
648 .loc 1 6960 18 is_stmt 0 view .LVU194
649 0062 2368 ldr r3, [r4]
650 0064 9B69 ldr r3, [r3, #24]
6960:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
651 .loc 1 6960 59 view .LVU195
652 0066 9B06 lsls r3, r3, #26
653 0068 DDD4 bmi .L57
6963:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
654 .loc 1 6963 13 is_stmt 1 view .LVU196
6963:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
655 .loc 1 6963 18 is_stmt 0 view .LVU197
656 006a FFF7FEFF bl HAL_GetTick
657 .LVL53:
6963:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
658 .loc 1 6963 32 discriminator 1 view .LVU198
659 006e C01B subs r0, r0, r7
6963:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
660 .loc 1 6963 16 discriminator 1 view .LVU199
661 0070 1928 cmp r0, #25
662 0072 F6D9 bls .L61
6965:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
663 .loc 1 6965 15 is_stmt 1 view .LVU200
6965:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
664 .loc 1 6965 26 is_stmt 0 view .LVU201
665 0074 2023 movs r3, #32
666 0076 4246 mov r2, r8
667 0078 1A43 orrs r2, r3
668 007a 9046 mov r8, r2
669 .LVL54:
6967:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
670 .loc 1 6967 15 is_stmt 1 view .LVU202
6969:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
671 .loc 1 6969 15 view .LVU203
6967:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
672 .loc 1 6967 22 is_stmt 0 view .LVU204
673 007c 0126 movs r6, #1
6969:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
674 .loc 1 6969 15 view .LVU205
675 007e D2E7 b .L57
676 .LVL55:
677 .L77:
6954:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
678 .loc 1 6954 13 is_stmt 1 view .LVU206
6954:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
679 .loc 1 6954 27 is_stmt 0 view .LVU207
680 0080 4A68 ldr r2, [r1, #4]
681 .LVL56:
6954:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
682 .loc 1 6954 33 view .LVU208
683 0082 8023 movs r3, #128
684 .LVL57:
6954:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
685 .loc 1 6954 33 view .LVU209
ARM GAS /tmp/ccuRhBPx.s page 142
686 0084 DB01 lsls r3, r3, #7
687 0086 1343 orrs r3, r2
688 0088 4B60 str r3, [r1, #4]
6957:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
689 .loc 1 6957 13 is_stmt 1 view .LVU210
6957:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
690 .loc 1 6957 25 is_stmt 0 view .LVU211
691 008a FFF7FEFF bl HAL_GetTick
692 .LVL58:
693 008e 0700 movs r7, r0
694 .LVL59:
6957:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
695 .loc 1 6957 25 view .LVU212
696 0090 E7E7 b .L61
697 .LVL60:
698 .L63:
6977:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
699 .loc 1 6977 5 is_stmt 1 view .LVU213
6977:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
700 .loc 1 6977 8 is_stmt 0 view .LVU214
701 0092 002E cmp r6, #0
702 0094 01D1 bne .L65
6980:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
703 .loc 1 6980 7 is_stmt 1 view .LVU215
704 0096 2023 movs r3, #32
705 0098 C361 str r3, [r0, #28]
706 .L65:
6983:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
707 .loc 1 6983 5 view .LVU216
6983:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
708 .loc 1 6983 16 is_stmt 0 view .LVU217
709 009a 0426 movs r6, #4
710 .LVL61:
6983:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
711 .loc 1 6983 16 view .LVU218
712 009c 4346 mov r3, r8
713 009e 3343 orrs r3, r6
714 00a0 1E00 movs r6, r3
715 .LVL62:
6985:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
716 .loc 1 6985 5 is_stmt 1 view .LVU219
6985:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
717 .loc 1 6985 12 is_stmt 0 view .LVU220
718 00a2 0125 movs r5, #1
719 .LVL63:
720 .L55:
6989:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
721 .loc 1 6989 3 is_stmt 1 view .LVU221
6989:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
722 .loc 1 6989 16 is_stmt 0 view .LVU222
723 00a4 2268 ldr r2, [r4]
6989:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
724 .loc 1 6989 10 view .LVU223
725 00a6 9369 ldr r3, [r2, #24]
726 .LVL64:
6993:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
727 .loc 1 6993 3 is_stmt 1 view .LVU224
ARM GAS /tmp/ccuRhBPx.s page 143
6993:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
728 .loc 1 6993 6 is_stmt 0 view .LVU225
729 00a8 D905 lsls r1, r3, #23
730 00aa 04D5 bpl .L66
6995:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
731 .loc 1 6995 5 is_stmt 1 view .LVU226
6995:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
732 .loc 1 6995 16 is_stmt 0 view .LVU227
733 00ac 0121 movs r1, #1
734 00ae 0E43 orrs r6, r1
735 .LVL65:
6998:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
736 .loc 1 6998 5 is_stmt 1 view .LVU228
737 00b0 FF31 adds r1, r1, #255
738 00b2 D161 str r1, [r2, #28]
7000:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
739 .loc 1 7000 5 view .LVU229
740 .LVL66:
7000:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
741 .loc 1 7000 12 is_stmt 0 view .LVU230
742 00b4 0125 movs r5, #1
743 .LVL67:
744 .L66:
7004:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
745 .loc 1 7004 3 is_stmt 1 view .LVU231
7004:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
746 .loc 1 7004 6 is_stmt 0 view .LVU232
747 00b6 5A05 lsls r2, r3, #21
748 00b8 06D5 bpl .L67
7006:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
749 .loc 1 7006 5 is_stmt 1 view .LVU233
7006:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
750 .loc 1 7006 16 is_stmt 0 view .LVU234
751 00ba 0822 movs r2, #8
752 00bc 1643 orrs r6, r2
753 .LVL68:
7009:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
754 .loc 1 7009 5 is_stmt 1 view .LVU235
755 00be 2268 ldr r2, [r4]
756 00c0 8021 movs r1, #128
757 00c2 C900 lsls r1, r1, #3
758 00c4 D161 str r1, [r2, #28]
7011:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
759 .loc 1 7011 5 view .LVU236
760 .LVL69:
7011:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
761 .loc 1 7011 12 is_stmt 0 view .LVU237
762 00c6 0125 movs r5, #1
763 .LVL70:
764 .L67:
7015:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
765 .loc 1 7015 3 is_stmt 1 view .LVU238
7015:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
766 .loc 1 7015 6 is_stmt 0 view .LVU239
767 00c8 9B05 lsls r3, r3, #22
768 00ca 1FD5 bpl .L68
769 .LVL71:
ARM GAS /tmp/ccuRhBPx.s page 144
7017:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
770 .loc 1 7017 5 is_stmt 1 view .LVU240
7017:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
771 .loc 1 7017 16 is_stmt 0 view .LVU241
772 00cc 0223 movs r3, #2
773 00ce 1E43 orrs r6, r3
774 .LVL72:
7020:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
775 .loc 1 7020 5 is_stmt 1 view .LVU242
776 00d0 2368 ldr r3, [r4]
777 00d2 8022 movs r2, #128
778 00d4 9200 lsls r2, r2, #2
779 00d6 DA61 str r2, [r3, #28]
7022:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
780 .loc 1 7022 5 view .LVU243
781 .LVL73:
7025:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
782 .loc 1 7025 3 view .LVU244
7022:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
783 .loc 1 7022 12 is_stmt 0 view .LVU245
784 00d8 0125 movs r5, #1
785 .LVL74:
786 .L69:
7028:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
787 .loc 1 7028 5 is_stmt 1 view .LVU246
788 00da 2000 movs r0, r4
789 00dc FFF7FEFF bl I2C_Flush_TXDR
790 .LVL75:
7031:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
791 .loc 1 7031 5 view .LVU247
792 00e0 2268 ldr r2, [r4]
793 00e2 5368 ldr r3, [r2, #4]
794 00e4 0B49 ldr r1, .L78
795 00e6 0B40 ands r3, r1
796 00e8 5360 str r3, [r2, #4]
7033:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
797 .loc 1 7033 5 view .LVU248
7033:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
798 .loc 1 7033 9 is_stmt 0 view .LVU249
799 00ea 636C ldr r3, [r4, #68]
7033:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
800 .loc 1 7033 21 view .LVU250
801 00ec 3343 orrs r3, r6
802 00ee 6364 str r3, [r4, #68]
7034:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
803 .loc 1 7034 5 is_stmt 1 view .LVU251
7034:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
804 .loc 1 7034 17 is_stmt 0 view .LVU252
805 00f0 4123 movs r3, #65
806 00f2 2022 movs r2, #32
807 00f4 E254 strb r2, [r4, r3]
7035:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
808 .loc 1 7035 5 is_stmt 1 view .LVU253
7035:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
809 .loc 1 7035 16 is_stmt 0 view .LVU254
810 00f6 0023 movs r3, #0
811 00f8 2232 adds r2, r2, #34
ARM GAS /tmp/ccuRhBPx.s page 145
812 00fa A354 strb r3, [r4, r2]
7038:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
813 .loc 1 7038 5 is_stmt 1 view .LVU255
7038:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
814 .loc 1 7038 5 view .LVU256
815 00fc 023A subs r2, r2, #2
816 00fe A354 strb r3, [r4, r2]
817 .L70:
7038:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
818 .loc 1 7038 5 discriminator 1 view .LVU257
7041:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
819 .loc 1 7041 3 view .LVU258
7042:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
820 .loc 1 7042 1 is_stmt 0 view .LVU259
821 0100 2800 movs r0, r5
822 @ sp needed
823 .LVL76:
824 .LVL77:
825 .LVL78:
7042:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
826 .loc 1 7042 1 view .LVU260
827 0102 80BC pop {r7}
828 0104 B846 mov r8, r7
829 0106 F0BD pop {r4, r5, r6, r7, pc}
830 .LVL79:
831 .L71:
6924:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t itflag = hi2c->Instance->ISR;
832 .loc 1 6924 21 view .LVU261
833 0108 0025 movs r5, #0
834 .LVL80:
6924:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t itflag = hi2c->Instance->ISR;
835 .loc 1 6924 21 view .LVU262
836 010a CBE7 b .L55
837 .LVL81:
838 .L68:
7025:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
839 .loc 1 7025 3 is_stmt 1 view .LVU263
7025:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
840 .loc 1 7025 6 is_stmt 0 view .LVU264
841 010c 002D cmp r5, #0
842 010e F7D0 beq .L70
843 0110 E3E7 b .L69
844 .L79:
845 0112 C046 .align 2
846 .L78:
847 0114 00E800FE .word -33495040
848 .cfi_endproc
849 .LFE116:
851 .section .text.I2C_WaitOnTXISFlagUntilTimeout,"ax",%progbits
852 .align 1
853 .syntax unified
854 .code 16
855 .thumb_func
857 I2C_WaitOnTXISFlagUntilTimeout:
858 .LVL82:
859 .LFB113:
6769:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_TXIS) == RESET)
ARM GAS /tmp/ccuRhBPx.s page 146
860 .loc 1 6769 1 is_stmt 1 view -0
861 .cfi_startproc
862 @ args = 0, pretend = 0, frame = 0
863 @ frame_needed = 0, uses_anonymous_args = 0
6769:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_TXIS) == RESET)
864 .loc 1 6769 1 is_stmt 0 view .LVU266
865 0000 70B5 push {r4, r5, r6, lr}
866 .cfi_def_cfa_offset 16
867 .cfi_offset 4, -16
868 .cfi_offset 5, -12
869 .cfi_offset 6, -8
870 .cfi_offset 14, -4
871 0002 0400 movs r4, r0
872 0004 0D00 movs r5, r1
873 0006 1600 movs r6, r2
6770:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
874 .loc 1 6770 3 is_stmt 1 view .LVU267
875 .LVL83:
876 .L83:
6770:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
877 .loc 1 6770 50 view .LVU268
6770:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
878 .loc 1 6770 10 is_stmt 0 view .LVU269
879 0008 2368 ldr r3, [r4]
880 000a 9B69 ldr r3, [r3, #24]
6770:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
881 .loc 1 6770 50 view .LVU270
882 000c 9B07 lsls r3, r3, #30
883 000e 20D4 bmi .L89
6773:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
884 .loc 1 6773 5 is_stmt 1 view .LVU271
6773:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
885 .loc 1 6773 9 is_stmt 0 view .LVU272
886 0010 3200 movs r2, r6
887 0012 2900 movs r1, r5
888 0014 2000 movs r0, r4
889 0016 FFF7FEFF bl I2C_IsErrorOccurred
890 .LVL84:
6773:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
891 .loc 1 6773 8 discriminator 1 view .LVU273
892 001a 0028 cmp r0, #0
893 001c 1BD1 bne .L86
6779:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
894 .loc 1 6779 5 is_stmt 1 view .LVU274
6779:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
895 .loc 1 6779 8 is_stmt 0 view .LVU275
896 001e 6B1C adds r3, r5, #1
897 0020 F2D0 beq .L83
6781:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
898 .loc 1 6781 7 is_stmt 1 view .LVU276
6781:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
899 .loc 1 6781 13 is_stmt 0 view .LVU277
900 0022 FFF7FEFF bl HAL_GetTick
901 .LVL85:
6781:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
902 .loc 1 6781 27 discriminator 1 view .LVU278
903 0026 801B subs r0, r0, r6
ARM GAS /tmp/ccuRhBPx.s page 147
6781:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
904 .loc 1 6781 10 discriminator 1 view .LVU279
905 0028 A842 cmp r0, r5
906 002a 01D8 bhi .L84
6781:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
907 .loc 1 6781 51 discriminator 1 view .LVU280
908 002c 002D cmp r5, #0
909 002e EBD1 bne .L83
910 .L84:
6783:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
911 .loc 1 6783 9 is_stmt 1 view .LVU281
6783:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
912 .loc 1 6783 14 is_stmt 0 view .LVU282
913 0030 2368 ldr r3, [r4]
914 0032 9B69 ldr r3, [r3, #24]
6783:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
915 .loc 1 6783 12 view .LVU283
916 0034 9B07 lsls r3, r3, #30
917 0036 E7D4 bmi .L83
6785:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
918 .loc 1 6785 11 is_stmt 1 view .LVU284
6785:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
919 .loc 1 6785 15 is_stmt 0 view .LVU285
920 0038 636C ldr r3, [r4, #68]
6785:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
921 .loc 1 6785 27 view .LVU286
922 003a 2022 movs r2, #32
923 003c 1343 orrs r3, r2
924 003e 6364 str r3, [r4, #68]
6786:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
925 .loc 1 6786 11 is_stmt 1 view .LVU287
6786:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
926 .loc 1 6786 23 is_stmt 0 view .LVU288
927 0040 4123 movs r3, #65
928 0042 E254 strb r2, [r4, r3]
6787:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
929 .loc 1 6787 11 is_stmt 1 view .LVU289
6787:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
930 .loc 1 6787 22 is_stmt 0 view .LVU290
931 0044 0023 movs r3, #0
932 0046 2232 adds r2, r2, #34
933 0048 A354 strb r3, [r4, r2]
6790:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
934 .loc 1 6790 11 is_stmt 1 view .LVU291
6790:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
935 .loc 1 6790 11 view .LVU292
936 004a 023A subs r2, r2, #2
937 004c A354 strb r3, [r4, r2]
6790:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
938 .loc 1 6790 11 view .LVU293
6792:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
939 .loc 1 6792 11 view .LVU294
6792:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
940 .loc 1 6792 18 is_stmt 0 view .LVU295
941 004e 0120 movs r0, #1
942 0050 00E0 b .L82
943 .L89:
ARM GAS /tmp/ccuRhBPx.s page 148
6797:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
944 .loc 1 6797 10 view .LVU296
945 0052 0020 movs r0, #0
946 .L82:
6798:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
947 .loc 1 6798 1 view .LVU297
948 @ sp needed
949 .LVL86:
950 .LVL87:
951 .LVL88:
6798:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
952 .loc 1 6798 1 view .LVU298
953 0054 70BD pop {r4, r5, r6, pc}
954 .LVL89:
955 .L86:
6775:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
956 .loc 1 6775 14 view .LVU299
957 0056 0120 movs r0, #1
958 0058 FCE7 b .L82
959 .cfi_endproc
960 .LFE113:
962 .section .text.I2C_WaitOnFlagUntilTimeout,"ax",%progbits
963 .align 1
964 .syntax unified
965 .code 16
966 .thumb_func
968 I2C_WaitOnFlagUntilTimeout:
969 .LVL90:
970 .LFB112:
6735:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, Flag) == Status)
971 .loc 1 6735 1 is_stmt 1 view -0
972 .cfi_startproc
973 @ args = 4, pretend = 0, frame = 8
974 @ frame_needed = 0, uses_anonymous_args = 0
6735:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, Flag) == Status)
975 .loc 1 6735 1 is_stmt 0 view .LVU301
976 0000 F0B5 push {r4, r5, r6, r7, lr}
977 .cfi_def_cfa_offset 20
978 .cfi_offset 4, -20
979 .cfi_offset 5, -16
980 .cfi_offset 6, -12
981 .cfi_offset 7, -8
982 .cfi_offset 14, -4
983 0002 CE46 mov lr, r9
984 0004 00B5 push {lr}
985 .cfi_def_cfa_offset 24
986 .cfi_offset 9, -24
987 0006 82B0 sub sp, sp, #8
988 .cfi_def_cfa_offset 32
989 0008 0700 movs r7, r0
990 000a 0D00 movs r5, r1
991 000c 1600 movs r6, r2
992 000e 9946 mov r9, r3
6736:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
993 .loc 1 6736 3 is_stmt 1 view .LVU302
994 .LVL91:
995 .L92:
ARM GAS /tmp/ccuRhBPx.s page 149
6736:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
996 .loc 1 6736 41 view .LVU303
6736:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
997 .loc 1 6736 10 is_stmt 0 view .LVU304
998 0010 3B68 ldr r3, [r7]
999 0012 9C69 ldr r4, [r3, #24]
1000 0014 2C40 ands r4, r5
1001 0016 641B subs r4, r4, r5
1002 0018 6342 rsbs r3, r4, #0
1003 001a 5C41 adcs r4, r4, r3
6736:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1004 .loc 1 6736 41 view .LVU305
1005 001c 0196 str r6, [sp, #4]
1006 001e B442 cmp r4, r6
1007 0020 21D1 bne .L97
6739:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1008 .loc 1 6739 5 is_stmt 1 view .LVU306
6739:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1009 .loc 1 6739 8 is_stmt 0 view .LVU307
1010 0022 4B46 mov r3, r9
1011 0024 0133 adds r3, r3, #1
1012 0026 F3D0 beq .L92
6741:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1013 .loc 1 6741 7 is_stmt 1 view .LVU308
6741:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1014 .loc 1 6741 13 is_stmt 0 view .LVU309
1015 0028 FFF7FEFF bl HAL_GetTick
1016 .LVL92:
6741:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1017 .loc 1 6741 27 discriminator 1 view .LVU310
1018 002c 089B ldr r3, [sp, #32]
1019 002e C01A subs r0, r0, r3
6741:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1020 .loc 1 6741 10 discriminator 1 view .LVU311
1021 0030 4845 cmp r0, r9
1022 0032 02D8 bhi .L93
6741:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1023 .loc 1 6741 51 discriminator 1 view .LVU312
1024 0034 4B46 mov r3, r9
1025 0036 002B cmp r3, #0
1026 0038 EAD1 bne .L92
1027 .L93:
6743:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1028 .loc 1 6743 9 is_stmt 1 view .LVU313
6743:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1029 .loc 1 6743 14 is_stmt 0 view .LVU314
1030 003a 3B68 ldr r3, [r7]
1031 003c 9B69 ldr r3, [r3, #24]
1032 003e 2B40 ands r3, r5
1033 0040 5B1B subs r3, r3, r5
1034 0042 5A42 rsbs r2, r3, #0
1035 0044 5341 adcs r3, r3, r2
6743:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1036 .loc 1 6743 12 view .LVU315
1037 0046 019A ldr r2, [sp, #4]
1038 0048 9342 cmp r3, r2
1039 004a E1D1 bne .L92
ARM GAS /tmp/ccuRhBPx.s page 150
6745:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
1040 .loc 1 6745 11 is_stmt 1 view .LVU316
6745:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
1041 .loc 1 6745 15 is_stmt 0 view .LVU317
1042 004c 7B6C ldr r3, [r7, #68]
6745:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
1043 .loc 1 6745 27 view .LVU318
1044 004e 2022 movs r2, #32
1045 0050 1343 orrs r3, r2
1046 0052 7B64 str r3, [r7, #68]
6746:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
1047 .loc 1 6746 11 is_stmt 1 view .LVU319
6746:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
1048 .loc 1 6746 23 is_stmt 0 view .LVU320
1049 0054 4123 movs r3, #65
1050 0056 FA54 strb r2, [r7, r3]
6747:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1051 .loc 1 6747 11 is_stmt 1 view .LVU321
6747:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1052 .loc 1 6747 22 is_stmt 0 view .LVU322
1053 0058 0023 movs r3, #0
1054 005a 2232 adds r2, r2, #34
1055 005c BB54 strb r3, [r7, r2]
6750:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
1056 .loc 1 6750 11 is_stmt 1 view .LVU323
6750:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
1057 .loc 1 6750 11 view .LVU324
1058 005e 023A subs r2, r2, #2
1059 0060 BB54 strb r3, [r7, r2]
6750:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
1060 .loc 1 6750 11 view .LVU325
6751:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1061 .loc 1 6751 11 view .LVU326
6751:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1062 .loc 1 6751 18 is_stmt 0 view .LVU327
1063 0062 0120 movs r0, #1
1064 0064 00E0 b .L94
1065 .L97:
6756:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1066 .loc 1 6756 10 view .LVU328
1067 0066 0020 movs r0, #0
1068 .L94:
6757:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1069 .loc 1 6757 1 view .LVU329
1070 0068 02B0 add sp, sp, #8
1071 @ sp needed
1072 .LVL93:
1073 .LVL94:
1074 .LVL95:
1075 .LVL96:
6757:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1076 .loc 1 6757 1 view .LVU330
1077 006a 80BC pop {r7}
1078 006c B946 mov r9, r7
1079 006e F0BD pop {r4, r5, r6, r7, pc}
1080 .cfi_endproc
1081 .LFE112:
ARM GAS /tmp/ccuRhBPx.s page 151
1083 .section .text.I2C_RequestMemoryWrite,"ax",%progbits
1084 .align 1
1085 .syntax unified
1086 .code 16
1087 .thumb_func
1089 I2C_RequestMemoryWrite:
1090 .LVL97:
1091 .LFB95:
5658:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)MemAddSize, I2C_RELOAD_MODE, I2C_GENERATE_START_WRI
1092 .loc 1 5658 1 is_stmt 1 view -0
1093 .cfi_startproc
1094 @ args = 8, pretend = 0, frame = 0
1095 @ frame_needed = 0, uses_anonymous_args = 0
5658:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)MemAddSize, I2C_RELOAD_MODE, I2C_GENERATE_START_WRI
1096 .loc 1 5658 1 is_stmt 0 view .LVU332
1097 0000 70B5 push {r4, r5, r6, lr}
1098 .cfi_def_cfa_offset 16
1099 .cfi_offset 4, -16
1100 .cfi_offset 5, -12
1101 .cfi_offset 6, -8
1102 .cfi_offset 14, -4
1103 0002 82B0 sub sp, sp, #8
1104 .cfi_def_cfa_offset 24
1105 0004 0400 movs r4, r0
1106 0006 1500 movs r5, r2
1107 0008 1E00 movs r6, r3
5659:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1108 .loc 1 5659 3 is_stmt 1 view .LVU333
1109 000a 8023 movs r3, #128
1110 .LVL98:
5659:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1111 .loc 1 5659 3 is_stmt 0 view .LVU334
1112 000c F2B2 uxtb r2, r6
1113 .LVL99:
5659:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1114 .loc 1 5659 3 view .LVU335
1115 000e 1948 ldr r0, .L106
1116 .LVL100:
5659:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1117 .loc 1 5659 3 view .LVU336
1118 0010 0090 str r0, [sp]
1119 0012 5B04 lsls r3, r3, #17
1120 0014 2000 movs r0, r4
1121 0016 FFF7FEFF bl I2C_TransferConfig
1122 .LVL101:
5662:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1123 .loc 1 5662 3 is_stmt 1 view .LVU337
5662:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1124 .loc 1 5662 7 is_stmt 0 view .LVU338
1125 001a 079A ldr r2, [sp, #28]
1126 001c 0699 ldr r1, [sp, #24]
1127 001e 2000 movs r0, r4
1128 0020 FFF7FEFF bl I2C_WaitOnTXISFlagUntilTimeout
1129 .LVL102:
5662:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1130 .loc 1 5662 6 discriminator 1 view .LVU339
1131 0024 0028 cmp r0, #0
ARM GAS /tmp/ccuRhBPx.s page 152
1132 0026 1ED1 bne .L102
5668:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1133 .loc 1 5668 3 is_stmt 1 view .LVU340
5668:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1134 .loc 1 5668 6 is_stmt 0 view .LVU341
1135 0028 012E cmp r6, #1
1136 002a 0ED1 bne .L100
5671:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1137 .loc 1 5671 5 is_stmt 1 view .LVU342
5671:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1138 .loc 1 5671 9 is_stmt 0 view .LVU343
1139 002c 2368 ldr r3, [r4]
5671:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1140 .loc 1 5671 28 view .LVU344
1141 002e EDB2 uxtb r5, r5
1142 .LVL103:
5671:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1143 .loc 1 5671 26 view .LVU345
1144 0030 9D62 str r5, [r3, #40]
1145 .L101:
5690:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1146 .loc 1 5690 3 is_stmt 1 view .LVU346
5690:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1147 .loc 1 5690 7 is_stmt 0 view .LVU347
1148 0032 079B ldr r3, [sp, #28]
1149 0034 0093 str r3, [sp]
1150 0036 069B ldr r3, [sp, #24]
1151 0038 0022 movs r2, #0
1152 003a 8021 movs r1, #128
1153 003c 2000 movs r0, r4
1154 003e FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
1155 .LVL104:
5690:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1156 .loc 1 5690 6 discriminator 1 view .LVU348
1157 0042 0028 cmp r0, #0
1158 0044 13D1 bne .L105
1159 .L99:
5696:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1160 .loc 1 5696 1 view .LVU349
1161 0046 02B0 add sp, sp, #8
1162 @ sp needed
1163 .LVL105:
1164 .LVL106:
5696:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1165 .loc 1 5696 1 view .LVU350
1166 0048 70BD pop {r4, r5, r6, pc}
1167 .LVL107:
1168 .L100:
5677:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1169 .loc 1 5677 5 is_stmt 1 view .LVU351
5677:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1170 .loc 1 5677 9 is_stmt 0 view .LVU352
1171 004a 2368 ldr r3, [r4]
5677:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1172 .loc 1 5677 28 view .LVU353
1173 004c 2A0A lsrs r2, r5, #8
5677:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
ARM GAS /tmp/ccuRhBPx.s page 153
1174 .loc 1 5677 26 view .LVU354
1175 004e 9A62 str r2, [r3, #40]
5680:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1176 .loc 1 5680 5 is_stmt 1 view .LVU355
5680:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1177 .loc 1 5680 9 is_stmt 0 view .LVU356
1178 0050 079A ldr r2, [sp, #28]
1179 0052 0699 ldr r1, [sp, #24]
1180 0054 2000 movs r0, r4
1181 0056 FFF7FEFF bl I2C_WaitOnTXISFlagUntilTimeout
1182 .LVL108:
5680:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1183 .loc 1 5680 8 discriminator 1 view .LVU357
1184 005a 0028 cmp r0, #0
1185 005c 05D1 bne .L103
5686:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1186 .loc 1 5686 5 is_stmt 1 view .LVU358
5686:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1187 .loc 1 5686 9 is_stmt 0 view .LVU359
1188 005e 2368 ldr r3, [r4]
5686:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1189 .loc 1 5686 28 view .LVU360
1190 0060 EDB2 uxtb r5, r5
5686:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1191 .loc 1 5686 26 view .LVU361
1192 0062 9D62 str r5, [r3, #40]
1193 0064 E5E7 b .L101
1194 .L102:
5664:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1195 .loc 1 5664 12 view .LVU362
1196 0066 0120 movs r0, #1
1197 0068 EDE7 b .L99
1198 .L103:
5682:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1199 .loc 1 5682 14 view .LVU363
1200 006a 0120 movs r0, #1
1201 006c EBE7 b .L99
1202 .L105:
5692:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1203 .loc 1 5692 12 view .LVU364
1204 006e 0120 movs r0, #1
1205 0070 E9E7 b .L99
1206 .L107:
1207 0072 C046 .align 2
1208 .L106:
1209 0074 00200080 .word -2147475456
1210 .cfi_endproc
1211 .LFE95:
1213 .section .text.I2C_RequestMemoryRead,"ax",%progbits
1214 .align 1
1215 .syntax unified
1216 .code 16
1217 .thumb_func
1219 I2C_RequestMemoryRead:
1220 .LVL109:
1221 .LFB96:
5713:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)MemAddSize, I2C_SOFTEND_MODE, I2C_GENERATE_START_WR
ARM GAS /tmp/ccuRhBPx.s page 154
1222 .loc 1 5713 1 is_stmt 1 view -0
1223 .cfi_startproc
1224 @ args = 8, pretend = 0, frame = 0
1225 @ frame_needed = 0, uses_anonymous_args = 0
5713:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)MemAddSize, I2C_SOFTEND_MODE, I2C_GENERATE_START_WR
1226 .loc 1 5713 1 is_stmt 0 view .LVU366
1227 0000 70B5 push {r4, r5, r6, lr}
1228 .cfi_def_cfa_offset 16
1229 .cfi_offset 4, -16
1230 .cfi_offset 5, -12
1231 .cfi_offset 6, -8
1232 .cfi_offset 14, -4
1233 0002 82B0 sub sp, sp, #8
1234 .cfi_def_cfa_offset 24
1235 0004 0400 movs r4, r0
1236 0006 1500 movs r5, r2
1237 0008 1E00 movs r6, r3
5714:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1238 .loc 1 5714 3 is_stmt 1 view .LVU367
1239 000a DAB2 uxtb r2, r3
1240 .LVL110:
5714:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1241 .loc 1 5714 3 is_stmt 0 view .LVU368
1242 000c 184B ldr r3, .L116
1243 .LVL111:
5714:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1244 .loc 1 5714 3 view .LVU369
1245 000e 0093 str r3, [sp]
1246 0010 0023 movs r3, #0
1247 0012 FFF7FEFF bl I2C_TransferConfig
1248 .LVL112:
5717:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1249 .loc 1 5717 3 is_stmt 1 view .LVU370
5717:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1250 .loc 1 5717 7 is_stmt 0 view .LVU371
1251 0016 079A ldr r2, [sp, #28]
1252 0018 0699 ldr r1, [sp, #24]
1253 001a 2000 movs r0, r4
1254 001c FFF7FEFF bl I2C_WaitOnTXISFlagUntilTimeout
1255 .LVL113:
5717:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1256 .loc 1 5717 6 discriminator 1 view .LVU372
1257 0020 0028 cmp r0, #0
1258 0022 1ED1 bne .L112
5723:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1259 .loc 1 5723 3 is_stmt 1 view .LVU373
5723:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1260 .loc 1 5723 6 is_stmt 0 view .LVU374
1261 0024 012E cmp r6, #1
1262 0026 0ED1 bne .L110
5726:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1263 .loc 1 5726 5 is_stmt 1 view .LVU375
5726:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1264 .loc 1 5726 9 is_stmt 0 view .LVU376
1265 0028 2368 ldr r3, [r4]
5726:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1266 .loc 1 5726 28 view .LVU377
ARM GAS /tmp/ccuRhBPx.s page 155
1267 002a EDB2 uxtb r5, r5
1268 .LVL114:
5726:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1269 .loc 1 5726 26 view .LVU378
1270 002c 9D62 str r5, [r3, #40]
1271 .L111:
5745:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1272 .loc 1 5745 3 is_stmt 1 view .LVU379
5745:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1273 .loc 1 5745 7 is_stmt 0 view .LVU380
1274 002e 079B ldr r3, [sp, #28]
1275 0030 0093 str r3, [sp]
1276 0032 069B ldr r3, [sp, #24]
1277 0034 0022 movs r2, #0
1278 0036 4021 movs r1, #64
1279 0038 2000 movs r0, r4
1280 003a FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
1281 .LVL115:
5745:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1282 .loc 1 5745 6 discriminator 1 view .LVU381
1283 003e 0028 cmp r0, #0
1284 0040 13D1 bne .L115
1285 .L109:
5751:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1286 .loc 1 5751 1 view .LVU382
1287 0042 02B0 add sp, sp, #8
1288 @ sp needed
1289 .LVL116:
1290 .LVL117:
5751:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1291 .loc 1 5751 1 view .LVU383
1292 0044 70BD pop {r4, r5, r6, pc}
1293 .LVL118:
1294 .L110:
5732:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1295 .loc 1 5732 5 is_stmt 1 view .LVU384
5732:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1296 .loc 1 5732 9 is_stmt 0 view .LVU385
1297 0046 2368 ldr r3, [r4]
5732:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1298 .loc 1 5732 28 view .LVU386
1299 0048 2A0A lsrs r2, r5, #8
5732:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1300 .loc 1 5732 26 view .LVU387
1301 004a 9A62 str r2, [r3, #40]
5735:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1302 .loc 1 5735 5 is_stmt 1 view .LVU388
5735:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1303 .loc 1 5735 9 is_stmt 0 view .LVU389
1304 004c 079A ldr r2, [sp, #28]
1305 004e 0699 ldr r1, [sp, #24]
1306 0050 2000 movs r0, r4
1307 0052 FFF7FEFF bl I2C_WaitOnTXISFlagUntilTimeout
1308 .LVL119:
5735:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1309 .loc 1 5735 8 discriminator 1 view .LVU390
1310 0056 0028 cmp r0, #0
ARM GAS /tmp/ccuRhBPx.s page 156
1311 0058 05D1 bne .L113
5741:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1312 .loc 1 5741 5 is_stmt 1 view .LVU391
5741:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1313 .loc 1 5741 9 is_stmt 0 view .LVU392
1314 005a 2368 ldr r3, [r4]
5741:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1315 .loc 1 5741 28 view .LVU393
1316 005c EDB2 uxtb r5, r5
5741:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1317 .loc 1 5741 26 view .LVU394
1318 005e 9D62 str r5, [r3, #40]
1319 0060 E5E7 b .L111
1320 .L112:
5719:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1321 .loc 1 5719 12 view .LVU395
1322 0062 0120 movs r0, #1
1323 0064 EDE7 b .L109
1324 .L113:
5737:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1325 .loc 1 5737 14 view .LVU396
1326 0066 0120 movs r0, #1
1327 0068 EBE7 b .L109
1328 .L115:
5747:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1329 .loc 1 5747 12 view .LVU397
1330 006a 0120 movs r0, #1
1331 006c E9E7 b .L109
1332 .L117:
1333 006e C046 .align 2
1334 .L116:
1335 0070 00200080 .word -2147475456
1336 .cfi_endproc
1337 .LFE96:
1339 .section .text.I2C_WaitOnSTOPFlagUntilTimeout,"ax",%progbits
1340 .align 1
1341 .syntax unified
1342 .code 16
1343 .thumb_func
1345 I2C_WaitOnSTOPFlagUntilTimeout:
1346 .LVL120:
1347 .LFB114:
6810:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_STOPF) == RESET)
1348 .loc 1 6810 1 is_stmt 1 view -0
1349 .cfi_startproc
1350 @ args = 0, pretend = 0, frame = 0
1351 @ frame_needed = 0, uses_anonymous_args = 0
6810:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_STOPF) == RESET)
1352 .loc 1 6810 1 is_stmt 0 view .LVU399
1353 0000 70B5 push {r4, r5, r6, lr}
1354 .cfi_def_cfa_offset 16
1355 .cfi_offset 4, -16
1356 .cfi_offset 5, -12
1357 .cfi_offset 6, -8
1358 .cfi_offset 14, -4
1359 0002 0400 movs r4, r0
1360 0004 0D00 movs r5, r1
ARM GAS /tmp/ccuRhBPx.s page 157
1361 0006 1600 movs r6, r2
6811:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1362 .loc 1 6811 3 is_stmt 1 view .LVU400
6811:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1363 .loc 1 6811 9 is_stmt 0 view .LVU401
1364 0008 03E0 b .L119
1365 .LVL121:
1366 .L121:
6822:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1367 .loc 1 6822 7 is_stmt 1 view .LVU402
6822:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1368 .loc 1 6822 12 is_stmt 0 view .LVU403
1369 000a 2368 ldr r3, [r4]
1370 000c 9B69 ldr r3, [r3, #24]
6822:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1371 .loc 1 6822 10 view .LVU404
1372 000e 9B06 lsls r3, r3, #26
1373 0010 12D5 bpl .L125
1374 .L119:
6811:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1375 .loc 1 6811 51 is_stmt 1 view .LVU405
6811:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1376 .loc 1 6811 10 is_stmt 0 view .LVU406
1377 0012 2368 ldr r3, [r4]
1378 0014 9B69 ldr r3, [r3, #24]
6811:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1379 .loc 1 6811 51 view .LVU407
1380 0016 9B06 lsls r3, r3, #26
1381 0018 1BD4 bmi .L126
6814:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1382 .loc 1 6814 5 is_stmt 1 view .LVU408
6814:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1383 .loc 1 6814 9 is_stmt 0 view .LVU409
1384 001a 3200 movs r2, r6
1385 001c 2900 movs r1, r5
1386 001e 2000 movs r0, r4
1387 0020 FFF7FEFF bl I2C_IsErrorOccurred
1388 .LVL122:
6814:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1389 .loc 1 6814 8 discriminator 1 view .LVU410
1390 0024 0028 cmp r0, #0
1391 0026 16D1 bne .L123
6820:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1392 .loc 1 6820 5 is_stmt 1 view .LVU411
6820:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1393 .loc 1 6820 11 is_stmt 0 view .LVU412
1394 0028 FFF7FEFF bl HAL_GetTick
1395 .LVL123:
6820:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1396 .loc 1 6820 25 discriminator 1 view .LVU413
1397 002c 801B subs r0, r0, r6
6820:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1398 .loc 1 6820 8 discriminator 1 view .LVU414
1399 002e A842 cmp r0, r5
1400 0030 EBD8 bhi .L121
6820:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1401 .loc 1 6820 49 discriminator 1 view .LVU415
ARM GAS /tmp/ccuRhBPx.s page 158
1402 0032 002D cmp r5, #0
1403 0034 EDD1 bne .L119
1404 0036 E8E7 b .L121
1405 .L125:
6824:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
1406 .loc 1 6824 9 is_stmt 1 view .LVU416
6824:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
1407 .loc 1 6824 13 is_stmt 0 view .LVU417
1408 0038 636C ldr r3, [r4, #68]
6824:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
1409 .loc 1 6824 25 view .LVU418
1410 003a 2022 movs r2, #32
1411 003c 1343 orrs r3, r2
1412 003e 6364 str r3, [r4, #68]
6825:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
1413 .loc 1 6825 9 is_stmt 1 view .LVU419
6825:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
1414 .loc 1 6825 21 is_stmt 0 view .LVU420
1415 0040 4123 movs r3, #65
1416 0042 E254 strb r2, [r4, r3]
6826:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1417 .loc 1 6826 9 is_stmt 1 view .LVU421
6826:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1418 .loc 1 6826 20 is_stmt 0 view .LVU422
1419 0044 0023 movs r3, #0
1420 0046 2232 adds r2, r2, #34
1421 0048 A354 strb r3, [r4, r2]
6829:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1422 .loc 1 6829 9 is_stmt 1 view .LVU423
6829:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1423 .loc 1 6829 9 view .LVU424
1424 004a 023A subs r2, r2, #2
1425 004c A354 strb r3, [r4, r2]
6829:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1426 .loc 1 6829 9 view .LVU425
6831:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1427 .loc 1 6831 9 view .LVU426
6831:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1428 .loc 1 6831 16 is_stmt 0 view .LVU427
1429 004e 0120 movs r0, #1
1430 0050 00E0 b .L120
1431 .L126:
6835:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1432 .loc 1 6835 10 view .LVU428
1433 0052 0020 movs r0, #0
1434 .L120:
6836:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1435 .loc 1 6836 1 view .LVU429
1436 @ sp needed
1437 .LVL124:
1438 .LVL125:
1439 .LVL126:
6836:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1440 .loc 1 6836 1 view .LVU430
1441 0054 70BD pop {r4, r5, r6, pc}
1442 .LVL127:
1443 .L123:
ARM GAS /tmp/ccuRhBPx.s page 159
6816:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1444 .loc 1 6816 14 view .LVU431
1445 0056 0120 movs r0, #1
1446 0058 FCE7 b .L120
1447 .cfi_endproc
1448 .LFE114:
1450 .section .text.I2C_WaitOnRXNEFlagUntilTimeout,"ax",%progbits
1451 .align 1
1452 .syntax unified
1453 .code 16
1454 .thumb_func
1456 I2C_WaitOnRXNEFlagUntilTimeout:
1457 .LVL128:
1458 .LFB115:
6848:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_RXNE) == RESET)
1459 .loc 1 6848 1 is_stmt 1 view -0
1460 .cfi_startproc
1461 @ args = 0, pretend = 0, frame = 0
1462 @ frame_needed = 0, uses_anonymous_args = 0
6848:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_RXNE) == RESET)
1463 .loc 1 6848 1 is_stmt 0 view .LVU433
1464 0000 70B5 push {r4, r5, r6, lr}
1465 .cfi_def_cfa_offset 16
1466 .cfi_offset 4, -16
1467 .cfi_offset 5, -12
1468 .cfi_offset 6, -8
1469 .cfi_offset 14, -4
1470 0002 0400 movs r4, r0
1471 0004 0D00 movs r5, r1
1472 0006 1600 movs r6, r2
6849:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1473 .loc 1 6849 3 is_stmt 1 view .LVU434
6849:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1474 .loc 1 6849 9 is_stmt 0 view .LVU435
1475 0008 24E0 b .L128
1476 .LVL129:
1477 .L141:
6862:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1478 .loc 1 6862 7 is_stmt 1 view .LVU436
6862:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1479 .loc 1 6862 12 is_stmt 0 view .LVU437
1480 000a 9369 ldr r3, [r2, #24]
6862:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1481 .loc 1 6862 10 view .LVU438
1482 000c 5B07 lsls r3, r3, #29
1483 000e 02D5 bpl .L131
6862:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1484 .loc 1 6862 68 discriminator 1 view .LVU439
1485 0010 238D ldrh r3, [r4, #40]
6862:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1486 .loc 1 6862 60 discriminator 1 view .LVU440
1487 0012 002B cmp r3, #0
1488 0014 41D1 bne .L129
1489 .L131:
6870:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1490 .loc 1 6870 9 is_stmt 1 view .LVU441
6870:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
ARM GAS /tmp/ccuRhBPx.s page 160
1491 .loc 1 6870 13 is_stmt 0 view .LVU442
1492 0016 9369 ldr r3, [r2, #24]
6870:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1493 .loc 1 6870 12 view .LVU443
1494 0018 DB06 lsls r3, r3, #27
1495 001a 14D5 bpl .L132
6872:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_AF;
1496 .loc 1 6872 11 is_stmt 1 view .LVU444
1497 001c 1023 movs r3, #16
1498 001e D361 str r3, [r2, #28]
6873:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1499 .loc 1 6873 11 view .LVU445
6873:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1500 .loc 1 6873 27 is_stmt 0 view .LVU446
1501 0020 0C3B subs r3, r3, #12
1502 0022 6364 str r3, [r4, #68]
1503 .L133:
6881:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1504 .loc 1 6881 9 is_stmt 1 view .LVU447
1505 0024 2368 ldr r3, [r4]
1506 0026 2022 movs r2, #32
1507 0028 DA61 str r2, [r3, #28]
6884:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1508 .loc 1 6884 9 view .LVU448
1509 002a 2168 ldr r1, [r4]
1510 002c 4B68 ldr r3, [r1, #4]
1511 002e 1C48 ldr r0, .L142
1512 0030 0340 ands r3, r0
1513 0032 4B60 str r3, [r1, #4]
6886:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
1514 .loc 1 6886 9 view .LVU449
6886:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
1515 .loc 1 6886 21 is_stmt 0 view .LVU450
1516 0034 4123 movs r3, #65
1517 0036 E254 strb r2, [r4, r3]
6887:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1518 .loc 1 6887 9 is_stmt 1 view .LVU451
6887:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1519 .loc 1 6887 20 is_stmt 0 view .LVU452
1520 0038 0023 movs r3, #0
1521 003a 2232 adds r2, r2, #34
1522 003c A354 strb r3, [r4, r2]
6890:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1523 .loc 1 6890 9 is_stmt 1 view .LVU453
6890:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1524 .loc 1 6890 9 view .LVU454
1525 003e 023A subs r2, r2, #2
1526 0040 A354 strb r3, [r4, r2]
6890:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1527 .loc 1 6890 9 view .LVU455
6892:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1528 .loc 1 6892 9 view .LVU456
6892:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1529 .loc 1 6892 16 is_stmt 0 view .LVU457
1530 0042 0120 movs r0, #1
1531 0044 29E0 b .L129
1532 .L132:
ARM GAS /tmp/ccuRhBPx.s page 161
6877:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1533 .loc 1 6877 11 is_stmt 1 view .LVU458
6877:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1534 .loc 1 6877 27 is_stmt 0 view .LVU459
1535 0046 0023 movs r3, #0
1536 0048 6364 str r3, [r4, #68]
1537 004a EBE7 b .L133
1538 .L134:
6899:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1539 .loc 1 6899 7 is_stmt 1 view .LVU460
6899:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1540 .loc 1 6899 12 is_stmt 0 view .LVU461
1541 004c 2368 ldr r3, [r4]
1542 004e 9B69 ldr r3, [r3, #24]
6899:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1543 .loc 1 6899 10 view .LVU462
1544 0050 5B07 lsls r3, r3, #29
1545 0052 16D5 bpl .L139
1546 .L128:
6849:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1547 .loc 1 6849 50 is_stmt 1 view .LVU463
6849:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1548 .loc 1 6849 10 is_stmt 0 view .LVU464
1549 0054 2368 ldr r3, [r4]
1550 0056 9B69 ldr r3, [r3, #24]
6849:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1551 .loc 1 6849 50 view .LVU465
1552 0058 5B07 lsls r3, r3, #29
1553 005a 1DD4 bmi .L140
6852:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1554 .loc 1 6852 5 is_stmt 1 view .LVU466
6852:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1555 .loc 1 6852 9 is_stmt 0 view .LVU467
1556 005c 3200 movs r2, r6
1557 005e 2900 movs r1, r5
1558 0060 2000 movs r0, r4
1559 0062 FFF7FEFF bl I2C_IsErrorOccurred
1560 .LVL130:
6852:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1561 .loc 1 6852 8 discriminator 1 view .LVU468
1562 0066 0028 cmp r0, #0
1563 0068 18D1 bne .L136
6858:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1564 .loc 1 6858 5 is_stmt 1 view .LVU469
6858:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1565 .loc 1 6858 9 is_stmt 0 view .LVU470
1566 006a 2268 ldr r2, [r4]
1567 006c 9369 ldr r3, [r2, #24]
6858:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1568 .loc 1 6858 8 view .LVU471
1569 006e 9B06 lsls r3, r3, #26
1570 0070 CBD4 bmi .L141
6897:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1571 .loc 1 6897 5 is_stmt 1 view .LVU472
6897:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1572 .loc 1 6897 11 is_stmt 0 view .LVU473
1573 0072 FFF7FEFF bl HAL_GetTick
ARM GAS /tmp/ccuRhBPx.s page 162
1574 .LVL131:
6897:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1575 .loc 1 6897 25 discriminator 1 view .LVU474
1576 0076 801B subs r0, r0, r6
6897:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1577 .loc 1 6897 8 discriminator 1 view .LVU475
1578 0078 A842 cmp r0, r5
1579 007a E7D8 bhi .L134
6897:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1580 .loc 1 6897 49 discriminator 1 view .LVU476
1581 007c 002D cmp r5, #0
1582 007e E9D1 bne .L128
1583 0080 E4E7 b .L134
1584 .L139:
6901:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
1585 .loc 1 6901 9 is_stmt 1 view .LVU477
6901:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
1586 .loc 1 6901 13 is_stmt 0 view .LVU478
1587 0082 636C ldr r3, [r4, #68]
6901:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
1588 .loc 1 6901 25 view .LVU479
1589 0084 2022 movs r2, #32
1590 0086 1343 orrs r3, r2
1591 0088 6364 str r3, [r4, #68]
6902:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1592 .loc 1 6902 9 is_stmt 1 view .LVU480
6902:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1593 .loc 1 6902 21 is_stmt 0 view .LVU481
1594 008a 4123 movs r3, #65
1595 008c E254 strb r2, [r4, r3]
6905:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1596 .loc 1 6905 9 is_stmt 1 view .LVU482
6905:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1597 .loc 1 6905 9 view .LVU483
1598 008e 013B subs r3, r3, #1
1599 0090 0022 movs r2, #0
1600 0092 E254 strb r2, [r4, r3]
6905:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1601 .loc 1 6905 9 view .LVU484
6907:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1602 .loc 1 6907 9 view .LVU485
6907:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1603 .loc 1 6907 16 is_stmt 0 view .LVU486
1604 0094 0120 movs r0, #1
1605 0096 00E0 b .L129
1606 .L140:
6911:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1607 .loc 1 6911 10 view .LVU487
1608 0098 0020 movs r0, #0
1609 .L129:
6912:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1610 .loc 1 6912 1 view .LVU488
1611 @ sp needed
1612 .LVL132:
1613 .LVL133:
1614 .LVL134:
6912:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
ARM GAS /tmp/ccuRhBPx.s page 163
1615 .loc 1 6912 1 view .LVU489
1616 009a 70BD pop {r4, r5, r6, pc}
1617 .LVL135:
1618 .L136:
6854:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1619 .loc 1 6854 14 view .LVU490
1620 009c 0120 movs r0, #1
1621 009e FCE7 b .L129
1622 .L143:
1623 .align 2
1624 .L142:
1625 00a0 00E800FE .word -33495040
1626 .cfi_endproc
1627 .LFE115:
1629 .section .text.HAL_I2C_MspInit,"ax",%progbits
1630 .align 1
1631 .weak HAL_I2C_MspInit
1632 .syntax unified
1633 .code 16
1634 .thumb_func
1636 HAL_I2C_MspInit:
1637 .LVL136:
1638 .LFB42:
692:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
1639 .loc 1 692 1 is_stmt 1 view -0
1640 .cfi_startproc
1641 @ args = 0, pretend = 0, frame = 0
1642 @ frame_needed = 0, uses_anonymous_args = 0
1643 @ link register save eliminated.
694:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1644 .loc 1 694 3 view .LVU492
699:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1645 .loc 1 699 1 is_stmt 0 view .LVU493
1646 @ sp needed
1647 0000 7047 bx lr
1648 .cfi_endproc
1649 .LFE42:
1651 .section .text.HAL_I2C_Init,"ax",%progbits
1652 .align 1
1653 .global HAL_I2C_Init
1654 .syntax unified
1655 .code 16
1656 .thumb_func
1658 HAL_I2C_Init:
1659 .LVL137:
1660 .LFB40:
536:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check the I2C handle allocation */
1661 .loc 1 536 1 is_stmt 1 view -0
1662 .cfi_startproc
1663 @ args = 0, pretend = 0, frame = 0
1664 @ frame_needed = 0, uses_anonymous_args = 0
536:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check the I2C handle allocation */
1665 .loc 1 536 1 is_stmt 0 view .LVU495
1666 0000 10B5 push {r4, lr}
1667 .cfi_def_cfa_offset 8
1668 .cfi_offset 4, -8
1669 .cfi_offset 14, -4
ARM GAS /tmp/ccuRhBPx.s page 164
1670 0002 041E subs r4, r0, #0
538:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1671 .loc 1 538 3 is_stmt 1 view .LVU496
538:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1672 .loc 1 538 6 is_stmt 0 view .LVU497
1673 0004 59D0 beq .L151
544:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_OWN_ADDRESS1(hi2c->Init.OwnAddress1));
1674 .loc 1 544 3 is_stmt 1 view .LVU498
545:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_ADDRESSING_MODE(hi2c->Init.AddressingMode));
1675 .loc 1 545 3 view .LVU499
546:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_DUAL_ADDRESS(hi2c->Init.DualAddressMode));
1676 .loc 1 546 3 view .LVU500
547:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_OWN_ADDRESS2(hi2c->Init.OwnAddress2));
1677 .loc 1 547 3 view .LVU501
548:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_OWN_ADDRESS2_MASK(hi2c->Init.OwnAddress2Masks));
1678 .loc 1 548 3 view .LVU502
549:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_GENERAL_CALL(hi2c->Init.GeneralCallMode));
1679 .loc 1 549 3 view .LVU503
550:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_NO_STRETCH(hi2c->Init.NoStretchMode));
1680 .loc 1 550 3 view .LVU504
551:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1681 .loc 1 551 3 view .LVU505
553:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1682 .loc 1 553 3 view .LVU506
553:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1683 .loc 1 553 11 is_stmt 0 view .LVU507
1684 0006 4123 movs r3, #65
1685 0008 C35C ldrb r3, [r0, r3]
553:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1686 .loc 1 553 6 view .LVU508
1687 000a 002B cmp r3, #0
1688 000c 43D0 beq .L152
1689 .LVL138:
1690 .L147:
584:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1691 .loc 1 584 3 is_stmt 1 view .LVU509
584:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1692 .loc 1 584 15 is_stmt 0 view .LVU510
1693 000e 4123 movs r3, #65
1694 0010 2422 movs r2, #36
1695 0012 E254 strb r2, [r4, r3]
587:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1696 .loc 1 587 3 is_stmt 1 view .LVU511
1697 0014 2268 ldr r2, [r4]
1698 0016 1368 ldr r3, [r2]
1699 0018 0121 movs r1, #1
1700 001a 8B43 bics r3, r1
1701 001c 1360 str r3, [r2]
591:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1702 .loc 1 591 3 view .LVU512
591:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1703 .loc 1 591 39 is_stmt 0 view .LVU513
1704 001e 6368 ldr r3, [r4, #4]
591:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1705 .loc 1 591 7 view .LVU514
1706 0020 2268 ldr r2, [r4]
591:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
ARM GAS /tmp/ccuRhBPx.s page 165
1707 .loc 1 591 47 view .LVU515
1708 0022 2749 ldr r1, .L155
1709 0024 0B40 ands r3, r1
591:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1710 .loc 1 591 27 view .LVU516
1711 0026 1361 str r3, [r2, #16]
595:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1712 .loc 1 595 3 is_stmt 1 view .LVU517
595:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1713 .loc 1 595 7 is_stmt 0 view .LVU518
1714 0028 2268 ldr r2, [r4]
595:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1715 .loc 1 595 17 view .LVU519
1716 002a 9368 ldr r3, [r2, #8]
595:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1717 .loc 1 595 24 view .LVU520
1718 002c 2549 ldr r1, .L155+4
1719 002e 0B40 ands r3, r1
1720 0030 9360 str r3, [r2, #8]
598:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1721 .loc 1 598 3 is_stmt 1 view .LVU521
598:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1722 .loc 1 598 17 is_stmt 0 view .LVU522
1723 0032 E368 ldr r3, [r4, #12]
598:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1724 .loc 1 598 6 view .LVU523
1725 0034 012B cmp r3, #1
1726 0036 34D0 beq .L153
604:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1727 .loc 1 604 5 is_stmt 1 view .LVU524
604:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1728 .loc 1 604 75 is_stmt 0 view .LVU525
1729 0038 A168 ldr r1, [r4, #8]
604:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1730 .loc 1 604 9 view .LVU526
1731 003a 2268 ldr r2, [r4]
604:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1732 .loc 1 604 63 view .LVU527
1733 003c 8423 movs r3, #132
1734 003e 1B02 lsls r3, r3, #8
1735 0040 0B43 orrs r3, r1
604:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1736 .loc 1 604 26 view .LVU528
1737 0042 9360 str r3, [r2, #8]
1738 .L149:
609:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1739 .loc 1 609 3 is_stmt 1 view .LVU529
609:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1740 .loc 1 609 17 is_stmt 0 view .LVU530
1741 0044 E368 ldr r3, [r4, #12]
609:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1742 .loc 1 609 6 view .LVU531
1743 0046 022B cmp r3, #2
1744 0048 32D0 beq .L154
1745 .L150:
614:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1746 .loc 1 614 3 is_stmt 1 view .LVU532
ARM GAS /tmp/ccuRhBPx.s page 166
614:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1747 .loc 1 614 7 is_stmt 0 view .LVU533
1748 004a 2268 ldr r2, [r4]
614:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1749 .loc 1 614 17 view .LVU534
1750 004c 5168 ldr r1, [r2, #4]
614:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1751 .loc 1 614 23 view .LVU535
1752 004e 1E4B ldr r3, .L155+8
1753 0050 0B43 orrs r3, r1
1754 0052 5360 str r3, [r2, #4]
618:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1755 .loc 1 618 3 is_stmt 1 view .LVU536
618:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1756 .loc 1 618 7 is_stmt 0 view .LVU537
1757 0054 2268 ldr r2, [r4]
618:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1758 .loc 1 618 17 view .LVU538
1759 0056 D368 ldr r3, [r2, #12]
618:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1760 .loc 1 618 24 view .LVU539
1761 0058 1A49 ldr r1, .L155+4
1762 005a 0B40 ands r3, r1
1763 005c D360 str r3, [r2, #12]
621:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (hi2c->Init.OwnAddress2Masks << 8));
1764 .loc 1 621 3 is_stmt 1 view .LVU540
621:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (hi2c->Init.OwnAddress2Masks << 8));
1765 .loc 1 621 37 is_stmt 0 view .LVU541
1766 005e 2369 ldr r3, [r4, #16]
621:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (hi2c->Init.OwnAddress2Masks << 8));
1767 .loc 1 621 66 view .LVU542
1768 0060 6269 ldr r2, [r4, #20]
621:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (hi2c->Init.OwnAddress2Masks << 8));
1769 .loc 1 621 54 view .LVU543
1770 0062 1343 orrs r3, r2
622:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1771 .loc 1 622 38 view .LVU544
1772 0064 A269 ldr r2, [r4, #24]
622:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1773 .loc 1 622 56 view .LVU545
1774 0066 1202 lsls r2, r2, #8
621:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (hi2c->Init.OwnAddress2Masks << 8));
1775 .loc 1 621 7 view .LVU546
1776 0068 2168 ldr r1, [r4]
621:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (hi2c->Init.OwnAddress2Masks << 8));
1777 .loc 1 621 79 view .LVU547
1778 006a 1343 orrs r3, r2
621:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (hi2c->Init.OwnAddress2Masks << 8));
1779 .loc 1 621 24 view .LVU548
1780 006c CB60 str r3, [r1, #12]
626:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1781 .loc 1 626 3 is_stmt 1 view .LVU549
626:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1782 .loc 1 626 36 is_stmt 0 view .LVU550
1783 006e E369 ldr r3, [r4, #28]
626:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1784 .loc 1 626 65 view .LVU551
ARM GAS /tmp/ccuRhBPx.s page 167
1785 0070 216A ldr r1, [r4, #32]
626:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1786 .loc 1 626 7 view .LVU552
1787 0072 2268 ldr r2, [r4]
626:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1788 .loc 1 626 53 view .LVU553
1789 0074 0B43 orrs r3, r1
626:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1790 .loc 1 626 23 view .LVU554
1791 0076 1360 str r3, [r2]
629:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1792 .loc 1 629 3 is_stmt 1 view .LVU555
1793 0078 2268 ldr r2, [r4]
1794 007a 1368 ldr r3, [r2]
1795 007c 0121 movs r1, #1
1796 007e 0B43 orrs r3, r1
1797 0080 1360 str r3, [r2]
631:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
1798 .loc 1 631 3 view .LVU556
631:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
1799 .loc 1 631 19 is_stmt 0 view .LVU557
1800 0082 0023 movs r3, #0
1801 0084 6364 str r3, [r4, #68]
632:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
1802 .loc 1 632 3 is_stmt 1 view .LVU558
632:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
1803 .loc 1 632 15 is_stmt 0 view .LVU559
1804 0086 4122 movs r2, #65
1805 0088 1F31 adds r1, r1, #31
1806 008a A154 strb r1, [r4, r2]
633:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
1807 .loc 1 633 3 is_stmt 1 view .LVU560
633:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
1808 .loc 1 633 23 is_stmt 0 view .LVU561
1809 008c 2363 str r3, [r4, #48]
634:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1810 .loc 1 634 3 is_stmt 1 view .LVU562
634:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1811 .loc 1 634 14 is_stmt 0 view .LVU563
1812 008e 0132 adds r2, r2, #1
1813 0090 A354 strb r3, [r4, r2]
636:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1814 .loc 1 636 3 is_stmt 1 view .LVU564
636:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1815 .loc 1 636 10 is_stmt 0 view .LVU565
1816 0092 0020 movs r0, #0
1817 .L146:
637:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1818 .loc 1 637 1 view .LVU566
1819 @ sp needed
1820 .LVL139:
637:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1821 .loc 1 637 1 view .LVU567
1822 0094 10BD pop {r4, pc}
1823 .LVL140:
1824 .L152:
556:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
ARM GAS /tmp/ccuRhBPx.s page 168
1825 .loc 1 556 5 is_stmt 1 view .LVU568
556:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1826 .loc 1 556 16 is_stmt 0 view .LVU569
1827 0096 4033 adds r3, r3, #64
1828 0098 0022 movs r2, #0
1829 009a C254 strb r2, [r0, r3]
580:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
1830 .loc 1 580 5 is_stmt 1 view .LVU570
1831 009c FFF7FEFF bl HAL_I2C_MspInit
1832 .LVL141:
580:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
1833 .loc 1 580 5 is_stmt 0 view .LVU571
1834 00a0 B5E7 b .L147
1835 .L153:
600:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1836 .loc 1 600 5 is_stmt 1 view .LVU572
600:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1837 .loc 1 600 56 is_stmt 0 view .LVU573
1838 00a2 A168 ldr r1, [r4, #8]
600:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1839 .loc 1 600 9 view .LVU574
1840 00a4 2268 ldr r2, [r4]
600:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1841 .loc 1 600 44 view .LVU575
1842 00a6 8023 movs r3, #128
1843 00a8 1B02 lsls r3, r3, #8
1844 00aa 0B43 orrs r3, r1
600:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1845 .loc 1 600 26 view .LVU576
1846 00ac 9360 str r3, [r2, #8]
1847 00ae C9E7 b .L149
1848 .L154:
611:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1849 .loc 1 611 5 is_stmt 1 view .LVU577
611:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1850 .loc 1 611 9 is_stmt 0 view .LVU578
1851 00b0 2368 ldr r3, [r4]
611:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1852 .loc 1 611 25 view .LVU579
1853 00b2 8022 movs r2, #128
1854 00b4 1201 lsls r2, r2, #4
1855 00b6 5A60 str r2, [r3, #4]
1856 00b8 C7E7 b .L150
1857 .LVL142:
1858 .L151:
540:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1859 .loc 1 540 12 view .LVU580
1860 00ba 0120 movs r0, #1
1861 .LVL143:
540:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1862 .loc 1 540 12 view .LVU581
1863 00bc EAE7 b .L146
1864 .L156:
1865 00be C046 .align 2
1866 .L155:
1867 00c0 FFFFFFF0 .word -251658241
1868 00c4 FF7FFFFF .word -32769
ARM GAS /tmp/ccuRhBPx.s page 169
1869 00c8 00800002 .word 33587200
1870 .cfi_endproc
1871 .LFE40:
1873 .section .text.HAL_I2C_MspDeInit,"ax",%progbits
1874 .align 1
1875 .weak HAL_I2C_MspDeInit
1876 .syntax unified
1877 .code 16
1878 .thumb_func
1880 HAL_I2C_MspDeInit:
1881 .LVL144:
1882 .LFB43:
708:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
1883 .loc 1 708 1 is_stmt 1 view -0
1884 .cfi_startproc
1885 @ args = 0, pretend = 0, frame = 0
1886 @ frame_needed = 0, uses_anonymous_args = 0
1887 @ link register save eliminated.
710:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1888 .loc 1 710 3 view .LVU583
715:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1889 .loc 1 715 1 is_stmt 0 view .LVU584
1890 @ sp needed
1891 0000 7047 bx lr
1892 .cfi_endproc
1893 .LFE43:
1895 .section .text.HAL_I2C_DeInit,"ax",%progbits
1896 .align 1
1897 .global HAL_I2C_DeInit
1898 .syntax unified
1899 .code 16
1900 .thumb_func
1902 HAL_I2C_DeInit:
1903 .LVL145:
1904 .LFB41:
646:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check the I2C handle allocation */
1905 .loc 1 646 1 is_stmt 1 view -0
1906 .cfi_startproc
1907 @ args = 0, pretend = 0, frame = 0
1908 @ frame_needed = 0, uses_anonymous_args = 0
646:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check the I2C handle allocation */
1909 .loc 1 646 1 is_stmt 0 view .LVU586
1910 0000 70B5 push {r4, r5, r6, lr}
1911 .cfi_def_cfa_offset 16
1912 .cfi_offset 4, -16
1913 .cfi_offset 5, -12
1914 .cfi_offset 6, -8
1915 .cfi_offset 14, -4
1916 0002 041E subs r4, r0, #0
648:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1917 .loc 1 648 3 is_stmt 1 view .LVU587
648:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
1918 .loc 1 648 6 is_stmt 0 view .LVU588
1919 0004 13D0 beq .L160
654:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1920 .loc 1 654 3 is_stmt 1 view .LVU589
656:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
ARM GAS /tmp/ccuRhBPx.s page 170
1921 .loc 1 656 3 view .LVU590
656:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1922 .loc 1 656 15 is_stmt 0 view .LVU591
1923 0006 4125 movs r5, #65
1924 0008 2423 movs r3, #36
1925 000a 4355 strb r3, [r0, r5]
659:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1926 .loc 1 659 3 is_stmt 1 view .LVU592
1927 000c 0268 ldr r2, [r0]
1928 000e 1368 ldr r3, [r2]
1929 0010 0121 movs r1, #1
1930 0012 8B43 bics r3, r1
1931 0014 1360 str r3, [r2]
671:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
1932 .loc 1 671 3 view .LVU593
1933 0016 FFF7FEFF bl HAL_I2C_MspDeInit
1934 .LVL146:
674:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_RESET;
1935 .loc 1 674 3 view .LVU594
674:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_RESET;
1936 .loc 1 674 19 is_stmt 0 view .LVU595
1937 001a 0023 movs r3, #0
1938 001c 6364 str r3, [r4, #68]
675:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
1939 .loc 1 675 3 is_stmt 1 view .LVU596
675:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
1940 .loc 1 675 15 is_stmt 0 view .LVU597
1941 001e 6355 strb r3, [r4, r5]
676:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
1942 .loc 1 676 3 is_stmt 1 view .LVU598
676:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
1943 .loc 1 676 23 is_stmt 0 view .LVU599
1944 0020 2363 str r3, [r4, #48]
677:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1945 .loc 1 677 3 is_stmt 1 view .LVU600
677:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1946 .loc 1 677 14 is_stmt 0 view .LVU601
1947 0022 4222 movs r2, #66
1948 0024 A354 strb r3, [r4, r2]
680:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1949 .loc 1 680 3 is_stmt 1 view .LVU602
680:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1950 .loc 1 680 3 view .LVU603
1951 0026 023A subs r2, r2, #2
1952 0028 A354 strb r3, [r4, r2]
680:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1953 .loc 1 680 3 view .LVU604
682:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1954 .loc 1 682 3 view .LVU605
682:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1955 .loc 1 682 10 is_stmt 0 view .LVU606
1956 002a 0020 movs r0, #0
1957 .L159:
683:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1958 .loc 1 683 1 view .LVU607
1959 @ sp needed
1960 .LVL147:
ARM GAS /tmp/ccuRhBPx.s page 171
683:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
1961 .loc 1 683 1 view .LVU608
1962 002c 70BD pop {r4, r5, r6, pc}
1963 .LVL148:
1964 .L160:
650:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1965 .loc 1 650 12 view .LVU609
1966 002e 0120 movs r0, #1
1967 .LVL149:
650:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
1968 .loc 1 650 12 view .LVU610
1969 0030 FCE7 b .L159
1970 .cfi_endproc
1971 .LFE41:
1973 .section .text.HAL_I2C_Master_Transmit,"ax",%progbits
1974 .align 1
1975 .global HAL_I2C_Master_Transmit
1976 .syntax unified
1977 .code 16
1978 .thumb_func
1980 HAL_I2C_Master_Transmit:
1981 .LVL150:
1982 .LFB44:
1116:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart;
1983 .loc 1 1116 1 is_stmt 1 view -0
1984 .cfi_startproc
1985 @ args = 4, pretend = 0, frame = 8
1986 @ frame_needed = 0, uses_anonymous_args = 0
1116:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart;
1987 .loc 1 1116 1 is_stmt 0 view .LVU612
1988 0000 F0B5 push {r4, r5, r6, r7, lr}
1989 .cfi_def_cfa_offset 20
1990 .cfi_offset 4, -20
1991 .cfi_offset 5, -16
1992 .cfi_offset 6, -12
1993 .cfi_offset 7, -8
1994 .cfi_offset 14, -4
1995 0002 85B0 sub sp, sp, #20
1996 .cfi_def_cfa_offset 40
1997 0004 0400 movs r4, r0
1998 0006 0F00 movs r7, r1
1999 0008 0292 str r2, [sp, #8]
2000 000a 0393 str r3, [sp, #12]
2001 000c 0A9D ldr r5, [sp, #40]
1117:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2002 .loc 1 1117 3 is_stmt 1 view .LVU613
1119:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2003 .loc 1 1119 3 view .LVU614
1119:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2004 .loc 1 1119 11 is_stmt 0 view .LVU615
2005 000e 4123 movs r3, #65
2006 .LVL151:
1119:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2007 .loc 1 1119 11 view .LVU616
2008 0010 C35C ldrb r3, [r0, r3]
1119:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2009 .loc 1 1119 6 view .LVU617
ARM GAS /tmp/ccuRhBPx.s page 172
2010 0012 202B cmp r3, #32
2011 0014 00D0 beq .LCB1939
2012 0016 9BE0 b .L169 @long jump
2013 .LCB1939:
1122:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2014 .loc 1 1122 5 is_stmt 1 view .LVU618
1122:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2015 .loc 1 1122 5 view .LVU619
2016 0018 2033 adds r3, r3, #32
2017 001a C35C ldrb r3, [r0, r3]
2018 001c 012B cmp r3, #1
2019 001e 00D1 bne .LCB1945
2020 0020 99E0 b .L170 @long jump
2021 .LCB1945:
1122:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2022 .loc 1 1122 5 discriminator 2 view .LVU620
2023 0022 4023 movs r3, #64
2024 0024 0122 movs r2, #1
2025 .LVL152:
1122:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2026 .loc 1 1122 5 is_stmt 0 discriminator 2 view .LVU621
2027 0026 C254 strb r2, [r0, r3]
1122:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2028 .loc 1 1122 5 is_stmt 1 discriminator 2 view .LVU622
1125:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2029 .loc 1 1125 5 view .LVU623
1125:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2030 .loc 1 1125 17 is_stmt 0 view .LVU624
2031 0028 FFF7FEFF bl HAL_GetTick
2032 .LVL153:
1125:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2033 .loc 1 1125 17 view .LVU625
2034 002c 0600 movs r6, r0
2035 .LVL154:
1127:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2036 .loc 1 1127 5 is_stmt 1 view .LVU626
1127:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2037 .loc 1 1127 9 is_stmt 0 view .LVU627
2038 002e 8021 movs r1, #128
2039 0030 0090 str r0, [sp]
2040 0032 1923 movs r3, #25
2041 0034 0122 movs r2, #1
2042 0036 0902 lsls r1, r1, #8
2043 0038 2000 movs r0, r4
2044 .LVL155:
1127:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2045 .loc 1 1127 9 view .LVU628
2046 003a FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
2047 .LVL156:
1127:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2048 .loc 1 1127 8 discriminator 1 view .LVU629
2049 003e 0028 cmp r0, #0
2050 0040 00D0 beq .LCB1969
2051 0042 8AE0 b .L171 @long jump
2052 .LCB1969:
1132:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
2053 .loc 1 1132 5 is_stmt 1 view .LVU630
ARM GAS /tmp/ccuRhBPx.s page 173
1132:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
2054 .loc 1 1132 21 is_stmt 0 view .LVU631
2055 0044 4123 movs r3, #65
2056 0046 2122 movs r2, #33
2057 0048 E254 strb r2, [r4, r3]
1133:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
2058 .loc 1 1133 5 is_stmt 1 view .LVU632
1133:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
2059 .loc 1 1133 21 is_stmt 0 view .LVU633
2060 004a 0133 adds r3, r3, #1
2061 004c 113A subs r2, r2, #17
2062 004e E254 strb r2, [r4, r3]
1134:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2063 .loc 1 1134 5 is_stmt 1 view .LVU634
1134:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2064 .loc 1 1134 21 is_stmt 0 view .LVU635
2065 0050 0023 movs r3, #0
2066 0052 6364 str r3, [r4, #68]
1137:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
2067 .loc 1 1137 5 is_stmt 1 view .LVU636
1137:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
2068 .loc 1 1137 21 is_stmt 0 view .LVU637
2069 0054 029A ldr r2, [sp, #8]
2070 0056 6262 str r2, [r4, #36]
1138:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL;
2071 .loc 1 1138 5 is_stmt 1 view .LVU638
1138:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL;
2072 .loc 1 1138 21 is_stmt 0 view .LVU639
2073 0058 039A ldr r2, [sp, #12]
2074 005a 6285 strh r2, [r4, #42]
1139:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2075 .loc 1 1139 5 is_stmt 1 view .LVU640
1139:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2076 .loc 1 1139 21 is_stmt 0 view .LVU641
2077 005c 6363 str r3, [r4, #52]
1143:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2078 .loc 1 1143 5 is_stmt 1 view .LVU642
1143:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2079 .loc 1 1143 13 is_stmt 0 view .LVU643
2080 005e 638D ldrh r3, [r4, #42]
2081 0060 9BB2 uxth r3, r3
1143:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2082 .loc 1 1143 8 view .LVU644
2083 0062 FF2B cmp r3, #255
2084 0064 0BD9 bls .L163
1145:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE,
2085 .loc 1 1145 7 is_stmt 1 view .LVU645
1145:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE,
2086 .loc 1 1145 22 is_stmt 0 view .LVU646
2087 0066 FF23 movs r3, #255
2088 0068 2385 strh r3, [r4, #40]
1146:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_GENERATE_START_WRITE);
2089 .loc 1 1146 7 is_stmt 1 view .LVU647
2090 006a 7F3B subs r3, r3, #127
2091 006c 3F4A ldr r2, .L176
2092 006e 0092 str r2, [sp]
2093 0070 5B04 lsls r3, r3, #17
ARM GAS /tmp/ccuRhBPx.s page 174
2094 0072 FF22 movs r2, #255
2095 0074 3900 movs r1, r7
2096 0076 2000 movs r0, r4
2097 0078 FFF7FEFF bl I2C_TransferConfig
2098 .LVL157:
2099 007c 18E0 b .L165
2100 .L163:
1151:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
2101 .loc 1 1151 7 view .LVU648
1151:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
2102 .loc 1 1151 28 is_stmt 0 view .LVU649
2103 007e 628D ldrh r2, [r4, #42]
2104 0080 92B2 uxth r2, r2
1151:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
2105 .loc 1 1151 22 view .LVU650
2106 0082 2285 strh r2, [r4, #40]
1152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_GENERATE_START_WRITE);
2107 .loc 1 1152 7 is_stmt 1 view .LVU651
2108 0084 8023 movs r3, #128
2109 0086 D2B2 uxtb r2, r2
2110 0088 3849 ldr r1, .L176
2111 008a 0091 str r1, [sp]
2112 008c 9B04 lsls r3, r3, #18
2113 008e 3900 movs r1, r7
2114 0090 2000 movs r0, r4
2115 0092 FFF7FEFF bl I2C_TransferConfig
2116 .LVL158:
2117 0096 0BE0 b .L165
2118 .L167:
1188:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
2119 .loc 1 1188 11 view .LVU652
1188:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
2120 .loc 1 1188 32 is_stmt 0 view .LVU653
2121 0098 628D ldrh r2, [r4, #42]
2122 009a 92B2 uxth r2, r2
1188:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
2123 .loc 1 1188 26 view .LVU654
2124 009c 2285 strh r2, [r4, #40]
1189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_NO_STARTSTOP);
2125 .loc 1 1189 11 is_stmt 1 view .LVU655
2126 009e 8023 movs r3, #128
2127 00a0 D2B2 uxtb r2, r2
2128 00a2 0021 movs r1, #0
2129 00a4 0091 str r1, [sp]
2130 00a6 9B04 lsls r3, r3, #18
2131 00a8 3900 movs r1, r7
2132 00aa 2000 movs r0, r4
2133 00ac FFF7FEFF bl I2C_TransferConfig
2134 .LVL159:
2135 .L165:
1156:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2136 .loc 1 1156 28 view .LVU656
1156:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2137 .loc 1 1156 16 is_stmt 0 view .LVU657
2138 00b0 638D ldrh r3, [r4, #42]
2139 00b2 9BB2 uxth r3, r3
1156:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
ARM GAS /tmp/ccuRhBPx.s page 175
2140 .loc 1 1156 28 view .LVU658
2141 00b4 002B cmp r3, #0
2142 00b6 34D0 beq .L175
1159:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2143 .loc 1 1159 7 is_stmt 1 view .LVU659
1159:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2144 .loc 1 1159 11 is_stmt 0 view .LVU660
2145 00b8 3200 movs r2, r6
2146 00ba 2900 movs r1, r5
2147 00bc 2000 movs r0, r4
2148 00be FFF7FEFF bl I2C_WaitOnTXISFlagUntilTimeout
2149 .LVL160:
1159:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2150 .loc 1 1159 10 discriminator 1 view .LVU661
2151 00c2 0028 cmp r0, #0
2152 00c4 4BD1 bne .L172
1164:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2153 .loc 1 1164 7 is_stmt 1 view .LVU662
1164:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2154 .loc 1 1164 35 is_stmt 0 view .LVU663
2155 00c6 626A ldr r2, [r4, #36]
1164:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2156 .loc 1 1164 11 view .LVU664
2157 00c8 2368 ldr r3, [r4]
1164:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2158 .loc 1 1164 30 view .LVU665
2159 00ca 1278 ldrb r2, [r2]
1164:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2160 .loc 1 1164 28 view .LVU666
2161 00cc 9A62 str r2, [r3, #40]
1167:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2162 .loc 1 1167 7 is_stmt 1 view .LVU667
1167:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2163 .loc 1 1167 11 is_stmt 0 view .LVU668
2164 00ce 636A ldr r3, [r4, #36]
1167:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2165 .loc 1 1167 21 view .LVU669
2166 00d0 0133 adds r3, r3, #1
2167 00d2 6362 str r3, [r4, #36]
1169:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize--;
2168 .loc 1 1169 7 is_stmt 1 view .LVU670
1169:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize--;
2169 .loc 1 1169 11 is_stmt 0 view .LVU671
2170 00d4 638D ldrh r3, [r4, #42]
1169:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize--;
2171 .loc 1 1169 22 view .LVU672
2172 00d6 013B subs r3, r3, #1
2173 00d8 9BB2 uxth r3, r3
2174 00da 6385 strh r3, [r4, #42]
1170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2175 .loc 1 1170 7 is_stmt 1 view .LVU673
1170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2176 .loc 1 1170 11 is_stmt 0 view .LVU674
2177 00dc 238D ldrh r3, [r4, #40]
1170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2178 .loc 1 1170 21 view .LVU675
2179 00de 013B subs r3, r3, #1
ARM GAS /tmp/ccuRhBPx.s page 176
2180 00e0 9BB2 uxth r3, r3
2181 00e2 2385 strh r3, [r4, #40]
1172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2182 .loc 1 1172 7 is_stmt 1 view .LVU676
1172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2183 .loc 1 1172 16 is_stmt 0 view .LVU677
2184 00e4 628D ldrh r2, [r4, #42]
2185 00e6 92B2 uxth r2, r2
1172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2186 .loc 1 1172 10 view .LVU678
2187 00e8 002A cmp r2, #0
2188 00ea E1D0 beq .L165
1172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2189 .loc 1 1172 35 discriminator 1 view .LVU679
2190 00ec 002B cmp r3, #0
2191 00ee DFD1 bne .L165
1175:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2192 .loc 1 1175 9 is_stmt 1 view .LVU680
1175:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2193 .loc 1 1175 13 is_stmt 0 view .LVU681
2194 00f0 0096 str r6, [sp]
2195 00f2 2B00 movs r3, r5
2196 00f4 0022 movs r2, #0
2197 00f6 8021 movs r1, #128
2198 00f8 2000 movs r0, r4
2199 00fa FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
2200 .LVL161:
1175:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2201 .loc 1 1175 12 discriminator 1 view .LVU682
2202 00fe 0028 cmp r0, #0
2203 0100 2FD1 bne .L173
1180:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2204 .loc 1 1180 9 is_stmt 1 view .LVU683
1180:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2205 .loc 1 1180 17 is_stmt 0 view .LVU684
2206 0102 638D ldrh r3, [r4, #42]
2207 0104 9BB2 uxth r3, r3
1180:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2208 .loc 1 1180 12 view .LVU685
2209 0106 FF2B cmp r3, #255
2210 0108 C6D9 bls .L167
1182:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE,
2211 .loc 1 1182 11 is_stmt 1 view .LVU686
1182:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE,
2212 .loc 1 1182 26 is_stmt 0 view .LVU687
2213 010a FF23 movs r3, #255
2214 010c 2385 strh r3, [r4, #40]
1183:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_NO_STARTSTOP);
2215 .loc 1 1183 11 is_stmt 1 view .LVU688
2216 010e 7F3B subs r3, r3, #127
2217 0110 0022 movs r2, #0
2218 0112 0092 str r2, [sp]
2219 0114 5B04 lsls r3, r3, #17
2220 0116 FF32 adds r2, r2, #255
2221 0118 3900 movs r1, r7
2222 011a 2000 movs r0, r4
2223 011c FFF7FEFF bl I2C_TransferConfig
ARM GAS /tmp/ccuRhBPx.s page 177
2224 .LVL162:
2225 0120 C6E7 b .L165
2226 .L175:
1197:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2227 .loc 1 1197 5 view .LVU689
1197:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2228 .loc 1 1197 9 is_stmt 0 view .LVU690
2229 0122 3200 movs r2, r6
2230 0124 2900 movs r1, r5
2231 0126 2000 movs r0, r4
2232 0128 FFF7FEFF bl I2C_WaitOnSTOPFlagUntilTimeout
2233 .LVL163:
1197:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2234 .loc 1 1197 8 discriminator 1 view .LVU691
2235 012c 0028 cmp r0, #0
2236 012e 1AD1 bne .L174
1203:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2237 .loc 1 1203 5 is_stmt 1 view .LVU692
2238 0130 2368 ldr r3, [r4]
2239 0132 2022 movs r2, #32
2240 0134 DA61 str r2, [r3, #28]
1206:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2241 .loc 1 1206 5 view .LVU693
2242 0136 2168 ldr r1, [r4]
2243 0138 4B68 ldr r3, [r1, #4]
2244 013a 0D4D ldr r5, .L176+4
2245 013c 2B40 ands r3, r5
2246 013e 4B60 str r3, [r1, #4]
1208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
2247 .loc 1 1208 5 view .LVU694
1208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
2248 .loc 1 1208 17 is_stmt 0 view .LVU695
2249 0140 4123 movs r3, #65
2250 0142 E254 strb r2, [r4, r3]
1209:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2251 .loc 1 1209 5 is_stmt 1 view .LVU696
1209:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2252 .loc 1 1209 17 is_stmt 0 view .LVU697
2253 0144 0023 movs r3, #0
2254 0146 2232 adds r2, r2, #34
2255 0148 A354 strb r3, [r4, r2]
1212:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2256 .loc 1 1212 5 is_stmt 1 view .LVU698
1212:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2257 .loc 1 1212 5 view .LVU699
2258 014a 023A subs r2, r2, #2
2259 014c A354 strb r3, [r4, r2]
1212:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2260 .loc 1 1212 5 view .LVU700
1214:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2261 .loc 1 1214 5 view .LVU701
1214:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2262 .loc 1 1214 12 is_stmt 0 view .LVU702
2263 014e 00E0 b .L162
2264 .LVL164:
2265 .L169:
1218:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
ARM GAS /tmp/ccuRhBPx.s page 178
2266 .loc 1 1218 12 view .LVU703
2267 0150 0220 movs r0, #2
2268 .LVL165:
2269 .L162:
1220:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2270 .loc 1 1220 1 view .LVU704
2271 0152 05B0 add sp, sp, #20
2272 @ sp needed
2273 .LVL166:
2274 .LVL167:
1220:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2275 .loc 1 1220 1 view .LVU705
2276 0154 F0BD pop {r4, r5, r6, r7, pc}
2277 .LVL168:
2278 .L170:
1122:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2279 .loc 1 1122 5 discriminator 1 view .LVU706
2280 0156 0220 movs r0, #2
2281 .LVL169:
1122:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2282 .loc 1 1122 5 discriminator 1 view .LVU707
2283 0158 FBE7 b .L162
2284 .LVL170:
2285 .L171:
1129:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2286 .loc 1 1129 14 view .LVU708
2287 015a 0120 movs r0, #1
2288 015c F9E7 b .L162
2289 .L172:
1161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2290 .loc 1 1161 16 view .LVU709
2291 015e 0120 movs r0, #1
2292 0160 F7E7 b .L162
2293 .L173:
1177:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2294 .loc 1 1177 18 view .LVU710
2295 0162 0120 movs r0, #1
2296 0164 F5E7 b .L162
2297 .L174:
1199:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2298 .loc 1 1199 14 view .LVU711
2299 0166 0120 movs r0, #1
2300 0168 F3E7 b .L162
2301 .L177:
2302 016a C046 .align 2
2303 .L176:
2304 016c 00200080 .word -2147475456
2305 0170 00E800FE .word -33495040
2306 .cfi_endproc
2307 .LFE44:
2309 .section .text.HAL_I2C_Master_Receive,"ax",%progbits
2310 .align 1
2311 .global HAL_I2C_Master_Receive
2312 .syntax unified
2313 .code 16
2314 .thumb_func
2316 HAL_I2C_Master_Receive:
ARM GAS /tmp/ccuRhBPx.s page 179
2317 .LVL171:
2318 .LFB45:
1235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart;
2319 .loc 1 1235 1 is_stmt 1 view -0
2320 .cfi_startproc
2321 @ args = 4, pretend = 0, frame = 8
2322 @ frame_needed = 0, uses_anonymous_args = 0
1235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart;
2323 .loc 1 1235 1 is_stmt 0 view .LVU713
2324 0000 F0B5 push {r4, r5, r6, r7, lr}
2325 .cfi_def_cfa_offset 20
2326 .cfi_offset 4, -20
2327 .cfi_offset 5, -16
2328 .cfi_offset 6, -12
2329 .cfi_offset 7, -8
2330 .cfi_offset 14, -4
2331 0002 85B0 sub sp, sp, #20
2332 .cfi_def_cfa_offset 40
2333 0004 0400 movs r4, r0
2334 0006 0F00 movs r7, r1
2335 0008 0292 str r2, [sp, #8]
2336 000a 0393 str r3, [sp, #12]
2337 000c 0A9D ldr r5, [sp, #40]
1236:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2338 .loc 1 1236 3 is_stmt 1 view .LVU714
1238:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2339 .loc 1 1238 3 view .LVU715
1238:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2340 .loc 1 1238 11 is_stmt 0 view .LVU716
2341 000e 4123 movs r3, #65
2342 .LVL172:
1238:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2343 .loc 1 1238 11 view .LVU717
2344 0010 C35C ldrb r3, [r0, r3]
1238:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2345 .loc 1 1238 6 view .LVU718
2346 0012 202B cmp r3, #32
2347 0014 00D0 beq .LCB2260
2348 0016 9BE0 b .L186 @long jump
2349 .LCB2260:
1241:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2350 .loc 1 1241 5 is_stmt 1 view .LVU719
1241:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2351 .loc 1 1241 5 view .LVU720
2352 0018 2033 adds r3, r3, #32
2353 001a C35C ldrb r3, [r0, r3]
2354 001c 012B cmp r3, #1
2355 001e 00D1 bne .LCB2266
2356 0020 99E0 b .L187 @long jump
2357 .LCB2266:
1241:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2358 .loc 1 1241 5 discriminator 2 view .LVU721
2359 0022 4023 movs r3, #64
2360 0024 0122 movs r2, #1
2361 .LVL173:
1241:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2362 .loc 1 1241 5 is_stmt 0 discriminator 2 view .LVU722
ARM GAS /tmp/ccuRhBPx.s page 180
2363 0026 C254 strb r2, [r0, r3]
1241:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2364 .loc 1 1241 5 is_stmt 1 discriminator 2 view .LVU723
1244:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2365 .loc 1 1244 5 view .LVU724
1244:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2366 .loc 1 1244 17 is_stmt 0 view .LVU725
2367 0028 FFF7FEFF bl HAL_GetTick
2368 .LVL174:
1244:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2369 .loc 1 1244 17 view .LVU726
2370 002c 0600 movs r6, r0
2371 .LVL175:
1246:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2372 .loc 1 1246 5 is_stmt 1 view .LVU727
1246:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2373 .loc 1 1246 9 is_stmt 0 view .LVU728
2374 002e 8021 movs r1, #128
2375 0030 0090 str r0, [sp]
2376 0032 1923 movs r3, #25
2377 0034 0122 movs r2, #1
2378 0036 0902 lsls r1, r1, #8
2379 0038 2000 movs r0, r4
2380 .LVL176:
1246:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2381 .loc 1 1246 9 view .LVU729
2382 003a FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
2383 .LVL177:
1246:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2384 .loc 1 1246 8 discriminator 1 view .LVU730
2385 003e 0028 cmp r0, #0
2386 0040 00D0 beq .LCB2290
2387 0042 8AE0 b .L188 @long jump
2388 .LCB2290:
1251:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
2389 .loc 1 1251 5 is_stmt 1 view .LVU731
1251:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
2390 .loc 1 1251 21 is_stmt 0 view .LVU732
2391 0044 4123 movs r3, #65
2392 0046 2222 movs r2, #34
2393 0048 E254 strb r2, [r4, r3]
1252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
2394 .loc 1 1252 5 is_stmt 1 view .LVU733
1252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
2395 .loc 1 1252 21 is_stmt 0 view .LVU734
2396 004a 0133 adds r3, r3, #1
2397 004c 123A subs r2, r2, #18
2398 004e E254 strb r2, [r4, r3]
1253:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2399 .loc 1 1253 5 is_stmt 1 view .LVU735
1253:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2400 .loc 1 1253 21 is_stmt 0 view .LVU736
2401 0050 0023 movs r3, #0
2402 0052 6364 str r3, [r4, #68]
1256:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
2403 .loc 1 1256 5 is_stmt 1 view .LVU737
1256:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
ARM GAS /tmp/ccuRhBPx.s page 181
2404 .loc 1 1256 21 is_stmt 0 view .LVU738
2405 0054 029A ldr r2, [sp, #8]
2406 0056 6262 str r2, [r4, #36]
1257:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL;
2407 .loc 1 1257 5 is_stmt 1 view .LVU739
1257:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL;
2408 .loc 1 1257 21 is_stmt 0 view .LVU740
2409 0058 039A ldr r2, [sp, #12]
2410 005a 6285 strh r2, [r4, #42]
1258:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2411 .loc 1 1258 5 is_stmt 1 view .LVU741
1258:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2412 .loc 1 1258 21 is_stmt 0 view .LVU742
2413 005c 6363 str r3, [r4, #52]
1262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2414 .loc 1 1262 5 is_stmt 1 view .LVU743
1262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2415 .loc 1 1262 13 is_stmt 0 view .LVU744
2416 005e 638D ldrh r3, [r4, #42]
2417 0060 9BB2 uxth r3, r3
1262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2418 .loc 1 1262 8 view .LVU745
2419 0062 FF2B cmp r3, #255
2420 0064 0BD9 bls .L180
1264:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE,
2421 .loc 1 1264 7 is_stmt 1 view .LVU746
1264:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE,
2422 .loc 1 1264 22 is_stmt 0 view .LVU747
2423 0066 FF23 movs r3, #255
2424 0068 2385 strh r3, [r4, #40]
1265:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_GENERATE_START_READ);
2425 .loc 1 1265 7 is_stmt 1 view .LVU748
2426 006a 7F3B subs r3, r3, #127
2427 006c 3F4A ldr r2, .L193
2428 006e 0092 str r2, [sp]
2429 0070 5B04 lsls r3, r3, #17
2430 0072 FF22 movs r2, #255
2431 0074 3900 movs r1, r7
2432 0076 2000 movs r0, r4
2433 0078 FFF7FEFF bl I2C_TransferConfig
2434 .LVL178:
2435 007c 18E0 b .L182
2436 .L180:
1270:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
2437 .loc 1 1270 7 view .LVU749
1270:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
2438 .loc 1 1270 28 is_stmt 0 view .LVU750
2439 007e 628D ldrh r2, [r4, #42]
2440 0080 92B2 uxth r2, r2
1270:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
2441 .loc 1 1270 22 view .LVU751
2442 0082 2285 strh r2, [r4, #40]
1271:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_GENERATE_START_READ);
2443 .loc 1 1271 7 is_stmt 1 view .LVU752
2444 0084 8023 movs r3, #128
2445 0086 D2B2 uxtb r2, r2
2446 0088 3849 ldr r1, .L193
ARM GAS /tmp/ccuRhBPx.s page 182
2447 008a 0091 str r1, [sp]
2448 008c 9B04 lsls r3, r3, #18
2449 008e 3900 movs r1, r7
2450 0090 2000 movs r0, r4
2451 0092 FFF7FEFF bl I2C_TransferConfig
2452 .LVL179:
2453 0096 0BE0 b .L182
2454 .L184:
1308:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
2455 .loc 1 1308 11 view .LVU753
1308:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
2456 .loc 1 1308 32 is_stmt 0 view .LVU754
2457 0098 628D ldrh r2, [r4, #42]
2458 009a 92B2 uxth r2, r2
1308:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
2459 .loc 1 1308 26 view .LVU755
2460 009c 2285 strh r2, [r4, #40]
1309:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_NO_STARTSTOP);
2461 .loc 1 1309 11 is_stmt 1 view .LVU756
2462 009e 8023 movs r3, #128
2463 00a0 D2B2 uxtb r2, r2
2464 00a2 0021 movs r1, #0
2465 00a4 0091 str r1, [sp]
2466 00a6 9B04 lsls r3, r3, #18
2467 00a8 3900 movs r1, r7
2468 00aa 2000 movs r0, r4
2469 00ac FFF7FEFF bl I2C_TransferConfig
2470 .LVL180:
2471 .L182:
1275:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2472 .loc 1 1275 28 view .LVU757
1275:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2473 .loc 1 1275 16 is_stmt 0 view .LVU758
2474 00b0 638D ldrh r3, [r4, #42]
2475 00b2 9BB2 uxth r3, r3
1275:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2476 .loc 1 1275 28 view .LVU759
2477 00b4 002B cmp r3, #0
2478 00b6 34D0 beq .L192
1278:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2479 .loc 1 1278 7 is_stmt 1 view .LVU760
1278:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2480 .loc 1 1278 11 is_stmt 0 view .LVU761
2481 00b8 3200 movs r2, r6
2482 00ba 2900 movs r1, r5
2483 00bc 2000 movs r0, r4
2484 00be FFF7FEFF bl I2C_WaitOnRXNEFlagUntilTimeout
2485 .LVL181:
1278:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2486 .loc 1 1278 10 discriminator 1 view .LVU762
2487 00c2 0028 cmp r0, #0
2488 00c4 4BD1 bne .L189
1284:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2489 .loc 1 1284 7 is_stmt 1 view .LVU763
1284:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2490 .loc 1 1284 38 is_stmt 0 view .LVU764
2491 00c6 2368 ldr r3, [r4]
ARM GAS /tmp/ccuRhBPx.s page 183
1284:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2492 .loc 1 1284 48 view .LVU765
2493 00c8 5A6A ldr r2, [r3, #36]
1284:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2494 .loc 1 1284 12 view .LVU766
2495 00ca 636A ldr r3, [r4, #36]
1284:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2496 .loc 1 1284 23 view .LVU767
2497 00cc 1A70 strb r2, [r3]
1287:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2498 .loc 1 1287 7 is_stmt 1 view .LVU768
1287:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2499 .loc 1 1287 11 is_stmt 0 view .LVU769
2500 00ce 636A ldr r3, [r4, #36]
1287:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2501 .loc 1 1287 21 view .LVU770
2502 00d0 0133 adds r3, r3, #1
2503 00d2 6362 str r3, [r4, #36]
1289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--;
2504 .loc 1 1289 7 is_stmt 1 view .LVU771
1289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--;
2505 .loc 1 1289 11 is_stmt 0 view .LVU772
2506 00d4 238D ldrh r3, [r4, #40]
1289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--;
2507 .loc 1 1289 21 view .LVU773
2508 00d6 013B subs r3, r3, #1
2509 00d8 9BB2 uxth r3, r3
2510 00da 2385 strh r3, [r4, #40]
1290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2511 .loc 1 1290 7 is_stmt 1 view .LVU774
1290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2512 .loc 1 1290 11 is_stmt 0 view .LVU775
2513 00dc 628D ldrh r2, [r4, #42]
1290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2514 .loc 1 1290 22 view .LVU776
2515 00de 013A subs r2, r2, #1
2516 00e0 92B2 uxth r2, r2
2517 00e2 6285 strh r2, [r4, #42]
1292:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2518 .loc 1 1292 7 is_stmt 1 view .LVU777
1292:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2519 .loc 1 1292 16 is_stmt 0 view .LVU778
2520 00e4 628D ldrh r2, [r4, #42]
2521 00e6 92B2 uxth r2, r2
1292:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2522 .loc 1 1292 10 view .LVU779
2523 00e8 002A cmp r2, #0
2524 00ea E1D0 beq .L182
1292:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2525 .loc 1 1292 35 discriminator 1 view .LVU780
2526 00ec 002B cmp r3, #0
2527 00ee DFD1 bne .L182
1295:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2528 .loc 1 1295 9 is_stmt 1 view .LVU781
1295:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2529 .loc 1 1295 13 is_stmt 0 view .LVU782
2530 00f0 0096 str r6, [sp]
ARM GAS /tmp/ccuRhBPx.s page 184
2531 00f2 2B00 movs r3, r5
2532 00f4 0022 movs r2, #0
2533 00f6 8021 movs r1, #128
2534 00f8 2000 movs r0, r4
2535 00fa FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
2536 .LVL182:
1295:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2537 .loc 1 1295 12 discriminator 1 view .LVU783
2538 00fe 0028 cmp r0, #0
2539 0100 2FD1 bne .L190
1300:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2540 .loc 1 1300 9 is_stmt 1 view .LVU784
1300:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2541 .loc 1 1300 17 is_stmt 0 view .LVU785
2542 0102 638D ldrh r3, [r4, #42]
2543 0104 9BB2 uxth r3, r3
1300:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2544 .loc 1 1300 12 view .LVU786
2545 0106 FF2B cmp r3, #255
2546 0108 C6D9 bls .L184
1302:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE,
2547 .loc 1 1302 11 is_stmt 1 view .LVU787
1302:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE,
2548 .loc 1 1302 26 is_stmt 0 view .LVU788
2549 010a FF23 movs r3, #255
2550 010c 2385 strh r3, [r4, #40]
1303:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_NO_STARTSTOP);
2551 .loc 1 1303 11 is_stmt 1 view .LVU789
2552 010e 7F3B subs r3, r3, #127
2553 0110 0022 movs r2, #0
2554 0112 0092 str r2, [sp]
2555 0114 5B04 lsls r3, r3, #17
2556 0116 FF32 adds r2, r2, #255
2557 0118 3900 movs r1, r7
2558 011a 2000 movs r0, r4
2559 011c FFF7FEFF bl I2C_TransferConfig
2560 .LVL183:
2561 0120 C6E7 b .L182
2562 .L192:
1317:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2563 .loc 1 1317 5 view .LVU790
1317:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2564 .loc 1 1317 9 is_stmt 0 view .LVU791
2565 0122 3200 movs r2, r6
2566 0124 2900 movs r1, r5
2567 0126 2000 movs r0, r4
2568 0128 FFF7FEFF bl I2C_WaitOnSTOPFlagUntilTimeout
2569 .LVL184:
1317:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2570 .loc 1 1317 8 discriminator 1 view .LVU792
2571 012c 0028 cmp r0, #0
2572 012e 1AD1 bne .L191
1323:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2573 .loc 1 1323 5 is_stmt 1 view .LVU793
2574 0130 2368 ldr r3, [r4]
2575 0132 2022 movs r2, #32
2576 0134 DA61 str r2, [r3, #28]
ARM GAS /tmp/ccuRhBPx.s page 185
1326:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2577 .loc 1 1326 5 view .LVU794
2578 0136 2168 ldr r1, [r4]
2579 0138 4B68 ldr r3, [r1, #4]
2580 013a 0D4D ldr r5, .L193+4
2581 013c 2B40 ands r3, r5
2582 013e 4B60 str r3, [r1, #4]
1328:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
2583 .loc 1 1328 5 view .LVU795
1328:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
2584 .loc 1 1328 17 is_stmt 0 view .LVU796
2585 0140 4123 movs r3, #65
2586 0142 E254 strb r2, [r4, r3]
1329:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2587 .loc 1 1329 5 is_stmt 1 view .LVU797
1329:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2588 .loc 1 1329 17 is_stmt 0 view .LVU798
2589 0144 0023 movs r3, #0
2590 0146 2232 adds r2, r2, #34
2591 0148 A354 strb r3, [r4, r2]
1332:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2592 .loc 1 1332 5 is_stmt 1 view .LVU799
1332:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2593 .loc 1 1332 5 view .LVU800
2594 014a 023A subs r2, r2, #2
2595 014c A354 strb r3, [r4, r2]
1332:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2596 .loc 1 1332 5 view .LVU801
1334:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2597 .loc 1 1334 5 view .LVU802
1334:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2598 .loc 1 1334 12 is_stmt 0 view .LVU803
2599 014e 00E0 b .L179
2600 .LVL185:
2601 .L186:
1338:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2602 .loc 1 1338 12 view .LVU804
2603 0150 0220 movs r0, #2
2604 .LVL186:
2605 .L179:
1340:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2606 .loc 1 1340 1 view .LVU805
2607 0152 05B0 add sp, sp, #20
2608 @ sp needed
2609 .LVL187:
2610 .LVL188:
1340:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2611 .loc 1 1340 1 view .LVU806
2612 0154 F0BD pop {r4, r5, r6, r7, pc}
2613 .LVL189:
2614 .L187:
1241:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2615 .loc 1 1241 5 discriminator 1 view .LVU807
2616 0156 0220 movs r0, #2
2617 .LVL190:
1241:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2618 .loc 1 1241 5 discriminator 1 view .LVU808
ARM GAS /tmp/ccuRhBPx.s page 186
2619 0158 FBE7 b .L179
2620 .LVL191:
2621 .L188:
1248:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2622 .loc 1 1248 14 view .LVU809
2623 015a 0120 movs r0, #1
2624 015c F9E7 b .L179
2625 .L189:
1280:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2626 .loc 1 1280 16 view .LVU810
2627 015e 0120 movs r0, #1
2628 0160 F7E7 b .L179
2629 .L190:
1297:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2630 .loc 1 1297 18 view .LVU811
2631 0162 0120 movs r0, #1
2632 0164 F5E7 b .L179
2633 .L191:
1319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2634 .loc 1 1319 14 view .LVU812
2635 0166 0120 movs r0, #1
2636 0168 F3E7 b .L179
2637 .L194:
2638 016a C046 .align 2
2639 .L193:
2640 016c 00240080 .word -2147474432
2641 0170 00E800FE .word -33495040
2642 .cfi_endproc
2643 .LFE45:
2645 .section .text.HAL_I2C_Slave_Transmit,"ax",%progbits
2646 .align 1
2647 .global HAL_I2C_Slave_Transmit
2648 .syntax unified
2649 .code 16
2650 .thumb_func
2652 HAL_I2C_Slave_Transmit:
2653 .LVL192:
2654 .LFB46:
1353:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart;
2655 .loc 1 1353 1 is_stmt 1 view -0
2656 .cfi_startproc
2657 @ args = 0, pretend = 0, frame = 0
2658 @ frame_needed = 0, uses_anonymous_args = 0
1353:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart;
2659 .loc 1 1353 1 is_stmt 0 view .LVU814
2660 0000 F0B5 push {r4, r5, r6, r7, lr}
2661 .cfi_def_cfa_offset 20
2662 .cfi_offset 4, -20
2663 .cfi_offset 5, -16
2664 .cfi_offset 6, -12
2665 .cfi_offset 7, -8
2666 .cfi_offset 14, -4
2667 0002 C646 mov lr, r8
2668 0004 00B5 push {lr}
2669 .cfi_def_cfa_offset 24
2670 .cfi_offset 8, -24
2671 0006 82B0 sub sp, sp, #8
ARM GAS /tmp/ccuRhBPx.s page 187
2672 .cfi_def_cfa_offset 32
2673 0008 0400 movs r4, r0
2674 000a 0D00 movs r5, r1
2675 000c 9046 mov r8, r2
2676 000e 1E00 movs r6, r3
1354:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2677 .loc 1 1354 3 is_stmt 1 view .LVU815
1356:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2678 .loc 1 1356 3 view .LVU816
1356:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2679 .loc 1 1356 11 is_stmt 0 view .LVU817
2680 0010 4123 movs r3, #65
2681 .LVL193:
1356:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2682 .loc 1 1356 11 view .LVU818
2683 0012 C35C ldrb r3, [r0, r3]
1356:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2684 .loc 1 1356 6 view .LVU819
2685 0014 202B cmp r3, #32
2686 0016 00D0 beq .LCB2582
2687 0018 DCE0 b .L209 @long jump
2688 .LCB2582:
1358:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2689 .loc 1 1358 5 is_stmt 1 view .LVU820
1358:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2690 .loc 1 1358 8 is_stmt 0 view .LVU821
2691 001a 0029 cmp r1, #0
2692 001c 52D0 beq .L197
1358:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2693 .loc 1 1358 25 discriminator 1 view .LVU822
2694 001e 002A cmp r2, #0
2695 0020 50D0 beq .L197
1364:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2696 .loc 1 1364 5 is_stmt 1 view .LVU823
1364:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2697 .loc 1 1364 5 view .LVU824
2698 0022 4023 movs r3, #64
2699 0024 C35C ldrb r3, [r0, r3]
2700 0026 012B cmp r3, #1
2701 0028 00D1 bne .LCB2593
2702 002a D8E0 b .L210 @long jump
2703 .LCB2593:
1364:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2704 .loc 1 1364 5 discriminator 2 view .LVU825
2705 002c 4023 movs r3, #64
2706 002e 0122 movs r2, #1
2707 .LVL194:
1364:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2708 .loc 1 1364 5 is_stmt 0 discriminator 2 view .LVU826
2709 0030 C254 strb r2, [r0, r3]
1364:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2710 .loc 1 1364 5 is_stmt 1 discriminator 2 view .LVU827
1367:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2711 .loc 1 1367 5 view .LVU828
1367:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2712 .loc 1 1367 17 is_stmt 0 view .LVU829
2713 0032 FFF7FEFF bl HAL_GetTick
ARM GAS /tmp/ccuRhBPx.s page 188
2714 .LVL195:
1367:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2715 .loc 1 1367 17 view .LVU830
2716 0036 0700 movs r7, r0
2717 .LVL196:
1369:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
2718 .loc 1 1369 5 is_stmt 1 view .LVU831
1369:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
2719 .loc 1 1369 21 is_stmt 0 view .LVU832
2720 0038 4123 movs r3, #65
2721 003a 2122 movs r2, #33
2722 003c E254 strb r2, [r4, r3]
1370:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
2723 .loc 1 1370 5 is_stmt 1 view .LVU833
1370:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
2724 .loc 1 1370 21 is_stmt 0 view .LVU834
2725 003e 0133 adds r3, r3, #1
2726 0040 013A subs r2, r2, #1
2727 0042 E254 strb r2, [r4, r3]
1371:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2728 .loc 1 1371 5 is_stmt 1 view .LVU835
1371:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2729 .loc 1 1371 21 is_stmt 0 view .LVU836
2730 0044 0023 movs r3, #0
2731 0046 6364 str r3, [r4, #68]
1374:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
2732 .loc 1 1374 5 is_stmt 1 view .LVU837
1374:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
2733 .loc 1 1374 21 is_stmt 0 view .LVU838
2734 0048 6562 str r5, [r4, #36]
1375:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL;
2735 .loc 1 1375 5 is_stmt 1 view .LVU839
1375:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL;
2736 .loc 1 1375 21 is_stmt 0 view .LVU840
2737 004a 4246 mov r2, r8
2738 004c 6285 strh r2, [r4, #42]
1376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2739 .loc 1 1376 5 is_stmt 1 view .LVU841
1376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2740 .loc 1 1376 21 is_stmt 0 view .LVU842
2741 004e 6363 str r3, [r4, #52]
1379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2742 .loc 1 1379 5 is_stmt 1 view .LVU843
1379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2743 .loc 1 1379 9 is_stmt 0 view .LVU844
2744 0050 2268 ldr r2, [r4]
1379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2745 .loc 1 1379 19 view .LVU845
2746 0052 5368 ldr r3, [r2, #4]
1379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2747 .loc 1 1379 25 view .LVU846
2748 0054 6349 ldr r1, .L218
2749 0056 0B40 ands r3, r1
2750 0058 5360 str r3, [r2, #4]
1382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2751 .loc 1 1382 5 is_stmt 1 view .LVU847
1382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
ARM GAS /tmp/ccuRhBPx.s page 189
2752 .loc 1 1382 9 is_stmt 0 view .LVU848
2753 005a 0090 str r0, [sp]
2754 005c 3300 movs r3, r6
2755 005e 0022 movs r2, #0
2756 0060 0821 movs r1, #8
2757 0062 2000 movs r0, r4
2758 .LVL197:
1382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2759 .loc 1 1382 9 view .LVU849
2760 0064 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
2761 .LVL198:
1382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2762 .loc 1 1382 8 discriminator 1 view .LVU850
2763 0068 0028 cmp r0, #0
2764 006a 30D1 bne .L211
1390:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2765 .loc 1 1390 5 is_stmt 1 view .LVU851
1390:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2766 .loc 1 1390 19 is_stmt 0 view .LVU852
2767 006c 226A ldr r2, [r4, #32]
1390:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2768 .loc 1 1390 8 view .LVU853
2769 006e 8023 movs r3, #128
2770 0070 9B02 lsls r3, r3, #10
2771 0072 9A42 cmp r2, r3
2772 0074 33D0 beq .L212
2773 .L200:
1403:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2774 .loc 1 1403 5 is_stmt 1 view .LVU854
2775 0076 2368 ldr r3, [r4]
2776 0078 0822 movs r2, #8
2777 007a DA61 str r2, [r3, #28]
1406:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2778 .loc 1 1406 5 view .LVU855
1406:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2779 .loc 1 1406 19 is_stmt 0 view .LVU856
2780 007c E368 ldr r3, [r4, #12]
1406:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2781 .loc 1 1406 8 view .LVU857
2782 007e 022B cmp r3, #2
2783 0080 39D0 beq .L213
2784 .L201:
1421:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2785 .loc 1 1421 5 is_stmt 1 view .LVU858
1421:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2786 .loc 1 1421 9 is_stmt 0 view .LVU859
2787 0082 8021 movs r1, #128
2788 0084 0097 str r7, [sp]
2789 0086 3300 movs r3, r6
2790 0088 0022 movs r2, #0
2791 008a 4902 lsls r1, r1, #9
2792 008c 2000 movs r0, r4
2793 008e FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
2794 .LVL199:
1421:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2795 .loc 1 1421 8 discriminator 1 view .LVU860
2796 0092 0028 cmp r0, #0
ARM GAS /tmp/ccuRhBPx.s page 190
2797 0094 44D1 bne .L214
2798 .LVL200:
2799 .L203:
1428:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2800 .loc 1 1428 28 is_stmt 1 view .LVU861
1428:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2801 .loc 1 1428 16 is_stmt 0 view .LVU862
2802 0096 638D ldrh r3, [r4, #42]
2803 0098 9BB2 uxth r3, r3
1428:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2804 .loc 1 1428 28 view .LVU863
2805 009a 002B cmp r3, #0
2806 009c 50D0 beq .L215
1431:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2807 .loc 1 1431 7 is_stmt 1 view .LVU864
1431:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2808 .loc 1 1431 11 is_stmt 0 view .LVU865
2809 009e 3A00 movs r2, r7
2810 00a0 3100 movs r1, r6
2811 00a2 2000 movs r0, r4
2812 00a4 FFF7FEFF bl I2C_WaitOnTXISFlagUntilTimeout
2813 .LVL201:
1431:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2814 .loc 1 1431 10 discriminator 1 view .LVU866
2815 00a8 0028 cmp r0, #0
2816 00aa 41D1 bne .L216
1439:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2817 .loc 1 1439 7 is_stmt 1 view .LVU867
1439:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2818 .loc 1 1439 35 is_stmt 0 view .LVU868
2819 00ac 626A ldr r2, [r4, #36]
1439:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2820 .loc 1 1439 11 view .LVU869
2821 00ae 2368 ldr r3, [r4]
1439:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2822 .loc 1 1439 30 view .LVU870
2823 00b0 1278 ldrb r2, [r2]
1439:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2824 .loc 1 1439 28 view .LVU871
2825 00b2 9A62 str r2, [r3, #40]
1442:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2826 .loc 1 1442 7 is_stmt 1 view .LVU872
1442:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2827 .loc 1 1442 11 is_stmt 0 view .LVU873
2828 00b4 636A ldr r3, [r4, #36]
1442:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2829 .loc 1 1442 21 view .LVU874
2830 00b6 0133 adds r3, r3, #1
2831 00b8 6362 str r3, [r4, #36]
1444:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2832 .loc 1 1444 7 is_stmt 1 view .LVU875
1444:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2833 .loc 1 1444 11 is_stmt 0 view .LVU876
2834 00ba 658D ldrh r5, [r4, #42]
1444:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2835 .loc 1 1444 22 view .LVU877
2836 00bc 013D subs r5, r5, #1
ARM GAS /tmp/ccuRhBPx.s page 191
2837 00be ADB2 uxth r5, r5
2838 00c0 6585 strh r5, [r4, #42]
2839 00c2 E8E7 b .L203
2840 .LVL202:
2841 .L197:
1360:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
2842 .loc 1 1360 7 is_stmt 1 view .LVU878
1360:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
2843 .loc 1 1360 23 is_stmt 0 view .LVU879
2844 00c4 8023 movs r3, #128
2845 00c6 9B00 lsls r3, r3, #2
2846 00c8 6364 str r3, [r4, #68]
1361:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2847 .loc 1 1361 7 is_stmt 1 view .LVU880
1361:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2848 .loc 1 1361 15 is_stmt 0 view .LVU881
2849 00ca 0120 movs r0, #1
2850 .LVL203:
1361:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2851 .loc 1 1361 15 view .LVU882
2852 00cc 83E0 b .L196
2853 .LVL204:
2854 .L211:
1385:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
2855 .loc 1 1385 7 is_stmt 1 view .LVU883
1385:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
2856 .loc 1 1385 11 is_stmt 0 view .LVU884
2857 00ce 2268 ldr r2, [r4]
1385:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
2858 .loc 1 1385 21 view .LVU885
2859 00d0 5168 ldr r1, [r2, #4]
1385:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
2860 .loc 1 1385 27 view .LVU886
2861 00d2 8023 movs r3, #128
2862 00d4 1B02 lsls r3, r3, #8
2863 00d6 0B43 orrs r3, r1
2864 00d8 5360 str r3, [r2, #4]
1386:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2865 .loc 1 1386 7 is_stmt 1 view .LVU887
1386:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2866 .loc 1 1386 14 is_stmt 0 view .LVU888
2867 00da 0120 movs r0, #1
2868 00dc 7BE0 b .L196
2869 .L212:
1394:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2870 .loc 1 1394 7 is_stmt 1 view .LVU889
1394:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2871 .loc 1 1394 35 is_stmt 0 view .LVU890
2872 00de 626A ldr r2, [r4, #36]
1394:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2873 .loc 1 1394 11 view .LVU891
2874 00e0 2368 ldr r3, [r4]
1394:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2875 .loc 1 1394 30 view .LVU892
2876 00e2 1278 ldrb r2, [r2]
1394:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2877 .loc 1 1394 28 view .LVU893
ARM GAS /tmp/ccuRhBPx.s page 192
2878 00e4 9A62 str r2, [r3, #40]
1397:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2879 .loc 1 1397 7 is_stmt 1 view .LVU894
1397:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2880 .loc 1 1397 11 is_stmt 0 view .LVU895
2881 00e6 636A ldr r3, [r4, #36]
1397:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2882 .loc 1 1397 21 view .LVU896
2883 00e8 0133 adds r3, r3, #1
2884 00ea 6362 str r3, [r4, #36]
1399:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2885 .loc 1 1399 7 is_stmt 1 view .LVU897
1399:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2886 .loc 1 1399 11 is_stmt 0 view .LVU898
2887 00ec 638D ldrh r3, [r4, #42]
1399:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2888 .loc 1 1399 22 view .LVU899
2889 00ee 013B subs r3, r3, #1
2890 00f0 9BB2 uxth r3, r3
2891 00f2 6385 strh r3, [r4, #42]
2892 00f4 BFE7 b .L200
2893 .L213:
1409:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2894 .loc 1 1409 7 is_stmt 1 view .LVU900
1409:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2895 .loc 1 1409 11 is_stmt 0 view .LVU901
2896 00f6 0097 str r7, [sp]
2897 00f8 3300 movs r3, r6
2898 00fa 0022 movs r2, #0
2899 00fc 0821 movs r1, #8
2900 00fe 2000 movs r0, r4
2901 0100 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
2902 .LVL205:
1409:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2903 .loc 1 1409 10 discriminator 1 view .LVU902
2904 0104 0028 cmp r0, #0
2905 0106 03D1 bne .L217
1417:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2906 .loc 1 1417 7 is_stmt 1 view .LVU903
2907 0108 2368 ldr r3, [r4]
2908 010a 0822 movs r2, #8
2909 010c DA61 str r2, [r3, #28]
2910 010e B8E7 b .L201
2911 .L217:
1412:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
2912 .loc 1 1412 9 view .LVU904
1412:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
2913 .loc 1 1412 13 is_stmt 0 view .LVU905
2914 0110 2268 ldr r2, [r4]
1412:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
2915 .loc 1 1412 23 view .LVU906
2916 0112 5168 ldr r1, [r2, #4]
1412:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
2917 .loc 1 1412 29 view .LVU907
2918 0114 8023 movs r3, #128
2919 0116 1B02 lsls r3, r3, #8
2920 0118 0B43 orrs r3, r1
ARM GAS /tmp/ccuRhBPx.s page 193
2921 011a 5360 str r3, [r2, #4]
1413:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2922 .loc 1 1413 9 is_stmt 1 view .LVU908
1413:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2923 .loc 1 1413 16 is_stmt 0 view .LVU909
2924 011c 0120 movs r0, #1
2925 011e 5AE0 b .L196
2926 .L214:
1424:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
2927 .loc 1 1424 7 is_stmt 1 view .LVU910
1424:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
2928 .loc 1 1424 11 is_stmt 0 view .LVU911
2929 0120 2268 ldr r2, [r4]
1424:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
2930 .loc 1 1424 21 view .LVU912
2931 0122 5168 ldr r1, [r2, #4]
1424:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
2932 .loc 1 1424 27 view .LVU913
2933 0124 8023 movs r3, #128
2934 0126 1B02 lsls r3, r3, #8
2935 0128 0B43 orrs r3, r1
2936 012a 5360 str r3, [r2, #4]
1425:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2937 .loc 1 1425 7 is_stmt 1 view .LVU914
1425:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2938 .loc 1 1425 14 is_stmt 0 view .LVU915
2939 012c 0120 movs r0, #1
2940 012e 52E0 b .L196
2941 .LVL206:
2942 .L216:
1434:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
2943 .loc 1 1434 9 is_stmt 1 view .LVU916
1434:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
2944 .loc 1 1434 13 is_stmt 0 view .LVU917
2945 0130 2268 ldr r2, [r4]
1434:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
2946 .loc 1 1434 23 view .LVU918
2947 0132 5168 ldr r1, [r2, #4]
1434:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
2948 .loc 1 1434 29 view .LVU919
2949 0134 8023 movs r3, #128
2950 0136 1B02 lsls r3, r3, #8
2951 0138 0B43 orrs r3, r1
2952 013a 5360 str r3, [r2, #4]
1435:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2953 .loc 1 1435 9 is_stmt 1 view .LVU920
1435:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2954 .loc 1 1435 16 is_stmt 0 view .LVU921
2955 013c 0120 movs r0, #1
2956 013e 4AE0 b .L196
2957 .L215:
1448:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2958 .loc 1 1448 5 is_stmt 1 view .LVU922
1448:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2959 .loc 1 1448 9 is_stmt 0 view .LVU923
2960 0140 0097 str r7, [sp]
2961 0142 3300 movs r3, r6
ARM GAS /tmp/ccuRhBPx.s page 194
2962 0144 0022 movs r2, #0
2963 0146 1021 movs r1, #16
2964 0148 2000 movs r0, r4
2965 014a FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
2966 .LVL207:
1448:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2967 .loc 1 1448 8 discriminator 1 view .LVU924
2968 014e 0028 cmp r0, #0
2969 0150 07D0 beq .L206
1451:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
2970 .loc 1 1451 7 is_stmt 1 view .LVU925
1451:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
2971 .loc 1 1451 11 is_stmt 0 view .LVU926
2972 0152 2268 ldr r2, [r4]
1451:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
2973 .loc 1 1451 21 view .LVU927
2974 0154 5168 ldr r1, [r2, #4]
1451:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
2975 .loc 1 1451 27 view .LVU928
2976 0156 8023 movs r3, #128
2977 0158 1B02 lsls r3, r3, #8
2978 015a 0B43 orrs r3, r1
2979 015c 5360 str r3, [r2, #4]
1452:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2980 .loc 1 1452 7 is_stmt 1 view .LVU929
1452:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
2981 .loc 1 1452 14 is_stmt 0 view .LVU930
2982 015e 0120 movs r0, #1
2983 0160 39E0 b .L196
2984 .L206:
1456:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2985 .loc 1 1456 5 is_stmt 1 view .LVU931
2986 0162 2000 movs r0, r4
2987 0164 FFF7FEFF bl I2C_Flush_TXDR
2988 .LVL208:
1459:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
2989 .loc 1 1459 5 view .LVU932
2990 0168 2368 ldr r3, [r4]
2991 016a 1022 movs r2, #16
2992 016c DA61 str r2, [r3, #28]
1462:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2993 .loc 1 1462 5 view .LVU933
1462:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
2994 .loc 1 1462 9 is_stmt 0 view .LVU934
2995 016e 3A00 movs r2, r7
2996 0170 3100 movs r1, r6
2997 0172 2000 movs r0, r4
2998 0174 FFF7FEFF bl I2C_WaitOnSTOPFlagUntilTimeout
2999 .LVL209:
1462:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3000 .loc 1 1462 8 discriminator 1 view .LVU935
3001 0178 0028 cmp r0, #0
3002 017a 07D0 beq .L207
1465:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3003 .loc 1 1465 7 is_stmt 1 view .LVU936
1465:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3004 .loc 1 1465 11 is_stmt 0 view .LVU937
ARM GAS /tmp/ccuRhBPx.s page 195
3005 017c 2268 ldr r2, [r4]
1465:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3006 .loc 1 1465 21 view .LVU938
3007 017e 5168 ldr r1, [r2, #4]
1465:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3008 .loc 1 1465 27 view .LVU939
3009 0180 8023 movs r3, #128
3010 0182 1B02 lsls r3, r3, #8
3011 0184 0B43 orrs r3, r1
3012 0186 5360 str r3, [r2, #4]
1467:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3013 .loc 1 1467 7 is_stmt 1 view .LVU940
1467:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3014 .loc 1 1467 14 is_stmt 0 view .LVU941
3015 0188 0120 movs r0, #1
3016 018a 24E0 b .L196
3017 .L207:
1471:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3018 .loc 1 1471 5 is_stmt 1 view .LVU942
3019 018c 2368 ldr r3, [r4]
3020 018e 2022 movs r2, #32
3021 0190 DA61 str r2, [r3, #28]
1474:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3022 .loc 1 1474 5 view .LVU943
1474:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3023 .loc 1 1474 9 is_stmt 0 view .LVU944
3024 0192 8021 movs r1, #128
3025 0194 0097 str r7, [sp]
3026 0196 3300 movs r3, r6
3027 0198 1F3A subs r2, r2, #31
3028 019a 0902 lsls r1, r1, #8
3029 019c 2000 movs r0, r4
3030 019e FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
3031 .LVL210:
1474:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3032 .loc 1 1474 8 discriminator 1 view .LVU945
3033 01a2 0028 cmp r0, #0
3034 01a4 07D0 beq .L208
1477:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
3035 .loc 1 1477 7 is_stmt 1 view .LVU946
1477:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
3036 .loc 1 1477 11 is_stmt 0 view .LVU947
3037 01a6 2268 ldr r2, [r4]
1477:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
3038 .loc 1 1477 21 view .LVU948
3039 01a8 5168 ldr r1, [r2, #4]
1477:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
3040 .loc 1 1477 27 view .LVU949
3041 01aa 8023 movs r3, #128
3042 01ac 1B02 lsls r3, r3, #8
3043 01ae 0B43 orrs r3, r1
3044 01b0 5360 str r3, [r2, #4]
1478:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3045 .loc 1 1478 7 is_stmt 1 view .LVU950
1478:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3046 .loc 1 1478 14 is_stmt 0 view .LVU951
3047 01b2 0120 movs r0, #1
ARM GAS /tmp/ccuRhBPx.s page 196
3048 01b4 0FE0 b .L196
3049 .L208:
1482:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3050 .loc 1 1482 5 is_stmt 1 view .LVU952
1482:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3051 .loc 1 1482 9 is_stmt 0 view .LVU953
3052 01b6 2268 ldr r2, [r4]
1482:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3053 .loc 1 1482 19 view .LVU954
3054 01b8 5168 ldr r1, [r2, #4]
1482:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3055 .loc 1 1482 25 view .LVU955
3056 01ba 8023 movs r3, #128
3057 01bc 1B02 lsls r3, r3, #8
3058 01be 0B43 orrs r3, r1
3059 01c0 5360 str r3, [r2, #4]
1484:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
3060 .loc 1 1484 5 is_stmt 1 view .LVU956
1484:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
3061 .loc 1 1484 17 is_stmt 0 view .LVU957
3062 01c2 4123 movs r3, #65
3063 01c4 2022 movs r2, #32
3064 01c6 E254 strb r2, [r4, r3]
1485:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3065 .loc 1 1485 5 is_stmt 1 view .LVU958
1485:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3066 .loc 1 1485 17 is_stmt 0 view .LVU959
3067 01c8 0023 movs r3, #0
3068 01ca 2232 adds r2, r2, #34
3069 01cc A354 strb r3, [r4, r2]
1488:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3070 .loc 1 1488 5 is_stmt 1 view .LVU960
1488:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3071 .loc 1 1488 5 view .LVU961
3072 01ce 023A subs r2, r2, #2
3073 01d0 A354 strb r3, [r4, r2]
1488:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3074 .loc 1 1488 5 view .LVU962
1490:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3075 .loc 1 1490 5 view .LVU963
1490:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3076 .loc 1 1490 12 is_stmt 0 view .LVU964
3077 01d2 00E0 b .L196
3078 .LVL211:
3079 .L209:
1494:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3080 .loc 1 1494 12 view .LVU965
3081 01d4 0220 movs r0, #2
3082 .LVL212:
3083 .L196:
1496:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3084 .loc 1 1496 1 view .LVU966
3085 01d6 02B0 add sp, sp, #8
3086 @ sp needed
3087 .LVL213:
3088 .LVL214:
3089 .LVL215:
ARM GAS /tmp/ccuRhBPx.s page 197
1496:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3090 .loc 1 1496 1 view .LVU967
3091 01d8 80BC pop {r7}
3092 01da B846 mov r8, r7
3093 01dc F0BD pop {r4, r5, r6, r7, pc}
3094 .LVL216:
3095 .L210:
1364:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3096 .loc 1 1364 5 discriminator 1 view .LVU968
3097 01de 0220 movs r0, #2
3098 .LVL217:
1364:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3099 .loc 1 1364 5 discriminator 1 view .LVU969
3100 01e0 F9E7 b .L196
3101 .L219:
3102 01e2 C046 .align 2
3103 .L218:
3104 01e4 FF7FFFFF .word -32769
3105 .cfi_endproc
3106 .LFE46:
3108 .section .text.HAL_I2C_Slave_Receive,"ax",%progbits
3109 .align 1
3110 .global HAL_I2C_Slave_Receive
3111 .syntax unified
3112 .code 16
3113 .thumb_func
3115 HAL_I2C_Slave_Receive:
3116 .LVL218:
3117 .LFB47:
1509:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart;
3118 .loc 1 1509 1 is_stmt 1 view -0
3119 .cfi_startproc
3120 @ args = 0, pretend = 0, frame = 0
3121 @ frame_needed = 0, uses_anonymous_args = 0
1509:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart;
3122 .loc 1 1509 1 is_stmt 0 view .LVU971
3123 0000 F0B5 push {r4, r5, r6, r7, lr}
3124 .cfi_def_cfa_offset 20
3125 .cfi_offset 4, -20
3126 .cfi_offset 5, -16
3127 .cfi_offset 6, -12
3128 .cfi_offset 7, -8
3129 .cfi_offset 14, -4
3130 0002 C646 mov lr, r8
3131 0004 00B5 push {lr}
3132 .cfi_def_cfa_offset 24
3133 .cfi_offset 8, -24
3134 0006 82B0 sub sp, sp, #8
3135 .cfi_def_cfa_offset 32
3136 0008 0400 movs r4, r0
3137 000a 0D00 movs r5, r1
3138 000c 9046 mov r8, r2
3139 000e 1E00 movs r6, r3
1510:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3140 .loc 1 1510 3 is_stmt 1 view .LVU972
1512:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3141 .loc 1 1512 3 view .LVU973
ARM GAS /tmp/ccuRhBPx.s page 198
1512:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3142 .loc 1 1512 11 is_stmt 0 view .LVU974
3143 0010 4123 movs r3, #65
3144 .LVL219:
1512:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3145 .loc 1 1512 11 view .LVU975
3146 0012 C35C ldrb r3, [r0, r3]
1512:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3147 .loc 1 1512 6 view .LVU976
3148 0014 202B cmp r3, #32
3149 0016 00D0 beq .LCB3002
3150 0018 B1E0 b .L231 @long jump
3151 .LCB3002:
1514:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3152 .loc 1 1514 5 is_stmt 1 view .LVU977
1514:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3153 .loc 1 1514 8 is_stmt 0 view .LVU978
3154 001a 0029 cmp r1, #0
3155 001c 30D0 beq .L222
1514:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3156 .loc 1 1514 25 discriminator 1 view .LVU979
3157 001e 002A cmp r2, #0
3158 0020 2ED0 beq .L222
1520:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3159 .loc 1 1520 5 is_stmt 1 view .LVU980
1520:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3160 .loc 1 1520 5 view .LVU981
3161 0022 4023 movs r3, #64
3162 0024 C35C ldrb r3, [r0, r3]
3163 0026 012B cmp r3, #1
3164 0028 00D1 bne .LCB3013
3165 002a ADE0 b .L232 @long jump
3166 .LCB3013:
1520:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3167 .loc 1 1520 5 discriminator 2 view .LVU982
3168 002c 4023 movs r3, #64
3169 002e 0122 movs r2, #1
3170 .LVL220:
1520:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3171 .loc 1 1520 5 is_stmt 0 discriminator 2 view .LVU983
3172 0030 C254 strb r2, [r0, r3]
1520:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3173 .loc 1 1520 5 is_stmt 1 discriminator 2 view .LVU984
1523:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3174 .loc 1 1523 5 view .LVU985
1523:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3175 .loc 1 1523 17 is_stmt 0 view .LVU986
3176 0032 FFF7FEFF bl HAL_GetTick
3177 .LVL221:
1523:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3178 .loc 1 1523 17 view .LVU987
3179 0036 0700 movs r7, r0
3180 .LVL222:
1525:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
3181 .loc 1 1525 5 is_stmt 1 view .LVU988
1525:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
3182 .loc 1 1525 21 is_stmt 0 view .LVU989
ARM GAS /tmp/ccuRhBPx.s page 199
3183 0038 4123 movs r3, #65
3184 003a 2222 movs r2, #34
3185 003c E254 strb r2, [r4, r3]
1526:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
3186 .loc 1 1526 5 is_stmt 1 view .LVU990
1526:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
3187 .loc 1 1526 21 is_stmt 0 view .LVU991
3188 003e 0133 adds r3, r3, #1
3189 0040 023A subs r2, r2, #2
3190 0042 E254 strb r2, [r4, r3]
1527:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3191 .loc 1 1527 5 is_stmt 1 view .LVU992
1527:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3192 .loc 1 1527 21 is_stmt 0 view .LVU993
3193 0044 0023 movs r3, #0
3194 0046 6364 str r3, [r4, #68]
1530:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
3195 .loc 1 1530 5 is_stmt 1 view .LVU994
1530:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
3196 .loc 1 1530 21 is_stmt 0 view .LVU995
3197 0048 6562 str r5, [r4, #36]
1531:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
3198 .loc 1 1531 5 is_stmt 1 view .LVU996
1531:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
3199 .loc 1 1531 21 is_stmt 0 view .LVU997
3200 004a 4246 mov r2, r8
3201 004c 6285 strh r2, [r4, #42]
1532:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL;
3202 .loc 1 1532 5 is_stmt 1 view .LVU998
1532:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL;
3203 .loc 1 1532 26 is_stmt 0 view .LVU999
3204 004e 628D ldrh r2, [r4, #42]
1532:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL;
3205 .loc 1 1532 20 view .LVU1000
3206 0050 2285 strh r2, [r4, #40]
1533:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3207 .loc 1 1533 5 is_stmt 1 view .LVU1001
1533:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3208 .loc 1 1533 21 is_stmt 0 view .LVU1002
3209 0052 6363 str r3, [r4, #52]
1536:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3210 .loc 1 1536 5 is_stmt 1 view .LVU1003
1536:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3211 .loc 1 1536 9 is_stmt 0 view .LVU1004
3212 0054 2268 ldr r2, [r4]
1536:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3213 .loc 1 1536 19 view .LVU1005
3214 0056 5368 ldr r3, [r2, #4]
1536:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3215 .loc 1 1536 25 view .LVU1006
3216 0058 4C49 ldr r1, .L235
3217 005a 0B40 ands r3, r1
3218 005c 5360 str r3, [r2, #4]
1539:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3219 .loc 1 1539 5 is_stmt 1 view .LVU1007
1539:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3220 .loc 1 1539 9 is_stmt 0 view .LVU1008
ARM GAS /tmp/ccuRhBPx.s page 200
3221 005e 0090 str r0, [sp]
3222 0060 3300 movs r3, r6
3223 0062 0022 movs r2, #0
3224 0064 0821 movs r1, #8
3225 0066 2000 movs r0, r4
3226 .LVL223:
1539:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3227 .loc 1 1539 9 view .LVU1009
3228 0068 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
3229 .LVL224:
1539:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3230 .loc 1 1539 8 discriminator 1 view .LVU1010
3231 006c 0028 cmp r0, #0
3232 006e 0CD0 beq .L224
1542:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
3233 .loc 1 1542 7 is_stmt 1 view .LVU1011
1542:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
3234 .loc 1 1542 11 is_stmt 0 view .LVU1012
3235 0070 2268 ldr r2, [r4]
1542:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
3236 .loc 1 1542 21 view .LVU1013
3237 0072 5168 ldr r1, [r2, #4]
1542:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
3238 .loc 1 1542 27 view .LVU1014
3239 0074 8023 movs r3, #128
3240 0076 1B02 lsls r3, r3, #8
3241 0078 0B43 orrs r3, r1
3242 007a 5360 str r3, [r2, #4]
1543:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3243 .loc 1 1543 7 is_stmt 1 view .LVU1015
1543:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3244 .loc 1 1543 14 is_stmt 0 view .LVU1016
3245 007c 0120 movs r0, #1
3246 007e 7FE0 b .L221
3247 .LVL225:
3248 .L222:
1516:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
3249 .loc 1 1516 7 is_stmt 1 view .LVU1017
1516:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
3250 .loc 1 1516 23 is_stmt 0 view .LVU1018
3251 0080 8023 movs r3, #128
3252 0082 9B00 lsls r3, r3, #2
3253 0084 6364 str r3, [r4, #68]
1517:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3254 .loc 1 1517 7 is_stmt 1 view .LVU1019
1517:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3255 .loc 1 1517 15 is_stmt 0 view .LVU1020
3256 0086 0120 movs r0, #1
3257 .LVL226:
1517:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3258 .loc 1 1517 15 view .LVU1021
3259 0088 7AE0 b .L221
3260 .LVL227:
3261 .L224:
1547:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3262 .loc 1 1547 5 is_stmt 1 view .LVU1022
3263 008a 2368 ldr r3, [r4]
ARM GAS /tmp/ccuRhBPx.s page 201
3264 008c 0822 movs r2, #8
3265 008e DA61 str r2, [r3, #28]
1550:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3266 .loc 1 1550 5 view .LVU1023
1550:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3267 .loc 1 1550 9 is_stmt 0 view .LVU1024
3268 0090 8021 movs r1, #128
3269 0092 0097 str r7, [sp]
3270 0094 3300 movs r3, r6
3271 0096 073A subs r2, r2, #7
3272 0098 4902 lsls r1, r1, #9
3273 009a 2000 movs r0, r4
3274 009c FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
3275 .LVL228:
1550:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3276 .loc 1 1550 8 discriminator 1 view .LVU1025
3277 00a0 0028 cmp r0, #0
3278 00a2 15D0 beq .L225
1553:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
3279 .loc 1 1553 7 is_stmt 1 view .LVU1026
1553:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
3280 .loc 1 1553 11 is_stmt 0 view .LVU1027
3281 00a4 2268 ldr r2, [r4]
1553:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
3282 .loc 1 1553 21 view .LVU1028
3283 00a6 5168 ldr r1, [r2, #4]
1553:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
3284 .loc 1 1553 27 view .LVU1029
3285 00a8 8023 movs r3, #128
3286 00aa 1B02 lsls r3, r3, #8
3287 00ac 0B43 orrs r3, r1
3288 00ae 5360 str r3, [r2, #4]
1554:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3289 .loc 1 1554 7 is_stmt 1 view .LVU1030
1554:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3290 .loc 1 1554 14 is_stmt 0 view .LVU1031
3291 00b0 0120 movs r0, #1
3292 00b2 65E0 b .L221
3293 .LVL229:
3294 .L226:
1582:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3295 .loc 1 1582 7 is_stmt 1 view .LVU1032
1582:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3296 .loc 1 1582 38 is_stmt 0 view .LVU1033
3297 00b4 2368 ldr r3, [r4]
1582:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3298 .loc 1 1582 48 view .LVU1034
3299 00b6 5A6A ldr r2, [r3, #36]
1582:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3300 .loc 1 1582 12 view .LVU1035
3301 00b8 636A ldr r3, [r4, #36]
1582:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3302 .loc 1 1582 23 view .LVU1036
3303 00ba 1A70 strb r2, [r3]
1585:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3304 .loc 1 1585 7 is_stmt 1 view .LVU1037
1585:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
ARM GAS /tmp/ccuRhBPx.s page 202
3305 .loc 1 1585 11 is_stmt 0 view .LVU1038
3306 00bc 636A ldr r3, [r4, #36]
1585:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3307 .loc 1 1585 21 view .LVU1039
3308 00be 0133 adds r3, r3, #1
3309 00c0 6362 str r3, [r4, #36]
1587:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize--;
3310 .loc 1 1587 7 is_stmt 1 view .LVU1040
1587:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize--;
3311 .loc 1 1587 11 is_stmt 0 view .LVU1041
3312 00c2 658D ldrh r5, [r4, #42]
1587:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize--;
3313 .loc 1 1587 22 view .LVU1042
3314 00c4 013D subs r5, r5, #1
3315 00c6 ADB2 uxth r5, r5
3316 00c8 6585 strh r5, [r4, #42]
1588:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3317 .loc 1 1588 7 is_stmt 1 view .LVU1043
1588:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3318 .loc 1 1588 11 is_stmt 0 view .LVU1044
3319 00ca 238D ldrh r3, [r4, #40]
1588:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3320 .loc 1 1588 21 view .LVU1045
3321 00cc 013B subs r3, r3, #1
3322 00ce 2385 strh r3, [r4, #40]
3323 .L225:
1557:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3324 .loc 1 1557 28 is_stmt 1 view .LVU1046
1557:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3325 .loc 1 1557 16 is_stmt 0 view .LVU1047
3326 00d0 638D ldrh r3, [r4, #42]
3327 00d2 9BB2 uxth r3, r3
1557:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3328 .loc 1 1557 28 view .LVU1048
3329 00d4 002B cmp r3, #0
3330 00d6 1FD0 beq .L234
1560:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3331 .loc 1 1560 7 is_stmt 1 view .LVU1049
1560:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3332 .loc 1 1560 11 is_stmt 0 view .LVU1050
3333 00d8 3A00 movs r2, r7
3334 00da 3100 movs r1, r6
3335 00dc 2000 movs r0, r4
3336 00de FFF7FEFF bl I2C_WaitOnRXNEFlagUntilTimeout
3337 .LVL230:
1560:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3338 .loc 1 1560 10 discriminator 1 view .LVU1051
3339 00e2 0028 cmp r0, #0
3340 00e4 E6D0 beq .L226
1563:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3341 .loc 1 1563 9 is_stmt 1 view .LVU1052
1563:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3342 .loc 1 1563 13 is_stmt 0 view .LVU1053
3343 00e6 2268 ldr r2, [r4]
1563:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3344 .loc 1 1563 23 view .LVU1054
3345 00e8 5168 ldr r1, [r2, #4]
ARM GAS /tmp/ccuRhBPx.s page 203
1563:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3346 .loc 1 1563 29 view .LVU1055
3347 00ea 8023 movs r3, #128
3348 00ec 1B02 lsls r3, r3, #8
3349 00ee 0B43 orrs r3, r1
3350 00f0 5360 str r3, [r2, #4]
1566:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3351 .loc 1 1566 9 is_stmt 1 view .LVU1056
1566:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3352 .loc 1 1566 13 is_stmt 0 view .LVU1057
3353 00f2 2268 ldr r2, [r4]
3354 00f4 9369 ldr r3, [r2, #24]
1566:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3355 .loc 1 1566 12 view .LVU1058
3356 00f6 5B07 lsls r3, r3, #29
3357 00f8 0CD5 bpl .L227
1569:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3358 .loc 1 1569 11 is_stmt 1 view .LVU1059
1569:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3359 .loc 1 1569 52 is_stmt 0 view .LVU1060
3360 00fa 526A ldr r2, [r2, #36]
1569:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3361 .loc 1 1569 16 view .LVU1061
3362 00fc 636A ldr r3, [r4, #36]
1569:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3363 .loc 1 1569 27 view .LVU1062
3364 00fe 1A70 strb r2, [r3]
1572:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3365 .loc 1 1572 11 is_stmt 1 view .LVU1063
1572:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3366 .loc 1 1572 15 is_stmt 0 view .LVU1064
3367 0100 636A ldr r3, [r4, #36]
1572:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3368 .loc 1 1572 25 view .LVU1065
3369 0102 0133 adds r3, r3, #1
3370 0104 6362 str r3, [r4, #36]
1574:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize--;
3371 .loc 1 1574 11 is_stmt 1 view .LVU1066
1574:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize--;
3372 .loc 1 1574 15 is_stmt 0 view .LVU1067
3373 0106 638D ldrh r3, [r4, #42]
1574:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize--;
3374 .loc 1 1574 26 view .LVU1068
3375 0108 013B subs r3, r3, #1
3376 010a 9BB2 uxth r3, r3
3377 010c 6385 strh r3, [r4, #42]
1575:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3378 .loc 1 1575 11 is_stmt 1 view .LVU1069
1575:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3379 .loc 1 1575 15 is_stmt 0 view .LVU1070
3380 010e 238D ldrh r3, [r4, #40]
1575:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3381 .loc 1 1575 25 view .LVU1071
3382 0110 013B subs r3, r3, #1
3383 0112 2385 strh r3, [r4, #40]
3384 .L227:
1578:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
ARM GAS /tmp/ccuRhBPx.s page 204
3385 .loc 1 1578 9 is_stmt 1 view .LVU1072
1578:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3386 .loc 1 1578 16 is_stmt 0 view .LVU1073
3387 0114 0120 movs r0, #1
3388 0116 33E0 b .L221
3389 .L234:
1592:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3390 .loc 1 1592 5 is_stmt 1 view .LVU1074
1592:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3391 .loc 1 1592 9 is_stmt 0 view .LVU1075
3392 0118 3A00 movs r2, r7
3393 011a 3100 movs r1, r6
3394 011c 2000 movs r0, r4
3395 011e FFF7FEFF bl I2C_WaitOnSTOPFlagUntilTimeout
3396 .LVL231:
1592:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3397 .loc 1 1592 8 discriminator 1 view .LVU1076
3398 0122 0028 cmp r0, #0
3399 0124 07D0 beq .L229
1595:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
3400 .loc 1 1595 7 is_stmt 1 view .LVU1077
1595:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
3401 .loc 1 1595 11 is_stmt 0 view .LVU1078
3402 0126 2268 ldr r2, [r4]
1595:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
3403 .loc 1 1595 21 view .LVU1079
3404 0128 5168 ldr r1, [r2, #4]
1595:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
3405 .loc 1 1595 27 view .LVU1080
3406 012a 8023 movs r3, #128
3407 012c 1B02 lsls r3, r3, #8
3408 012e 0B43 orrs r3, r1
3409 0130 5360 str r3, [r2, #4]
1596:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3410 .loc 1 1596 7 is_stmt 1 view .LVU1081
1596:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3411 .loc 1 1596 14 is_stmt 0 view .LVU1082
3412 0132 0120 movs r0, #1
3413 0134 24E0 b .L221
3414 .L229:
1600:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3415 .loc 1 1600 5 is_stmt 1 view .LVU1083
3416 0136 2368 ldr r3, [r4]
3417 0138 2022 movs r2, #32
3418 013a DA61 str r2, [r3, #28]
1603:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3419 .loc 1 1603 5 view .LVU1084
1603:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3420 .loc 1 1603 9 is_stmt 0 view .LVU1085
3421 013c 8021 movs r1, #128
3422 013e 0097 str r7, [sp]
3423 0140 3300 movs r3, r6
3424 0142 1F3A subs r2, r2, #31
3425 0144 0902 lsls r1, r1, #8
3426 0146 2000 movs r0, r4
3427 0148 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
3428 .LVL232:
ARM GAS /tmp/ccuRhBPx.s page 205
1603:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3429 .loc 1 1603 8 discriminator 1 view .LVU1086
3430 014c 0028 cmp r0, #0
3431 014e 07D0 beq .L230
1606:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
3432 .loc 1 1606 7 is_stmt 1 view .LVU1087
1606:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
3433 .loc 1 1606 11 is_stmt 0 view .LVU1088
3434 0150 2268 ldr r2, [r4]
1606:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
3435 .loc 1 1606 21 view .LVU1089
3436 0152 5168 ldr r1, [r2, #4]
1606:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
3437 .loc 1 1606 27 view .LVU1090
3438 0154 8023 movs r3, #128
3439 0156 1B02 lsls r3, r3, #8
3440 0158 0B43 orrs r3, r1
3441 015a 5360 str r3, [r2, #4]
1607:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3442 .loc 1 1607 7 is_stmt 1 view .LVU1091
1607:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3443 .loc 1 1607 14 is_stmt 0 view .LVU1092
3444 015c 0120 movs r0, #1
3445 015e 0FE0 b .L221
3446 .L230:
1611:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3447 .loc 1 1611 5 is_stmt 1 view .LVU1093
1611:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3448 .loc 1 1611 9 is_stmt 0 view .LVU1094
3449 0160 2268 ldr r2, [r4]
1611:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3450 .loc 1 1611 19 view .LVU1095
3451 0162 5168 ldr r1, [r2, #4]
1611:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3452 .loc 1 1611 25 view .LVU1096
3453 0164 8023 movs r3, #128
3454 0166 1B02 lsls r3, r3, #8
3455 0168 0B43 orrs r3, r1
3456 016a 5360 str r3, [r2, #4]
1613:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
3457 .loc 1 1613 5 is_stmt 1 view .LVU1097
1613:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
3458 .loc 1 1613 17 is_stmt 0 view .LVU1098
3459 016c 4123 movs r3, #65
3460 016e 2022 movs r2, #32
3461 0170 E254 strb r2, [r4, r3]
1614:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3462 .loc 1 1614 5 is_stmt 1 view .LVU1099
1614:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3463 .loc 1 1614 17 is_stmt 0 view .LVU1100
3464 0172 0023 movs r3, #0
3465 0174 2232 adds r2, r2, #34
3466 0176 A354 strb r3, [r4, r2]
1617:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3467 .loc 1 1617 5 is_stmt 1 view .LVU1101
1617:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3468 .loc 1 1617 5 view .LVU1102
ARM GAS /tmp/ccuRhBPx.s page 206
3469 0178 023A subs r2, r2, #2
3470 017a A354 strb r3, [r4, r2]
1617:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3471 .loc 1 1617 5 view .LVU1103
1619:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3472 .loc 1 1619 5 view .LVU1104
1619:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3473 .loc 1 1619 12 is_stmt 0 view .LVU1105
3474 017c 00E0 b .L221
3475 .LVL233:
3476 .L231:
1623:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3477 .loc 1 1623 12 view .LVU1106
3478 017e 0220 movs r0, #2
3479 .LVL234:
3480 .L221:
1625:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3481 .loc 1 1625 1 view .LVU1107
3482 0180 02B0 add sp, sp, #8
3483 @ sp needed
3484 .LVL235:
3485 .LVL236:
3486 .LVL237:
1625:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3487 .loc 1 1625 1 view .LVU1108
3488 0182 80BC pop {r7}
3489 0184 B846 mov r8, r7
3490 0186 F0BD pop {r4, r5, r6, r7, pc}
3491 .LVL238:
3492 .L232:
1520:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3493 .loc 1 1520 5 discriminator 1 view .LVU1109
3494 0188 0220 movs r0, #2
3495 .LVL239:
1520:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3496 .loc 1 1520 5 discriminator 1 view .LVU1110
3497 018a F9E7 b .L221
3498 .L236:
3499 .align 2
3500 .L235:
3501 018c FF7FFFFF .word -32769
3502 .cfi_endproc
3503 .LFE47:
3505 .section .text.HAL_I2C_Master_Transmit_IT,"ax",%progbits
3506 .align 1
3507 .global HAL_I2C_Master_Transmit_IT
3508 .syntax unified
3509 .code 16
3510 .thumb_func
3512 HAL_I2C_Master_Transmit_IT:
3513 .LVL240:
3514 .LFB48:
1639:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xfermode;
3515 .loc 1 1639 1 is_stmt 1 view -0
3516 .cfi_startproc
3517 @ args = 0, pretend = 0, frame = 0
3518 @ frame_needed = 0, uses_anonymous_args = 0
ARM GAS /tmp/ccuRhBPx.s page 207
1639:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xfermode;
3519 .loc 1 1639 1 is_stmt 0 view .LVU1112
3520 0000 30B5 push {r4, r5, lr}
3521 .cfi_def_cfa_offset 12
3522 .cfi_offset 4, -12
3523 .cfi_offset 5, -8
3524 .cfi_offset 14, -4
3525 0002 83B0 sub sp, sp, #12
3526 .cfi_def_cfa_offset 24
3527 0004 0400 movs r4, r0
1640:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3528 .loc 1 1640 3 is_stmt 1 view .LVU1113
1642:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3529 .loc 1 1642 3 view .LVU1114
1642:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3530 .loc 1 1642 11 is_stmt 0 view .LVU1115
3531 0006 4120 movs r0, #65
3532 .LVL241:
1642:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3533 .loc 1 1642 11 view .LVU1116
3534 0008 205C ldrb r0, [r4, r0]
1642:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3535 .loc 1 1642 6 view .LVU1117
3536 000a 2028 cmp r0, #32
3537 000c 36D1 bne .L241
1644:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3538 .loc 1 1644 5 is_stmt 1 view .LVU1118
1644:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3539 .loc 1 1644 9 is_stmt 0 view .LVU1119
3540 000e 2068 ldr r0, [r4]
3541 0010 8069 ldr r0, [r0, #24]
1644:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3542 .loc 1 1644 8 view .LVU1120
3543 0012 0004 lsls r0, r0, #16
3544 0014 34D4 bmi .L242
1650:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3545 .loc 1 1650 5 is_stmt 1 view .LVU1121
1650:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3546 .loc 1 1650 5 view .LVU1122
3547 0016 4020 movs r0, #64
3548 0018 205C ldrb r0, [r4, r0]
3549 001a 0128 cmp r0, #1
3550 001c 32D0 beq .L243
1650:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3551 .loc 1 1650 5 discriminator 2 view .LVU1123
3552 001e 4020 movs r0, #64
3553 0020 0125 movs r5, #1
3554 0022 2554 strb r5, [r4, r0]
1650:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3555 .loc 1 1650 5 discriminator 2 view .LVU1124
1652:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
3556 .loc 1 1652 5 view .LVU1125
1652:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
3557 .loc 1 1652 23 is_stmt 0 view .LVU1126
3558 0024 0130 adds r0, r0, #1
3559 0026 2035 adds r5, r5, #32
3560 0028 2554 strb r5, [r4, r0]
ARM GAS /tmp/ccuRhBPx.s page 208
1653:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
3561 .loc 1 1653 5 is_stmt 1 view .LVU1127
1653:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
3562 .loc 1 1653 23 is_stmt 0 view .LVU1128
3563 002a 0130 adds r0, r0, #1
3564 002c 113D subs r5, r5, #17
3565 002e 2554 strb r5, [r4, r0]
1654:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3566 .loc 1 1654 5 is_stmt 1 view .LVU1129
1654:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3567 .loc 1 1654 23 is_stmt 0 view .LVU1130
3568 0030 0020 movs r0, #0
3569 0032 6064 str r0, [r4, #68]
1657:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
3570 .loc 1 1657 5 is_stmt 1 view .LVU1131
1657:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
3571 .loc 1 1657 23 is_stmt 0 view .LVU1132
3572 0034 6262 str r2, [r4, #36]
1658:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
3573 .loc 1 1658 5 is_stmt 1 view .LVU1133
1658:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
3574 .loc 1 1658 23 is_stmt 0 view .LVU1134
3575 0036 6385 strh r3, [r4, #42]
1659:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
3576 .loc 1 1659 5 is_stmt 1 view .LVU1135
1659:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
3577 .loc 1 1659 23 is_stmt 0 view .LVU1136
3578 0038 134B ldr r3, .L244
3579 .LVL242:
1659:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
3580 .loc 1 1659 23 view .LVU1137
3581 003a E362 str r3, [r4, #44]
3582 .LVL243:
1660:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3583 .loc 1 1660 5 is_stmt 1 view .LVU1138
1660:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3584 .loc 1 1660 23 is_stmt 0 view .LVU1139
3585 003c 134B ldr r3, .L244+4
3586 003e 6363 str r3, [r4, #52]
1662:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3587 .loc 1 1662 5 is_stmt 1 view .LVU1140
1662:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3588 .loc 1 1662 13 is_stmt 0 view .LVU1141
3589 0040 638D ldrh r3, [r4, #42]
3590 0042 9BB2 uxth r3, r3
1662:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3591 .loc 1 1662 8 view .LVU1142
3592 0044 FF2B cmp r3, #255
3593 0046 14D9 bls .L239
1664:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
3594 .loc 1 1664 7 is_stmt 1 view .LVU1143
1664:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
3595 .loc 1 1664 22 is_stmt 0 view .LVU1144
3596 0048 FF23 movs r3, #255
3597 004a 2385 strh r3, [r4, #40]
1665:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3598 .loc 1 1665 7 is_stmt 1 view .LVU1145
ARM GAS /tmp/ccuRhBPx.s page 209
3599 .LVL244:
1665:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3600 .loc 1 1665 16 is_stmt 0 view .LVU1146
3601 004c 8023 movs r3, #128
3602 004e 5B04 lsls r3, r3, #17
3603 .LVL245:
3604 .L240:
1675:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3605 .loc 1 1675 5 is_stmt 1 view .LVU1147
1675:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3606 .loc 1 1675 55 is_stmt 0 view .LVU1148
3607 0050 228D ldrh r2, [r4, #40]
3608 .LVL246:
1675:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3609 .loc 1 1675 5 view .LVU1149
3610 0052 D2B2 uxtb r2, r2
3611 0054 0E48 ldr r0, .L244+8
3612 0056 0090 str r0, [sp]
3613 .LVL247:
1675:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3614 .loc 1 1675 5 view .LVU1150
3615 0058 2000 movs r0, r4
3616 005a FFF7FEFF bl I2C_TransferConfig
3617 .LVL248:
1678:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3618 .loc 1 1678 5 is_stmt 1 view .LVU1151
1678:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3619 .loc 1 1678 5 view .LVU1152
3620 005e 4023 movs r3, #64
3621 0060 0022 movs r2, #0
3622 0062 E254 strb r2, [r4, r3]
1678:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3623 .loc 1 1678 5 view .LVU1153
1688:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3624 .loc 1 1688 5 view .LVU1154
3625 0064 0121 movs r1, #1
3626 0066 2000 movs r0, r4
3627 0068 FFF7FEFF bl I2C_Enable_IRQ
3628 .LVL249:
1690:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3629 .loc 1 1690 5 view .LVU1155
1690:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3630 .loc 1 1690 12 is_stmt 0 view .LVU1156
3631 006c 0020 movs r0, #0
3632 .LVL250:
3633 .L238:
1696:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3634 .loc 1 1696 1 view .LVU1157
3635 006e 03B0 add sp, sp, #12
3636 @ sp needed
3637 .LVL251:
1696:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3638 .loc 1 1696 1 view .LVU1158
3639 0070 30BD pop {r4, r5, pc}
3640 .LVL252:
3641 .L239:
1669:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
ARM GAS /tmp/ccuRhBPx.s page 210
3642 .loc 1 1669 7 is_stmt 1 view .LVU1159
1669:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
3643 .loc 1 1669 28 is_stmt 0 view .LVU1160
3644 0072 638D ldrh r3, [r4, #42]
1669:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
3645 .loc 1 1669 22 view .LVU1161
3646 0074 2385 strh r3, [r4, #40]
1670:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3647 .loc 1 1670 7 is_stmt 1 view .LVU1162
3648 .LVL253:
1670:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3649 .loc 1 1670 16 is_stmt 0 view .LVU1163
3650 0076 8023 movs r3, #128
3651 0078 9B04 lsls r3, r3, #18
3652 007a E9E7 b .L240
3653 .LVL254:
3654 .L241:
1694:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3655 .loc 1 1694 12 view .LVU1164
3656 007c 0220 movs r0, #2
3657 007e F6E7 b .L238
3658 .L242:
1646:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3659 .loc 1 1646 14 view .LVU1165
3660 0080 0220 movs r0, #2
3661 0082 F4E7 b .L238
3662 .L243:
1650:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3663 .loc 1 1650 5 discriminator 1 view .LVU1166
3664 0084 0220 movs r0, #2
3665 0086 F2E7 b .L238
3666 .L245:
3667 .align 2
3668 .L244:
3669 0088 0000FFFF .word -65536
3670 008c 00000000 .word I2C_Master_ISR_IT
3671 0090 00200080 .word -2147475456
3672 .cfi_endproc
3673 .LFE48:
3675 .section .text.HAL_I2C_Master_Receive_IT,"ax",%progbits
3676 .align 1
3677 .global HAL_I2C_Master_Receive_IT
3678 .syntax unified
3679 .code 16
3680 .thumb_func
3682 HAL_I2C_Master_Receive_IT:
3683 .LVL255:
3684 .LFB49:
1710:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xfermode;
3685 .loc 1 1710 1 is_stmt 1 view -0
3686 .cfi_startproc
3687 @ args = 0, pretend = 0, frame = 0
3688 @ frame_needed = 0, uses_anonymous_args = 0
1710:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xfermode;
3689 .loc 1 1710 1 is_stmt 0 view .LVU1168
3690 0000 30B5 push {r4, r5, lr}
3691 .cfi_def_cfa_offset 12
ARM GAS /tmp/ccuRhBPx.s page 211
3692 .cfi_offset 4, -12
3693 .cfi_offset 5, -8
3694 .cfi_offset 14, -4
3695 0002 83B0 sub sp, sp, #12
3696 .cfi_def_cfa_offset 24
3697 0004 0400 movs r4, r0
1711:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3698 .loc 1 1711 3 is_stmt 1 view .LVU1169
1713:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3699 .loc 1 1713 3 view .LVU1170
1713:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3700 .loc 1 1713 11 is_stmt 0 view .LVU1171
3701 0006 4120 movs r0, #65
3702 .LVL256:
1713:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3703 .loc 1 1713 11 view .LVU1172
3704 0008 205C ldrb r0, [r4, r0]
1713:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3705 .loc 1 1713 6 view .LVU1173
3706 000a 2028 cmp r0, #32
3707 000c 36D1 bne .L250
1715:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3708 .loc 1 1715 5 is_stmt 1 view .LVU1174
1715:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3709 .loc 1 1715 9 is_stmt 0 view .LVU1175
3710 000e 2068 ldr r0, [r4]
3711 0010 8069 ldr r0, [r0, #24]
1715:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3712 .loc 1 1715 8 view .LVU1176
3713 0012 0004 lsls r0, r0, #16
3714 0014 34D4 bmi .L251
1721:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3715 .loc 1 1721 5 is_stmt 1 view .LVU1177
1721:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3716 .loc 1 1721 5 view .LVU1178
3717 0016 4020 movs r0, #64
3718 0018 205C ldrb r0, [r4, r0]
3719 001a 0128 cmp r0, #1
3720 001c 32D0 beq .L252
1721:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3721 .loc 1 1721 5 discriminator 2 view .LVU1179
3722 001e 4020 movs r0, #64
3723 0020 0125 movs r5, #1
3724 0022 2554 strb r5, [r4, r0]
1721:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3725 .loc 1 1721 5 discriminator 2 view .LVU1180
1723:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
3726 .loc 1 1723 5 view .LVU1181
1723:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
3727 .loc 1 1723 23 is_stmt 0 view .LVU1182
3728 0024 0130 adds r0, r0, #1
3729 0026 2135 adds r5, r5, #33
3730 0028 2554 strb r5, [r4, r0]
1724:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
3731 .loc 1 1724 5 is_stmt 1 view .LVU1183
1724:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
3732 .loc 1 1724 23 is_stmt 0 view .LVU1184
ARM GAS /tmp/ccuRhBPx.s page 212
3733 002a 0130 adds r0, r0, #1
3734 002c 123D subs r5, r5, #18
3735 002e 2554 strb r5, [r4, r0]
1725:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3736 .loc 1 1725 5 is_stmt 1 view .LVU1185
1725:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3737 .loc 1 1725 23 is_stmt 0 view .LVU1186
3738 0030 0020 movs r0, #0
3739 0032 6064 str r0, [r4, #68]
1728:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
3740 .loc 1 1728 5 is_stmt 1 view .LVU1187
1728:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
3741 .loc 1 1728 23 is_stmt 0 view .LVU1188
3742 0034 6262 str r2, [r4, #36]
1729:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
3743 .loc 1 1729 5 is_stmt 1 view .LVU1189
1729:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
3744 .loc 1 1729 23 is_stmt 0 view .LVU1190
3745 0036 6385 strh r3, [r4, #42]
1730:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
3746 .loc 1 1730 5 is_stmt 1 view .LVU1191
1730:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
3747 .loc 1 1730 23 is_stmt 0 view .LVU1192
3748 0038 134B ldr r3, .L253
3749 .LVL257:
1730:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
3750 .loc 1 1730 23 view .LVU1193
3751 003a E362 str r3, [r4, #44]
3752 .LVL258:
1731:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3753 .loc 1 1731 5 is_stmt 1 view .LVU1194
1731:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3754 .loc 1 1731 23 is_stmt 0 view .LVU1195
3755 003c 134B ldr r3, .L253+4
3756 003e 6363 str r3, [r4, #52]
1733:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3757 .loc 1 1733 5 is_stmt 1 view .LVU1196
1733:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3758 .loc 1 1733 13 is_stmt 0 view .LVU1197
3759 0040 638D ldrh r3, [r4, #42]
3760 0042 9BB2 uxth r3, r3
1733:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3761 .loc 1 1733 8 view .LVU1198
3762 0044 FF2B cmp r3, #255
3763 0046 14D9 bls .L248
1735:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
3764 .loc 1 1735 7 is_stmt 1 view .LVU1199
1735:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
3765 .loc 1 1735 22 is_stmt 0 view .LVU1200
3766 0048 FF23 movs r3, #255
3767 004a 2385 strh r3, [r4, #40]
1736:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3768 .loc 1 1736 7 is_stmt 1 view .LVU1201
3769 .LVL259:
1736:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3770 .loc 1 1736 16 is_stmt 0 view .LVU1202
3771 004c 8023 movs r3, #128
ARM GAS /tmp/ccuRhBPx.s page 213
3772 004e 5B04 lsls r3, r3, #17
3773 .LVL260:
3774 .L249:
1746:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3775 .loc 1 1746 5 is_stmt 1 view .LVU1203
1746:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3776 .loc 1 1746 55 is_stmt 0 view .LVU1204
3777 0050 228D ldrh r2, [r4, #40]
3778 .LVL261:
1746:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3779 .loc 1 1746 5 view .LVU1205
3780 0052 D2B2 uxtb r2, r2
3781 0054 0E48 ldr r0, .L253+8
3782 0056 0090 str r0, [sp]
3783 .LVL262:
1746:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3784 .loc 1 1746 5 view .LVU1206
3785 0058 2000 movs r0, r4
3786 005a FFF7FEFF bl I2C_TransferConfig
3787 .LVL263:
1749:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3788 .loc 1 1749 5 is_stmt 1 view .LVU1207
1749:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3789 .loc 1 1749 5 view .LVU1208
3790 005e 4023 movs r3, #64
3791 0060 0022 movs r2, #0
3792 0062 E254 strb r2, [r4, r3]
1749:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3793 .loc 1 1749 5 view .LVU1209
1759:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3794 .loc 1 1759 5 view .LVU1210
3795 0064 0221 movs r1, #2
3796 0066 2000 movs r0, r4
3797 0068 FFF7FEFF bl I2C_Enable_IRQ
3798 .LVL264:
1761:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3799 .loc 1 1761 5 view .LVU1211
1761:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3800 .loc 1 1761 12 is_stmt 0 view .LVU1212
3801 006c 0020 movs r0, #0
3802 .LVL265:
3803 .L247:
1767:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3804 .loc 1 1767 1 view .LVU1213
3805 006e 03B0 add sp, sp, #12
3806 @ sp needed
3807 .LVL266:
1767:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3808 .loc 1 1767 1 view .LVU1214
3809 0070 30BD pop {r4, r5, pc}
3810 .LVL267:
3811 .L248:
1740:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
3812 .loc 1 1740 7 is_stmt 1 view .LVU1215
1740:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
3813 .loc 1 1740 28 is_stmt 0 view .LVU1216
3814 0072 638D ldrh r3, [r4, #42]
ARM GAS /tmp/ccuRhBPx.s page 214
1740:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
3815 .loc 1 1740 22 view .LVU1217
3816 0074 2385 strh r3, [r4, #40]
1741:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3817 .loc 1 1741 7 is_stmt 1 view .LVU1218
3818 .LVL268:
1741:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3819 .loc 1 1741 16 is_stmt 0 view .LVU1219
3820 0076 8023 movs r3, #128
3821 0078 9B04 lsls r3, r3, #18
3822 007a E9E7 b .L249
3823 .LVL269:
3824 .L250:
1765:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3825 .loc 1 1765 12 view .LVU1220
3826 007c 0220 movs r0, #2
3827 007e F6E7 b .L247
3828 .L251:
1717:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3829 .loc 1 1717 14 view .LVU1221
3830 0080 0220 movs r0, #2
3831 0082 F4E7 b .L247
3832 .L252:
1721:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3833 .loc 1 1721 5 discriminator 1 view .LVU1222
3834 0084 0220 movs r0, #2
3835 0086 F2E7 b .L247
3836 .L254:
3837 .align 2
3838 .L253:
3839 0088 0000FFFF .word -65536
3840 008c 00000000 .word I2C_Master_ISR_IT
3841 0090 00240080 .word -2147474432
3842 .cfi_endproc
3843 .LFE49:
3845 .section .text.HAL_I2C_Slave_Transmit_IT,"ax",%progbits
3846 .align 1
3847 .global HAL_I2C_Slave_Transmit_IT
3848 .syntax unified
3849 .code 16
3850 .thumb_func
3852 HAL_I2C_Slave_Transmit_IT:
3853 .LVL270:
3854 .LFB50:
1778:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
3855 .loc 1 1778 1 is_stmt 1 view -0
3856 .cfi_startproc
3857 @ args = 0, pretend = 0, frame = 0
3858 @ frame_needed = 0, uses_anonymous_args = 0
1778:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
3859 .loc 1 1778 1 is_stmt 0 view .LVU1224
3860 0000 70B5 push {r4, r5, r6, lr}
3861 .cfi_def_cfa_offset 16
3862 .cfi_offset 4, -16
3863 .cfi_offset 5, -12
3864 .cfi_offset 6, -8
3865 .cfi_offset 14, -4
ARM GAS /tmp/ccuRhBPx.s page 215
1779:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3866 .loc 1 1779 3 is_stmt 1 view .LVU1225
1779:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3867 .loc 1 1779 11 is_stmt 0 view .LVU1226
3868 0002 4123 movs r3, #65
3869 0004 C35C ldrb r3, [r0, r3]
1779:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3870 .loc 1 1779 6 view .LVU1227
3871 0006 202B cmp r3, #32
3872 0008 36D1 bne .L258
1782:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3873 .loc 1 1782 5 is_stmt 1 view .LVU1228
1782:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3874 .loc 1 1782 5 view .LVU1229
3875 000a 2033 adds r3, r3, #32
3876 000c C35C ldrb r3, [r0, r3]
3877 000e 012B cmp r3, #1
3878 0010 34D0 beq .L259
1782:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3879 .loc 1 1782 5 discriminator 2 view .LVU1230
3880 0012 4023 movs r3, #64
3881 0014 0124 movs r4, #1
3882 0016 C454 strb r4, [r0, r3]
1782:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3883 .loc 1 1782 5 discriminator 2 view .LVU1231
1784:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
3884 .loc 1 1784 5 view .LVU1232
1784:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
3885 .loc 1 1784 23 is_stmt 0 view .LVU1233
3886 0018 0133 adds r3, r3, #1
3887 001a 2034 adds r4, r4, #32
3888 001c C454 strb r4, [r0, r3]
1785:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
3889 .loc 1 1785 5 is_stmt 1 view .LVU1234
1785:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
3890 .loc 1 1785 23 is_stmt 0 view .LVU1235
3891 001e 0133 adds r3, r3, #1
3892 0020 013C subs r4, r4, #1
3893 0022 C454 strb r4, [r0, r3]
1786:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3894 .loc 1 1786 5 is_stmt 1 view .LVU1236
1786:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3895 .loc 1 1786 23 is_stmt 0 view .LVU1237
3896 0024 0023 movs r3, #0
3897 0026 4364 str r3, [r0, #68]
1789:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3898 .loc 1 1789 5 is_stmt 1 view .LVU1238
1789:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3899 .loc 1 1789 9 is_stmt 0 view .LVU1239
3900 0028 0468 ldr r4, [r0]
1789:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3901 .loc 1 1789 19 view .LVU1240
3902 002a 6368 ldr r3, [r4, #4]
1789:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3903 .loc 1 1789 25 view .LVU1241
3904 002c 144D ldr r5, .L261
3905 002e 2B40 ands r3, r5
ARM GAS /tmp/ccuRhBPx.s page 216
3906 0030 6360 str r3, [r4, #4]
1792:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
3907 .loc 1 1792 5 is_stmt 1 view .LVU1242
1792:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
3908 .loc 1 1792 23 is_stmt 0 view .LVU1243
3909 0032 4162 str r1, [r0, #36]
1793:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
3910 .loc 1 1793 5 is_stmt 1 view .LVU1244
1793:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
3911 .loc 1 1793 23 is_stmt 0 view .LVU1245
3912 0034 4285 strh r2, [r0, #42]
1794:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
3913 .loc 1 1794 5 is_stmt 1 view .LVU1246
1794:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
3914 .loc 1 1794 29 is_stmt 0 view .LVU1247
3915 0036 438D ldrh r3, [r0, #42]
1794:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
3916 .loc 1 1794 23 view .LVU1248
3917 0038 0385 strh r3, [r0, #40]
1795:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
3918 .loc 1 1795 5 is_stmt 1 view .LVU1249
1795:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
3919 .loc 1 1795 23 is_stmt 0 view .LVU1250
3920 003a 124B ldr r3, .L261+4
3921 003c C362 str r3, [r0, #44]
1796:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3922 .loc 1 1796 5 is_stmt 1 view .LVU1251
1796:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3923 .loc 1 1796 23 is_stmt 0 view .LVU1252
3924 003e 124B ldr r3, .L261+8
3925 0040 4363 str r3, [r0, #52]
1799:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3926 .loc 1 1799 5 is_stmt 1 view .LVU1253
1799:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3927 .loc 1 1799 19 is_stmt 0 view .LVU1254
3928 0042 026A ldr r2, [r0, #32]
3929 .LVL271:
1799:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
3930 .loc 1 1799 8 view .LVU1255
3931 0044 8023 movs r3, #128
3932 0046 9B02 lsls r3, r3, #10
3933 0048 9A42 cmp r2, r3
3934 004a 07D0 beq .L260
3935 .L257:
1813:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3936 .loc 1 1813 5 is_stmt 1 view .LVU1256
1813:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3937 .loc 1 1813 5 view .LVU1257
3938 004c 4023 movs r3, #64
3939 004e 0022 movs r2, #0
3940 0050 C254 strb r2, [r0, r3]
1813:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3941 .loc 1 1813 5 view .LVU1258
1823:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3942 .loc 1 1823 5 view .LVU1259
3943 0052 0E49 ldr r1, .L261+12
3944 .LVL272:
ARM GAS /tmp/ccuRhBPx.s page 217
1823:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3945 .loc 1 1823 5 is_stmt 0 view .LVU1260
3946 0054 FFF7FEFF bl I2C_Enable_IRQ
3947 .LVL273:
1825:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3948 .loc 1 1825 5 is_stmt 1 view .LVU1261
1825:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3949 .loc 1 1825 12 is_stmt 0 view .LVU1262
3950 0058 0020 movs r0, #0
3951 .L256:
1831:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3952 .loc 1 1831 1 view .LVU1263
3953 @ sp needed
3954 005a 70BD pop {r4, r5, r6, pc}
3955 .LVL274:
3956 .L260:
1803:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3957 .loc 1 1803 7 is_stmt 1 view .LVU1264
1803:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3958 .loc 1 1803 11 is_stmt 0 view .LVU1265
3959 005c 0368 ldr r3, [r0]
1803:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3960 .loc 1 1803 30 view .LVU1266
3961 005e 0A78 ldrb r2, [r1]
1803:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3962 .loc 1 1803 28 view .LVU1267
3963 0060 9A62 str r2, [r3, #40]
1806:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3964 .loc 1 1806 7 is_stmt 1 view .LVU1268
1806:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3965 .loc 1 1806 11 is_stmt 0 view .LVU1269
3966 0062 436A ldr r3, [r0, #36]
1806:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3967 .loc 1 1806 21 view .LVU1270
3968 0064 0133 adds r3, r3, #1
3969 0066 4362 str r3, [r0, #36]
1808:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize--;
3970 .loc 1 1808 7 is_stmt 1 view .LVU1271
1808:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize--;
3971 .loc 1 1808 11 is_stmt 0 view .LVU1272
3972 0068 438D ldrh r3, [r0, #42]
1808:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize--;
3973 .loc 1 1808 22 view .LVU1273
3974 006a 013B subs r3, r3, #1
3975 006c 9BB2 uxth r3, r3
3976 006e 4385 strh r3, [r0, #42]
1809:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3977 .loc 1 1809 7 is_stmt 1 view .LVU1274
1809:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3978 .loc 1 1809 11 is_stmt 0 view .LVU1275
3979 0070 038D ldrh r3, [r0, #40]
1809:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3980 .loc 1 1809 21 view .LVU1276
3981 0072 013B subs r3, r3, #1
3982 0074 0385 strh r3, [r0, #40]
3983 0076 E9E7 b .L257
3984 .LVL275:
ARM GAS /tmp/ccuRhBPx.s page 218
3985 .L258:
1829:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3986 .loc 1 1829 12 view .LVU1277
3987 0078 0220 movs r0, #2
3988 .LVL276:
1829:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
3989 .loc 1 1829 12 view .LVU1278
3990 007a EEE7 b .L256
3991 .LVL277:
3992 .L259:
1782:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3993 .loc 1 1782 5 discriminator 1 view .LVU1279
3994 007c 0220 movs r0, #2
3995 .LVL278:
1782:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
3996 .loc 1 1782 5 discriminator 1 view .LVU1280
3997 007e ECE7 b .L256
3998 .L262:
3999 .align 2
4000 .L261:
4001 0080 FF7FFFFF .word -32769
4002 0084 0000FFFF .word -65536
4003 0088 00000000 .word I2C_Slave_ISR_IT
4004 008c 01800000 .word 32769
4005 .cfi_endproc
4006 .LFE50:
4008 .section .text.HAL_I2C_Slave_Receive_IT,"ax",%progbits
4009 .align 1
4010 .global HAL_I2C_Slave_Receive_IT
4011 .syntax unified
4012 .code 16
4013 .thumb_func
4015 HAL_I2C_Slave_Receive_IT:
4016 .LVL279:
4017 .LFB51:
1842:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
4018 .loc 1 1842 1 is_stmt 1 view -0
4019 .cfi_startproc
4020 @ args = 0, pretend = 0, frame = 0
4021 @ frame_needed = 0, uses_anonymous_args = 0
1842:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
4022 .loc 1 1842 1 is_stmt 0 view .LVU1282
4023 0000 F8B5 push {r3, r4, r5, r6, r7, lr}
4024 .cfi_def_cfa_offset 24
4025 .cfi_offset 3, -24
4026 .cfi_offset 4, -20
4027 .cfi_offset 5, -16
4028 .cfi_offset 6, -12
4029 .cfi_offset 7, -8
4030 .cfi_offset 14, -4
1843:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4031 .loc 1 1843 3 is_stmt 1 view .LVU1283
1843:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4032 .loc 1 1843 11 is_stmt 0 view .LVU1284
4033 0002 4123 movs r3, #65
4034 0004 C35C ldrb r3, [r0, r3]
1843:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
ARM GAS /tmp/ccuRhBPx.s page 219
4035 .loc 1 1843 6 view .LVU1285
4036 0006 202B cmp r3, #32
4037 0008 21D1 bne .L265
1846:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4038 .loc 1 1846 5 is_stmt 1 view .LVU1286
1846:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4039 .loc 1 1846 5 view .LVU1287
4040 000a 2033 adds r3, r3, #32
4041 000c C35C ldrb r3, [r0, r3]
4042 000e 012B cmp r3, #1
4043 0010 1FD0 beq .L266
1846:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4044 .loc 1 1846 5 discriminator 2 view .LVU1288
4045 0012 4024 movs r4, #64
4046 0014 0123 movs r3, #1
4047 0016 0355 strb r3, [r0, r4]
1846:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4048 .loc 1 1846 5 discriminator 2 view .LVU1289
1848:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
4049 .loc 1 1848 5 view .LVU1290
1848:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
4050 .loc 1 1848 23 is_stmt 0 view .LVU1291
4051 0018 4033 adds r3, r3, #64
4052 001a 2225 movs r5, #34
4053 001c C554 strb r5, [r0, r3]
1849:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
4054 .loc 1 1849 5 is_stmt 1 view .LVU1292
1849:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
4055 .loc 1 1849 23 is_stmt 0 view .LVU1293
4056 001e 0133 adds r3, r3, #1
4057 0020 023D subs r5, r5, #2
4058 0022 C554 strb r5, [r0, r3]
1850:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4059 .loc 1 1850 5 is_stmt 1 view .LVU1294
1850:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4060 .loc 1 1850 23 is_stmt 0 view .LVU1295
4061 0024 0025 movs r5, #0
4062 0026 4564 str r5, [r0, #68]
1853:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4063 .loc 1 1853 5 is_stmt 1 view .LVU1296
1853:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4064 .loc 1 1853 9 is_stmt 0 view .LVU1297
4065 0028 0668 ldr r6, [r0]
1853:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4066 .loc 1 1853 19 view .LVU1298
4067 002a 7368 ldr r3, [r6, #4]
1853:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4068 .loc 1 1853 25 view .LVU1299
4069 002c 0A4F ldr r7, .L267
4070 002e 3B40 ands r3, r7
4071 0030 7360 str r3, [r6, #4]
1856:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
4072 .loc 1 1856 5 is_stmt 1 view .LVU1300
1856:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
4073 .loc 1 1856 23 is_stmt 0 view .LVU1301
4074 0032 4162 str r1, [r0, #36]
1857:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
ARM GAS /tmp/ccuRhBPx.s page 220
4075 .loc 1 1857 5 is_stmt 1 view .LVU1302
1857:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
4076 .loc 1 1857 23 is_stmt 0 view .LVU1303
4077 0034 4285 strh r2, [r0, #42]
1858:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
4078 .loc 1 1858 5 is_stmt 1 view .LVU1304
1858:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
4079 .loc 1 1858 29 is_stmt 0 view .LVU1305
4080 0036 438D ldrh r3, [r0, #42]
1858:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
4081 .loc 1 1858 23 view .LVU1306
4082 0038 0385 strh r3, [r0, #40]
1859:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
4083 .loc 1 1859 5 is_stmt 1 view .LVU1307
1859:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
4084 .loc 1 1859 23 is_stmt 0 view .LVU1308
4085 003a 084B ldr r3, .L267+4
4086 003c C362 str r3, [r0, #44]
1860:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4087 .loc 1 1860 5 is_stmt 1 view .LVU1309
1860:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4088 .loc 1 1860 23 is_stmt 0 view .LVU1310
4089 003e 084B ldr r3, .L267+8
4090 0040 4363 str r3, [r0, #52]
1863:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4091 .loc 1 1863 5 is_stmt 1 view .LVU1311
1863:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4092 .loc 1 1863 5 view .LVU1312
4093 0042 0555 strb r5, [r0, r4]
1863:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4094 .loc 1 1863 5 view .LVU1313
1873:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4095 .loc 1 1873 5 view .LVU1314
4096 0044 0749 ldr r1, .L267+12
4097 .LVL280:
1873:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4098 .loc 1 1873 5 is_stmt 0 view .LVU1315
4099 0046 FFF7FEFF bl I2C_Enable_IRQ
4100 .LVL281:
1875:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4101 .loc 1 1875 5 is_stmt 1 view .LVU1316
1875:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4102 .loc 1 1875 12 is_stmt 0 view .LVU1317
4103 004a 0020 movs r0, #0
4104 .L264:
1881:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4105 .loc 1 1881 1 view .LVU1318
4106 @ sp needed
4107 004c F8BD pop {r3, r4, r5, r6, r7, pc}
4108 .LVL282:
4109 .L265:
1879:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4110 .loc 1 1879 12 view .LVU1319
4111 004e 0220 movs r0, #2
4112 .LVL283:
1879:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4113 .loc 1 1879 12 view .LVU1320
ARM GAS /tmp/ccuRhBPx.s page 221
4114 0050 FCE7 b .L264
4115 .LVL284:
4116 .L266:
1846:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4117 .loc 1 1846 5 discriminator 1 view .LVU1321
4118 0052 0220 movs r0, #2
4119 .LVL285:
1846:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4120 .loc 1 1846 5 discriminator 1 view .LVU1322
4121 0054 FAE7 b .L264
4122 .L268:
4123 0056 C046 .align 2
4124 .L267:
4125 0058 FF7FFFFF .word -32769
4126 005c 0000FFFF .word -65536
4127 0060 00000000 .word I2C_Slave_ISR_IT
4128 0064 02800000 .word 32770
4129 .cfi_endproc
4130 .LFE51:
4132 .section .text.HAL_I2C_Master_Transmit_DMA,"ax",%progbits
4133 .align 1
4134 .global HAL_I2C_Master_Transmit_DMA
4135 .syntax unified
4136 .code 16
4137 .thumb_func
4139 HAL_I2C_Master_Transmit_DMA:
4140 .LVL286:
4141 .LFB52:
1895:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xfermode;
4142 .loc 1 1895 1 is_stmt 1 view -0
4143 .cfi_startproc
4144 @ args = 0, pretend = 0, frame = 0
4145 @ frame_needed = 0, uses_anonymous_args = 0
1895:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xfermode;
4146 .loc 1 1895 1 is_stmt 0 view .LVU1324
4147 0000 F0B5 push {r4, r5, r6, r7, lr}
4148 .cfi_def_cfa_offset 20
4149 .cfi_offset 4, -20
4150 .cfi_offset 5, -16
4151 .cfi_offset 6, -12
4152 .cfi_offset 7, -8
4153 .cfi_offset 14, -4
4154 0002 83B0 sub sp, sp, #12
4155 .cfi_def_cfa_offset 32
4156 0004 0400 movs r4, r0
4157 0006 0E00 movs r6, r1
4158 0008 1500 movs r5, r2
1896:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
4159 .loc 1 1896 3 is_stmt 1 view .LVU1325
1897:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4160 .loc 1 1897 3 view .LVU1326
1899:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4161 .loc 1 1899 3 view .LVU1327
1899:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4162 .loc 1 1899 11 is_stmt 0 view .LVU1328
4163 000a 4122 movs r2, #65
4164 .LVL287:
ARM GAS /tmp/ccuRhBPx.s page 222
1899:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4165 .loc 1 1899 11 view .LVU1329
4166 000c 825C ldrb r2, [r0, r2]
1899:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4167 .loc 1 1899 6 view .LVU1330
4168 000e 202A cmp r2, #32
4169 0010 00D0 beq .LCB3933
4170 0012 8CE0 b .L278 @long jump
4171 .LCB3933:
1901:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4172 .loc 1 1901 5 is_stmt 1 view .LVU1331
1901:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4173 .loc 1 1901 9 is_stmt 0 view .LVU1332
4174 0014 0268 ldr r2, [r0]
4175 0016 9269 ldr r2, [r2, #24]
1901:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4176 .loc 1 1901 8 view .LVU1333
4177 0018 1204 lsls r2, r2, #16
4178 001a 00D5 bpl .LCB3940
4179 001c 8AE0 b .L279 @long jump
4180 .LCB3940:
1907:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4181 .loc 1 1907 5 is_stmt 1 view .LVU1334
1907:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4182 .loc 1 1907 5 view .LVU1335
4183 001e 4022 movs r2, #64
4184 0020 825C ldrb r2, [r0, r2]
4185 0022 012A cmp r2, #1
4186 0024 00D1 bne .LCB3946
4187 0026 87E0 b .L280 @long jump
4188 .LCB3946:
1907:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4189 .loc 1 1907 5 discriminator 2 view .LVU1336
4190 0028 4022 movs r2, #64
4191 002a 0121 movs r1, #1
4192 .LVL288:
1907:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4193 .loc 1 1907 5 is_stmt 0 discriminator 2 view .LVU1337
4194 002c 8154 strb r1, [r0, r2]
1907:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4195 .loc 1 1907 5 is_stmt 1 discriminator 2 view .LVU1338
1909:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
4196 .loc 1 1909 5 view .LVU1339
1909:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
4197 .loc 1 1909 23 is_stmt 0 view .LVU1340
4198 002e 0132 adds r2, r2, #1
4199 0030 2031 adds r1, r1, #32
4200 0032 8154 strb r1, [r0, r2]
1910:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
4201 .loc 1 1910 5 is_stmt 1 view .LVU1341
1910:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
4202 .loc 1 1910 23 is_stmt 0 view .LVU1342
4203 0034 0132 adds r2, r2, #1
4204 0036 1139 subs r1, r1, #17
4205 0038 8154 strb r1, [r0, r2]
1911:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4206 .loc 1 1911 5 is_stmt 1 view .LVU1343
ARM GAS /tmp/ccuRhBPx.s page 223
1911:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4207 .loc 1 1911 23 is_stmt 0 view .LVU1344
4208 003a 0022 movs r2, #0
4209 003c 4264 str r2, [r0, #68]
1914:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
4210 .loc 1 1914 5 is_stmt 1 view .LVU1345
1914:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
4211 .loc 1 1914 23 is_stmt 0 view .LVU1346
4212 003e 4562 str r5, [r0, #36]
1915:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
4213 .loc 1 1915 5 is_stmt 1 view .LVU1347
1915:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
4214 .loc 1 1915 23 is_stmt 0 view .LVU1348
4215 0040 4385 strh r3, [r0, #42]
1916:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA;
4216 .loc 1 1916 5 is_stmt 1 view .LVU1349
1916:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA;
4217 .loc 1 1916 23 is_stmt 0 view .LVU1350
4218 0042 3E4B ldr r3, .L283
4219 .LVL289:
1916:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA;
4220 .loc 1 1916 23 view .LVU1351
4221 0044 C362 str r3, [r0, #44]
4222 .LVL290:
1917:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4223 .loc 1 1917 5 is_stmt 1 view .LVU1352
1917:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4224 .loc 1 1917 23 is_stmt 0 view .LVU1353
4225 0046 3E4B ldr r3, .L283+4
4226 0048 4363 str r3, [r0, #52]
1919:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4227 .loc 1 1919 5 is_stmt 1 view .LVU1354
1919:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4228 .loc 1 1919 13 is_stmt 0 view .LVU1355
4229 004a 438D ldrh r3, [r0, #42]
4230 004c 9BB2 uxth r3, r3
1919:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4231 .loc 1 1919 8 view .LVU1356
4232 004e FF2B cmp r3, #255
4233 0050 2AD9 bls .L271
1921:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
4234 .loc 1 1921 7 is_stmt 1 view .LVU1357
1921:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
4235 .loc 1 1921 22 is_stmt 0 view .LVU1358
4236 0052 FF23 movs r3, #255
4237 0054 0385 strh r3, [r0, #40]
1922:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4238 .loc 1 1922 7 is_stmt 1 view .LVU1359
4239 .LVL291:
1922:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4240 .loc 1 1922 16 is_stmt 0 view .LVU1360
4241 0056 8027 movs r7, #128
4242 0058 7F04 lsls r7, r7, #17
4243 .LVL292:
4244 .L272:
1930:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4245 .loc 1 1930 5 is_stmt 1 view .LVU1361
ARM GAS /tmp/ccuRhBPx.s page 224
1930:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4246 .loc 1 1930 13 is_stmt 0 view .LVU1362
4247 005a 228D ldrh r2, [r4, #40]
1930:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4248 .loc 1 1930 8 view .LVU1363
4249 005c 002A cmp r2, #0
4250 005e 52D0 beq .L273
1932:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4251 .loc 1 1932 7 is_stmt 1 view .LVU1364
1932:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4252 .loc 1 1932 15 is_stmt 0 view .LVU1365
4253 0060 A36B ldr r3, [r4, #56]
1932:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4254 .loc 1 1932 10 view .LVU1366
4255 0062 002B cmp r3, #0
4256 0064 25D0 beq .L274
1935:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4257 .loc 1 1935 9 is_stmt 1 view .LVU1367
1935:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4258 .loc 1 1935 40 is_stmt 0 view .LVU1368
4259 0066 374A ldr r2, .L283+8
4260 0068 9A62 str r2, [r3, #40]
1938:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4261 .loc 1 1938 9 is_stmt 1 view .LVU1369
1938:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4262 .loc 1 1938 13 is_stmt 0 view .LVU1370
4263 006a A36B ldr r3, [r4, #56]
1938:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4264 .loc 1 1938 41 view .LVU1371
4265 006c 364A ldr r2, .L283+12
4266 006e 1A63 str r2, [r3, #48]
1941:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
4267 .loc 1 1941 9 is_stmt 1 view .LVU1372
1941:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
4268 .loc 1 1941 13 is_stmt 0 view .LVU1373
4269 0070 A26B ldr r2, [r4, #56]
1941:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
4270 .loc 1 1941 44 view .LVU1374
4271 0072 0023 movs r3, #0
4272 0074 D362 str r3, [r2, #44]
1942:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4273 .loc 1 1942 9 is_stmt 1 view .LVU1375
1942:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4274 .loc 1 1942 13 is_stmt 0 view .LVU1376
4275 0076 A26B ldr r2, [r4, #56]
1942:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4276 .loc 1 1942 41 view .LVU1377
4277 0078 5363 str r3, [r2, #52]
1945:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize);
4278 .loc 1 1945 9 is_stmt 1 view .LVU1378
1945:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize);
4279 .loc 1 1945 88 is_stmt 0 view .LVU1379
4280 007a 2268 ldr r2, [r4]
1945:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize);
4281 .loc 1 1945 83 view .LVU1380
4282 007c 2832 adds r2, r2, #40
1946:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
ARM GAS /tmp/ccuRhBPx.s page 225
4283 .loc 1 1946 46 view .LVU1381
4284 007e 238D ldrh r3, [r4, #40]
1945:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize);
4285 .loc 1 1945 25 view .LVU1382
4286 0080 A06B ldr r0, [r4, #56]
4287 .LVL293:
1945:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize);
4288 .loc 1 1945 25 view .LVU1383
4289 0082 2900 movs r1, r5
4290 0084 FFF7FEFF bl HAL_DMA_Start_IT
4291 .LVL294:
1963:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4292 .loc 1 1963 7 is_stmt 1 view .LVU1384
1963:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4293 .loc 1 1963 10 is_stmt 0 view .LVU1385
4294 0088 0028 cmp r0, #0
4295 008a 20D0 beq .L282
1987:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
4296 .loc 1 1987 9 is_stmt 1 view .LVU1386
1987:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
4297 .loc 1 1987 25 is_stmt 0 view .LVU1387
4298 008c 4123 movs r3, #65
4299 008e 2022 movs r2, #32
4300 0090 E254 strb r2, [r4, r3]
1988:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4301 .loc 1 1988 9 is_stmt 1 view .LVU1388
1988:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4302 .loc 1 1988 25 is_stmt 0 view .LVU1389
4303 0092 0022 movs r2, #0
4304 0094 0133 adds r3, r3, #1
4305 0096 E254 strb r2, [r4, r3]
1991:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4306 .loc 1 1991 9 is_stmt 1 view .LVU1390
1991:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4307 .loc 1 1991 13 is_stmt 0 view .LVU1391
4308 0098 636C ldr r3, [r4, #68]
1991:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4309 .loc 1 1991 25 view .LVU1392
4310 009a 1021 movs r1, #16
4311 009c 0B43 orrs r3, r1
4312 009e 6364 str r3, [r4, #68]
1994:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4313 .loc 1 1994 9 is_stmt 1 view .LVU1393
1994:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4314 .loc 1 1994 9 view .LVU1394
4315 00a0 4023 movs r3, #64
4316 00a2 E254 strb r2, [r4, r3]
1994:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4317 .loc 1 1994 9 view .LVU1395
1996:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4318 .loc 1 1996 9 view .LVU1396
1996:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4319 .loc 1 1996 16 is_stmt 0 view .LVU1397
4320 00a4 0120 movs r0, #1
4321 .LVL295:
1996:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4322 .loc 1 1996 16 view .LVU1398
ARM GAS /tmp/ccuRhBPx.s page 226
4323 00a6 43E0 b .L270
4324 .LVL296:
4325 .L271:
1926:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
4326 .loc 1 1926 7 is_stmt 1 view .LVU1399
1926:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
4327 .loc 1 1926 28 is_stmt 0 view .LVU1400
4328 00a8 438D ldrh r3, [r0, #42]
1926:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
4329 .loc 1 1926 22 view .LVU1401
4330 00aa 0385 strh r3, [r0, #40]
1927:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4331 .loc 1 1927 7 is_stmt 1 view .LVU1402
4332 .LVL297:
1927:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4333 .loc 1 1927 16 is_stmt 0 view .LVU1403
4334 00ac 8027 movs r7, #128
4335 00ae BF04 lsls r7, r7, #18
4336 00b0 D3E7 b .L272
4337 .LVL298:
4338 .L274:
1951:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
4339 .loc 1 1951 9 is_stmt 1 view .LVU1404
1951:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
4340 .loc 1 1951 25 is_stmt 0 view .LVU1405
4341 00b2 4123 movs r3, #65
4342 00b4 2022 movs r2, #32
4343 00b6 E254 strb r2, [r4, r3]
1952:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4344 .loc 1 1952 9 is_stmt 1 view .LVU1406
1952:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4345 .loc 1 1952 25 is_stmt 0 view .LVU1407
4346 00b8 0022 movs r2, #0
4347 00ba 0133 adds r3, r3, #1
4348 00bc E254 strb r2, [r4, r3]
1955:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4349 .loc 1 1955 9 is_stmt 1 view .LVU1408
1955:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4350 .loc 1 1955 13 is_stmt 0 view .LVU1409
4351 00be 636C ldr r3, [r4, #68]
1955:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4352 .loc 1 1955 25 view .LVU1410
4353 00c0 8021 movs r1, #128
4354 00c2 0B43 orrs r3, r1
4355 00c4 6364 str r3, [r4, #68]
1958:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4356 .loc 1 1958 9 is_stmt 1 view .LVU1411
1958:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4357 .loc 1 1958 9 view .LVU1412
4358 00c6 4023 movs r3, #64
4359 00c8 E254 strb r2, [r4, r3]
1958:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4360 .loc 1 1958 9 view .LVU1413
1960:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4361 .loc 1 1960 9 view .LVU1414
1960:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4362 .loc 1 1960 16 is_stmt 0 view .LVU1415
ARM GAS /tmp/ccuRhBPx.s page 227
4363 00ca 0120 movs r0, #1
4364 .LVL299:
1960:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4365 .loc 1 1960 16 view .LVU1416
4366 00cc 30E0 b .L270
4367 .LVL300:
4368 .L282:
1967:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4369 .loc 1 1967 9 is_stmt 1 view .LVU1417
1967:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4370 .loc 1 1967 59 is_stmt 0 view .LVU1418
4371 00ce 228D ldrh r2, [r4, #40]
1967:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4372 .loc 1 1967 9 view .LVU1419
4373 00d0 D2B2 uxtb r2, r2
4374 00d2 1E4B ldr r3, .L283+16
4375 00d4 0093 str r3, [sp]
4376 00d6 3B00 movs r3, r7
4377 00d8 3100 movs r1, r6
4378 00da 2000 movs r0, r4
4379 .LVL301:
1967:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4380 .loc 1 1967 9 view .LVU1420
4381 00dc FFF7FEFF bl I2C_TransferConfig
4382 .LVL302:
1970:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4383 .loc 1 1970 9 is_stmt 1 view .LVU1421
1970:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4384 .loc 1 1970 13 is_stmt 0 view .LVU1422
4385 00e0 638D ldrh r3, [r4, #42]
1970:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4386 .loc 1 1970 32 view .LVU1423
4387 00e2 228D ldrh r2, [r4, #40]
1970:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4388 .loc 1 1970 25 view .LVU1424
4389 00e4 9B1A subs r3, r3, r2
4390 00e6 9BB2 uxth r3, r3
4391 00e8 6385 strh r3, [r4, #42]
1973:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4392 .loc 1 1973 9 is_stmt 1 view .LVU1425
1973:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4393 .loc 1 1973 9 view .LVU1426
4394 00ea 4023 movs r3, #64
4395 00ec 0022 movs r2, #0
4396 00ee E254 strb r2, [r4, r3]
1973:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4397 .loc 1 1973 9 view .LVU1427
1979:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4398 .loc 1 1979 9 view .LVU1428
4399 00f0 1021 movs r1, #16
4400 00f2 2000 movs r0, r4
4401 00f4 FFF7FEFF bl I2C_Enable_IRQ
4402 .LVL303:
1982:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4403 .loc 1 1982 9 view .LVU1429
1982:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4404 .loc 1 1982 13 is_stmt 0 view .LVU1430
ARM GAS /tmp/ccuRhBPx.s page 228
4405 00f8 2268 ldr r2, [r4]
1982:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4406 .loc 1 1982 23 view .LVU1431
4407 00fa 1168 ldr r1, [r2]
1982:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4408 .loc 1 1982 29 view .LVU1432
4409 00fc 8023 movs r3, #128
4410 00fe DB01 lsls r3, r3, #7
4411 0100 0B43 orrs r3, r1
4412 0102 1360 str r3, [r2]
4413 0104 11E0 b .L277
4414 .LVL304:
4415 .L273:
2002:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4416 .loc 1 2002 7 is_stmt 1 view .LVU1433
2002:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4417 .loc 1 2002 21 is_stmt 0 view .LVU1434
4418 0106 124B ldr r3, .L283+20
4419 0108 6363 str r3, [r4, #52]
2006:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_GENERATE_START_WRITE);
4420 .loc 1 2006 7 is_stmt 1 view .LVU1435
4421 010a 8023 movs r3, #128
4422 010c D2B2 uxtb r2, r2
4423 010e 0F49 ldr r1, .L283+16
4424 0110 0091 str r1, [sp]
4425 0112 9B04 lsls r3, r3, #18
4426 0114 3100 movs r1, r6
4427 0116 2000 movs r0, r4
4428 .LVL305:
2006:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_GENERATE_START_WRITE);
4429 .loc 1 2006 7 is_stmt 0 view .LVU1436
4430 0118 FFF7FEFF bl I2C_TransferConfig
4431 .LVL306:
2010:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4432 .loc 1 2010 7 is_stmt 1 view .LVU1437
2010:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4433 .loc 1 2010 7 view .LVU1438
4434 011c 4023 movs r3, #64
4435 011e 0022 movs r2, #0
4436 0120 E254 strb r2, [r4, r3]
2010:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4437 .loc 1 2010 7 view .LVU1439
2019:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4438 .loc 1 2019 7 view .LVU1440
4439 0122 0121 movs r1, #1
4440 0124 2000 movs r0, r4
4441 0126 FFF7FEFF bl I2C_Enable_IRQ
4442 .LVL307:
4443 .L277:
2022:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4444 .loc 1 2022 5 view .LVU1441
2022:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4445 .loc 1 2022 12 is_stmt 0 view .LVU1442
4446 012a 0020 movs r0, #0
4447 012c 00E0 b .L270
4448 .LVL308:
4449 .L278:
ARM GAS /tmp/ccuRhBPx.s page 229
2026:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4450 .loc 1 2026 12 view .LVU1443
4451 012e 0220 movs r0, #2
4452 .LVL309:
4453 .L270:
2028:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4454 .loc 1 2028 1 view .LVU1444
4455 0130 03B0 add sp, sp, #12
4456 @ sp needed
4457 .LVL310:
4458 .LVL311:
4459 .LVL312:
2028:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4460 .loc 1 2028 1 view .LVU1445
4461 0132 F0BD pop {r4, r5, r6, r7, pc}
4462 .LVL313:
4463 .L279:
1903:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4464 .loc 1 1903 14 view .LVU1446
4465 0134 0220 movs r0, #2
4466 .LVL314:
1903:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4467 .loc 1 1903 14 view .LVU1447
4468 0136 FBE7 b .L270
4469 .LVL315:
4470 .L280:
1907:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4471 .loc 1 1907 5 discriminator 1 view .LVU1448
4472 0138 0220 movs r0, #2
4473 .LVL316:
1907:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4474 .loc 1 1907 5 discriminator 1 view .LVU1449
4475 013a F9E7 b .L270
4476 .L284:
4477 .align 2
4478 .L283:
4479 013c 0000FFFF .word -65536
4480 0140 00000000 .word I2C_Master_ISR_DMA
4481 0144 00000000 .word I2C_DMAMasterTransmitCplt
4482 0148 00000000 .word I2C_DMAError
4483 014c 00200080 .word -2147475456
4484 0150 00000000 .word I2C_Master_ISR_IT
4485 .cfi_endproc
4486 .LFE52:
4488 .section .text.HAL_I2C_Master_Receive_DMA,"ax",%progbits
4489 .align 1
4490 .global HAL_I2C_Master_Receive_DMA
4491 .syntax unified
4492 .code 16
4493 .thumb_func
4495 HAL_I2C_Master_Receive_DMA:
4496 .LVL317:
4497 .LFB53:
2042:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xfermode;
4498 .loc 1 2042 1 is_stmt 1 view -0
4499 .cfi_startproc
4500 @ args = 0, pretend = 0, frame = 0
ARM GAS /tmp/ccuRhBPx.s page 230
4501 @ frame_needed = 0, uses_anonymous_args = 0
2042:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xfermode;
4502 .loc 1 2042 1 is_stmt 0 view .LVU1451
4503 0000 70B5 push {r4, r5, r6, lr}
4504 .cfi_def_cfa_offset 16
4505 .cfi_offset 4, -16
4506 .cfi_offset 5, -12
4507 .cfi_offset 6, -8
4508 .cfi_offset 14, -4
4509 0002 82B0 sub sp, sp, #8
4510 .cfi_def_cfa_offset 24
4511 0004 0400 movs r4, r0
4512 0006 0D00 movs r5, r1
2043:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
4513 .loc 1 2043 3 is_stmt 1 view .LVU1452
2044:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4514 .loc 1 2044 3 view .LVU1453
2046:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4515 .loc 1 2046 3 view .LVU1454
2046:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4516 .loc 1 2046 11 is_stmt 0 view .LVU1455
4517 0008 4121 movs r1, #65
4518 .LVL318:
2046:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4519 .loc 1 2046 11 view .LVU1456
4520 000a 415C ldrb r1, [r0, r1]
2046:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4521 .loc 1 2046 6 view .LVU1457
4522 000c 2029 cmp r1, #32
4523 000e 00D0 beq .LCB4253
4524 0010 8BE0 b .L294 @long jump
4525 .LCB4253:
2048:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4526 .loc 1 2048 5 is_stmt 1 view .LVU1458
2048:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4527 .loc 1 2048 9 is_stmt 0 view .LVU1459
4528 0012 0168 ldr r1, [r0]
4529 0014 8969 ldr r1, [r1, #24]
2048:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4530 .loc 1 2048 8 view .LVU1460
4531 0016 0904 lsls r1, r1, #16
4532 0018 00D5 bpl .LCB4260
4533 001a 89E0 b .L295 @long jump
4534 .LCB4260:
2054:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4535 .loc 1 2054 5 is_stmt 1 view .LVU1461
2054:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4536 .loc 1 2054 5 view .LVU1462
4537 001c 4021 movs r1, #64
4538 001e 415C ldrb r1, [r0, r1]
4539 0020 0129 cmp r1, #1
4540 0022 00D1 bne .LCB4266
4541 0024 86E0 b .L296 @long jump
4542 .LCB4266:
2054:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4543 .loc 1 2054 5 discriminator 2 view .LVU1463
4544 0026 4021 movs r1, #64
ARM GAS /tmp/ccuRhBPx.s page 231
4545 0028 0120 movs r0, #1
4546 .LVL319:
2054:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4547 .loc 1 2054 5 is_stmt 0 discriminator 2 view .LVU1464
4548 002a 6054 strb r0, [r4, r1]
2054:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4549 .loc 1 2054 5 is_stmt 1 discriminator 2 view .LVU1465
2056:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
4550 .loc 1 2056 5 view .LVU1466
2056:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
4551 .loc 1 2056 23 is_stmt 0 view .LVU1467
4552 002c 0131 adds r1, r1, #1
4553 002e 2130 adds r0, r0, #33
4554 0030 6054 strb r0, [r4, r1]
2057:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
4555 .loc 1 2057 5 is_stmt 1 view .LVU1468
2057:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
4556 .loc 1 2057 23 is_stmt 0 view .LVU1469
4557 0032 0131 adds r1, r1, #1
4558 0034 1238 subs r0, r0, #18
4559 0036 6054 strb r0, [r4, r1]
2058:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4560 .loc 1 2058 5 is_stmt 1 view .LVU1470
2058:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4561 .loc 1 2058 23 is_stmt 0 view .LVU1471
4562 0038 0021 movs r1, #0
4563 003a 6164 str r1, [r4, #68]
2061:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
4564 .loc 1 2061 5 is_stmt 1 view .LVU1472
2061:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
4565 .loc 1 2061 23 is_stmt 0 view .LVU1473
4566 003c 6262 str r2, [r4, #36]
2062:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
4567 .loc 1 2062 5 is_stmt 1 view .LVU1474
2062:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
4568 .loc 1 2062 23 is_stmt 0 view .LVU1475
4569 003e 6385 strh r3, [r4, #42]
2063:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA;
4570 .loc 1 2063 5 is_stmt 1 view .LVU1476
2063:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA;
4571 .loc 1 2063 23 is_stmt 0 view .LVU1477
4572 0040 3D4B ldr r3, .L299
4573 .LVL320:
2063:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA;
4574 .loc 1 2063 23 view .LVU1478
4575 0042 E362 str r3, [r4, #44]
4576 .LVL321:
2064:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4577 .loc 1 2064 5 is_stmt 1 view .LVU1479
2064:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4578 .loc 1 2064 23 is_stmt 0 view .LVU1480
4579 0044 3D4B ldr r3, .L299+4
4580 0046 6363 str r3, [r4, #52]
2066:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4581 .loc 1 2066 5 is_stmt 1 view .LVU1481
2066:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4582 .loc 1 2066 13 is_stmt 0 view .LVU1482
ARM GAS /tmp/ccuRhBPx.s page 232
4583 0048 638D ldrh r3, [r4, #42]
4584 004a 9BB2 uxth r3, r3
2066:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4585 .loc 1 2066 8 view .LVU1483
4586 004c FF2B cmp r3, #255
4587 004e 29D9 bls .L287
2068:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
4588 .loc 1 2068 7 is_stmt 1 view .LVU1484
2068:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
4589 .loc 1 2068 22 is_stmt 0 view .LVU1485
4590 0050 FF23 movs r3, #255
4591 0052 2385 strh r3, [r4, #40]
2069:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4592 .loc 1 2069 7 is_stmt 1 view .LVU1486
4593 .LVL322:
2069:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4594 .loc 1 2069 16 is_stmt 0 view .LVU1487
4595 0054 8026 movs r6, #128
4596 0056 7604 lsls r6, r6, #17
4597 .LVL323:
4598 .L288:
2077:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4599 .loc 1 2077 5 is_stmt 1 view .LVU1488
2077:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4600 .loc 1 2077 13 is_stmt 0 view .LVU1489
4601 0058 218D ldrh r1, [r4, #40]
2077:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4602 .loc 1 2077 8 view .LVU1490
4603 005a 0029 cmp r1, #0
4604 005c 51D0 beq .L289
2079:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4605 .loc 1 2079 7 is_stmt 1 view .LVU1491
2079:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4606 .loc 1 2079 15 is_stmt 0 view .LVU1492
4607 005e E36B ldr r3, [r4, #60]
2079:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4608 .loc 1 2079 10 view .LVU1493
4609 0060 002B cmp r3, #0
4610 0062 24D0 beq .L290
2082:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4611 .loc 1 2082 9 is_stmt 1 view .LVU1494
2082:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4612 .loc 1 2082 40 is_stmt 0 view .LVU1495
4613 0064 3649 ldr r1, .L299+8
4614 0066 9962 str r1, [r3, #40]
2085:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4615 .loc 1 2085 9 is_stmt 1 view .LVU1496
2085:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4616 .loc 1 2085 13 is_stmt 0 view .LVU1497
4617 0068 E36B ldr r3, [r4, #60]
2085:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4618 .loc 1 2085 41 view .LVU1498
4619 006a 3649 ldr r1, .L299+12
4620 006c 1963 str r1, [r3, #48]
2088:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
4621 .loc 1 2088 9 is_stmt 1 view .LVU1499
2088:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
ARM GAS /tmp/ccuRhBPx.s page 233
4622 .loc 1 2088 13 is_stmt 0 view .LVU1500
4623 006e E16B ldr r1, [r4, #60]
2088:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
4624 .loc 1 2088 44 view .LVU1501
4625 0070 0023 movs r3, #0
4626 0072 CB62 str r3, [r1, #44]
2089:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4627 .loc 1 2089 9 is_stmt 1 view .LVU1502
2089:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4628 .loc 1 2089 13 is_stmt 0 view .LVU1503
4629 0074 E16B ldr r1, [r4, #60]
2089:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4630 .loc 1 2089 41 view .LVU1504
4631 0076 4B63 str r3, [r1, #52]
2092:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize);
4632 .loc 1 2092 9 is_stmt 1 view .LVU1505
2092:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize);
4633 .loc 1 2092 71 is_stmt 0 view .LVU1506
4634 0078 2168 ldr r1, [r4]
2092:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize);
4635 .loc 1 2092 66 view .LVU1507
4636 007a 2431 adds r1, r1, #36
2093:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4637 .loc 1 2093 46 view .LVU1508
4638 007c 238D ldrh r3, [r4, #40]
2092:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize);
4639 .loc 1 2092 25 view .LVU1509
4640 007e E06B ldr r0, [r4, #60]
4641 0080 FFF7FEFF bl HAL_DMA_Start_IT
4642 .LVL324:
2110:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4643 .loc 1 2110 7 is_stmt 1 view .LVU1510
2110:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4644 .loc 1 2110 10 is_stmt 0 view .LVU1511
4645 0084 0028 cmp r0, #0
4646 0086 20D0 beq .L298
2134:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
4647 .loc 1 2134 9 is_stmt 1 view .LVU1512
2134:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
4648 .loc 1 2134 25 is_stmt 0 view .LVU1513
4649 0088 4123 movs r3, #65
4650 008a 2022 movs r2, #32
4651 008c E254 strb r2, [r4, r3]
2135:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4652 .loc 1 2135 9 is_stmt 1 view .LVU1514
2135:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4653 .loc 1 2135 25 is_stmt 0 view .LVU1515
4654 008e 0022 movs r2, #0
4655 0090 0133 adds r3, r3, #1
4656 0092 E254 strb r2, [r4, r3]
2138:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4657 .loc 1 2138 9 is_stmt 1 view .LVU1516
2138:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4658 .loc 1 2138 13 is_stmt 0 view .LVU1517
4659 0094 636C ldr r3, [r4, #68]
2138:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4660 .loc 1 2138 25 view .LVU1518
ARM GAS /tmp/ccuRhBPx.s page 234
4661 0096 1021 movs r1, #16
4662 0098 0B43 orrs r3, r1
4663 009a 6364 str r3, [r4, #68]
2141:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4664 .loc 1 2141 9 is_stmt 1 view .LVU1519
2141:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4665 .loc 1 2141 9 view .LVU1520
4666 009c 4023 movs r3, #64
4667 009e E254 strb r2, [r4, r3]
2141:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4668 .loc 1 2141 9 view .LVU1521
2143:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4669 .loc 1 2143 9 view .LVU1522
2143:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4670 .loc 1 2143 16 is_stmt 0 view .LVU1523
4671 00a0 0120 movs r0, #1
4672 .LVL325:
2143:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4673 .loc 1 2143 16 view .LVU1524
4674 00a2 43E0 b .L286
4675 .LVL326:
4676 .L287:
2073:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
4677 .loc 1 2073 7 is_stmt 1 view .LVU1525
2073:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
4678 .loc 1 2073 28 is_stmt 0 view .LVU1526
4679 00a4 638D ldrh r3, [r4, #42]
2073:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
4680 .loc 1 2073 22 view .LVU1527
4681 00a6 2385 strh r3, [r4, #40]
2074:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4682 .loc 1 2074 7 is_stmt 1 view .LVU1528
4683 .LVL327:
2074:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4684 .loc 1 2074 16 is_stmt 0 view .LVU1529
4685 00a8 8026 movs r6, #128
4686 00aa B604 lsls r6, r6, #18
4687 00ac D4E7 b .L288
4688 .LVL328:
4689 .L290:
2098:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
4690 .loc 1 2098 9 is_stmt 1 view .LVU1530
2098:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
4691 .loc 1 2098 25 is_stmt 0 view .LVU1531
4692 00ae 4123 movs r3, #65
4693 00b0 2022 movs r2, #32
4694 .LVL329:
2098:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
4695 .loc 1 2098 25 view .LVU1532
4696 00b2 E254 strb r2, [r4, r3]
4697 .LVL330:
2099:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4698 .loc 1 2099 9 is_stmt 1 view .LVU1533
2099:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4699 .loc 1 2099 25 is_stmt 0 view .LVU1534
4700 00b4 0022 movs r2, #0
4701 00b6 0133 adds r3, r3, #1
ARM GAS /tmp/ccuRhBPx.s page 235
4702 00b8 E254 strb r2, [r4, r3]
2102:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4703 .loc 1 2102 9 is_stmt 1 view .LVU1535
2102:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4704 .loc 1 2102 13 is_stmt 0 view .LVU1536
4705 00ba 636C ldr r3, [r4, #68]
2102:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4706 .loc 1 2102 25 view .LVU1537
4707 00bc 8021 movs r1, #128
4708 00be 0B43 orrs r3, r1
4709 00c0 6364 str r3, [r4, #68]
2105:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4710 .loc 1 2105 9 is_stmt 1 view .LVU1538
2105:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4711 .loc 1 2105 9 view .LVU1539
4712 00c2 4023 movs r3, #64
4713 00c4 E254 strb r2, [r4, r3]
2105:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4714 .loc 1 2105 9 view .LVU1540
2107:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4715 .loc 1 2107 9 view .LVU1541
2107:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4716 .loc 1 2107 16 is_stmt 0 view .LVU1542
4717 00c6 0120 movs r0, #1
4718 00c8 30E0 b .L286
4719 .LVL331:
4720 .L298:
2114:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4721 .loc 1 2114 9 is_stmt 1 view .LVU1543
2114:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4722 .loc 1 2114 59 is_stmt 0 view .LVU1544
4723 00ca 228D ldrh r2, [r4, #40]
2114:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4724 .loc 1 2114 9 view .LVU1545
4725 00cc D2B2 uxtb r2, r2
4726 00ce 1E4B ldr r3, .L299+16
4727 00d0 0093 str r3, [sp]
4728 00d2 3300 movs r3, r6
4729 00d4 2900 movs r1, r5
4730 00d6 2000 movs r0, r4
4731 .LVL332:
2114:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4732 .loc 1 2114 9 view .LVU1546
4733 00d8 FFF7FEFF bl I2C_TransferConfig
4734 .LVL333:
2117:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4735 .loc 1 2117 9 is_stmt 1 view .LVU1547
2117:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4736 .loc 1 2117 13 is_stmt 0 view .LVU1548
4737 00dc 638D ldrh r3, [r4, #42]
2117:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4738 .loc 1 2117 32 view .LVU1549
4739 00de 228D ldrh r2, [r4, #40]
2117:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4740 .loc 1 2117 25 view .LVU1550
4741 00e0 9B1A subs r3, r3, r2
4742 00e2 9BB2 uxth r3, r3
ARM GAS /tmp/ccuRhBPx.s page 236
4743 00e4 6385 strh r3, [r4, #42]
2120:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4744 .loc 1 2120 9 is_stmt 1 view .LVU1551
2120:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4745 .loc 1 2120 9 view .LVU1552
4746 00e6 4023 movs r3, #64
4747 00e8 0022 movs r2, #0
4748 00ea E254 strb r2, [r4, r3]
2120:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4749 .loc 1 2120 9 view .LVU1553
2126:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4750 .loc 1 2126 9 view .LVU1554
4751 00ec 1021 movs r1, #16
4752 00ee 2000 movs r0, r4
4753 00f0 FFF7FEFF bl I2C_Enable_IRQ
4754 .LVL334:
2129:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4755 .loc 1 2129 9 view .LVU1555
2129:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4756 .loc 1 2129 13 is_stmt 0 view .LVU1556
4757 00f4 2268 ldr r2, [r4]
2129:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4758 .loc 1 2129 23 view .LVU1557
4759 00f6 1168 ldr r1, [r2]
2129:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4760 .loc 1 2129 29 view .LVU1558
4761 00f8 8023 movs r3, #128
4762 00fa 1B02 lsls r3, r3, #8
4763 00fc 0B43 orrs r3, r1
4764 00fe 1360 str r3, [r2]
4765 0100 11E0 b .L293
4766 .LVL335:
4767 .L289:
2149:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4768 .loc 1 2149 7 is_stmt 1 view .LVU1559
2149:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4769 .loc 1 2149 21 is_stmt 0 view .LVU1560
4770 0102 124B ldr r3, .L299+20
4771 0104 6363 str r3, [r4, #52]
2153:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_GENERATE_START_READ);
4772 .loc 1 2153 7 is_stmt 1 view .LVU1561
4773 0106 8023 movs r3, #128
4774 0108 CAB2 uxtb r2, r1
4775 .LVL336:
2153:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_GENERATE_START_READ);
4776 .loc 1 2153 7 is_stmt 0 view .LVU1562
4777 010a 0F49 ldr r1, .L299+16
4778 010c 0091 str r1, [sp]
4779 .LVL337:
2153:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_GENERATE_START_READ);
4780 .loc 1 2153 7 view .LVU1563
4781 010e 9B04 lsls r3, r3, #18
4782 0110 2900 movs r1, r5
4783 0112 2000 movs r0, r4
4784 0114 FFF7FEFF bl I2C_TransferConfig
4785 .LVL338:
2157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
ARM GAS /tmp/ccuRhBPx.s page 237
4786 .loc 1 2157 7 is_stmt 1 view .LVU1564
2157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4787 .loc 1 2157 7 view .LVU1565
4788 0118 4023 movs r3, #64
4789 011a 0022 movs r2, #0
4790 011c E254 strb r2, [r4, r3]
2157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4791 .loc 1 2157 7 view .LVU1566
2166:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4792 .loc 1 2166 7 view .LVU1567
4793 011e 0121 movs r1, #1
4794 0120 2000 movs r0, r4
4795 0122 FFF7FEFF bl I2C_Enable_IRQ
4796 .LVL339:
4797 .L293:
2169:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4798 .loc 1 2169 5 view .LVU1568
2169:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4799 .loc 1 2169 12 is_stmt 0 view .LVU1569
4800 0126 0020 movs r0, #0
4801 0128 00E0 b .L286
4802 .LVL340:
4803 .L294:
2173:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4804 .loc 1 2173 12 view .LVU1570
4805 012a 0220 movs r0, #2
4806 .LVL341:
4807 .L286:
2175:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4808 .loc 1 2175 1 view .LVU1571
4809 012c 02B0 add sp, sp, #8
4810 @ sp needed
4811 .LVL342:
4812 .LVL343:
2175:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4813 .loc 1 2175 1 view .LVU1572
4814 012e 70BD pop {r4, r5, r6, pc}
4815 .LVL344:
4816 .L295:
2050:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4817 .loc 1 2050 14 view .LVU1573
4818 0130 0220 movs r0, #2
4819 .LVL345:
2050:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4820 .loc 1 2050 14 view .LVU1574
4821 0132 FBE7 b .L286
4822 .LVL346:
4823 .L296:
2054:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4824 .loc 1 2054 5 discriminator 1 view .LVU1575
4825 0134 0220 movs r0, #2
4826 .LVL347:
2054:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4827 .loc 1 2054 5 discriminator 1 view .LVU1576
4828 0136 F9E7 b .L286
4829 .L300:
4830 .align 2
ARM GAS /tmp/ccuRhBPx.s page 238
4831 .L299:
4832 0138 0000FFFF .word -65536
4833 013c 00000000 .word I2C_Master_ISR_DMA
4834 0140 00000000 .word I2C_DMAMasterReceiveCplt
4835 0144 00000000 .word I2C_DMAError
4836 0148 00240080 .word -2147474432
4837 014c 00000000 .word I2C_Master_ISR_IT
4838 .cfi_endproc
4839 .LFE53:
4841 .section .text.HAL_I2C_Slave_Transmit_DMA,"ax",%progbits
4842 .align 1
4843 .global HAL_I2C_Slave_Transmit_DMA
4844 .syntax unified
4845 .code 16
4846 .thumb_func
4848 HAL_I2C_Slave_Transmit_DMA:
4849 .LVL348:
4850 .LFB54:
2186:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
4851 .loc 1 2186 1 is_stmt 1 view -0
4852 .cfi_startproc
4853 @ args = 0, pretend = 0, frame = 0
4854 @ frame_needed = 0, uses_anonymous_args = 0
2186:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
4855 .loc 1 2186 1 is_stmt 0 view .LVU1578
4856 0000 10B5 push {r4, lr}
4857 .cfi_def_cfa_offset 8
4858 .cfi_offset 4, -8
4859 .cfi_offset 14, -4
4860 0002 0400 movs r4, r0
2187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4861 .loc 1 2187 3 is_stmt 1 view .LVU1579
2189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4862 .loc 1 2189 3 view .LVU1580
2189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4863 .loc 1 2189 11 is_stmt 0 view .LVU1581
4864 0004 4123 movs r3, #65
4865 0006 C35C ldrb r3, [r0, r3]
2189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4866 .loc 1 2189 6 view .LVU1582
4867 0008 202B cmp r3, #32
4868 000a 00D0 beq .LCB4562
4869 000c 8CE0 b .L311 @long jump
4870 .LCB4562:
2191:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4871 .loc 1 2191 5 is_stmt 1 view .LVU1583
2191:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4872 .loc 1 2191 8 is_stmt 0 view .LVU1584
4873 000e 0029 cmp r1, #0
4874 0010 46D0 beq .L303
2191:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4875 .loc 1 2191 25 discriminator 1 view .LVU1585
4876 0012 002A cmp r2, #0
4877 0014 44D0 beq .L303
2197:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4878 .loc 1 2197 5 is_stmt 1 view .LVU1586
2197:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
ARM GAS /tmp/ccuRhBPx.s page 239
4879 .loc 1 2197 5 view .LVU1587
4880 0016 4023 movs r3, #64
4881 0018 C35C ldrb r3, [r0, r3]
4882 001a 012B cmp r3, #1
4883 001c 00D1 bne .LCB4573
4884 001e 85E0 b .L312 @long jump
4885 .LCB4573:
2197:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4886 .loc 1 2197 5 discriminator 2 view .LVU1588
4887 0020 4023 movs r3, #64
4888 0022 0120 movs r0, #1
4889 .LVL349:
2197:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4890 .loc 1 2197 5 is_stmt 0 discriminator 2 view .LVU1589
4891 0024 E054 strb r0, [r4, r3]
2197:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4892 .loc 1 2197 5 is_stmt 1 discriminator 2 view .LVU1590
2199:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
4893 .loc 1 2199 5 view .LVU1591
2199:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
4894 .loc 1 2199 23 is_stmt 0 view .LVU1592
4895 0026 0133 adds r3, r3, #1
4896 0028 2030 adds r0, r0, #32
4897 002a E054 strb r0, [r4, r3]
2200:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
4898 .loc 1 2200 5 is_stmt 1 view .LVU1593
2200:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
4899 .loc 1 2200 23 is_stmt 0 view .LVU1594
4900 002c 0133 adds r3, r3, #1
4901 002e 0138 subs r0, r0, #1
4902 0030 E054 strb r0, [r4, r3]
2201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4903 .loc 1 2201 5 is_stmt 1 view .LVU1595
2201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4904 .loc 1 2201 23 is_stmt 0 view .LVU1596
4905 0032 0023 movs r3, #0
4906 0034 6364 str r3, [r4, #68]
2204:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
4907 .loc 1 2204 5 is_stmt 1 view .LVU1597
2204:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
4908 .loc 1 2204 23 is_stmt 0 view .LVU1598
4909 0036 6162 str r1, [r4, #36]
2205:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
4910 .loc 1 2205 5 is_stmt 1 view .LVU1599
2205:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
4911 .loc 1 2205 23 is_stmt 0 view .LVU1600
4912 0038 6285 strh r2, [r4, #42]
2206:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
4913 .loc 1 2206 5 is_stmt 1 view .LVU1601
2206:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
4914 .loc 1 2206 29 is_stmt 0 view .LVU1602
4915 003a 638D ldrh r3, [r4, #42]
2206:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
4916 .loc 1 2206 23 view .LVU1603
4917 003c 2385 strh r3, [r4, #40]
2207:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_DMA;
4918 .loc 1 2207 5 is_stmt 1 view .LVU1604
ARM GAS /tmp/ccuRhBPx.s page 240
2207:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_DMA;
4919 .loc 1 2207 23 is_stmt 0 view .LVU1605
4920 003e 3C4B ldr r3, .L316
4921 0040 E362 str r3, [r4, #44]
2208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4922 .loc 1 2208 5 is_stmt 1 view .LVU1606
2208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4923 .loc 1 2208 23 is_stmt 0 view .LVU1607
4924 0042 3C4B ldr r3, .L316+4
4925 0044 6363 str r3, [r4, #52]
2211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4926 .loc 1 2211 5 is_stmt 1 view .LVU1608
2211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4927 .loc 1 2211 19 is_stmt 0 view .LVU1609
4928 0046 226A ldr r2, [r4, #32]
4929 .LVL350:
2211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4930 .loc 1 2211 8 view .LVU1610
4931 0048 8023 movs r3, #128
4932 004a 9B02 lsls r3, r3, #10
4933 004c 9A42 cmp r2, r3
4934 004e 2CD0 beq .L314
4935 .L305:
2224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4936 .loc 1 2224 5 is_stmt 1 view .LVU1611
2224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4937 .loc 1 2224 13 is_stmt 0 view .LVU1612
4938 0050 638D ldrh r3, [r4, #42]
4939 0052 9BB2 uxth r3, r3
2224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4940 .loc 1 2224 8 view .LVU1613
4941 0054 002B cmp r3, #0
4942 0056 58D0 beq .L306
2226:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4943 .loc 1 2226 7 is_stmt 1 view .LVU1614
2226:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4944 .loc 1 2226 15 is_stmt 0 view .LVU1615
4945 0058 A36B ldr r3, [r4, #56]
2226:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4946 .loc 1 2226 10 view .LVU1616
4947 005a 002B cmp r3, #0
4948 005c 33D0 beq .L307
2229:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4949 .loc 1 2229 9 is_stmt 1 view .LVU1617
2229:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4950 .loc 1 2229 40 is_stmt 0 view .LVU1618
4951 005e 364A ldr r2, .L316+8
4952 0060 9A62 str r2, [r3, #40]
2232:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4953 .loc 1 2232 9 is_stmt 1 view .LVU1619
2232:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4954 .loc 1 2232 13 is_stmt 0 view .LVU1620
4955 0062 A36B ldr r3, [r4, #56]
2232:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4956 .loc 1 2232 41 view .LVU1621
4957 0064 354A ldr r2, .L316+12
4958 0066 1A63 str r2, [r3, #48]
ARM GAS /tmp/ccuRhBPx.s page 241
2235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
4959 .loc 1 2235 9 is_stmt 1 view .LVU1622
2235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
4960 .loc 1 2235 13 is_stmt 0 view .LVU1623
4961 0068 A26B ldr r2, [r4, #56]
2235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
4962 .loc 1 2235 44 view .LVU1624
4963 006a 0023 movs r3, #0
4964 006c D362 str r3, [r2, #44]
2236:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4965 .loc 1 2236 9 is_stmt 1 view .LVU1625
2236:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4966 .loc 1 2236 13 is_stmt 0 view .LVU1626
4967 006e A26B ldr r2, [r4, #56]
2236:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4968 .loc 1 2236 41 view .LVU1627
4969 0070 5363 str r3, [r2, #52]
2239:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (uint32_t)hi2c->pBuffPtr, (uint32_t)&hi2c->Instance->TXDR,
4970 .loc 1 2239 9 is_stmt 1 view .LVU1628
2240:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize);
4971 .loc 1 2240 56 is_stmt 0 view .LVU1629
4972 0072 616A ldr r1, [r4, #36]
4973 .LVL351:
2240:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize);
4974 .loc 1 2240 83 view .LVU1630
4975 0074 2268 ldr r2, [r4]
2240:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize);
4976 .loc 1 2240 78 view .LVU1631
4977 0076 2832 adds r2, r2, #40
2241:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
4978 .loc 1 2241 46 view .LVU1632
4979 0078 238D ldrh r3, [r4, #40]
2239:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (uint32_t)hi2c->pBuffPtr, (uint32_t)&hi2c->Instance->TXDR,
4980 .loc 1 2239 25 view .LVU1633
4981 007a A06B ldr r0, [r4, #56]
4982 007c FFF7FEFF bl HAL_DMA_Start_IT
4983 .LVL352:
2258:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4984 .loc 1 2258 7 is_stmt 1 view .LVU1634
2258:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
4985 .loc 1 2258 10 is_stmt 0 view .LVU1635
4986 0080 0028 cmp r0, #0
4987 0082 2ED0 beq .L315
2278:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
4988 .loc 1 2278 9 is_stmt 1 view .LVU1636
2278:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
4989 .loc 1 2278 25 is_stmt 0 view .LVU1637
4990 0084 4123 movs r3, #65
4991 0086 2822 movs r2, #40
4992 0088 E254 strb r2, [r4, r3]
2279:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4993 .loc 1 2279 9 is_stmt 1 view .LVU1638
2279:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4994 .loc 1 2279 25 is_stmt 0 view .LVU1639
4995 008a 0022 movs r2, #0
4996 008c 0133 adds r3, r3, #1
4997 008e E254 strb r2, [r4, r3]
ARM GAS /tmp/ccuRhBPx.s page 242
2282:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4998 .loc 1 2282 9 is_stmt 1 view .LVU1640
2282:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
4999 .loc 1 2282 13 is_stmt 0 view .LVU1641
5000 0090 636C ldr r3, [r4, #68]
2282:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5001 .loc 1 2282 25 view .LVU1642
5002 0092 1021 movs r1, #16
5003 0094 0B43 orrs r3, r1
5004 0096 6364 str r3, [r4, #68]
2285:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5005 .loc 1 2285 9 is_stmt 1 view .LVU1643
2285:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5006 .loc 1 2285 9 view .LVU1644
5007 0098 4023 movs r3, #64
5008 009a E254 strb r2, [r4, r3]
2285:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5009 .loc 1 2285 9 view .LVU1645
2287:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5010 .loc 1 2287 9 view .LVU1646
2287:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5011 .loc 1 2287 16 is_stmt 0 view .LVU1647
5012 009c 0120 movs r0, #1
5013 .LVL353:
2287:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5014 .loc 1 2287 16 view .LVU1648
5015 009e 44E0 b .L302
5016 .LVL354:
5017 .L303:
2193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
5018 .loc 1 2193 7 is_stmt 1 view .LVU1649
2193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
5019 .loc 1 2193 23 is_stmt 0 view .LVU1650
5020 00a0 8023 movs r3, #128
5021 00a2 9B00 lsls r3, r3, #2
5022 00a4 6364 str r3, [r4, #68]
2194:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5023 .loc 1 2194 7 is_stmt 1 view .LVU1651
2194:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5024 .loc 1 2194 15 is_stmt 0 view .LVU1652
5025 00a6 0120 movs r0, #1
5026 .LVL355:
2194:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5027 .loc 1 2194 15 view .LVU1653
5028 00a8 3FE0 b .L302
5029 .LVL356:
5030 .L314:
2215:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5031 .loc 1 2215 7 is_stmt 1 view .LVU1654
2215:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5032 .loc 1 2215 11 is_stmt 0 view .LVU1655
5033 00aa 2368 ldr r3, [r4]
2215:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5034 .loc 1 2215 30 view .LVU1656
5035 00ac 0A78 ldrb r2, [r1]
2215:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5036 .loc 1 2215 28 view .LVU1657
ARM GAS /tmp/ccuRhBPx.s page 243
5037 00ae 9A62 str r2, [r3, #40]
2218:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5038 .loc 1 2218 7 is_stmt 1 view .LVU1658
2218:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5039 .loc 1 2218 11 is_stmt 0 view .LVU1659
5040 00b0 636A ldr r3, [r4, #36]
2218:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5041 .loc 1 2218 21 view .LVU1660
5042 00b2 0133 adds r3, r3, #1
5043 00b4 6362 str r3, [r4, #36]
2220:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize--;
5044 .loc 1 2220 7 is_stmt 1 view .LVU1661
2220:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize--;
5045 .loc 1 2220 11 is_stmt 0 view .LVU1662
5046 00b6 638D ldrh r3, [r4, #42]
2220:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize--;
5047 .loc 1 2220 22 view .LVU1663
5048 00b8 013B subs r3, r3, #1
5049 00ba 9BB2 uxth r3, r3
5050 00bc 6385 strh r3, [r4, #42]
2221:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5051 .loc 1 2221 7 is_stmt 1 view .LVU1664
2221:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5052 .loc 1 2221 11 is_stmt 0 view .LVU1665
5053 00be 238D ldrh r3, [r4, #40]
2221:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5054 .loc 1 2221 21 view .LVU1666
5055 00c0 013B subs r3, r3, #1
5056 00c2 2385 strh r3, [r4, #40]
5057 00c4 C4E7 b .L305
5058 .L307:
2246:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
5059 .loc 1 2246 9 is_stmt 1 view .LVU1667
2246:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
5060 .loc 1 2246 25 is_stmt 0 view .LVU1668
5061 00c6 4123 movs r3, #65
5062 00c8 2822 movs r2, #40
5063 00ca E254 strb r2, [r4, r3]
2247:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5064 .loc 1 2247 9 is_stmt 1 view .LVU1669
2247:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5065 .loc 1 2247 25 is_stmt 0 view .LVU1670
5066 00cc 0022 movs r2, #0
5067 00ce 0133 adds r3, r3, #1
5068 00d0 E254 strb r2, [r4, r3]
2250:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5069 .loc 1 2250 9 is_stmt 1 view .LVU1671
2250:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5070 .loc 1 2250 13 is_stmt 0 view .LVU1672
5071 00d2 636C ldr r3, [r4, #68]
2250:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5072 .loc 1 2250 25 view .LVU1673
5073 00d4 8021 movs r1, #128
5074 .LVL357:
2250:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5075 .loc 1 2250 25 view .LVU1674
5076 00d6 0B43 orrs r3, r1
ARM GAS /tmp/ccuRhBPx.s page 244
5077 00d8 6364 str r3, [r4, #68]
2253:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5078 .loc 1 2253 9 is_stmt 1 view .LVU1675
2253:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5079 .loc 1 2253 9 view .LVU1676
5080 00da 4023 movs r3, #64
5081 00dc E254 strb r2, [r4, r3]
2253:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5082 .loc 1 2253 9 view .LVU1677
2255:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5083 .loc 1 2255 9 view .LVU1678
2255:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5084 .loc 1 2255 16 is_stmt 0 view .LVU1679
5085 00de 0120 movs r0, #1
5086 00e0 23E0 b .L302
5087 .LVL358:
5088 .L315:
2261:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5089 .loc 1 2261 9 is_stmt 1 view .LVU1680
2261:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5090 .loc 1 2261 13 is_stmt 0 view .LVU1681
5091 00e2 2268 ldr r2, [r4]
2261:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5092 .loc 1 2261 23 view .LVU1682
5093 00e4 5368 ldr r3, [r2, #4]
2261:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5094 .loc 1 2261 29 view .LVU1683
5095 00e6 1649 ldr r1, .L316+16
5096 00e8 0B40 ands r3, r1
5097 00ea 5360 str r3, [r2, #4]
2264:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5098 .loc 1 2264 9 is_stmt 1 view .LVU1684
2264:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5099 .loc 1 2264 9 view .LVU1685
5100 00ec 4023 movs r3, #64
5101 00ee 0022 movs r2, #0
5102 00f0 E254 strb r2, [r4, r3]
2264:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5103 .loc 1 2264 9 view .LVU1686
2270:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5104 .loc 1 2270 9 view .LVU1687
5105 00f2 8021 movs r1, #128
5106 00f4 0902 lsls r1, r1, #8
5107 00f6 2000 movs r0, r4
5108 .LVL359:
2270:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5109 .loc 1 2270 9 is_stmt 0 view .LVU1688
5110 00f8 FFF7FEFF bl I2C_Enable_IRQ
5111 .LVL360:
2273:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5112 .loc 1 2273 9 is_stmt 1 view .LVU1689
2273:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5113 .loc 1 2273 13 is_stmt 0 view .LVU1690
5114 00fc 2268 ldr r2, [r4]
2273:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5115 .loc 1 2273 23 view .LVU1691
5116 00fe 1168 ldr r1, [r2]
ARM GAS /tmp/ccuRhBPx.s page 245
2273:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5117 .loc 1 2273 29 view .LVU1692
5118 0100 8023 movs r3, #128
5119 0102 DB01 lsls r3, r3, #7
5120 0104 0B43 orrs r3, r1
5121 0106 1360 str r3, [r2]
5122 0108 0CE0 b .L310
5123 .LVL361:
5124 .L306:
2293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5125 .loc 1 2293 7 is_stmt 1 view .LVU1693
2293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5126 .loc 1 2293 11 is_stmt 0 view .LVU1694
5127 010a 2268 ldr r2, [r4]
2293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5128 .loc 1 2293 21 view .LVU1695
5129 010c 5368 ldr r3, [r2, #4]
2293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5130 .loc 1 2293 27 view .LVU1696
5131 010e 0C49 ldr r1, .L316+16
5132 .LVL362:
2293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5133 .loc 1 2293 27 view .LVU1697
5134 0110 0B40 ands r3, r1
5135 0112 5360 str r3, [r2, #4]
2296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5136 .loc 1 2296 7 is_stmt 1 view .LVU1698
2296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5137 .loc 1 2296 7 view .LVU1699
5138 0114 4023 movs r3, #64
5139 0116 0022 movs r2, #0
5140 0118 E254 strb r2, [r4, r3]
2296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5141 .loc 1 2296 7 view .LVU1700
2302:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5142 .loc 1 2302 7 view .LVU1701
5143 011a 8021 movs r1, #128
5144 011c 0902 lsls r1, r1, #8
5145 011e 2000 movs r0, r4
5146 0120 FFF7FEFF bl I2C_Enable_IRQ
5147 .LVL363:
5148 .L310:
2305:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5149 .loc 1 2305 5 view .LVU1702
2305:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5150 .loc 1 2305 12 is_stmt 0 view .LVU1703
5151 0124 0020 movs r0, #0
5152 0126 00E0 b .L302
5153 .LVL364:
5154 .L311:
2309:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5155 .loc 1 2309 12 view .LVU1704
5156 0128 0220 movs r0, #2
5157 .LVL365:
5158 .L302:
2311:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5159 .loc 1 2311 1 view .LVU1705
ARM GAS /tmp/ccuRhBPx.s page 246
5160 @ sp needed
5161 .LVL366:
2311:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5162 .loc 1 2311 1 view .LVU1706
5163 012a 10BD pop {r4, pc}
5164 .LVL367:
5165 .L312:
2197:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5166 .loc 1 2197 5 discriminator 1 view .LVU1707
5167 012c 0220 movs r0, #2
5168 .LVL368:
2197:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5169 .loc 1 2197 5 discriminator 1 view .LVU1708
5170 012e FCE7 b .L302
5171 .L317:
5172 .align 2
5173 .L316:
5174 0130 0000FFFF .word -65536
5175 0134 00000000 .word I2C_Slave_ISR_DMA
5176 0138 00000000 .word I2C_DMASlaveTransmitCplt
5177 013c 00000000 .word I2C_DMAError
5178 0140 FF7FFFFF .word -32769
5179 .cfi_endproc
5180 .LFE54:
5182 .section .text.HAL_I2C_Slave_Receive_DMA,"ax",%progbits
5183 .align 1
5184 .global HAL_I2C_Slave_Receive_DMA
5185 .syntax unified
5186 .code 16
5187 .thumb_func
5189 HAL_I2C_Slave_Receive_DMA:
5190 .LVL369:
5191 .LFB55:
2322:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
5192 .loc 1 2322 1 is_stmt 1 view -0
5193 .cfi_startproc
5194 @ args = 0, pretend = 0, frame = 0
5195 @ frame_needed = 0, uses_anonymous_args = 0
2322:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
5196 .loc 1 2322 1 is_stmt 0 view .LVU1710
5197 0000 70B5 push {r4, r5, r6, lr}
5198 .cfi_def_cfa_offset 16
5199 .cfi_offset 4, -16
5200 .cfi_offset 5, -12
5201 .cfi_offset 6, -8
5202 .cfi_offset 14, -4
5203 0002 0400 movs r4, r0
5204 0004 0D00 movs r5, r1
2323:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5205 .loc 1 2323 3 is_stmt 1 view .LVU1711
2325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5206 .loc 1 2325 3 view .LVU1712
2325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5207 .loc 1 2325 11 is_stmt 0 view .LVU1713
5208 0006 4123 movs r3, #65
5209 0008 C35C ldrb r3, [r0, r3]
2325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
ARM GAS /tmp/ccuRhBPx.s page 247
5210 .loc 1 2325 6 view .LVU1714
5211 000a 202B cmp r3, #32
5212 000c 64D1 bne .L325
2327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5213 .loc 1 2327 5 is_stmt 1 view .LVU1715
2327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5214 .loc 1 2327 8 is_stmt 0 view .LVU1716
5215 000e 0029 cmp r1, #0
5216 0010 3CD0 beq .L320
2327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5217 .loc 1 2327 25 discriminator 1 view .LVU1717
5218 0012 002A cmp r2, #0
5219 0014 3AD0 beq .L320
2333:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5220 .loc 1 2333 5 is_stmt 1 view .LVU1718
2333:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5221 .loc 1 2333 5 view .LVU1719
5222 0016 4023 movs r3, #64
5223 0018 C35C ldrb r3, [r0, r3]
5224 001a 012B cmp r3, #1
5225 001c 5FD0 beq .L326
2333:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5226 .loc 1 2333 5 discriminator 2 view .LVU1720
5227 001e 4023 movs r3, #64
5228 0020 0121 movs r1, #1
5229 .LVL370:
2333:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5230 .loc 1 2333 5 is_stmt 0 discriminator 2 view .LVU1721
5231 0022 C154 strb r1, [r0, r3]
2333:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5232 .loc 1 2333 5 is_stmt 1 discriminator 2 view .LVU1722
2335:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
5233 .loc 1 2335 5 view .LVU1723
2335:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
5234 .loc 1 2335 23 is_stmt 0 view .LVU1724
5235 0024 0133 adds r3, r3, #1
5236 0026 2131 adds r1, r1, #33
5237 0028 C154 strb r1, [r0, r3]
2336:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
5238 .loc 1 2336 5 is_stmt 1 view .LVU1725
2336:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
5239 .loc 1 2336 23 is_stmt 0 view .LVU1726
5240 002a 0133 adds r3, r3, #1
5241 002c 0239 subs r1, r1, #2
5242 002e C154 strb r1, [r0, r3]
2337:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5243 .loc 1 2337 5 is_stmt 1 view .LVU1727
2337:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5244 .loc 1 2337 23 is_stmt 0 view .LVU1728
5245 0030 0023 movs r3, #0
5246 0032 4364 str r3, [r0, #68]
2340:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
5247 .loc 1 2340 5 is_stmt 1 view .LVU1729
2340:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
5248 .loc 1 2340 23 is_stmt 0 view .LVU1730
5249 0034 4562 str r5, [r0, #36]
2341:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
ARM GAS /tmp/ccuRhBPx.s page 248
5250 .loc 1 2341 5 is_stmt 1 view .LVU1731
2341:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
5251 .loc 1 2341 23 is_stmt 0 view .LVU1732
5252 0036 4285 strh r2, [r0, #42]
2342:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
5253 .loc 1 2342 5 is_stmt 1 view .LVU1733
2342:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
5254 .loc 1 2342 29 is_stmt 0 view .LVU1734
5255 0038 438D ldrh r3, [r0, #42]
2342:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
5256 .loc 1 2342 23 view .LVU1735
5257 003a 0385 strh r3, [r0, #40]
2343:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_DMA;
5258 .loc 1 2343 5 is_stmt 1 view .LVU1736
2343:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_DMA;
5259 .loc 1 2343 23 is_stmt 0 view .LVU1737
5260 003c 294B ldr r3, .L329
5261 003e C362 str r3, [r0, #44]
2344:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5262 .loc 1 2344 5 is_stmt 1 view .LVU1738
2344:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5263 .loc 1 2344 23 is_stmt 0 view .LVU1739
5264 0040 294B ldr r3, .L329+4
5265 0042 4363 str r3, [r0, #52]
2346:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5266 .loc 1 2346 5 is_stmt 1 view .LVU1740
2346:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5267 .loc 1 2346 13 is_stmt 0 view .LVU1741
5268 0044 C36B ldr r3, [r0, #60]
2346:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5269 .loc 1 2346 8 view .LVU1742
5270 0046 002B cmp r3, #0
5271 0048 25D0 beq .L322
2349:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5272 .loc 1 2349 7 is_stmt 1 view .LVU1743
2349:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5273 .loc 1 2349 38 is_stmt 0 view .LVU1744
5274 004a 284A ldr r2, .L329+8
5275 .LVL371:
2349:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5276 .loc 1 2349 38 view .LVU1745
5277 004c 9A62 str r2, [r3, #40]
2352:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5278 .loc 1 2352 7 is_stmt 1 view .LVU1746
2352:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5279 .loc 1 2352 11 is_stmt 0 view .LVU1747
5280 004e C36B ldr r3, [r0, #60]
2352:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5281 .loc 1 2352 39 view .LVU1748
5282 0050 274A ldr r2, .L329+12
5283 0052 1A63 str r2, [r3, #48]
2355:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
5284 .loc 1 2355 7 is_stmt 1 view .LVU1749
2355:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
5285 .loc 1 2355 11 is_stmt 0 view .LVU1750
5286 0054 C26B ldr r2, [r0, #60]
2355:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
ARM GAS /tmp/ccuRhBPx.s page 249
5287 .loc 1 2355 42 view .LVU1751
5288 0056 0023 movs r3, #0
5289 0058 D362 str r3, [r2, #44]
2356:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5290 .loc 1 2356 7 is_stmt 1 view .LVU1752
2356:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5291 .loc 1 2356 11 is_stmt 0 view .LVU1753
5292 005a C26B ldr r2, [r0, #60]
2356:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5293 .loc 1 2356 39 view .LVU1754
5294 005c 5363 str r3, [r2, #52]
2359:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize);
5295 .loc 1 2359 7 is_stmt 1 view .LVU1755
2359:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize);
5296 .loc 1 2359 69 is_stmt 0 view .LVU1756
5297 005e 0168 ldr r1, [r0]
2359:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize);
5298 .loc 1 2359 64 view .LVU1757
5299 0060 2431 adds r1, r1, #36
2360:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5300 .loc 1 2360 44 view .LVU1758
5301 0062 038D ldrh r3, [r0, #40]
2359:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize);
5302 .loc 1 2359 23 view .LVU1759
5303 0064 C06B ldr r0, [r0, #60]
5304 .LVL372:
2359:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize);
5305 .loc 1 2359 23 view .LVU1760
5306 0066 2A00 movs r2, r5
5307 0068 FFF7FEFF bl HAL_DMA_Start_IT
5308 .LVL373:
5309 006c 051E subs r5, r0, #0
5310 .LVL374:
2377:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5311 .loc 1 2377 5 is_stmt 1 view .LVU1761
2377:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5312 .loc 1 2377 8 is_stmt 0 view .LVU1762
5313 006e 20D0 beq .L328
2397:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
5314 .loc 1 2397 7 is_stmt 1 view .LVU1763
2397:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
5315 .loc 1 2397 23 is_stmt 0 view .LVU1764
5316 0070 4123 movs r3, #65
5317 0072 2822 movs r2, #40
5318 0074 E254 strb r2, [r4, r3]
2398:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5319 .loc 1 2398 7 is_stmt 1 view .LVU1765
2398:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5320 .loc 1 2398 23 is_stmt 0 view .LVU1766
5321 0076 0022 movs r2, #0
5322 0078 0133 adds r3, r3, #1
5323 007a E254 strb r2, [r4, r3]
2401:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5324 .loc 1 2401 7 is_stmt 1 view .LVU1767
2401:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5325 .loc 1 2401 11 is_stmt 0 view .LVU1768
5326 007c 636C ldr r3, [r4, #68]
ARM GAS /tmp/ccuRhBPx.s page 250
2401:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5327 .loc 1 2401 23 view .LVU1769
5328 007e 1021 movs r1, #16
5329 0080 0B43 orrs r3, r1
5330 0082 6364 str r3, [r4, #68]
2404:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5331 .loc 1 2404 7 is_stmt 1 view .LVU1770
2404:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5332 .loc 1 2404 7 view .LVU1771
5333 0084 4023 movs r3, #64
5334 0086 E254 strb r2, [r4, r3]
2404:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5335 .loc 1 2404 7 view .LVU1772
2406:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5336 .loc 1 2406 7 view .LVU1773
2406:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5337 .loc 1 2406 14 is_stmt 0 view .LVU1774
5338 0088 0125 movs r5, #1
5339 008a 26E0 b .L319
5340 .LVL375:
5341 .L320:
2329:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
5342 .loc 1 2329 7 is_stmt 1 view .LVU1775
2329:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
5343 .loc 1 2329 23 is_stmt 0 view .LVU1776
5344 008c 8023 movs r3, #128
5345 008e 9B00 lsls r3, r3, #2
5346 0090 6364 str r3, [r4, #68]
2330:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5347 .loc 1 2330 7 is_stmt 1 view .LVU1777
2330:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5348 .loc 1 2330 15 is_stmt 0 view .LVU1778
5349 0092 0125 movs r5, #1
5350 0094 21E0 b .L319
5351 .LVL376:
5352 .L322:
2365:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
5353 .loc 1 2365 7 is_stmt 1 view .LVU1779
2365:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
5354 .loc 1 2365 23 is_stmt 0 view .LVU1780
5355 0096 4123 movs r3, #65
5356 0098 2822 movs r2, #40
5357 .LVL377:
2365:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
5358 .loc 1 2365 23 view .LVU1781
5359 009a C254 strb r2, [r0, r3]
2366:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5360 .loc 1 2366 7 is_stmt 1 view .LVU1782
2366:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5361 .loc 1 2366 23 is_stmt 0 view .LVU1783
5362 009c 0022 movs r2, #0
5363 009e 0133 adds r3, r3, #1
5364 00a0 C254 strb r2, [r0, r3]
2369:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5365 .loc 1 2369 7 is_stmt 1 view .LVU1784
2369:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5366 .loc 1 2369 11 is_stmt 0 view .LVU1785
ARM GAS /tmp/ccuRhBPx.s page 251
5367 00a2 436C ldr r3, [r0, #68]
2369:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5368 .loc 1 2369 23 view .LVU1786
5369 00a4 8021 movs r1, #128
5370 00a6 0B43 orrs r3, r1
5371 00a8 4364 str r3, [r0, #68]
2372:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5372 .loc 1 2372 7 is_stmt 1 view .LVU1787
2372:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5373 .loc 1 2372 7 view .LVU1788
5374 00aa 4023 movs r3, #64
5375 00ac C254 strb r2, [r0, r3]
2372:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5376 .loc 1 2372 7 view .LVU1789
2374:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5377 .loc 1 2374 7 view .LVU1790
2374:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5378 .loc 1 2374 14 is_stmt 0 view .LVU1791
5379 00ae 0125 movs r5, #1
5380 .LVL378:
2374:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5381 .loc 1 2374 14 view .LVU1792
5382 00b0 13E0 b .L319
5383 .LVL379:
5384 .L328:
2380:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5385 .loc 1 2380 7 is_stmt 1 view .LVU1793
2380:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5386 .loc 1 2380 11 is_stmt 0 view .LVU1794
5387 00b2 2268 ldr r2, [r4]
2380:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5388 .loc 1 2380 21 view .LVU1795
5389 00b4 5368 ldr r3, [r2, #4]
2380:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5390 .loc 1 2380 27 view .LVU1796
5391 00b6 0F49 ldr r1, .L329+16
5392 00b8 0B40 ands r3, r1
5393 00ba 5360 str r3, [r2, #4]
2383:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5394 .loc 1 2383 7 is_stmt 1 view .LVU1797
2383:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5395 .loc 1 2383 7 view .LVU1798
5396 00bc 4023 movs r3, #64
5397 00be 0022 movs r2, #0
5398 00c0 E254 strb r2, [r4, r3]
2383:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5399 .loc 1 2383 7 view .LVU1799
2389:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5400 .loc 1 2389 7 view .LVU1800
5401 00c2 8026 movs r6, #128
5402 00c4 3602 lsls r6, r6, #8
5403 00c6 3100 movs r1, r6
5404 00c8 2000 movs r0, r4
5405 .LVL380:
2389:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5406 .loc 1 2389 7 is_stmt 0 view .LVU1801
5407 00ca FFF7FEFF bl I2C_Enable_IRQ
ARM GAS /tmp/ccuRhBPx.s page 252
5408 .LVL381:
2392:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5409 .loc 1 2392 7 is_stmt 1 view .LVU1802
2392:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5410 .loc 1 2392 11 is_stmt 0 view .LVU1803
5411 00ce 2368 ldr r3, [r4]
2392:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5412 .loc 1 2392 21 view .LVU1804
5413 00d0 1A68 ldr r2, [r3]
2392:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5414 .loc 1 2392 27 view .LVU1805
5415 00d2 1643 orrs r6, r2
5416 00d4 1E60 str r6, [r3]
2409:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5417 .loc 1 2409 5 is_stmt 1 view .LVU1806
2409:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5418 .loc 1 2409 12 is_stmt 0 view .LVU1807
5419 00d6 00E0 b .L319
5420 .LVL382:
5421 .L325:
2413:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5422 .loc 1 2413 12 view .LVU1808
5423 00d8 0225 movs r5, #2
5424 .LVL383:
5425 .L319:
2415:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5426 .loc 1 2415 1 view .LVU1809
5427 00da 2800 movs r0, r5
5428 @ sp needed
5429 .LVL384:
2415:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5430 .loc 1 2415 1 view .LVU1810
5431 00dc 70BD pop {r4, r5, r6, pc}
5432 .LVL385:
5433 .L326:
2333:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5434 .loc 1 2333 5 discriminator 1 view .LVU1811
5435 00de 0225 movs r5, #2
5436 00e0 FBE7 b .L319
5437 .L330:
5438 00e2 C046 .align 2
5439 .L329:
5440 00e4 0000FFFF .word -65536
5441 00e8 00000000 .word I2C_Slave_ISR_DMA
5442 00ec 00000000 .word I2C_DMASlaveReceiveCplt
5443 00f0 00000000 .word I2C_DMAError
5444 00f4 FF7FFFFF .word -32769
5445 .cfi_endproc
5446 .LFE55:
5448 .section .text.HAL_I2C_Mem_Write,"ax",%progbits
5449 .align 1
5450 .global HAL_I2C_Mem_Write
5451 .syntax unified
5452 .code 16
5453 .thumb_func
5455 HAL_I2C_Mem_Write:
5456 .LVL386:
ARM GAS /tmp/ccuRhBPx.s page 253
5457 .LFB56:
2432:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart;
5458 .loc 1 2432 1 is_stmt 1 view -0
5459 .cfi_startproc
5460 @ args = 12, pretend = 0, frame = 16
5461 @ frame_needed = 0, uses_anonymous_args = 0
2432:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart;
5462 .loc 1 2432 1 is_stmt 0 view .LVU1813
5463 0000 F0B5 push {r4, r5, r6, r7, lr}
5464 .cfi_def_cfa_offset 20
5465 .cfi_offset 4, -20
5466 .cfi_offset 5, -16
5467 .cfi_offset 6, -12
5468 .cfi_offset 7, -8
5469 .cfi_offset 14, -4
5470 0002 87B0 sub sp, sp, #28
5471 .cfi_def_cfa_offset 48
5472 0004 0400 movs r4, r0
5473 0006 0391 str r1, [sp, #12]
5474 0008 0492 str r2, [sp, #16]
5475 000a 0593 str r3, [sp, #20]
5476 000c 0CAB add r3, sp, #48
5477 .LVL387:
2432:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart;
5478 .loc 1 2432 1 view .LVU1814
5479 000e 20CB ldmia r3!, {r5}
5480 .LVL388:
2432:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart;
5481 .loc 1 2432 1 view .LVU1815
5482 0010 1F88 ldrh r7, [r3]
2433:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5483 .loc 1 2433 3 is_stmt 1 view .LVU1816
2436:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5484 .loc 1 2436 3 view .LVU1817
2438:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5485 .loc 1 2438 3 view .LVU1818
2438:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5486 .loc 1 2438 11 is_stmt 0 view .LVU1819
5487 0012 4123 movs r3, #65
5488 .LVL389:
2438:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5489 .loc 1 2438 11 view .LVU1820
5490 0014 C35C ldrb r3, [r0, r3]
2438:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5491 .loc 1 2438 6 view .LVU1821
5492 0016 202B cmp r3, #32
5493 0018 00D0 beq .LCB5120
5494 001a B3E0 b .L341 @long jump
5495 .LCB5120:
2440:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5496 .loc 1 2440 5 is_stmt 1 view .LVU1822
2440:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5497 .loc 1 2440 8 is_stmt 0 view .LVU1823
5498 001c 002D cmp r5, #0
5499 001e 18D0 beq .L333
2440:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5500 .loc 1 2440 25 discriminator 1 view .LVU1824
ARM GAS /tmp/ccuRhBPx.s page 254
5501 0020 002F cmp r7, #0
5502 0022 16D0 beq .L333
2447:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5503 .loc 1 2447 5 is_stmt 1 view .LVU1825
2447:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5504 .loc 1 2447 5 view .LVU1826
5505 0024 4023 movs r3, #64
5506 0026 C35C ldrb r3, [r0, r3]
5507 0028 012B cmp r3, #1
5508 002a 00D1 bne .LCB5131
5509 002c ADE0 b .L342 @long jump
5510 .LCB5131:
2447:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5511 .loc 1 2447 5 discriminator 2 view .LVU1827
5512 002e 4023 movs r3, #64
5513 0030 0122 movs r2, #1
5514 .LVL390:
2447:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5515 .loc 1 2447 5 is_stmt 0 discriminator 2 view .LVU1828
5516 0032 C254 strb r2, [r0, r3]
2447:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5517 .loc 1 2447 5 is_stmt 1 discriminator 2 view .LVU1829
2450:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5518 .loc 1 2450 5 view .LVU1830
2450:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5519 .loc 1 2450 17 is_stmt 0 view .LVU1831
5520 0034 FFF7FEFF bl HAL_GetTick
5521 .LVL391:
2450:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5522 .loc 1 2450 17 view .LVU1832
5523 0038 0600 movs r6, r0
5524 .LVL392:
2452:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5525 .loc 1 2452 5 is_stmt 1 view .LVU1833
2452:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5526 .loc 1 2452 9 is_stmt 0 view .LVU1834
5527 003a 8021 movs r1, #128
5528 003c 0090 str r0, [sp]
5529 003e 1923 movs r3, #25
5530 0040 0122 movs r2, #1
5531 0042 0902 lsls r1, r1, #8
5532 0044 2000 movs r0, r4
5533 .LVL393:
2452:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5534 .loc 1 2452 9 view .LVU1835
5535 0046 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
5536 .LVL394:
2452:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5537 .loc 1 2452 8 discriminator 1 view .LVU1836
5538 004a 0028 cmp r0, #0
5539 004c 06D0 beq .L347
2454:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5540 .loc 1 2454 14 view .LVU1837
5541 004e 0120 movs r0, #1
5542 0050 99E0 b .L332
5543 .LVL395:
5544 .L333:
ARM GAS /tmp/ccuRhBPx.s page 255
2442:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
5545 .loc 1 2442 7 is_stmt 1 view .LVU1838
2442:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
5546 .loc 1 2442 23 is_stmt 0 view .LVU1839
5547 0052 8023 movs r3, #128
5548 0054 9B00 lsls r3, r3, #2
5549 0056 6364 str r3, [r4, #68]
2443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5550 .loc 1 2443 7 is_stmt 1 view .LVU1840
2443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5551 .loc 1 2443 15 is_stmt 0 view .LVU1841
5552 0058 0120 movs r0, #1
5553 .LVL396:
2443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5554 .loc 1 2443 15 view .LVU1842
5555 005a 94E0 b .L332
5556 .LVL397:
5557 .L347:
2457:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
5558 .loc 1 2457 5 is_stmt 1 view .LVU1843
2457:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
5559 .loc 1 2457 21 is_stmt 0 view .LVU1844
5560 005c 4123 movs r3, #65
5561 005e 2122 movs r2, #33
5562 0060 E254 strb r2, [r4, r3]
2458:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
5563 .loc 1 2458 5 is_stmt 1 view .LVU1845
2458:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
5564 .loc 1 2458 21 is_stmt 0 view .LVU1846
5565 0062 0133 adds r3, r3, #1
5566 0064 1F32 adds r2, r2, #31
5567 0066 E254 strb r2, [r4, r3]
2459:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5568 .loc 1 2459 5 is_stmt 1 view .LVU1847
2459:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5569 .loc 1 2459 21 is_stmt 0 view .LVU1848
5570 0068 0023 movs r3, #0
5571 006a 6364 str r3, [r4, #68]
2462:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
5572 .loc 1 2462 5 is_stmt 1 view .LVU1849
2462:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
5573 .loc 1 2462 21 is_stmt 0 view .LVU1850
5574 006c 6562 str r5, [r4, #36]
2463:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL;
5575 .loc 1 2463 5 is_stmt 1 view .LVU1851
2463:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL;
5576 .loc 1 2463 21 is_stmt 0 view .LVU1852
5577 006e 6785 strh r7, [r4, #42]
2464:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5578 .loc 1 2464 5 is_stmt 1 view .LVU1853
2464:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5579 .loc 1 2464 21 is_stmt 0 view .LVU1854
5580 0070 6363 str r3, [r4, #52]
2467:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5581 .loc 1 2467 5 is_stmt 1 view .LVU1855
2467:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5582 .loc 1 2467 9 is_stmt 0 view .LVU1856
ARM GAS /tmp/ccuRhBPx.s page 256
5583 0072 0196 str r6, [sp, #4]
5584 0074 0E9B ldr r3, [sp, #56]
5585 0076 0093 str r3, [sp]
5586 0078 059B ldr r3, [sp, #20]
5587 007a 049A ldr r2, [sp, #16]
5588 007c 0399 ldr r1, [sp, #12]
5589 007e 2000 movs r0, r4
5590 0080 FFF7FEFF bl I2C_RequestMemoryWrite
5591 .LVL398:
2467:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5592 .loc 1 2467 8 discriminator 1 view .LVU1857
5593 0084 0028 cmp r0, #0
5594 0086 0FD1 bne .L348
2475:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5595 .loc 1 2475 5 is_stmt 1 view .LVU1858
2475:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5596 .loc 1 2475 13 is_stmt 0 view .LVU1859
5597 0088 638D ldrh r3, [r4, #42]
5598 008a 9BB2 uxth r3, r3
2475:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5599 .loc 1 2475 8 view .LVU1860
5600 008c FF2B cmp r3, #255
5601 008e 10D9 bls .L336
2477:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, I2C_NO_STARTST
5602 .loc 1 2477 7 is_stmt 1 view .LVU1861
2477:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, I2C_NO_STARTST
5603 .loc 1 2477 22 is_stmt 0 view .LVU1862
5604 0090 FF23 movs r3, #255
5605 0092 2385 strh r3, [r4, #40]
2478:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5606 .loc 1 2478 7 is_stmt 1 view .LVU1863
5607 0094 7F3B subs r3, r3, #127
5608 0096 0022 movs r2, #0
5609 0098 0092 str r2, [sp]
5610 009a 5B04 lsls r3, r3, #17
5611 009c FF32 adds r2, r2, #255
5612 009e 0399 ldr r1, [sp, #12]
5613 00a0 2000 movs r0, r4
5614 00a2 FFF7FEFF bl I2C_TransferConfig
5615 .LVL399:
5616 00a6 21E0 b .L340
5617 .L348:
2470:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
5618 .loc 1 2470 7 view .LVU1864
2470:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
5619 .loc 1 2470 7 view .LVU1865
5620 00a8 4023 movs r3, #64
5621 00aa 0022 movs r2, #0
5622 00ac E254 strb r2, [r4, r3]
2470:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
5623 .loc 1 2470 7 view .LVU1866
2471:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5624 .loc 1 2471 7 view .LVU1867
2471:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5625 .loc 1 2471 14 is_stmt 0 view .LVU1868
5626 00ae 0120 movs r0, #1
5627 00b0 69E0 b .L332
ARM GAS /tmp/ccuRhBPx.s page 257
5628 .L336:
2482:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, I2C_NO_STARTS
5629 .loc 1 2482 7 is_stmt 1 view .LVU1869
2482:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, I2C_NO_STARTS
5630 .loc 1 2482 28 is_stmt 0 view .LVU1870
5631 00b2 628D ldrh r2, [r4, #42]
5632 00b4 92B2 uxth r2, r2
2482:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, I2C_NO_STARTS
5633 .loc 1 2482 22 view .LVU1871
5634 00b6 2285 strh r2, [r4, #40]
2483:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5635 .loc 1 2483 7 is_stmt 1 view .LVU1872
5636 00b8 8023 movs r3, #128
5637 00ba D2B2 uxtb r2, r2
5638 00bc 0021 movs r1, #0
5639 00be 0091 str r1, [sp]
5640 00c0 9B04 lsls r3, r3, #18
5641 00c2 0399 ldr r1, [sp, #12]
5642 00c4 2000 movs r0, r4
5643 00c6 FFF7FEFF bl I2C_TransferConfig
5644 .LVL400:
5645 00ca 0FE0 b .L340
5646 .L339:
2519:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
5647 .loc 1 2519 11 view .LVU1873
2519:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
5648 .loc 1 2519 32 is_stmt 0 view .LVU1874
5649 00cc 628D ldrh r2, [r4, #42]
5650 00ce 92B2 uxth r2, r2
2519:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
5651 .loc 1 2519 26 view .LVU1875
5652 00d0 2285 strh r2, [r4, #40]
2520:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_NO_STARTSTOP);
5653 .loc 1 2520 11 is_stmt 1 view .LVU1876
5654 00d2 8023 movs r3, #128
5655 00d4 D2B2 uxtb r2, r2
5656 00d6 0021 movs r1, #0
5657 00d8 0091 str r1, [sp]
5658 00da 9B04 lsls r3, r3, #18
5659 00dc 0399 ldr r1, [sp, #12]
5660 00de 2000 movs r0, r4
5661 00e0 FFF7FEFF bl I2C_TransferConfig
5662 .LVL401:
5663 .L338:
2525:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5664 .loc 1 2525 30 view .LVU1877
2525:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5665 .loc 1 2525 18 is_stmt 0 view .LVU1878
5666 00e4 638D ldrh r3, [r4, #42]
5667 00e6 9BB2 uxth r3, r3
2525:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5668 .loc 1 2525 30 view .LVU1879
5669 00e8 002B cmp r3, #0
5670 00ea 34D0 beq .L349
5671 .L340:
2486:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5672 .loc 1 2486 5 is_stmt 1 view .LVU1880
ARM GAS /tmp/ccuRhBPx.s page 258
2489:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5673 .loc 1 2489 7 view .LVU1881
2489:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5674 .loc 1 2489 11 is_stmt 0 view .LVU1882
5675 00ec 3200 movs r2, r6
5676 00ee 0E99 ldr r1, [sp, #56]
5677 00f0 2000 movs r0, r4
5678 00f2 FFF7FEFF bl I2C_WaitOnTXISFlagUntilTimeout
5679 .LVL402:
2489:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5680 .loc 1 2489 10 discriminator 1 view .LVU1883
5681 00f6 0028 cmp r0, #0
5682 00f8 49D1 bne .L344
2495:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5683 .loc 1 2495 7 is_stmt 1 view .LVU1884
2495:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5684 .loc 1 2495 35 is_stmt 0 view .LVU1885
5685 00fa 626A ldr r2, [r4, #36]
2495:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5686 .loc 1 2495 11 view .LVU1886
5687 00fc 2368 ldr r3, [r4]
2495:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5688 .loc 1 2495 30 view .LVU1887
5689 00fe 1278 ldrb r2, [r2]
2495:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5690 .loc 1 2495 28 view .LVU1888
5691 0100 9A62 str r2, [r3, #40]
2498:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5692 .loc 1 2498 7 is_stmt 1 view .LVU1889
2498:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5693 .loc 1 2498 11 is_stmt 0 view .LVU1890
5694 0102 636A ldr r3, [r4, #36]
2498:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5695 .loc 1 2498 21 view .LVU1891
5696 0104 0133 adds r3, r3, #1
5697 0106 6362 str r3, [r4, #36]
2500:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize--;
5698 .loc 1 2500 7 is_stmt 1 view .LVU1892
2500:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize--;
5699 .loc 1 2500 11 is_stmt 0 view .LVU1893
5700 0108 638D ldrh r3, [r4, #42]
2500:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize--;
5701 .loc 1 2500 22 view .LVU1894
5702 010a 013B subs r3, r3, #1
5703 010c 9BB2 uxth r3, r3
5704 010e 6385 strh r3, [r4, #42]
2501:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5705 .loc 1 2501 7 is_stmt 1 view .LVU1895
2501:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5706 .loc 1 2501 11 is_stmt 0 view .LVU1896
5707 0110 238D ldrh r3, [r4, #40]
2501:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5708 .loc 1 2501 21 view .LVU1897
5709 0112 013B subs r3, r3, #1
5710 0114 9BB2 uxth r3, r3
5711 0116 2385 strh r3, [r4, #40]
2503:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
ARM GAS /tmp/ccuRhBPx.s page 259
5712 .loc 1 2503 7 is_stmt 1 view .LVU1898
2503:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5713 .loc 1 2503 16 is_stmt 0 view .LVU1899
5714 0118 628D ldrh r2, [r4, #42]
5715 011a 92B2 uxth r2, r2
2503:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5716 .loc 1 2503 10 view .LVU1900
5717 011c 002A cmp r2, #0
5718 011e E1D0 beq .L338
2503:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5719 .loc 1 2503 35 discriminator 1 view .LVU1901
5720 0120 002B cmp r3, #0
5721 0122 DFD1 bne .L338
2506:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5722 .loc 1 2506 9 is_stmt 1 view .LVU1902
2506:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5723 .loc 1 2506 13 is_stmt 0 view .LVU1903
5724 0124 0096 str r6, [sp]
5725 0126 0E9B ldr r3, [sp, #56]
5726 0128 0022 movs r2, #0
5727 012a 8021 movs r1, #128
5728 012c 2000 movs r0, r4
5729 012e FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
5730 .LVL403:
2506:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5731 .loc 1 2506 12 discriminator 1 view .LVU1904
5732 0132 0028 cmp r0, #0
5733 0134 2DD1 bne .L345
2511:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5734 .loc 1 2511 9 is_stmt 1 view .LVU1905
2511:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5735 .loc 1 2511 17 is_stmt 0 view .LVU1906
5736 0136 638D ldrh r3, [r4, #42]
5737 0138 9BB2 uxth r3, r3
2511:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5738 .loc 1 2511 12 view .LVU1907
5739 013a FF2B cmp r3, #255
5740 013c C6D9 bls .L339
2513:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE,
5741 .loc 1 2513 11 is_stmt 1 view .LVU1908
2513:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE,
5742 .loc 1 2513 26 is_stmt 0 view .LVU1909
5743 013e FF23 movs r3, #255
5744 0140 2385 strh r3, [r4, #40]
2514:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_NO_STARTSTOP);
5745 .loc 1 2514 11 is_stmt 1 view .LVU1910
5746 0142 7F3B subs r3, r3, #127
5747 0144 0022 movs r2, #0
5748 0146 0092 str r2, [sp]
5749 0148 5B04 lsls r3, r3, #17
5750 014a FF32 adds r2, r2, #255
5751 014c 0399 ldr r1, [sp, #12]
5752 014e 2000 movs r0, r4
5753 0150 FFF7FEFF bl I2C_TransferConfig
5754 .LVL404:
5755 0154 C6E7 b .L338
5756 .L349:
ARM GAS /tmp/ccuRhBPx.s page 260
2529:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5757 .loc 1 2529 5 view .LVU1911
2529:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5758 .loc 1 2529 9 is_stmt 0 view .LVU1912
5759 0156 3200 movs r2, r6
5760 0158 0E99 ldr r1, [sp, #56]
5761 015a 2000 movs r0, r4
5762 015c FFF7FEFF bl I2C_WaitOnSTOPFlagUntilTimeout
5763 .LVL405:
2529:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5764 .loc 1 2529 8 discriminator 1 view .LVU1913
5765 0160 0028 cmp r0, #0
5766 0162 18D1 bne .L346
2535:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5767 .loc 1 2535 5 is_stmt 1 view .LVU1914
5768 0164 2368 ldr r3, [r4]
5769 0166 2022 movs r2, #32
5770 0168 DA61 str r2, [r3, #28]
2538:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5771 .loc 1 2538 5 view .LVU1915
5772 016a 2168 ldr r1, [r4]
5773 016c 4B68 ldr r3, [r1, #4]
5774 016e 0B4D ldr r5, .L350
5775 0170 2B40 ands r3, r5
5776 0172 4B60 str r3, [r1, #4]
2540:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
5777 .loc 1 2540 5 view .LVU1916
2540:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
5778 .loc 1 2540 17 is_stmt 0 view .LVU1917
5779 0174 4123 movs r3, #65
5780 0176 E254 strb r2, [r4, r3]
2541:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5781 .loc 1 2541 5 is_stmt 1 view .LVU1918
2541:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5782 .loc 1 2541 17 is_stmt 0 view .LVU1919
5783 0178 0023 movs r3, #0
5784 017a 2232 adds r2, r2, #34
5785 017c A354 strb r3, [r4, r2]
2544:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5786 .loc 1 2544 5 is_stmt 1 view .LVU1920
2544:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5787 .loc 1 2544 5 view .LVU1921
5788 017e 023A subs r2, r2, #2
5789 0180 A354 strb r3, [r4, r2]
2544:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5790 .loc 1 2544 5 view .LVU1922
2546:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5791 .loc 1 2546 5 view .LVU1923
2546:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5792 .loc 1 2546 12 is_stmt 0 view .LVU1924
5793 0182 00E0 b .L332
5794 .LVL406:
5795 .L341:
2550:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5796 .loc 1 2550 12 view .LVU1925
5797 0184 0220 movs r0, #2
5798 .LVL407:
ARM GAS /tmp/ccuRhBPx.s page 261
5799 .L332:
2552:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5800 .loc 1 2552 1 view .LVU1926
5801 0186 07B0 add sp, sp, #28
5802 @ sp needed
5803 .LVL408:
2552:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5804 .loc 1 2552 1 view .LVU1927
5805 0188 F0BD pop {r4, r5, r6, r7, pc}
5806 .LVL409:
5807 .L342:
2447:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5808 .loc 1 2447 5 discriminator 1 view .LVU1928
5809 018a 0220 movs r0, #2
5810 .LVL410:
2447:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5811 .loc 1 2447 5 discriminator 1 view .LVU1929
5812 018c FBE7 b .L332
5813 .LVL411:
5814 .L344:
2491:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5815 .loc 1 2491 16 view .LVU1930
5816 018e 0120 movs r0, #1
5817 0190 F9E7 b .L332
5818 .L345:
2508:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5819 .loc 1 2508 18 view .LVU1931
5820 0192 0120 movs r0, #1
5821 0194 F7E7 b .L332
5822 .L346:
2531:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5823 .loc 1 2531 14 view .LVU1932
5824 0196 0120 movs r0, #1
5825 0198 F5E7 b .L332
5826 .L351:
5827 019a C046 .align 2
5828 .L350:
5829 019c 00E800FE .word -33495040
5830 .cfi_endproc
5831 .LFE56:
5833 .section .text.HAL_I2C_Mem_Read,"ax",%progbits
5834 .align 1
5835 .global HAL_I2C_Mem_Read
5836 .syntax unified
5837 .code 16
5838 .thumb_func
5840 HAL_I2C_Mem_Read:
5841 .LVL412:
5842 .LFB57:
2569:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart;
5843 .loc 1 2569 1 is_stmt 1 view -0
5844 .cfi_startproc
5845 @ args = 12, pretend = 0, frame = 16
5846 @ frame_needed = 0, uses_anonymous_args = 0
2569:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart;
5847 .loc 1 2569 1 is_stmt 0 view .LVU1934
5848 0000 F0B5 push {r4, r5, r6, r7, lr}
ARM GAS /tmp/ccuRhBPx.s page 262
5849 .cfi_def_cfa_offset 20
5850 .cfi_offset 4, -20
5851 .cfi_offset 5, -16
5852 .cfi_offset 6, -12
5853 .cfi_offset 7, -8
5854 .cfi_offset 14, -4
5855 0002 87B0 sub sp, sp, #28
5856 .cfi_def_cfa_offset 48
5857 0004 0400 movs r4, r0
5858 0006 0391 str r1, [sp, #12]
5859 0008 0492 str r2, [sp, #16]
5860 000a 0593 str r3, [sp, #20]
5861 000c 0CAB add r3, sp, #48
5862 .LVL413:
2569:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart;
5863 .loc 1 2569 1 view .LVU1935
5864 000e 20CB ldmia r3!, {r5}
5865 .LVL414:
2569:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart;
5866 .loc 1 2569 1 view .LVU1936
5867 0010 1F88 ldrh r7, [r3]
2570:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5868 .loc 1 2570 3 is_stmt 1 view .LVU1937
2573:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5869 .loc 1 2573 3 view .LVU1938
2575:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5870 .loc 1 2575 3 view .LVU1939
2575:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5871 .loc 1 2575 11 is_stmt 0 view .LVU1940
5872 0012 4123 movs r3, #65
5873 .LVL415:
2575:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5874 .loc 1 2575 11 view .LVU1941
5875 0014 C35C ldrb r3, [r0, r3]
2575:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5876 .loc 1 2575 6 view .LVU1942
5877 0016 202B cmp r3, #32
5878 0018 00D0 beq .LCB5512
5879 001a B5E0 b .L362 @long jump
5880 .LCB5512:
2577:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5881 .loc 1 2577 5 is_stmt 1 view .LVU1943
2577:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5882 .loc 1 2577 8 is_stmt 0 view .LVU1944
5883 001c 002D cmp r5, #0
5884 001e 18D0 beq .L354
2577:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5885 .loc 1 2577 25 discriminator 1 view .LVU1945
5886 0020 002F cmp r7, #0
5887 0022 16D0 beq .L354
2584:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5888 .loc 1 2584 5 is_stmt 1 view .LVU1946
2584:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5889 .loc 1 2584 5 view .LVU1947
5890 0024 4023 movs r3, #64
5891 0026 C35C ldrb r3, [r0, r3]
5892 0028 012B cmp r3, #1
ARM GAS /tmp/ccuRhBPx.s page 263
5893 002a 00D1 bne .LCB5523
5894 002c AFE0 b .L363 @long jump
5895 .LCB5523:
2584:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5896 .loc 1 2584 5 discriminator 2 view .LVU1948
5897 002e 4023 movs r3, #64
5898 0030 0122 movs r2, #1
5899 .LVL416:
2584:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5900 .loc 1 2584 5 is_stmt 0 discriminator 2 view .LVU1949
5901 0032 C254 strb r2, [r0, r3]
2584:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5902 .loc 1 2584 5 is_stmt 1 discriminator 2 view .LVU1950
2587:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5903 .loc 1 2587 5 view .LVU1951
2587:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5904 .loc 1 2587 17 is_stmt 0 view .LVU1952
5905 0034 FFF7FEFF bl HAL_GetTick
5906 .LVL417:
2587:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5907 .loc 1 2587 17 view .LVU1953
5908 0038 0600 movs r6, r0
5909 .LVL418:
2589:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5910 .loc 1 2589 5 is_stmt 1 view .LVU1954
2589:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5911 .loc 1 2589 9 is_stmt 0 view .LVU1955
5912 003a 8021 movs r1, #128
5913 003c 0090 str r0, [sp]
5914 003e 1923 movs r3, #25
5915 0040 0122 movs r2, #1
5916 0042 0902 lsls r1, r1, #8
5917 0044 2000 movs r0, r4
5918 .LVL419:
2589:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5919 .loc 1 2589 9 view .LVU1956
5920 0046 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
5921 .LVL420:
2589:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5922 .loc 1 2589 8 discriminator 1 view .LVU1957
5923 004a 0028 cmp r0, #0
5924 004c 06D0 beq .L368
2591:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5925 .loc 1 2591 14 view .LVU1958
5926 004e 0120 movs r0, #1
5927 0050 9BE0 b .L353
5928 .LVL421:
5929 .L354:
2579:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
5930 .loc 1 2579 7 is_stmt 1 view .LVU1959
2579:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
5931 .loc 1 2579 23 is_stmt 0 view .LVU1960
5932 0052 8023 movs r3, #128
5933 0054 9B00 lsls r3, r3, #2
5934 0056 6364 str r3, [r4, #68]
2580:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5935 .loc 1 2580 7 is_stmt 1 view .LVU1961
ARM GAS /tmp/ccuRhBPx.s page 264
2580:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5936 .loc 1 2580 15 is_stmt 0 view .LVU1962
5937 0058 0120 movs r0, #1
5938 .LVL422:
2580:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
5939 .loc 1 2580 15 view .LVU1963
5940 005a 96E0 b .L353
5941 .LVL423:
5942 .L368:
2594:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
5943 .loc 1 2594 5 is_stmt 1 view .LVU1964
2594:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
5944 .loc 1 2594 21 is_stmt 0 view .LVU1965
5945 005c 4123 movs r3, #65
5946 005e 2222 movs r2, #34
5947 0060 E254 strb r2, [r4, r3]
2595:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
5948 .loc 1 2595 5 is_stmt 1 view .LVU1966
2595:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
5949 .loc 1 2595 21 is_stmt 0 view .LVU1967
5950 0062 0133 adds r3, r3, #1
5951 0064 1E32 adds r2, r2, #30
5952 0066 E254 strb r2, [r4, r3]
2596:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5953 .loc 1 2596 5 is_stmt 1 view .LVU1968
2596:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5954 .loc 1 2596 21 is_stmt 0 view .LVU1969
5955 0068 0023 movs r3, #0
5956 006a 6364 str r3, [r4, #68]
2599:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
5957 .loc 1 2599 5 is_stmt 1 view .LVU1970
2599:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
5958 .loc 1 2599 21 is_stmt 0 view .LVU1971
5959 006c 6562 str r5, [r4, #36]
2600:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL;
5960 .loc 1 2600 5 is_stmt 1 view .LVU1972
2600:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL;
5961 .loc 1 2600 21 is_stmt 0 view .LVU1973
5962 006e 6785 strh r7, [r4, #42]
2601:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5963 .loc 1 2601 5 is_stmt 1 view .LVU1974
2601:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
5964 .loc 1 2601 21 is_stmt 0 view .LVU1975
5965 0070 6363 str r3, [r4, #52]
2604:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5966 .loc 1 2604 5 is_stmt 1 view .LVU1976
2604:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5967 .loc 1 2604 9 is_stmt 0 view .LVU1977
5968 0072 0196 str r6, [sp, #4]
5969 0074 0E9B ldr r3, [sp, #56]
5970 0076 0093 str r3, [sp]
5971 0078 059B ldr r3, [sp, #20]
5972 007a 049A ldr r2, [sp, #16]
5973 007c 0399 ldr r1, [sp, #12]
5974 007e 2000 movs r0, r4
5975 0080 FFF7FEFF bl I2C_RequestMemoryRead
5976 .LVL424:
ARM GAS /tmp/ccuRhBPx.s page 265
2604:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5977 .loc 1 2604 8 discriminator 1 view .LVU1978
5978 0084 0028 cmp r0, #0
5979 0086 0FD1 bne .L369
2613:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5980 .loc 1 2613 5 is_stmt 1 view .LVU1979
2613:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5981 .loc 1 2613 13 is_stmt 0 view .LVU1980
5982 0088 638D ldrh r3, [r4, #42]
5983 008a 9BB2 uxth r3, r3
2613:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
5984 .loc 1 2613 8 view .LVU1981
5985 008c FF2B cmp r3, #255
5986 008e 10D9 bls .L357
2615:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE,
5987 .loc 1 2615 7 is_stmt 1 view .LVU1982
2615:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE,
5988 .loc 1 2615 22 is_stmt 0 view .LVU1983
5989 0090 FF23 movs r3, #255
5990 0092 2385 strh r3, [r4, #40]
2616:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_GENERATE_START_READ);
5991 .loc 1 2616 7 is_stmt 1 view .LVU1984
5992 0094 7F3B subs r3, r3, #127
5993 0096 424A ldr r2, .L371
5994 0098 0092 str r2, [sp]
5995 009a 5B04 lsls r3, r3, #17
5996 009c FF22 movs r2, #255
5997 009e 0399 ldr r1, [sp, #12]
5998 00a0 2000 movs r0, r4
5999 00a2 FFF7FEFF bl I2C_TransferConfig
6000 .LVL425:
6001 00a6 21E0 b .L361
6002 .L369:
2607:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
6003 .loc 1 2607 7 view .LVU1985
2607:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
6004 .loc 1 2607 7 view .LVU1986
6005 00a8 4023 movs r3, #64
6006 00aa 0022 movs r2, #0
6007 00ac E254 strb r2, [r4, r3]
2607:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
6008 .loc 1 2607 7 view .LVU1987
2608:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6009 .loc 1 2608 7 view .LVU1988
2608:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6010 .loc 1 2608 14 is_stmt 0 view .LVU1989
6011 00ae 0120 movs r0, #1
6012 00b0 6BE0 b .L353
6013 .L357:
2621:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
6014 .loc 1 2621 7 is_stmt 1 view .LVU1990
2621:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
6015 .loc 1 2621 28 is_stmt 0 view .LVU1991
6016 00b2 628D ldrh r2, [r4, #42]
6017 00b4 92B2 uxth r2, r2
2621:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
6018 .loc 1 2621 22 view .LVU1992
ARM GAS /tmp/ccuRhBPx.s page 266
6019 00b6 2285 strh r2, [r4, #40]
2622:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_GENERATE_START_READ);
6020 .loc 1 2622 7 is_stmt 1 view .LVU1993
6021 00b8 8023 movs r3, #128
6022 00ba D2B2 uxtb r2, r2
6023 00bc 3849 ldr r1, .L371
6024 00be 0091 str r1, [sp]
6025 00c0 9B04 lsls r3, r3, #18
6026 00c2 0399 ldr r1, [sp, #12]
6027 00c4 2000 movs r0, r4
6028 00c6 FFF7FEFF bl I2C_TransferConfig
6029 .LVL426:
6030 00ca 0FE0 b .L361
6031 .L360:
2659:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
6032 .loc 1 2659 11 view .LVU1994
2659:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
6033 .loc 1 2659 32 is_stmt 0 view .LVU1995
6034 00cc 628D ldrh r2, [r4, #42]
6035 00ce 92B2 uxth r2, r2
2659:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
6036 .loc 1 2659 26 view .LVU1996
6037 00d0 2285 strh r2, [r4, #40]
2660:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_NO_STARTSTOP);
6038 .loc 1 2660 11 is_stmt 1 view .LVU1997
6039 00d2 8023 movs r3, #128
6040 00d4 D2B2 uxtb r2, r2
6041 00d6 0021 movs r1, #0
6042 00d8 0091 str r1, [sp]
6043 00da 9B04 lsls r3, r3, #18
6044 00dc 0399 ldr r1, [sp, #12]
6045 00de 2000 movs r0, r4
6046 00e0 FFF7FEFF bl I2C_TransferConfig
6047 .LVL427:
6048 .L359:
2664:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6049 .loc 1 2664 30 view .LVU1998
2664:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6050 .loc 1 2664 18 is_stmt 0 view .LVU1999
6051 00e4 638D ldrh r3, [r4, #42]
6052 00e6 9BB2 uxth r3, r3
2664:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6053 .loc 1 2664 30 view .LVU2000
6054 00e8 002B cmp r3, #0
6055 00ea 36D0 beq .L370
6056 .L361:
2626:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6057 .loc 1 2626 5 is_stmt 1 view .LVU2001
2629:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6058 .loc 1 2629 7 view .LVU2002
2629:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6059 .loc 1 2629 11 is_stmt 0 view .LVU2003
6060 00ec 0096 str r6, [sp]
6061 00ee 0E9B ldr r3, [sp, #56]
6062 00f0 0022 movs r2, #0
6063 00f2 0421 movs r1, #4
6064 00f4 2000 movs r0, r4
ARM GAS /tmp/ccuRhBPx.s page 267
6065 00f6 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
6066 .LVL428:
2629:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6067 .loc 1 2629 10 discriminator 1 view .LVU2004
6068 00fa 0028 cmp r0, #0
6069 00fc 49D1 bne .L365
2635:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6070 .loc 1 2635 7 is_stmt 1 view .LVU2005
2635:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6071 .loc 1 2635 38 is_stmt 0 view .LVU2006
6072 00fe 2368 ldr r3, [r4]
2635:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6073 .loc 1 2635 48 view .LVU2007
6074 0100 5A6A ldr r2, [r3, #36]
2635:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6075 .loc 1 2635 12 view .LVU2008
6076 0102 636A ldr r3, [r4, #36]
2635:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6077 .loc 1 2635 23 view .LVU2009
6078 0104 1A70 strb r2, [r3]
2638:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6079 .loc 1 2638 7 is_stmt 1 view .LVU2010
2638:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6080 .loc 1 2638 11 is_stmt 0 view .LVU2011
6081 0106 636A ldr r3, [r4, #36]
2638:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6082 .loc 1 2638 21 view .LVU2012
6083 0108 0133 adds r3, r3, #1
6084 010a 6362 str r3, [r4, #36]
2640:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--;
6085 .loc 1 2640 7 is_stmt 1 view .LVU2013
2640:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--;
6086 .loc 1 2640 11 is_stmt 0 view .LVU2014
6087 010c 238D ldrh r3, [r4, #40]
2640:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--;
6088 .loc 1 2640 21 view .LVU2015
6089 010e 013B subs r3, r3, #1
6090 0110 9BB2 uxth r3, r3
6091 0112 2385 strh r3, [r4, #40]
2641:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6092 .loc 1 2641 7 is_stmt 1 view .LVU2016
2641:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6093 .loc 1 2641 11 is_stmt 0 view .LVU2017
6094 0114 628D ldrh r2, [r4, #42]
2641:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6095 .loc 1 2641 22 view .LVU2018
6096 0116 013A subs r2, r2, #1
6097 0118 92B2 uxth r2, r2
6098 011a 6285 strh r2, [r4, #42]
2643:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6099 .loc 1 2643 7 is_stmt 1 view .LVU2019
2643:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6100 .loc 1 2643 16 is_stmt 0 view .LVU2020
6101 011c 628D ldrh r2, [r4, #42]
6102 011e 92B2 uxth r2, r2
2643:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6103 .loc 1 2643 10 view .LVU2021
ARM GAS /tmp/ccuRhBPx.s page 268
6104 0120 002A cmp r2, #0
6105 0122 DFD0 beq .L359
2643:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6106 .loc 1 2643 35 discriminator 1 view .LVU2022
6107 0124 002B cmp r3, #0
6108 0126 DDD1 bne .L359
2646:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6109 .loc 1 2646 9 is_stmt 1 view .LVU2023
2646:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6110 .loc 1 2646 13 is_stmt 0 view .LVU2024
6111 0128 0096 str r6, [sp]
6112 012a 0E9B ldr r3, [sp, #56]
6113 012c 0022 movs r2, #0
6114 012e 8021 movs r1, #128
6115 0130 2000 movs r0, r4
6116 0132 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
6117 .LVL429:
2646:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6118 .loc 1 2646 12 discriminator 1 view .LVU2025
6119 0136 0028 cmp r0, #0
6120 0138 2DD1 bne .L366
2651:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6121 .loc 1 2651 9 is_stmt 1 view .LVU2026
2651:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6122 .loc 1 2651 17 is_stmt 0 view .LVU2027
6123 013a 638D ldrh r3, [r4, #42]
6124 013c 9BB2 uxth r3, r3
2651:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6125 .loc 1 2651 12 view .LVU2028
6126 013e FF2B cmp r3, #255
6127 0140 C4D9 bls .L360
2653:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t) hi2c->XferSize, I2C_RELOAD_MODE,
6128 .loc 1 2653 11 is_stmt 1 view .LVU2029
2653:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t) hi2c->XferSize, I2C_RELOAD_MODE,
6129 .loc 1 2653 26 is_stmt 0 view .LVU2030
6130 0142 FF23 movs r3, #255
6131 0144 2385 strh r3, [r4, #40]
2654:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_NO_STARTSTOP);
6132 .loc 1 2654 11 is_stmt 1 view .LVU2031
6133 0146 7F3B subs r3, r3, #127
6134 0148 0022 movs r2, #0
6135 014a 0092 str r2, [sp]
6136 014c 5B04 lsls r3, r3, #17
6137 014e FF32 adds r2, r2, #255
6138 0150 0399 ldr r1, [sp, #12]
6139 0152 2000 movs r0, r4
6140 0154 FFF7FEFF bl I2C_TransferConfig
6141 .LVL430:
6142 0158 C4E7 b .L359
6143 .L370:
2668:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6144 .loc 1 2668 5 view .LVU2032
2668:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6145 .loc 1 2668 9 is_stmt 0 view .LVU2033
6146 015a 3200 movs r2, r6
6147 015c 0E99 ldr r1, [sp, #56]
6148 015e 2000 movs r0, r4
ARM GAS /tmp/ccuRhBPx.s page 269
6149 0160 FFF7FEFF bl I2C_WaitOnSTOPFlagUntilTimeout
6150 .LVL431:
2668:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6151 .loc 1 2668 8 discriminator 1 view .LVU2034
6152 0164 0028 cmp r0, #0
6153 0166 18D1 bne .L367
2674:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6154 .loc 1 2674 5 is_stmt 1 view .LVU2035
6155 0168 2368 ldr r3, [r4]
6156 016a 2022 movs r2, #32
6157 016c DA61 str r2, [r3, #28]
2677:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6158 .loc 1 2677 5 view .LVU2036
6159 016e 2168 ldr r1, [r4]
6160 0170 4B68 ldr r3, [r1, #4]
6161 0172 0C4D ldr r5, .L371+4
6162 0174 2B40 ands r3, r5
6163 0176 4B60 str r3, [r1, #4]
2679:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
6164 .loc 1 2679 5 view .LVU2037
2679:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
6165 .loc 1 2679 17 is_stmt 0 view .LVU2038
6166 0178 4123 movs r3, #65
6167 017a E254 strb r2, [r4, r3]
2680:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6168 .loc 1 2680 5 is_stmt 1 view .LVU2039
2680:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6169 .loc 1 2680 17 is_stmt 0 view .LVU2040
6170 017c 0023 movs r3, #0
6171 017e 2232 adds r2, r2, #34
6172 0180 A354 strb r3, [r4, r2]
2683:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6173 .loc 1 2683 5 is_stmt 1 view .LVU2041
2683:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6174 .loc 1 2683 5 view .LVU2042
6175 0182 023A subs r2, r2, #2
6176 0184 A354 strb r3, [r4, r2]
2683:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6177 .loc 1 2683 5 view .LVU2043
2685:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6178 .loc 1 2685 5 view .LVU2044
2685:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6179 .loc 1 2685 12 is_stmt 0 view .LVU2045
6180 0186 00E0 b .L353
6181 .LVL432:
6182 .L362:
2689:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6183 .loc 1 2689 12 view .LVU2046
6184 0188 0220 movs r0, #2
6185 .LVL433:
6186 .L353:
2691:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
6187 .loc 1 2691 1 view .LVU2047
6188 018a 07B0 add sp, sp, #28
6189 @ sp needed
6190 .LVL434:
2691:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
ARM GAS /tmp/ccuRhBPx.s page 270
6191 .loc 1 2691 1 view .LVU2048
6192 018c F0BD pop {r4, r5, r6, r7, pc}
6193 .LVL435:
6194 .L363:
2584:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6195 .loc 1 2584 5 discriminator 1 view .LVU2049
6196 018e 0220 movs r0, #2
6197 .LVL436:
2584:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6198 .loc 1 2584 5 discriminator 1 view .LVU2050
6199 0190 FBE7 b .L353
6200 .LVL437:
6201 .L365:
2631:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6202 .loc 1 2631 16 view .LVU2051
6203 0192 0120 movs r0, #1
6204 0194 F9E7 b .L353
6205 .L366:
2648:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6206 .loc 1 2648 18 view .LVU2052
6207 0196 0120 movs r0, #1
6208 0198 F7E7 b .L353
6209 .L367:
2670:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6210 .loc 1 2670 14 view .LVU2053
6211 019a 0120 movs r0, #1
6212 019c F5E7 b .L353
6213 .L372:
6214 019e C046 .align 2
6215 .L371:
6216 01a0 00240080 .word -2147474432
6217 01a4 00E800FE .word -33495040
6218 .cfi_endproc
6219 .LFE57:
6221 .section .text.HAL_I2C_Mem_Write_IT,"ax",%progbits
6222 .align 1
6223 .global HAL_I2C_Mem_Write_IT
6224 .syntax unified
6225 .code 16
6226 .thumb_func
6228 HAL_I2C_Mem_Write_IT:
6229 .LVL438:
6230 .LFB58:
2706:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check the parameters */
6231 .loc 1 2706 1 is_stmt 1 view -0
6232 .cfi_startproc
6233 @ args = 8, pretend = 0, frame = 0
6234 @ frame_needed = 0, uses_anonymous_args = 0
2706:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check the parameters */
6235 .loc 1 2706 1 is_stmt 0 view .LVU2055
6236 0000 F0B5 push {r4, r5, r6, r7, lr}
6237 .cfi_def_cfa_offset 20
6238 .cfi_offset 4, -20
6239 .cfi_offset 5, -16
6240 .cfi_offset 6, -12
6241 .cfi_offset 7, -8
6242 .cfi_offset 14, -4
ARM GAS /tmp/ccuRhBPx.s page 271
6243 0002 D646 mov lr, r10
6244 0004 4F46 mov r7, r9
6245 0006 4646 mov r6, r8
6246 0008 C0B5 push {r6, r7, lr}
6247 .cfi_def_cfa_offset 32
6248 .cfi_offset 8, -32
6249 .cfi_offset 9, -28
6250 .cfi_offset 10, -24
6251 000a 82B0 sub sp, sp, #8
6252 .cfi_def_cfa_offset 40
6253 000c 0400 movs r4, r0
6254 000e 0AA8 add r0, sp, #40
6255 .LVL439:
2706:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check the parameters */
6256 .loc 1 2706 1 view .LVU2056
6257 0010 20C8 ldmia r0!, {r5}
6258 .LVL440:
2706:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check the parameters */
6259 .loc 1 2706 1 view .LVU2057
6260 0012 0688 ldrh r6, [r0]
2708:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6261 .loc 1 2708 3 is_stmt 1 view .LVU2058
2710:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6262 .loc 1 2710 3 view .LVU2059
2710:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6263 .loc 1 2710 11 is_stmt 0 view .LVU2060
6264 0014 4120 movs r0, #65
6265 .LVL441:
2710:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6266 .loc 1 2710 11 view .LVU2061
6267 0016 205C ldrb r0, [r4, r0]
2710:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6268 .loc 1 2710 6 view .LVU2062
6269 0018 2028 cmp r0, #32
6270 001a 48D1 bne .L379
2712:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6271 .loc 1 2712 5 is_stmt 1 view .LVU2063
2712:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6272 .loc 1 2712 8 is_stmt 0 view .LVU2064
6273 001c 002D cmp r5, #0
6274 001e 3AD0 beq .L375
2712:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6275 .loc 1 2712 25 discriminator 1 view .LVU2065
6276 0020 002E cmp r6, #0
6277 0022 38D0 beq .L375
2718:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6278 .loc 1 2718 5 is_stmt 1 view .LVU2066
2718:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6279 .loc 1 2718 9 is_stmt 0 view .LVU2067
6280 0024 2068 ldr r0, [r4]
6281 0026 8146 mov r9, r0
6282 0028 8069 ldr r0, [r0, #24]
2718:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6283 .loc 1 2718 8 view .LVU2068
6284 002a 0004 lsls r0, r0, #16
6285 002c 46D4 bmi .L380
2724:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
ARM GAS /tmp/ccuRhBPx.s page 272
6286 .loc 1 2724 5 is_stmt 1 view .LVU2069
2724:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6287 .loc 1 2724 5 view .LVU2070
6288 002e 4020 movs r0, #64
6289 0030 205C ldrb r0, [r4, r0]
6290 0032 0128 cmp r0, #1
6291 0034 44D0 beq .L381
2724:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6292 .loc 1 2724 5 discriminator 2 view .LVU2071
6293 0036 4020 movs r0, #64
6294 0038 8246 mov r10, r0
6295 003a 3F38 subs r0, r0, #63
6296 003c 5746 mov r7, r10
6297 003e E055 strb r0, [r4, r7]
2724:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6298 .loc 1 2724 5 discriminator 2 view .LVU2072
2726:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
6299 .loc 1 2726 5 view .LVU2073
2726:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
6300 .loc 1 2726 23 is_stmt 0 view .LVU2074
6301 0040 4030 adds r0, r0, #64
6302 0042 8446 mov ip, r0
6303 0044 2038 subs r0, r0, #32
6304 0046 8046 mov r8, r0
6305 0048 6046 mov r0, ip
6306 004a 4746 mov r7, r8
6307 004c 2754 strb r7, [r4, r0]
2727:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
6308 .loc 1 2727 5 is_stmt 1 view .LVU2075
2727:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
6309 .loc 1 2727 23 is_stmt 0 view .LVU2076
6310 004e 0130 adds r0, r0, #1
6311 0050 5746 mov r7, r10
6312 0052 2754 strb r7, [r4, r0]
2728:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6313 .loc 1 2728 5 is_stmt 1 view .LVU2077
2728:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6314 .loc 1 2728 23 is_stmt 0 view .LVU2078
6315 0054 0020 movs r0, #0
6316 0056 6064 str r0, [r4, #68]
2731:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
6317 .loc 1 2731 5 is_stmt 1 view .LVU2079
2731:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
6318 .loc 1 2731 23 is_stmt 0 view .LVU2080
6319 0058 6562 str r5, [r4, #36]
2732:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
6320 .loc 1 2732 5 is_stmt 1 view .LVU2081
2732:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
6321 .loc 1 2732 23 is_stmt 0 view .LVU2082
6322 005a 6685 strh r6, [r4, #42]
2733:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Mem_ISR_IT;
6323 .loc 1 2733 5 is_stmt 1 view .LVU2083
2733:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Mem_ISR_IT;
6324 .loc 1 2733 23 is_stmt 0 view .LVU2084
6325 005c 1948 ldr r0, .L383
6326 005e E062 str r0, [r4, #44]
2734:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Devaddress = DevAddress;
ARM GAS /tmp/ccuRhBPx.s page 273
6327 .loc 1 2734 5 is_stmt 1 view .LVU2085
2734:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Devaddress = DevAddress;
6328 .loc 1 2734 23 is_stmt 0 view .LVU2086
6329 0060 1948 ldr r0, .L383+4
6330 0062 6063 str r0, [r4, #52]
2735:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6331 .loc 1 2735 5 is_stmt 1 view .LVU2087
2735:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6332 .loc 1 2735 23 is_stmt 0 view .LVU2088
6333 0064 E164 str r1, [r4, #76]
2738:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6334 .loc 1 2738 5 is_stmt 1 view .LVU2089
2738:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6335 .loc 1 2738 8 is_stmt 0 view .LVU2090
6336 0066 012B cmp r3, #1
6337 0068 1AD0 beq .L382
2750:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6338 .loc 1 2750 7 is_stmt 1 view .LVU2091
2750:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6339 .loc 1 2750 30 is_stmt 0 view .LVU2092
6340 006a 100A lsrs r0, r2, #8
2750:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6341 .loc 1 2750 28 view .LVU2093
6342 006c 4D46 mov r5, r9
6343 006e A862 str r0, [r5, #40]
2753:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6344 .loc 1 2753 7 is_stmt 1 view .LVU2094
2753:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6345 .loc 1 2753 26 is_stmt 0 view .LVU2095
6346 0070 D2B2 uxtb r2, r2
6347 .LVL442:
2753:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6348 .loc 1 2753 24 view .LVU2096
6349 0072 2265 str r2, [r4, #80]
6350 .L378:
2756:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6351 .loc 1 2756 5 is_stmt 1 view .LVU2097
6352 0074 8020 movs r0, #128
6353 0076 DAB2 uxtb r2, r3
6354 0078 144B ldr r3, .L383+8
6355 .LVL443:
2756:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6356 .loc 1 2756 5 is_stmt 0 view .LVU2098
6357 007a 0093 str r3, [sp]
6358 007c 4304 lsls r3, r0, #17
6359 007e 2000 movs r0, r4
6360 0080 FFF7FEFF bl I2C_TransferConfig
6361 .LVL444:
2759:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6362 .loc 1 2759 5 is_stmt 1 view .LVU2099
2759:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6363 .loc 1 2759 5 view .LVU2100
6364 0084 4023 movs r3, #64
6365 0086 0022 movs r2, #0
6366 0088 E254 strb r2, [r4, r3]
2759:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6367 .loc 1 2759 5 view .LVU2101
ARM GAS /tmp/ccuRhBPx.s page 274
2769:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6368 .loc 1 2769 5 view .LVU2102
6369 008a 0121 movs r1, #1
6370 008c 2000 movs r0, r4
6371 008e FFF7FEFF bl I2C_Enable_IRQ
6372 .LVL445:
2771:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6373 .loc 1 2771 5 view .LVU2103
2771:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6374 .loc 1 2771 12 is_stmt 0 view .LVU2104
6375 0092 0020 movs r0, #0
6376 0094 0CE0 b .L374
6377 .LVL446:
6378 .L375:
2714:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
6379 .loc 1 2714 7 is_stmt 1 view .LVU2105
2714:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
6380 .loc 1 2714 23 is_stmt 0 view .LVU2106
6381 0096 8023 movs r3, #128
6382 .LVL447:
2714:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
6383 .loc 1 2714 23 view .LVU2107
6384 0098 9B00 lsls r3, r3, #2
6385 009a 6364 str r3, [r4, #68]
2715:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6386 .loc 1 2715 7 is_stmt 1 view .LVU2108
2715:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6387 .loc 1 2715 15 is_stmt 0 view .LVU2109
6388 009c 0120 movs r0, #1
6389 009e 07E0 b .L374
6390 .LVL448:
6391 .L382:
2741:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6392 .loc 1 2741 7 is_stmt 1 view .LVU2110
2741:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6393 .loc 1 2741 30 is_stmt 0 view .LVU2111
6394 00a0 D2B2 uxtb r2, r2
6395 .LVL449:
2741:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6396 .loc 1 2741 28 view .LVU2112
6397 00a2 4846 mov r0, r9
6398 00a4 8262 str r2, [r0, #40]
2744:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6399 .loc 1 2744 7 is_stmt 1 view .LVU2113
2744:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6400 .loc 1 2744 24 is_stmt 0 view .LVU2114
6401 00a6 0122 movs r2, #1
6402 00a8 5242 rsbs r2, r2, #0
6403 00aa 2265 str r2, [r4, #80]
6404 00ac E2E7 b .L378
6405 .LVL450:
6406 .L379:
2775:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6407 .loc 1 2775 12 view .LVU2115
6408 00ae 0220 movs r0, #2
6409 .LVL451:
6410 .L374:
ARM GAS /tmp/ccuRhBPx.s page 275
2777:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6411 .loc 1 2777 1 view .LVU2116
6412 00b0 02B0 add sp, sp, #8
6413 @ sp needed
6414 .LVL452:
2777:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6415 .loc 1 2777 1 view .LVU2117
6416 00b2 E0BC pop {r5, r6, r7}
6417 00b4 BA46 mov r10, r7
6418 00b6 B146 mov r9, r6
6419 00b8 A846 mov r8, r5
6420 00ba F0BD pop {r4, r5, r6, r7, pc}
6421 .LVL453:
6422 .L380:
2720:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6423 .loc 1 2720 14 view .LVU2118
6424 00bc 0220 movs r0, #2
6425 00be F7E7 b .L374
6426 .L381:
2724:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6427 .loc 1 2724 5 discriminator 1 view .LVU2119
6428 00c0 0220 movs r0, #2
6429 00c2 F5E7 b .L374
6430 .L384:
6431 .align 2
6432 .L383:
6433 00c4 0000FFFF .word -65536
6434 00c8 00000000 .word I2C_Mem_ISR_IT
6435 00cc 00200080 .word -2147475456
6436 .cfi_endproc
6437 .LFE58:
6439 .section .text.HAL_I2C_Mem_Read_IT,"ax",%progbits
6440 .align 1
6441 .global HAL_I2C_Mem_Read_IT
6442 .syntax unified
6443 .code 16
6444 .thumb_func
6446 HAL_I2C_Mem_Read_IT:
6447 .LVL454:
6448 .LFB59:
2793:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check the parameters */
6449 .loc 1 2793 1 is_stmt 1 view -0
6450 .cfi_startproc
6451 @ args = 8, pretend = 0, frame = 0
6452 @ frame_needed = 0, uses_anonymous_args = 0
2793:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check the parameters */
6453 .loc 1 2793 1 is_stmt 0 view .LVU2121
6454 0000 F0B5 push {r4, r5, r6, r7, lr}
6455 .cfi_def_cfa_offset 20
6456 .cfi_offset 4, -20
6457 .cfi_offset 5, -16
6458 .cfi_offset 6, -12
6459 .cfi_offset 7, -8
6460 .cfi_offset 14, -4
6461 0002 D646 mov lr, r10
6462 0004 4F46 mov r7, r9
6463 0006 4646 mov r6, r8
ARM GAS /tmp/ccuRhBPx.s page 276
6464 0008 C0B5 push {r6, r7, lr}
6465 .cfi_def_cfa_offset 32
6466 .cfi_offset 8, -32
6467 .cfi_offset 9, -28
6468 .cfi_offset 10, -24
6469 000a 82B0 sub sp, sp, #8
6470 .cfi_def_cfa_offset 40
6471 000c 0400 movs r4, r0
6472 000e 0AA8 add r0, sp, #40
6473 .LVL455:
2793:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check the parameters */
6474 .loc 1 2793 1 view .LVU2122
6475 0010 20C8 ldmia r0!, {r5}
6476 .LVL456:
2793:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check the parameters */
6477 .loc 1 2793 1 view .LVU2123
6478 0012 0688 ldrh r6, [r0]
2795:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6479 .loc 1 2795 3 is_stmt 1 view .LVU2124
2797:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6480 .loc 1 2797 3 view .LVU2125
2797:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6481 .loc 1 2797 11 is_stmt 0 view .LVU2126
6482 0014 4120 movs r0, #65
6483 .LVL457:
2797:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6484 .loc 1 2797 11 view .LVU2127
6485 0016 205C ldrb r0, [r4, r0]
2797:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6486 .loc 1 2797 6 view .LVU2128
6487 0018 2028 cmp r0, #32
6488 001a 47D1 bne .L391
2799:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6489 .loc 1 2799 5 is_stmt 1 view .LVU2129
2799:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6490 .loc 1 2799 8 is_stmt 0 view .LVU2130
6491 001c 002D cmp r5, #0
6492 001e 39D0 beq .L387
2799:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6493 .loc 1 2799 25 discriminator 1 view .LVU2131
6494 0020 002E cmp r6, #0
6495 0022 37D0 beq .L387
2805:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6496 .loc 1 2805 5 is_stmt 1 view .LVU2132
2805:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6497 .loc 1 2805 9 is_stmt 0 view .LVU2133
6498 0024 2068 ldr r0, [r4]
6499 0026 8146 mov r9, r0
6500 0028 8069 ldr r0, [r0, #24]
2805:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6501 .loc 1 2805 8 view .LVU2134
6502 002a 0004 lsls r0, r0, #16
6503 002c 45D4 bmi .L392
2811:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6504 .loc 1 2811 5 is_stmt 1 view .LVU2135
2811:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6505 .loc 1 2811 5 view .LVU2136
ARM GAS /tmp/ccuRhBPx.s page 277
6506 002e 4020 movs r0, #64
6507 0030 205C ldrb r0, [r4, r0]
6508 0032 0128 cmp r0, #1
6509 0034 43D0 beq .L393
2811:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6510 .loc 1 2811 5 discriminator 2 view .LVU2137
6511 0036 4020 movs r0, #64
6512 0038 8246 mov r10, r0
6513 003a 3F38 subs r0, r0, #63
6514 003c 5746 mov r7, r10
6515 003e E055 strb r0, [r4, r7]
2811:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6516 .loc 1 2811 5 discriminator 2 view .LVU2138
2813:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
6517 .loc 1 2813 5 view .LVU2139
2813:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
6518 .loc 1 2813 23 is_stmt 0 view .LVU2140
6519 0040 4030 adds r0, r0, #64
6520 0042 8446 mov ip, r0
6521 0044 1F38 subs r0, r0, #31
6522 0046 8046 mov r8, r0
6523 0048 6046 mov r0, ip
6524 004a 4746 mov r7, r8
6525 004c 2754 strb r7, [r4, r0]
2814:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
6526 .loc 1 2814 5 is_stmt 1 view .LVU2141
2814:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
6527 .loc 1 2814 23 is_stmt 0 view .LVU2142
6528 004e 0130 adds r0, r0, #1
6529 0050 5746 mov r7, r10
6530 0052 2754 strb r7, [r4, r0]
2815:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6531 .loc 1 2815 5 is_stmt 1 view .LVU2143
2815:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6532 .loc 1 2815 23 is_stmt 0 view .LVU2144
6533 0054 0020 movs r0, #0
6534 0056 6064 str r0, [r4, #68]
2818:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
6535 .loc 1 2818 5 is_stmt 1 view .LVU2145
2818:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
6536 .loc 1 2818 23 is_stmt 0 view .LVU2146
6537 0058 6562 str r5, [r4, #36]
2819:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
6538 .loc 1 2819 5 is_stmt 1 view .LVU2147
2819:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
6539 .loc 1 2819 23 is_stmt 0 view .LVU2148
6540 005a 6685 strh r6, [r4, #42]
2820:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Mem_ISR_IT;
6541 .loc 1 2820 5 is_stmt 1 view .LVU2149
2820:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Mem_ISR_IT;
6542 .loc 1 2820 23 is_stmt 0 view .LVU2150
6543 005c 1948 ldr r0, .L395
6544 005e E062 str r0, [r4, #44]
2821:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Devaddress = DevAddress;
6545 .loc 1 2821 5 is_stmt 1 view .LVU2151
2821:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Devaddress = DevAddress;
6546 .loc 1 2821 23 is_stmt 0 view .LVU2152
ARM GAS /tmp/ccuRhBPx.s page 278
6547 0060 1948 ldr r0, .L395+4
6548 0062 6063 str r0, [r4, #52]
2822:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6549 .loc 1 2822 5 is_stmt 1 view .LVU2153
2822:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6550 .loc 1 2822 23 is_stmt 0 view .LVU2154
6551 0064 E164 str r1, [r4, #76]
2825:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6552 .loc 1 2825 5 is_stmt 1 view .LVU2155
2825:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6553 .loc 1 2825 8 is_stmt 0 view .LVU2156
6554 0066 012B cmp r3, #1
6555 0068 19D0 beq .L394
2837:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6556 .loc 1 2837 7 is_stmt 1 view .LVU2157
2837:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6557 .loc 1 2837 30 is_stmt 0 view .LVU2158
6558 006a 100A lsrs r0, r2, #8
2837:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6559 .loc 1 2837 28 view .LVU2159
6560 006c 4D46 mov r5, r9
6561 006e A862 str r0, [r5, #40]
2840:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6562 .loc 1 2840 7 is_stmt 1 view .LVU2160
2840:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6563 .loc 1 2840 26 is_stmt 0 view .LVU2161
6564 0070 D2B2 uxtb r2, r2
6565 .LVL458:
2840:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6566 .loc 1 2840 24 view .LVU2162
6567 0072 2265 str r2, [r4, #80]
6568 .L390:
2843:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6569 .loc 1 2843 5 is_stmt 1 view .LVU2163
6570 0074 DAB2 uxtb r2, r3
6571 0076 154B ldr r3, .L395+8
6572 .LVL459:
2843:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6573 .loc 1 2843 5 is_stmt 0 view .LVU2164
6574 0078 0093 str r3, [sp]
6575 007a 0023 movs r3, #0
6576 007c 2000 movs r0, r4
6577 007e FFF7FEFF bl I2C_TransferConfig
6578 .LVL460:
2846:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6579 .loc 1 2846 5 is_stmt 1 view .LVU2165
2846:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6580 .loc 1 2846 5 view .LVU2166
6581 0082 4023 movs r3, #64
6582 0084 0022 movs r2, #0
6583 0086 E254 strb r2, [r4, r3]
2846:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6584 .loc 1 2846 5 view .LVU2167
2856:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6585 .loc 1 2856 5 view .LVU2168
6586 0088 0321 movs r1, #3
6587 008a 2000 movs r0, r4
ARM GAS /tmp/ccuRhBPx.s page 279
6588 008c FFF7FEFF bl I2C_Enable_IRQ
6589 .LVL461:
2858:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6590 .loc 1 2858 5 view .LVU2169
2858:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6591 .loc 1 2858 12 is_stmt 0 view .LVU2170
6592 0090 0020 movs r0, #0
6593 0092 0CE0 b .L386
6594 .LVL462:
6595 .L387:
2801:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
6596 .loc 1 2801 7 is_stmt 1 view .LVU2171
2801:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
6597 .loc 1 2801 23 is_stmt 0 view .LVU2172
6598 0094 8023 movs r3, #128
6599 .LVL463:
2801:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
6600 .loc 1 2801 23 view .LVU2173
6601 0096 9B00 lsls r3, r3, #2
6602 0098 6364 str r3, [r4, #68]
2802:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6603 .loc 1 2802 7 is_stmt 1 view .LVU2174
2802:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6604 .loc 1 2802 15 is_stmt 0 view .LVU2175
6605 009a 0120 movs r0, #1
6606 009c 07E0 b .L386
6607 .LVL464:
6608 .L394:
2828:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6609 .loc 1 2828 7 is_stmt 1 view .LVU2176
2828:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6610 .loc 1 2828 30 is_stmt 0 view .LVU2177
6611 009e D2B2 uxtb r2, r2
6612 .LVL465:
2828:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6613 .loc 1 2828 28 view .LVU2178
6614 00a0 4846 mov r0, r9
6615 00a2 8262 str r2, [r0, #40]
2831:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6616 .loc 1 2831 7 is_stmt 1 view .LVU2179
2831:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6617 .loc 1 2831 24 is_stmt 0 view .LVU2180
6618 00a4 0122 movs r2, #1
6619 00a6 5242 rsbs r2, r2, #0
6620 00a8 2265 str r2, [r4, #80]
6621 00aa E3E7 b .L390
6622 .LVL466:
6623 .L391:
2862:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6624 .loc 1 2862 12 view .LVU2181
6625 00ac 0220 movs r0, #2
6626 .LVL467:
6627 .L386:
2864:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6628 .loc 1 2864 1 view .LVU2182
6629 00ae 02B0 add sp, sp, #8
6630 @ sp needed
ARM GAS /tmp/ccuRhBPx.s page 280
6631 .LVL468:
2864:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6632 .loc 1 2864 1 view .LVU2183
6633 00b0 E0BC pop {r5, r6, r7}
6634 00b2 BA46 mov r10, r7
6635 00b4 B146 mov r9, r6
6636 00b6 A846 mov r8, r5
6637 00b8 F0BD pop {r4, r5, r6, r7, pc}
6638 .LVL469:
6639 .L392:
2807:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6640 .loc 1 2807 14 view .LVU2184
6641 00ba 0220 movs r0, #2
6642 00bc F7E7 b .L386
6643 .L393:
2811:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6644 .loc 1 2811 5 discriminator 1 view .LVU2185
6645 00be 0220 movs r0, #2
6646 00c0 F5E7 b .L386
6647 .L396:
6648 00c2 C046 .align 2
6649 .L395:
6650 00c4 0000FFFF .word -65536
6651 00c8 00000000 .word I2C_Mem_ISR_IT
6652 00cc 00200080 .word -2147475456
6653 .cfi_endproc
6654 .LFE59:
6656 .section .text.HAL_I2C_Mem_Write_DMA,"ax",%progbits
6657 .align 1
6658 .global HAL_I2C_Mem_Write_DMA
6659 .syntax unified
6660 .code 16
6661 .thumb_func
6663 HAL_I2C_Mem_Write_DMA:
6664 .LVL470:
6665 .LFB60:
2880:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
6666 .loc 1 2880 1 is_stmt 1 view -0
6667 .cfi_startproc
6668 @ args = 8, pretend = 0, frame = 0
6669 @ frame_needed = 0, uses_anonymous_args = 0
2880:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
6670 .loc 1 2880 1 is_stmt 0 view .LVU2187
6671 0000 F0B5 push {r4, r5, r6, r7, lr}
6672 .cfi_def_cfa_offset 20
6673 .cfi_offset 4, -20
6674 .cfi_offset 5, -16
6675 .cfi_offset 6, -12
6676 .cfi_offset 7, -8
6677 .cfi_offset 14, -4
6678 0002 D646 mov lr, r10
6679 0004 4F46 mov r7, r9
6680 0006 4646 mov r6, r8
6681 0008 C0B5 push {r6, r7, lr}
6682 .cfi_def_cfa_offset 32
6683 .cfi_offset 8, -32
6684 .cfi_offset 9, -28
ARM GAS /tmp/ccuRhBPx.s page 281
6685 .cfi_offset 10, -24
6686 000a 82B0 sub sp, sp, #8
6687 .cfi_def_cfa_offset 40
6688 000c 0400 movs r4, r0
6689 000e 0E00 movs r6, r1
6690 0010 1D00 movs r5, r3
6691 0012 0AA8 add r0, sp, #40
6692 .LVL471:
2880:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
6693 .loc 1 2880 1 view .LVU2188
6694 0014 02C8 ldmia r0!, {r1}
6695 .LVL472:
2880:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
6696 .loc 1 2880 1 view .LVU2189
6697 0016 0088 ldrh r0, [r0]
6698 .LVL473:
2881:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6699 .loc 1 2881 3 is_stmt 1 view .LVU2190
2884:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6700 .loc 1 2884 3 view .LVU2191
2886:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6701 .loc 1 2886 3 view .LVU2192
2886:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6702 .loc 1 2886 11 is_stmt 0 view .LVU2193
6703 0018 4123 movs r3, #65
6704 .LVL474:
2886:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6705 .loc 1 2886 11 view .LVU2194
6706 001a E35C ldrb r3, [r4, r3]
2886:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6707 .loc 1 2886 6 view .LVU2195
6708 001c 202B cmp r3, #32
6709 001e 00D0 beq .LCB6351
6710 0020 84E0 b .L408 @long jump
6711 .LCB6351:
2888:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6712 .loc 1 2888 5 is_stmt 1 view .LVU2196
2888:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6713 .loc 1 2888 8 is_stmt 0 view .LVU2197
6714 0022 0029 cmp r1, #0
6715 0024 54D0 beq .L399
2888:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6716 .loc 1 2888 25 discriminator 1 view .LVU2198
6717 0026 0028 cmp r0, #0
6718 0028 52D0 beq .L399
2894:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6719 .loc 1 2894 5 is_stmt 1 view .LVU2199
2894:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6720 .loc 1 2894 9 is_stmt 0 view .LVU2200
6721 002a 2368 ldr r3, [r4]
6722 002c 9946 mov r9, r3
6723 002e 9B69 ldr r3, [r3, #24]
2894:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6724 .loc 1 2894 8 view .LVU2201
6725 0030 1B04 lsls r3, r3, #16
6726 0032 00D5 bpl .LCB6364
6727 0034 82E0 b .L409 @long jump
ARM GAS /tmp/ccuRhBPx.s page 282
6728 .LCB6364:
2900:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6729 .loc 1 2900 5 is_stmt 1 view .LVU2202
2900:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6730 .loc 1 2900 5 view .LVU2203
6731 0036 4023 movs r3, #64
6732 0038 E35C ldrb r3, [r4, r3]
6733 003a 012B cmp r3, #1
6734 003c 00D1 bne .LCB6370
6735 003e 7FE0 b .L410 @long jump
6736 .LCB6370:
2900:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6737 .loc 1 2900 5 discriminator 2 view .LVU2204
6738 0040 4023 movs r3, #64
6739 0042 9A46 mov r10, r3
6740 0044 3F3B subs r3, r3, #63
6741 0046 5746 mov r7, r10
6742 0048 E355 strb r3, [r4, r7]
2900:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6743 .loc 1 2900 5 discriminator 2 view .LVU2205
2902:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
6744 .loc 1 2902 5 view .LVU2206
2902:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
6745 .loc 1 2902 23 is_stmt 0 view .LVU2207
6746 004a 4033 adds r3, r3, #64
6747 004c 9C46 mov ip, r3
6748 004e 203B subs r3, r3, #32
6749 0050 9846 mov r8, r3
6750 0052 6346 mov r3, ip
6751 0054 4746 mov r7, r8
6752 0056 E754 strb r7, [r4, r3]
2903:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
6753 .loc 1 2903 5 is_stmt 1 view .LVU2208
2903:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
6754 .loc 1 2903 23 is_stmt 0 view .LVU2209
6755 0058 0133 adds r3, r3, #1
6756 005a 5746 mov r7, r10
6757 005c E754 strb r7, [r4, r3]
2904:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6758 .loc 1 2904 5 is_stmt 1 view .LVU2210
2904:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6759 .loc 1 2904 23 is_stmt 0 view .LVU2211
6760 005e 0023 movs r3, #0
6761 0060 6364 str r3, [r4, #68]
2907:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
6762 .loc 1 2907 5 is_stmt 1 view .LVU2212
2907:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
6763 .loc 1 2907 23 is_stmt 0 view .LVU2213
6764 0062 6162 str r1, [r4, #36]
2908:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
6765 .loc 1 2908 5 is_stmt 1 view .LVU2214
2908:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
6766 .loc 1 2908 23 is_stmt 0 view .LVU2215
6767 0064 6085 strh r0, [r4, #42]
2909:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Mem_ISR_DMA;
6768 .loc 1 2909 5 is_stmt 1 view .LVU2216
2909:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Mem_ISR_DMA;
ARM GAS /tmp/ccuRhBPx.s page 283
6769 .loc 1 2909 23 is_stmt 0 view .LVU2217
6770 0066 374B ldr r3, .L414
6771 0068 E362 str r3, [r4, #44]
2910:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Devaddress = DevAddress;
6772 .loc 1 2910 5 is_stmt 1 view .LVU2218
2910:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Devaddress = DevAddress;
6773 .loc 1 2910 23 is_stmt 0 view .LVU2219
6774 006a 374B ldr r3, .L414+4
6775 006c 6363 str r3, [r4, #52]
2911:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6776 .loc 1 2911 5 is_stmt 1 view .LVU2220
2911:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6777 .loc 1 2911 23 is_stmt 0 view .LVU2221
6778 006e E664 str r6, [r4, #76]
2913:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6779 .loc 1 2913 5 is_stmt 1 view .LVU2222
2913:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6780 .loc 1 2913 13 is_stmt 0 view .LVU2223
6781 0070 638D ldrh r3, [r4, #42]
6782 0072 9BB2 uxth r3, r3
2913:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6783 .loc 1 2913 8 view .LVU2224
6784 0074 FF2B cmp r3, #255
6785 0076 30D9 bls .L401
2915:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6786 .loc 1 2915 7 is_stmt 1 view .LVU2225
2915:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6787 .loc 1 2915 22 is_stmt 0 view .LVU2226
6788 0078 FF23 movs r3, #255
6789 007a 2385 strh r3, [r4, #40]
6790 .L402:
2923:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6791 .loc 1 2923 5 is_stmt 1 view .LVU2227
2923:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6792 .loc 1 2923 8 is_stmt 0 view .LVU2228
6793 007c 012D cmp r5, #1
6794 007e 2FD0 beq .L412
2935:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6795 .loc 1 2935 7 is_stmt 1 view .LVU2229
2935:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6796 .loc 1 2935 30 is_stmt 0 view .LVU2230
6797 0080 130A lsrs r3, r2, #8
2935:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6798 .loc 1 2935 28 view .LVU2231
6799 0082 4846 mov r0, r9
6800 0084 8362 str r3, [r0, #40]
2938:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6801 .loc 1 2938 7 is_stmt 1 view .LVU2232
2938:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6802 .loc 1 2938 26 is_stmt 0 view .LVU2233
6803 0086 D2B2 uxtb r2, r2
6804 .LVL475:
2938:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6805 .loc 1 2938 24 view .LVU2234
6806 0088 2265 str r2, [r4, #80]
6807 .L404:
2941:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
ARM GAS /tmp/ccuRhBPx.s page 284
6808 .loc 1 2941 5 is_stmt 1 view .LVU2235
2941:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6809 .loc 1 2941 13 is_stmt 0 view .LVU2236
6810 008a A36B ldr r3, [r4, #56]
2941:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6811 .loc 1 2941 8 view .LVU2237
6812 008c 002B cmp r3, #0
6813 008e 2ED0 beq .L405
2944:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6814 .loc 1 2944 7 is_stmt 1 view .LVU2238
2944:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6815 .loc 1 2944 38 is_stmt 0 view .LVU2239
6816 0090 2E4A ldr r2, .L414+8
6817 0092 9A62 str r2, [r3, #40]
2947:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6818 .loc 1 2947 7 is_stmt 1 view .LVU2240
2947:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6819 .loc 1 2947 11 is_stmt 0 view .LVU2241
6820 0094 A36B ldr r3, [r4, #56]
2947:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6821 .loc 1 2947 39 view .LVU2242
6822 0096 2E4A ldr r2, .L414+12
6823 0098 1A63 str r2, [r3, #48]
2950:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
6824 .loc 1 2950 7 is_stmt 1 view .LVU2243
2950:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
6825 .loc 1 2950 11 is_stmt 0 view .LVU2244
6826 009a A26B ldr r2, [r4, #56]
2950:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
6827 .loc 1 2950 42 view .LVU2245
6828 009c 0023 movs r3, #0
6829 009e D362 str r3, [r2, #44]
2951:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6830 .loc 1 2951 7 is_stmt 1 view .LVU2246
2951:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6831 .loc 1 2951 11 is_stmt 0 view .LVU2247
6832 00a0 A26B ldr r2, [r4, #56]
2951:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6833 .loc 1 2951 39 view .LVU2248
6834 00a2 5363 str r3, [r2, #52]
2954:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize);
6835 .loc 1 2954 7 is_stmt 1 view .LVU2249
2954:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize);
6836 .loc 1 2954 86 is_stmt 0 view .LVU2250
6837 00a4 2268 ldr r2, [r4]
2954:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize);
6838 .loc 1 2954 81 view .LVU2251
6839 00a6 2832 adds r2, r2, #40
2955:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6840 .loc 1 2955 44 view .LVU2252
6841 00a8 238D ldrh r3, [r4, #40]
2954:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize);
6842 .loc 1 2954 23 view .LVU2253
6843 00aa A06B ldr r0, [r4, #56]
6844 00ac FFF7FEFF bl HAL_DMA_Start_IT
6845 .LVL476:
6846 00b0 071E subs r7, r0, #0
ARM GAS /tmp/ccuRhBPx.s page 285
6847 .LVL477:
2972:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6848 .loc 1 2972 5 is_stmt 1 view .LVU2254
2972:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
6849 .loc 1 2972 8 is_stmt 0 view .LVU2255
6850 00b2 2AD0 beq .L413
2992:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
6851 .loc 1 2992 7 is_stmt 1 view .LVU2256
2992:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
6852 .loc 1 2992 23 is_stmt 0 view .LVU2257
6853 00b4 4123 movs r3, #65
6854 00b6 2022 movs r2, #32
6855 00b8 E254 strb r2, [r4, r3]
2993:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6856 .loc 1 2993 7 is_stmt 1 view .LVU2258
2993:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6857 .loc 1 2993 23 is_stmt 0 view .LVU2259
6858 00ba 0022 movs r2, #0
6859 00bc 0133 adds r3, r3, #1
6860 00be E254 strb r2, [r4, r3]
2996:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6861 .loc 1 2996 7 is_stmt 1 view .LVU2260
2996:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6862 .loc 1 2996 11 is_stmt 0 view .LVU2261
6863 00c0 636C ldr r3, [r4, #68]
2996:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6864 .loc 1 2996 23 view .LVU2262
6865 00c2 1021 movs r1, #16
6866 00c4 0B43 orrs r3, r1
6867 00c6 6364 str r3, [r4, #68]
2999:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6868 .loc 1 2999 7 is_stmt 1 view .LVU2263
2999:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6869 .loc 1 2999 7 view .LVU2264
6870 00c8 4023 movs r3, #64
6871 00ca E254 strb r2, [r4, r3]
2999:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6872 .loc 1 2999 7 view .LVU2265
3001:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6873 .loc 1 3001 7 view .LVU2266
3001:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6874 .loc 1 3001 14 is_stmt 0 view .LVU2267
6875 00cc 0127 movs r7, #1
6876 00ce 2EE0 b .L398
6877 .LVL478:
6878 .L399:
2890:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
6879 .loc 1 2890 7 is_stmt 1 view .LVU2268
2890:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
6880 .loc 1 2890 23 is_stmt 0 view .LVU2269
6881 00d0 8023 movs r3, #128
6882 00d2 9B00 lsls r3, r3, #2
6883 00d4 6364 str r3, [r4, #68]
2891:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6884 .loc 1 2891 7 is_stmt 1 view .LVU2270
2891:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6885 .loc 1 2891 15 is_stmt 0 view .LVU2271
ARM GAS /tmp/ccuRhBPx.s page 286
6886 00d6 0127 movs r7, #1
6887 00d8 29E0 b .L398
6888 .L401:
2919:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6889 .loc 1 2919 7 is_stmt 1 view .LVU2272
2919:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6890 .loc 1 2919 28 is_stmt 0 view .LVU2273
6891 00da 638D ldrh r3, [r4, #42]
2919:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6892 .loc 1 2919 22 view .LVU2274
6893 00dc 2385 strh r3, [r4, #40]
6894 00de CDE7 b .L402
6895 .L412:
2926:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6896 .loc 1 2926 7 is_stmt 1 view .LVU2275
2926:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6897 .loc 1 2926 30 is_stmt 0 view .LVU2276
6898 00e0 D2B2 uxtb r2, r2
6899 .LVL479:
2926:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6900 .loc 1 2926 28 view .LVU2277
6901 00e2 4B46 mov r3, r9
6902 00e4 9A62 str r2, [r3, #40]
2929:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6903 .loc 1 2929 7 is_stmt 1 view .LVU2278
2929:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6904 .loc 1 2929 24 is_stmt 0 view .LVU2279
6905 00e6 0123 movs r3, #1
6906 00e8 5B42 rsbs r3, r3, #0
6907 00ea 2365 str r3, [r4, #80]
6908 00ec CDE7 b .L404
6909 .L405:
2960:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
6910 .loc 1 2960 7 is_stmt 1 view .LVU2280
2960:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
6911 .loc 1 2960 23 is_stmt 0 view .LVU2281
6912 00ee 4123 movs r3, #65
6913 00f0 2022 movs r2, #32
6914 00f2 E254 strb r2, [r4, r3]
2961:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6915 .loc 1 2961 7 is_stmt 1 view .LVU2282
2961:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6916 .loc 1 2961 23 is_stmt 0 view .LVU2283
6917 00f4 0022 movs r2, #0
6918 00f6 0133 adds r3, r3, #1
6919 00f8 E254 strb r2, [r4, r3]
2964:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6920 .loc 1 2964 7 is_stmt 1 view .LVU2284
2964:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6921 .loc 1 2964 11 is_stmt 0 view .LVU2285
6922 00fa 636C ldr r3, [r4, #68]
2964:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6923 .loc 1 2964 23 view .LVU2286
6924 00fc 8021 movs r1, #128
6925 00fe 0B43 orrs r3, r1
6926 0100 6364 str r3, [r4, #68]
2967:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
ARM GAS /tmp/ccuRhBPx.s page 287
6927 .loc 1 2967 7 is_stmt 1 view .LVU2287
2967:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6928 .loc 1 2967 7 view .LVU2288
6929 0102 4023 movs r3, #64
6930 0104 E254 strb r2, [r4, r3]
2967:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6931 .loc 1 2967 7 view .LVU2289
2969:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6932 .loc 1 2969 7 view .LVU2290
2969:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6933 .loc 1 2969 14 is_stmt 0 view .LVU2291
6934 0106 0127 movs r7, #1
6935 0108 11E0 b .L398
6936 .LVL480:
6937 .L413:
2975:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6938 .loc 1 2975 7 is_stmt 1 view .LVU2292
6939 010a 8023 movs r3, #128
6940 010c EAB2 uxtb r2, r5
6941 010e 1149 ldr r1, .L414+16
6942 0110 0091 str r1, [sp]
6943 0112 5B04 lsls r3, r3, #17
6944 0114 3100 movs r1, r6
6945 0116 2000 movs r0, r4
6946 .LVL481:
2975:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6947 .loc 1 2975 7 is_stmt 0 view .LVU2293
6948 0118 FFF7FEFF bl I2C_TransferConfig
6949 .LVL482:
2978:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6950 .loc 1 2978 7 is_stmt 1 view .LVU2294
2978:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6951 .loc 1 2978 7 view .LVU2295
6952 011c 4023 movs r3, #64
6953 011e 0022 movs r2, #0
6954 0120 E254 strb r2, [r4, r3]
2978:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6955 .loc 1 2978 7 view .LVU2296
2987:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6956 .loc 1 2987 7 view .LVU2297
6957 0122 0121 movs r1, #1
6958 0124 2000 movs r0, r4
6959 0126 FFF7FEFF bl I2C_Enable_IRQ
6960 .LVL483:
3004:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6961 .loc 1 3004 5 view .LVU2298
3004:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6962 .loc 1 3004 12 is_stmt 0 view .LVU2299
6963 012a 00E0 b .L398
6964 .LVL484:
6965 .L408:
3008:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6966 .loc 1 3008 12 view .LVU2300
6967 012c 0227 movs r7, #2
6968 .LVL485:
6969 .L398:
3010:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
ARM GAS /tmp/ccuRhBPx.s page 288
6970 .loc 1 3010 1 view .LVU2301
6971 012e 3800 movs r0, r7
6972 0130 02B0 add sp, sp, #8
6973 @ sp needed
6974 .LVL486:
6975 .LVL487:
6976 .LVL488:
3010:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6977 .loc 1 3010 1 view .LVU2302
6978 0132 E0BC pop {r5, r6, r7}
6979 0134 BA46 mov r10, r7
6980 0136 B146 mov r9, r6
6981 0138 A846 mov r8, r5
6982 013a F0BD pop {r4, r5, r6, r7, pc}
6983 .LVL489:
6984 .L409:
2896:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
6985 .loc 1 2896 14 view .LVU2303
6986 013c 0227 movs r7, #2
6987 013e F6E7 b .L398
6988 .L410:
2900:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
6989 .loc 1 2900 5 discriminator 1 view .LVU2304
6990 0140 0227 movs r7, #2
6991 0142 F4E7 b .L398
6992 .L415:
6993 .align 2
6994 .L414:
6995 0144 0000FFFF .word -65536
6996 0148 00000000 .word I2C_Mem_ISR_DMA
6997 014c 00000000 .word I2C_DMAMasterTransmitCplt
6998 0150 00000000 .word I2C_DMAError
6999 0154 00200080 .word -2147475456
7000 .cfi_endproc
7001 .LFE60:
7003 .section .text.HAL_I2C_Mem_Read_DMA,"ax",%progbits
7004 .align 1
7005 .global HAL_I2C_Mem_Read_DMA
7006 .syntax unified
7007 .code 16
7008 .thumb_func
7010 HAL_I2C_Mem_Read_DMA:
7011 .LVL490:
7012 .LFB61:
3026:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
7013 .loc 1 3026 1 is_stmt 1 view -0
7014 .cfi_startproc
7015 @ args = 8, pretend = 0, frame = 0
7016 @ frame_needed = 0, uses_anonymous_args = 0
3026:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
7017 .loc 1 3026 1 is_stmt 0 view .LVU2306
7018 0000 F0B5 push {r4, r5, r6, r7, lr}
7019 .cfi_def_cfa_offset 20
7020 .cfi_offset 4, -20
7021 .cfi_offset 5, -16
7022 .cfi_offset 6, -12
7023 .cfi_offset 7, -8
ARM GAS /tmp/ccuRhBPx.s page 289
7024 .cfi_offset 14, -4
7025 0002 D646 mov lr, r10
7026 0004 4F46 mov r7, r9
7027 0006 4646 mov r6, r8
7028 0008 C0B5 push {r6, r7, lr}
7029 .cfi_def_cfa_offset 32
7030 .cfi_offset 8, -32
7031 .cfi_offset 9, -28
7032 .cfi_offset 10, -24
7033 000a 82B0 sub sp, sp, #8
7034 .cfi_def_cfa_offset 40
7035 000c 0400 movs r4, r0
7036 000e 0E00 movs r6, r1
7037 0010 1100 movs r1, r2
7038 .LVL491:
3026:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
7039 .loc 1 3026 1 view .LVU2307
7040 0012 1D00 movs r5, r3
7041 0014 0AA8 add r0, sp, #40
7042 .LVL492:
3026:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
7043 .loc 1 3026 1 view .LVU2308
7044 0016 04C8 ldmia r0!, {r2}
7045 .LVL493:
3026:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
7046 .loc 1 3026 1 view .LVU2309
7047 0018 0088 ldrh r0, [r0]
7048 .LVL494:
3027:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7049 .loc 1 3027 3 is_stmt 1 view .LVU2310
3030:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7050 .loc 1 3030 3 view .LVU2311
3032:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7051 .loc 1 3032 3 view .LVU2312
3032:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7052 .loc 1 3032 11 is_stmt 0 view .LVU2313
7053 001a 4123 movs r3, #65
7054 .LVL495:
3032:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7055 .loc 1 3032 11 view .LVU2314
7056 001c E35C ldrb r3, [r4, r3]
3032:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7057 .loc 1 3032 6 view .LVU2315
7058 001e 202B cmp r3, #32
7059 0020 00D0 beq .LCB6684
7060 0022 83E0 b .L427 @long jump
7061 .LCB6684:
3034:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7062 .loc 1 3034 5 is_stmt 1 view .LVU2316
3034:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7063 .loc 1 3034 8 is_stmt 0 view .LVU2317
7064 0024 002A cmp r2, #0
7065 0026 54D0 beq .L418
3034:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7066 .loc 1 3034 25 discriminator 1 view .LVU2318
7067 0028 0028 cmp r0, #0
7068 002a 52D0 beq .L418
ARM GAS /tmp/ccuRhBPx.s page 290
3040:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7069 .loc 1 3040 5 is_stmt 1 view .LVU2319
3040:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7070 .loc 1 3040 9 is_stmt 0 view .LVU2320
7071 002c 2368 ldr r3, [r4]
7072 002e 9946 mov r9, r3
7073 0030 9B69 ldr r3, [r3, #24]
3040:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7074 .loc 1 3040 8 view .LVU2321
7075 0032 1B04 lsls r3, r3, #16
7076 0034 00D5 bpl .LCB6697
7077 0036 81E0 b .L428 @long jump
7078 .LCB6697:
3046:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7079 .loc 1 3046 5 is_stmt 1 view .LVU2322
3046:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7080 .loc 1 3046 5 view .LVU2323
7081 0038 4023 movs r3, #64
7082 003a E35C ldrb r3, [r4, r3]
7083 003c 012B cmp r3, #1
7084 003e 00D1 bne .LCB6703
7085 0040 7EE0 b .L429 @long jump
7086 .LCB6703:
3046:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7087 .loc 1 3046 5 discriminator 2 view .LVU2324
7088 0042 4023 movs r3, #64
7089 0044 9A46 mov r10, r3
7090 0046 3F3B subs r3, r3, #63
7091 0048 5746 mov r7, r10
7092 004a E355 strb r3, [r4, r7]
3046:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7093 .loc 1 3046 5 discriminator 2 view .LVU2325
3048:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
7094 .loc 1 3048 5 view .LVU2326
3048:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
7095 .loc 1 3048 23 is_stmt 0 view .LVU2327
7096 004c 4033 adds r3, r3, #64
7097 004e 9C46 mov ip, r3
7098 0050 1F3B subs r3, r3, #31
7099 0052 9846 mov r8, r3
7100 0054 6346 mov r3, ip
7101 0056 4746 mov r7, r8
7102 0058 E754 strb r7, [r4, r3]
3049:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
7103 .loc 1 3049 5 is_stmt 1 view .LVU2328
3049:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
7104 .loc 1 3049 23 is_stmt 0 view .LVU2329
7105 005a 0133 adds r3, r3, #1
7106 005c 5746 mov r7, r10
7107 005e E754 strb r7, [r4, r3]
3050:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7108 .loc 1 3050 5 is_stmt 1 view .LVU2330
3050:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7109 .loc 1 3050 23 is_stmt 0 view .LVU2331
7110 0060 0023 movs r3, #0
7111 0062 6364 str r3, [r4, #68]
3053:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
ARM GAS /tmp/ccuRhBPx.s page 291
7112 .loc 1 3053 5 is_stmt 1 view .LVU2332
3053:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
7113 .loc 1 3053 23 is_stmt 0 view .LVU2333
7114 0064 6262 str r2, [r4, #36]
3054:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
7115 .loc 1 3054 5 is_stmt 1 view .LVU2334
3054:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
7116 .loc 1 3054 23 is_stmt 0 view .LVU2335
7117 0066 6085 strh r0, [r4, #42]
3055:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Mem_ISR_DMA;
7118 .loc 1 3055 5 is_stmt 1 view .LVU2336
3055:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Mem_ISR_DMA;
7119 .loc 1 3055 23 is_stmt 0 view .LVU2337
7120 0068 364B ldr r3, .L433
7121 006a E362 str r3, [r4, #44]
3056:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Devaddress = DevAddress;
7122 .loc 1 3056 5 is_stmt 1 view .LVU2338
3056:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Devaddress = DevAddress;
7123 .loc 1 3056 23 is_stmt 0 view .LVU2339
7124 006c 364B ldr r3, .L433+4
7125 006e 6363 str r3, [r4, #52]
3057:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7126 .loc 1 3057 5 is_stmt 1 view .LVU2340
3057:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7127 .loc 1 3057 23 is_stmt 0 view .LVU2341
7128 0070 E664 str r6, [r4, #76]
3059:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7129 .loc 1 3059 5 is_stmt 1 view .LVU2342
3059:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7130 .loc 1 3059 13 is_stmt 0 view .LVU2343
7131 0072 638D ldrh r3, [r4, #42]
7132 0074 9BB2 uxth r3, r3
3059:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7133 .loc 1 3059 8 view .LVU2344
7134 0076 FF2B cmp r3, #255
7135 0078 30D9 bls .L420
3061:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7136 .loc 1 3061 7 is_stmt 1 view .LVU2345
3061:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7137 .loc 1 3061 22 is_stmt 0 view .LVU2346
7138 007a FF23 movs r3, #255
7139 007c 2385 strh r3, [r4, #40]
7140 .L421:
3069:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7141 .loc 1 3069 5 is_stmt 1 view .LVU2347
3069:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7142 .loc 1 3069 8 is_stmt 0 view .LVU2348
7143 007e 012D cmp r5, #1
7144 0080 2FD0 beq .L431
3081:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7145 .loc 1 3081 7 is_stmt 1 view .LVU2349
3081:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7146 .loc 1 3081 30 is_stmt 0 view .LVU2350
7147 0082 0B0A lsrs r3, r1, #8
3081:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7148 .loc 1 3081 28 view .LVU2351
7149 0084 4846 mov r0, r9
ARM GAS /tmp/ccuRhBPx.s page 292
7150 0086 8362 str r3, [r0, #40]
3084:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7151 .loc 1 3084 7 is_stmt 1 view .LVU2352
3084:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7152 .loc 1 3084 26 is_stmt 0 view .LVU2353
7153 0088 C9B2 uxtb r1, r1
7154 .LVL496:
3084:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7155 .loc 1 3084 24 view .LVU2354
7156 008a 2165 str r1, [r4, #80]
7157 .L423:
3087:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7158 .loc 1 3087 5 is_stmt 1 view .LVU2355
3087:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7159 .loc 1 3087 13 is_stmt 0 view .LVU2356
7160 008c E36B ldr r3, [r4, #60]
3087:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7161 .loc 1 3087 8 view .LVU2357
7162 008e 002B cmp r3, #0
7163 0090 2ED0 beq .L424
3090:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7164 .loc 1 3090 7 is_stmt 1 view .LVU2358
3090:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7165 .loc 1 3090 38 is_stmt 0 view .LVU2359
7166 0092 2E49 ldr r1, .L433+8
7167 0094 9962 str r1, [r3, #40]
3093:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7168 .loc 1 3093 7 is_stmt 1 view .LVU2360
3093:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7169 .loc 1 3093 11 is_stmt 0 view .LVU2361
7170 0096 E36B ldr r3, [r4, #60]
3093:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7171 .loc 1 3093 39 view .LVU2362
7172 0098 2D49 ldr r1, .L433+12
7173 009a 1963 str r1, [r3, #48]
3096:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
7174 .loc 1 3096 7 is_stmt 1 view .LVU2363
3096:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
7175 .loc 1 3096 11 is_stmt 0 view .LVU2364
7176 009c E16B ldr r1, [r4, #60]
3096:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
7177 .loc 1 3096 42 view .LVU2365
7178 009e 0023 movs r3, #0
7179 00a0 CB62 str r3, [r1, #44]
3097:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7180 .loc 1 3097 7 is_stmt 1 view .LVU2366
3097:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7181 .loc 1 3097 11 is_stmt 0 view .LVU2367
7182 00a2 E16B ldr r1, [r4, #60]
3097:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7183 .loc 1 3097 39 view .LVU2368
7184 00a4 4B63 str r3, [r1, #52]
3100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize);
7185 .loc 1 3100 7 is_stmt 1 view .LVU2369
3100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize);
7186 .loc 1 3100 69 is_stmt 0 view .LVU2370
7187 00a6 2168 ldr r1, [r4]
ARM GAS /tmp/ccuRhBPx.s page 293
3100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize);
7188 .loc 1 3100 64 view .LVU2371
7189 00a8 2431 adds r1, r1, #36
3101:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7190 .loc 1 3101 44 view .LVU2372
7191 00aa 238D ldrh r3, [r4, #40]
3100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize);
7192 .loc 1 3100 23 view .LVU2373
7193 00ac E06B ldr r0, [r4, #60]
7194 00ae FFF7FEFF bl HAL_DMA_Start_IT
7195 .LVL497:
7196 00b2 071E subs r7, r0, #0
7197 .LVL498:
3118:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7198 .loc 1 3118 5 is_stmt 1 view .LVU2374
3118:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7199 .loc 1 3118 8 is_stmt 0 view .LVU2375
7200 00b4 2AD0 beq .L432
3138:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
7201 .loc 1 3138 7 is_stmt 1 view .LVU2376
3138:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
7202 .loc 1 3138 23 is_stmt 0 view .LVU2377
7203 00b6 4123 movs r3, #65
7204 00b8 2022 movs r2, #32
7205 00ba E254 strb r2, [r4, r3]
3139:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7206 .loc 1 3139 7 is_stmt 1 view .LVU2378
3139:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7207 .loc 1 3139 23 is_stmt 0 view .LVU2379
7208 00bc 0022 movs r2, #0
7209 00be 0133 adds r3, r3, #1
7210 00c0 E254 strb r2, [r4, r3]
3142:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7211 .loc 1 3142 7 is_stmt 1 view .LVU2380
3142:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7212 .loc 1 3142 11 is_stmt 0 view .LVU2381
7213 00c2 636C ldr r3, [r4, #68]
3142:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7214 .loc 1 3142 23 view .LVU2382
7215 00c4 1021 movs r1, #16
7216 00c6 0B43 orrs r3, r1
7217 00c8 6364 str r3, [r4, #68]
3145:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7218 .loc 1 3145 7 is_stmt 1 view .LVU2383
3145:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7219 .loc 1 3145 7 view .LVU2384
7220 00ca 4023 movs r3, #64
7221 00cc E254 strb r2, [r4, r3]
3145:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7222 .loc 1 3145 7 view .LVU2385
3147:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7223 .loc 1 3147 7 view .LVU2386
3147:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7224 .loc 1 3147 14 is_stmt 0 view .LVU2387
7225 00ce 0127 movs r7, #1
7226 00d0 2DE0 b .L417
7227 .LVL499:
ARM GAS /tmp/ccuRhBPx.s page 294
7228 .L418:
3036:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
7229 .loc 1 3036 7 is_stmt 1 view .LVU2388
3036:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
7230 .loc 1 3036 23 is_stmt 0 view .LVU2389
7231 00d2 8023 movs r3, #128
7232 00d4 9B00 lsls r3, r3, #2
7233 00d6 6364 str r3, [r4, #68]
3037:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7234 .loc 1 3037 7 is_stmt 1 view .LVU2390
3037:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7235 .loc 1 3037 15 is_stmt 0 view .LVU2391
7236 00d8 0127 movs r7, #1
7237 00da 28E0 b .L417
7238 .L420:
3065:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7239 .loc 1 3065 7 is_stmt 1 view .LVU2392
3065:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7240 .loc 1 3065 28 is_stmt 0 view .LVU2393
7241 00dc 638D ldrh r3, [r4, #42]
3065:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7242 .loc 1 3065 22 view .LVU2394
7243 00de 2385 strh r3, [r4, #40]
7244 00e0 CDE7 b .L421
7245 .L431:
3072:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7246 .loc 1 3072 7 is_stmt 1 view .LVU2395
3072:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7247 .loc 1 3072 30 is_stmt 0 view .LVU2396
7248 00e2 C9B2 uxtb r1, r1
3072:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7249 .loc 1 3072 28 view .LVU2397
7250 00e4 4B46 mov r3, r9
7251 00e6 9962 str r1, [r3, #40]
3075:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7252 .loc 1 3075 7 is_stmt 1 view .LVU2398
3075:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7253 .loc 1 3075 24 is_stmt 0 view .LVU2399
7254 00e8 0123 movs r3, #1
7255 00ea 5B42 rsbs r3, r3, #0
7256 00ec 2365 str r3, [r4, #80]
7257 00ee CDE7 b .L423
7258 .L424:
3106:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
7259 .loc 1 3106 7 is_stmt 1 view .LVU2400
3106:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
7260 .loc 1 3106 23 is_stmt 0 view .LVU2401
7261 00f0 4123 movs r3, #65
7262 00f2 2022 movs r2, #32
7263 00f4 E254 strb r2, [r4, r3]
3107:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7264 .loc 1 3107 7 is_stmt 1 view .LVU2402
3107:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7265 .loc 1 3107 23 is_stmt 0 view .LVU2403
7266 00f6 0022 movs r2, #0
7267 00f8 0133 adds r3, r3, #1
7268 00fa E254 strb r2, [r4, r3]
ARM GAS /tmp/ccuRhBPx.s page 295
3110:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7269 .loc 1 3110 7 is_stmt 1 view .LVU2404
3110:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7270 .loc 1 3110 11 is_stmt 0 view .LVU2405
7271 00fc 636C ldr r3, [r4, #68]
3110:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7272 .loc 1 3110 23 view .LVU2406
7273 00fe 8021 movs r1, #128
7274 0100 0B43 orrs r3, r1
7275 0102 6364 str r3, [r4, #68]
3113:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7276 .loc 1 3113 7 is_stmt 1 view .LVU2407
3113:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7277 .loc 1 3113 7 view .LVU2408
7278 0104 4023 movs r3, #64
7279 0106 E254 strb r2, [r4, r3]
3113:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7280 .loc 1 3113 7 view .LVU2409
3115:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7281 .loc 1 3115 7 view .LVU2410
3115:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7282 .loc 1 3115 14 is_stmt 0 view .LVU2411
7283 0108 0127 movs r7, #1
7284 010a 10E0 b .L417
7285 .LVL500:
7286 .L432:
3121:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7287 .loc 1 3121 7 is_stmt 1 view .LVU2412
7288 010c EAB2 uxtb r2, r5
7289 010e 114B ldr r3, .L433+16
7290 0110 0093 str r3, [sp]
7291 0112 0023 movs r3, #0
7292 0114 3100 movs r1, r6
7293 0116 2000 movs r0, r4
7294 .LVL501:
3121:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7295 .loc 1 3121 7 is_stmt 0 view .LVU2413
7296 0118 FFF7FEFF bl I2C_TransferConfig
7297 .LVL502:
3124:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7298 .loc 1 3124 7 is_stmt 1 view .LVU2414
3124:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7299 .loc 1 3124 7 view .LVU2415
7300 011c 4023 movs r3, #64
7301 011e 0022 movs r2, #0
7302 0120 E254 strb r2, [r4, r3]
3124:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7303 .loc 1 3124 7 view .LVU2416
3133:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7304 .loc 1 3133 7 view .LVU2417
7305 0122 0121 movs r1, #1
7306 0124 2000 movs r0, r4
7307 0126 FFF7FEFF bl I2C_Enable_IRQ
7308 .LVL503:
3150:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7309 .loc 1 3150 5 view .LVU2418
3150:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
ARM GAS /tmp/ccuRhBPx.s page 296
7310 .loc 1 3150 12 is_stmt 0 view .LVU2419
7311 012a 00E0 b .L417
7312 .LVL504:
7313 .L427:
3154:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7314 .loc 1 3154 12 view .LVU2420
7315 012c 0227 movs r7, #2
7316 .L417:
3156:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7317 .loc 1 3156 1 view .LVU2421
7318 012e 3800 movs r0, r7
7319 0130 02B0 add sp, sp, #8
7320 @ sp needed
7321 .LVL505:
7322 .LVL506:
7323 .LVL507:
3156:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7324 .loc 1 3156 1 view .LVU2422
7325 0132 E0BC pop {r5, r6, r7}
7326 0134 BA46 mov r10, r7
7327 0136 B146 mov r9, r6
7328 0138 A846 mov r8, r5
7329 013a F0BD pop {r4, r5, r6, r7, pc}
7330 .LVL508:
7331 .L428:
3042:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7332 .loc 1 3042 14 view .LVU2423
7333 013c 0227 movs r7, #2
7334 013e F6E7 b .L417
7335 .L429:
3046:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7336 .loc 1 3046 5 discriminator 1 view .LVU2424
7337 0140 0227 movs r7, #2
7338 0142 F4E7 b .L417
7339 .L434:
7340 .align 2
7341 .L433:
7342 0144 0000FFFF .word -65536
7343 0148 00000000 .word I2C_Mem_ISR_DMA
7344 014c 00000000 .word I2C_DMAMasterReceiveCplt
7345 0150 00000000 .word I2C_DMAError
7346 0154 00200080 .word -2147475456
7347 .cfi_endproc
7348 .LFE61:
7350 .section .text.HAL_I2C_IsDeviceReady,"ax",%progbits
7351 .align 1
7352 .global HAL_I2C_IsDeviceReady
7353 .syntax unified
7354 .code 16
7355 .thumb_func
7357 HAL_I2C_IsDeviceReady:
7358 .LVL509:
7359 .LFB62:
3171:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart;
7360 .loc 1 3171 1 is_stmt 1 view -0
7361 .cfi_startproc
7362 @ args = 0, pretend = 0, frame = 8
ARM GAS /tmp/ccuRhBPx.s page 297
7363 @ frame_needed = 0, uses_anonymous_args = 0
3171:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart;
7364 .loc 1 3171 1 is_stmt 0 view .LVU2426
7365 0000 F0B5 push {r4, r5, r6, r7, lr}
7366 .cfi_def_cfa_offset 20
7367 .cfi_offset 4, -20
7368 .cfi_offset 5, -16
7369 .cfi_offset 6, -12
7370 .cfi_offset 7, -8
7371 .cfi_offset 14, -4
7372 0002 CE46 mov lr, r9
7373 0004 4746 mov r7, r8
7374 0006 80B5 push {r7, lr}
7375 .cfi_def_cfa_offset 28
7376 .cfi_offset 8, -28
7377 .cfi_offset 9, -24
7378 0008 85B0 sub sp, sp, #20
7379 .cfi_def_cfa_offset 48
7380 000a 0600 movs r6, r0
7381 000c 8946 mov r9, r1
7382 000e 9046 mov r8, r2
7383 0010 1D00 movs r5, r3
3172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7384 .loc 1 3172 3 is_stmt 1 view .LVU2427
3174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7385 .loc 1 3174 3 view .LVU2428
3174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7386 .loc 1 3174 17 is_stmt 0 view .LVU2429
7387 0012 0023 movs r3, #0
7388 .LVL510:
3174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7389 .loc 1 3174 17 view .LVU2430
7390 0014 0393 str r3, [sp, #12]
3176:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** FlagStatus tmp2;
7391 .loc 1 3176 3 is_stmt 1 view .LVU2431
3177:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7392 .loc 1 3177 3 view .LVU2432
3179:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7393 .loc 1 3179 3 view .LVU2433
3179:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7394 .loc 1 3179 11 is_stmt 0 view .LVU2434
7395 0016 4133 adds r3, r3, #65
7396 0018 C35C ldrb r3, [r0, r3]
3179:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7397 .loc 1 3179 6 view .LVU2435
7398 001a 202B cmp r3, #32
7399 001c 00D0 beq .LCB6999
7400 001e A5E0 b .L446 @long jump
7401 .LCB6999:
3181:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7402 .loc 1 3181 5 is_stmt 1 view .LVU2436
3181:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7403 .loc 1 3181 9 is_stmt 0 view .LVU2437
7404 0020 0368 ldr r3, [r0]
7405 0022 9B69 ldr r3, [r3, #24]
3181:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7406 .loc 1 3181 8 view .LVU2438
ARM GAS /tmp/ccuRhBPx.s page 298
7407 0024 1B04 lsls r3, r3, #16
7408 0026 00D5 bpl .LCB7006
7409 0028 A2E0 b .L447 @long jump
7410 .LCB7006:
3187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7411 .loc 1 3187 5 is_stmt 1 view .LVU2439
3187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7412 .loc 1 3187 5 view .LVU2440
7413 002a 4023 movs r3, #64
7414 002c C35C ldrb r3, [r0, r3]
7415 002e 012B cmp r3, #1
7416 0030 00D1 bne .LCB7012
7417 0032 9FE0 b .L448 @long jump
7418 .LCB7012:
3187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7419 .loc 1 3187 5 discriminator 2 view .LVU2441
7420 0034 4023 movs r3, #64
7421 0036 0122 movs r2, #1
7422 .LVL511:
3187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7423 .loc 1 3187 5 is_stmt 0 discriminator 2 view .LVU2442
7424 0038 C254 strb r2, [r0, r3]
3187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7425 .loc 1 3187 5 is_stmt 1 discriminator 2 view .LVU2443
3189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
7426 .loc 1 3189 5 view .LVU2444
3189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
7427 .loc 1 3189 17 is_stmt 0 view .LVU2445
7428 003a 0133 adds r3, r3, #1
7429 003c 2332 adds r2, r2, #35
7430 003e C254 strb r2, [r0, r3]
3190:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7431 .loc 1 3190 5 is_stmt 1 view .LVU2446
3190:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7432 .loc 1 3190 21 is_stmt 0 view .LVU2447
7433 0040 0023 movs r3, #0
7434 0042 4364 str r3, [r0, #68]
7435 .LVL512:
7436 .L445:
3192:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7437 .loc 1 3192 5 is_stmt 1 view .LVU2448
3195:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7438 .loc 1 3195 7 view .LVU2449
3195:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7439 .loc 1 3195 29 is_stmt 0 view .LVU2450
7440 0044 F368 ldr r3, [r6, #12]
7441 0046 012B cmp r3, #1
7442 0048 17D0 beq .L453
3195:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7443 .loc 1 3195 29 discriminator 2 view .LVU2451
7444 004a 4B46 mov r3, r9
7445 004c 9A05 lsls r2, r3, #22
7446 004e 920D lsrs r2, r2, #22
7447 0050 4C4B ldr r3, .L457
7448 0052 1343 orrs r3, r2
7449 .L438:
3195:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
ARM GAS /tmp/ccuRhBPx.s page 299
7450 .loc 1 3195 11 discriminator 4 view .LVU2452
7451 0054 3268 ldr r2, [r6]
3195:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7452 .loc 1 3195 27 discriminator 4 view .LVU2453
7453 0056 5360 str r3, [r2, #4]
3199:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7454 .loc 1 3199 7 is_stmt 1 view .LVU2454
3199:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7455 .loc 1 3199 19 is_stmt 0 view .LVU2455
7456 0058 FFF7FEFF bl HAL_GetTick
7457 .LVL513:
7458 005c 0700 movs r7, r0
7459 .LVL514:
3201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmp2 = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF);
7460 .loc 1 3201 7 is_stmt 1 view .LVU2456
3201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmp2 = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF);
7461 .loc 1 3201 14 is_stmt 0 view .LVU2457
7462 005e 3268 ldr r2, [r6]
7463 0060 9169 ldr r1, [r2, #24]
7464 0062 2023 movs r3, #32
7465 0064 0B40 ands r3, r1
7466 0066 591E subs r1, r3, #1
7467 0068 8B41 sbcs r3, r3, r1
7468 006a DBB2 uxtb r3, r3
7469 .LVL515:
3202:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7470 .loc 1 3202 7 is_stmt 1 view .LVU2458
3202:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7471 .loc 1 3202 14 is_stmt 0 view .LVU2459
7472 006c 9269 ldr r2, [r2, #24]
7473 006e 1024 movs r4, #16
7474 0070 1440 ands r4, r2
7475 0072 621E subs r2, r4, #1
7476 0074 9441 sbcs r4, r4, r2
7477 0076 E4B2 uxtb r4, r4
7478 .LVL516:
3204:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7479 .loc 1 3204 7 is_stmt 1 view .LVU2460
3204:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7480 .loc 1 3204 13 is_stmt 0 view .LVU2461
7481 0078 12E0 b .L439
7482 .LVL517:
7483 .L453:
3195:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7484 .loc 1 3195 29 discriminator 1 view .LVU2462
7485 007a 4B46 mov r3, r9
7486 007c 9A05 lsls r2, r3, #22
7487 007e 920D lsrs r2, r2, #22
7488 0080 414B ldr r3, .L457+4
7489 0082 1343 orrs r3, r2
7490 0084 E6E7 b .L438
7491 .LVL518:
7492 .L440:
3223:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmp2 = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF);
7493 .loc 1 3223 9 is_stmt 1 view .LVU2463
3223:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmp2 = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF);
7494 .loc 1 3223 16 is_stmt 0 view .LVU2464
ARM GAS /tmp/ccuRhBPx.s page 300
7495 0086 3268 ldr r2, [r6]
7496 0088 9169 ldr r1, [r2, #24]
7497 008a 2023 movs r3, #32
7498 008c 0B40 ands r3, r1
7499 008e 591E subs r1, r3, #1
7500 0090 8B41 sbcs r3, r3, r1
7501 0092 DBB2 uxtb r3, r3
7502 .LVL519:
3224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7503 .loc 1 3224 9 is_stmt 1 view .LVU2465
3224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7504 .loc 1 3224 16 is_stmt 0 view .LVU2466
7505 0094 9269 ldr r2, [r2, #24]
7506 0096 1024 movs r4, #16
7507 0098 1440 ands r4, r2
7508 009a 621E subs r2, r4, #1
7509 009c 9441 sbcs r4, r4, r2
7510 009e E4B2 uxtb r4, r4
7511 .LVL520:
7512 .L439:
3204:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7513 .loc 1 3204 30 is_stmt 1 view .LVU2467
7514 00a0 1C43 orrs r4, r3
7515 .LVL521:
3204:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7516 .loc 1 3204 30 is_stmt 0 view .LVU2468
7517 00a2 17D1 bne .L454
3206:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7518 .loc 1 3206 9 is_stmt 1 view .LVU2469
3206:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7519 .loc 1 3206 12 is_stmt 0 view .LVU2470
7520 00a4 6B1C adds r3, r5, #1
7521 00a6 EED0 beq .L440
7522 .LVL522:
3208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7523 .loc 1 3208 11 is_stmt 1 view .LVU2471
3208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7524 .loc 1 3208 17 is_stmt 0 view .LVU2472
7525 00a8 FFF7FEFF bl HAL_GetTick
7526 .LVL523:
3208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7527 .loc 1 3208 31 discriminator 1 view .LVU2473
7528 00ac C01B subs r0, r0, r7
3208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7529 .loc 1 3208 14 discriminator 1 view .LVU2474
7530 00ae A842 cmp r0, r5
7531 00b0 01D8 bhi .L441
3208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7532 .loc 1 3208 55 discriminator 1 view .LVU2475
7533 00b2 002D cmp r5, #0
7534 00b4 E7D1 bne .L440
7535 .L441:
3211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7536 .loc 1 3211 13 is_stmt 1 view .LVU2476
3211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7537 .loc 1 3211 25 is_stmt 0 view .LVU2477
7538 00b6 2022 movs r2, #32
ARM GAS /tmp/ccuRhBPx.s page 301
7539 00b8 4123 movs r3, #65
7540 00ba F254 strb r2, [r6, r3]
3214:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7541 .loc 1 3214 13 is_stmt 1 view .LVU2478
3214:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7542 .loc 1 3214 17 is_stmt 0 view .LVU2479
7543 00bc 736C ldr r3, [r6, #68]
3214:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7544 .loc 1 3214 29 view .LVU2480
7545 00be 1343 orrs r3, r2
7546 00c0 7364 str r3, [r6, #68]
3217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7547 .loc 1 3217 13 is_stmt 1 view .LVU2481
3217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7548 .loc 1 3217 13 view .LVU2482
7549 00c2 4023 movs r3, #64
7550 00c4 0022 movs r2, #0
7551 00c6 F254 strb r2, [r6, r3]
3217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7552 .loc 1 3217 13 view .LVU2483
3219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7553 .loc 1 3219 13 view .LVU2484
3219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7554 .loc 1 3219 20 is_stmt 0 view .LVU2485
7555 00c8 0120 movs r0, #1
7556 .LVL524:
7557 .L436:
3297:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7558 .loc 1 3297 1 view .LVU2486
7559 00ca 05B0 add sp, sp, #20
7560 @ sp needed
7561 .LVL525:
7562 .LVL526:
7563 .LVL527:
7564 .LVL528:
3297:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7565 .loc 1 3297 1 view .LVU2487
7566 00cc C0BC pop {r6, r7}
7567 00ce B946 mov r9, r7
7568 00d0 B046 mov r8, r6
7569 00d2 F0BD pop {r4, r5, r6, r7, pc}
7570 .LVL529:
7571 .L454:
3228:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7572 .loc 1 3228 7 is_stmt 1 view .LVU2488
3228:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7573 .loc 1 3228 11 is_stmt 0 view .LVU2489
7574 00d4 3368 ldr r3, [r6]
7575 .LVL530:
3228:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7576 .loc 1 3228 11 view .LVU2490
7577 00d6 9B69 ldr r3, [r3, #24]
3228:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7578 .loc 1 3228 10 view .LVU2491
7579 00d8 DB06 lsls r3, r3, #27
7580 00da 22D5 bpl .L455
3250:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
ARM GAS /tmp/ccuRhBPx.s page 302
7581 .loc 1 3250 9 is_stmt 1 view .LVU2492
3250:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7582 .loc 1 3250 13 is_stmt 0 view .LVU2493
7583 00dc 0097 str r7, [sp]
7584 00de 2B00 movs r3, r5
7585 00e0 0022 movs r2, #0
7586 00e2 2021 movs r1, #32
7587 00e4 3000 movs r0, r6
7588 00e6 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
7589 .LVL531:
3250:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7590 .loc 1 3250 12 discriminator 1 view .LVU2494
7591 00ea 0028 cmp r0, #0
7592 00ec 46D1 bne .L450
3256:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7593 .loc 1 3256 9 is_stmt 1 view .LVU2495
7594 00ee 3368 ldr r3, [r6]
7595 00f0 1022 movs r2, #16
7596 00f2 DA61 str r2, [r3, #28]
3259:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7597 .loc 1 3259 9 view .LVU2496
7598 00f4 3368 ldr r3, [r6]
7599 00f6 1032 adds r2, r2, #16
7600 00f8 DA61 str r2, [r3, #28]
3263:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7601 .loc 1 3263 7 view .LVU2497
3263:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7602 .loc 1 3263 22 is_stmt 0 view .LVU2498
7603 00fa 039B ldr r3, [sp, #12]
3263:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7604 .loc 1 3263 10 view .LVU2499
7605 00fc 4345 cmp r3, r8
7606 00fe 22D0 beq .L456
7607 .L444:
3279:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } while (I2C_Trials < Trials);
7608 .loc 1 3279 7 is_stmt 1 view .LVU2500
3279:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } while (I2C_Trials < Trials);
7609 .loc 1 3279 17 is_stmt 0 view .LVU2501
7610 0100 039B ldr r3, [sp, #12]
7611 0102 0133 adds r3, r3, #1
7612 0104 0393 str r3, [sp, #12]
3280:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7613 .loc 1 3280 25 is_stmt 1 view .LVU2502
7614 0106 039B ldr r3, [sp, #12]
7615 0108 4345 cmp r3, r8
7616 010a 9BD3 bcc .L445
3283:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7617 .loc 1 3283 5 view .LVU2503
3283:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7618 .loc 1 3283 17 is_stmt 0 view .LVU2504
7619 010c 2022 movs r2, #32
7620 010e 4123 movs r3, #65
7621 0110 F254 strb r2, [r6, r3]
3286:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7622 .loc 1 3286 5 is_stmt 1 view .LVU2505
3286:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7623 .loc 1 3286 9 is_stmt 0 view .LVU2506
ARM GAS /tmp/ccuRhBPx.s page 303
7624 0112 736C ldr r3, [r6, #68]
3286:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7625 .loc 1 3286 21 view .LVU2507
7626 0114 1343 orrs r3, r2
7627 0116 7364 str r3, [r6, #68]
3289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7628 .loc 1 3289 5 is_stmt 1 view .LVU2508
3289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7629 .loc 1 3289 5 view .LVU2509
7630 0118 4023 movs r3, #64
7631 011a 0022 movs r2, #0
7632 011c F254 strb r2, [r6, r3]
3289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7633 .loc 1 3289 5 view .LVU2510
3291:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7634 .loc 1 3291 5 view .LVU2511
3291:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7635 .loc 1 3291 12 is_stmt 0 view .LVU2512
7636 011e 0120 movs r0, #1
7637 0120 D3E7 b .L436
7638 .L455:
3231:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7639 .loc 1 3231 9 is_stmt 1 view .LVU2513
3231:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7640 .loc 1 3231 13 is_stmt 0 view .LVU2514
7641 0122 0097 str r7, [sp]
7642 0124 2B00 movs r3, r5
7643 0126 0022 movs r2, #0
7644 0128 2021 movs r1, #32
7645 012a 3000 movs r0, r6
7646 012c FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
7647 .LVL532:
3231:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7648 .loc 1 3231 12 discriminator 1 view .LVU2515
7649 0130 0028 cmp r0, #0
7650 0132 21D1 bne .L449
3237:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7651 .loc 1 3237 9 is_stmt 1 view .LVU2516
7652 0134 3268 ldr r2, [r6]
7653 0136 2023 movs r3, #32
7654 0138 D361 str r3, [r2, #28]
3240:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7655 .loc 1 3240 9 view .LVU2517
3240:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7656 .loc 1 3240 21 is_stmt 0 view .LVU2518
7657 013a 4122 movs r2, #65
7658 013c B354 strb r3, [r6, r2]
3243:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7659 .loc 1 3243 9 is_stmt 1 view .LVU2519
3243:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7660 .loc 1 3243 9 view .LVU2520
7661 013e 2033 adds r3, r3, #32
7662 0140 0022 movs r2, #0
7663 0142 F254 strb r2, [r6, r3]
3243:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7664 .loc 1 3243 9 view .LVU2521
3245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
ARM GAS /tmp/ccuRhBPx.s page 304
7665 .loc 1 3245 9 view .LVU2522
3245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7666 .loc 1 3245 16 is_stmt 0 view .LVU2523
7667 0144 C1E7 b .L436
7668 .L456:
3266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7669 .loc 1 3266 9 is_stmt 1 view .LVU2524
3266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7670 .loc 1 3266 13 is_stmt 0 view .LVU2525
7671 0146 3268 ldr r2, [r6]
3266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7672 .loc 1 3266 23 view .LVU2526
7673 0148 5168 ldr r1, [r2, #4]
3266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7674 .loc 1 3266 29 view .LVU2527
7675 014a 8023 movs r3, #128
7676 014c DB01 lsls r3, r3, #7
7677 014e 0B43 orrs r3, r1
7678 0150 5360 str r3, [r2, #4]
3269:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7679 .loc 1 3269 9 is_stmt 1 view .LVU2528
3269:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7680 .loc 1 3269 13 is_stmt 0 view .LVU2529
7681 0152 0097 str r7, [sp]
7682 0154 2B00 movs r3, r5
7683 0156 0022 movs r2, #0
7684 0158 2021 movs r1, #32
7685 015a 3000 movs r0, r6
7686 015c FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
7687 .LVL533:
3269:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7688 .loc 1 3269 12 discriminator 1 view .LVU2530
7689 0160 0028 cmp r0, #0
7690 0162 0DD1 bne .L451
3275:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7691 .loc 1 3275 9 is_stmt 1 view .LVU2531
7692 0164 3368 ldr r3, [r6]
7693 0166 2022 movs r2, #32
7694 0168 DA61 str r2, [r3, #28]
7695 016a C9E7 b .L444
7696 .LVL534:
7697 .L446:
3295:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7698 .loc 1 3295 12 is_stmt 0 view .LVU2532
7699 016c 0220 movs r0, #2
7700 .LVL535:
3295:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7701 .loc 1 3295 12 view .LVU2533
7702 016e ACE7 b .L436
7703 .LVL536:
7704 .L447:
3183:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7705 .loc 1 3183 14 view .LVU2534
7706 0170 0220 movs r0, #2
7707 .LVL537:
3183:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7708 .loc 1 3183 14 view .LVU2535
ARM GAS /tmp/ccuRhBPx.s page 305
7709 0172 AAE7 b .L436
7710 .LVL538:
7711 .L448:
3187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7712 .loc 1 3187 5 discriminator 1 view .LVU2536
7713 0174 0220 movs r0, #2
7714 .LVL539:
3187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7715 .loc 1 3187 5 discriminator 1 view .LVU2537
7716 0176 A8E7 b .L436
7717 .LVL540:
7718 .L449:
3233:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7719 .loc 1 3233 18 view .LVU2538
7720 0178 0120 movs r0, #1
7721 017a A6E7 b .L436
7722 .L450:
3252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7723 .loc 1 3252 18 view .LVU2539
7724 017c 0120 movs r0, #1
7725 017e A4E7 b .L436
7726 .L451:
3271:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7727 .loc 1 3271 18 view .LVU2540
7728 0180 0120 movs r0, #1
7729 0182 A2E7 b .L436
7730 .L458:
7731 .align 2
7732 .L457:
7733 0184 00280002 .word 33564672
7734 0188 00200002 .word 33562624
7735 .cfi_endproc
7736 .LFE62:
7738 .section .text.HAL_I2C_Master_Seq_Transmit_IT,"ax",%progbits
7739 .align 1
7740 .global HAL_I2C_Master_Seq_Transmit_IT
7741 .syntax unified
7742 .code 16
7743 .thumb_func
7745 HAL_I2C_Master_Seq_Transmit_IT:
7746 .LVL541:
7747 .LFB63:
3313:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xfermode;
7748 .loc 1 3313 1 is_stmt 1 view -0
7749 .cfi_startproc
7750 @ args = 4, pretend = 0, frame = 0
7751 @ frame_needed = 0, uses_anonymous_args = 0
3313:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xfermode;
7752 .loc 1 3313 1 is_stmt 0 view .LVU2542
7753 0000 70B5 push {r4, r5, r6, lr}
7754 .cfi_def_cfa_offset 16
7755 .cfi_offset 4, -16
7756 .cfi_offset 5, -12
7757 .cfi_offset 6, -8
7758 .cfi_offset 14, -4
7759 0002 82B0 sub sp, sp, #8
7760 .cfi_def_cfa_offset 24
ARM GAS /tmp/ccuRhBPx.s page 306
7761 0004 0400 movs r4, r0
7762 0006 0D00 movs r5, r1
3314:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xferrequest = I2C_GENERATE_START_WRITE;
7763 .loc 1 3314 3 is_stmt 1 view .LVU2543
3315:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7764 .loc 1 3315 3 view .LVU2544
7765 .LVL542:
3318:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7766 .loc 1 3318 3 view .LVU2545
3320:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7767 .loc 1 3320 3 view .LVU2546
3320:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7768 .loc 1 3320 11 is_stmt 0 view .LVU2547
7769 0008 4121 movs r1, #65
7770 .LVL543:
3320:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7771 .loc 1 3320 11 view .LVU2548
7772 000a 415C ldrb r1, [r0, r1]
3320:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7773 .loc 1 3320 6 view .LVU2549
7774 000c 2029 cmp r1, #32
7775 000e 4AD1 bne .L465
3323:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7776 .loc 1 3323 5 is_stmt 1 view .LVU2550
3323:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7777 .loc 1 3323 5 view .LVU2551
7778 0010 2031 adds r1, r1, #32
7779 0012 415C ldrb r1, [r0, r1]
7780 0014 0129 cmp r1, #1
7781 0016 48D0 beq .L466
3323:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7782 .loc 1 3323 5 discriminator 2 view .LVU2552
7783 0018 4021 movs r1, #64
7784 001a 0120 movs r0, #1
7785 .LVL544:
3323:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7786 .loc 1 3323 5 is_stmt 0 discriminator 2 view .LVU2553
7787 001c 6054 strb r0, [r4, r1]
3323:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7788 .loc 1 3323 5 is_stmt 1 discriminator 2 view .LVU2554
3325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
7789 .loc 1 3325 5 view .LVU2555
3325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
7790 .loc 1 3325 21 is_stmt 0 view .LVU2556
7791 001e 0131 adds r1, r1, #1
7792 0020 2030 adds r0, r0, #32
7793 0022 6054 strb r0, [r4, r1]
3326:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
7794 .loc 1 3326 5 is_stmt 1 view .LVU2557
3326:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
7795 .loc 1 3326 21 is_stmt 0 view .LVU2558
7796 0024 0131 adds r1, r1, #1
7797 0026 1138 subs r0, r0, #17
7798 0028 6054 strb r0, [r4, r1]
3327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7799 .loc 1 3327 5 is_stmt 1 view .LVU2559
3327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
ARM GAS /tmp/ccuRhBPx.s page 307
7800 .loc 1 3327 21 is_stmt 0 view .LVU2560
7801 002a 0021 movs r1, #0
7802 002c 6164 str r1, [r4, #68]
3330:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
7803 .loc 1 3330 5 is_stmt 1 view .LVU2561
3330:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
7804 .loc 1 3330 23 is_stmt 0 view .LVU2562
7805 002e 6262 str r2, [r4, #36]
3331:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
7806 .loc 1 3331 5 is_stmt 1 view .LVU2563
3331:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
7807 .loc 1 3331 23 is_stmt 0 view .LVU2564
7808 0030 6385 strh r3, [r4, #42]
3332:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
7809 .loc 1 3332 5 is_stmt 1 view .LVU2565
3332:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
7810 .loc 1 3332 23 is_stmt 0 view .LVU2566
7811 0032 069B ldr r3, [sp, #24]
7812 .LVL545:
3332:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
7813 .loc 1 3332 23 view .LVU2567
7814 0034 E362 str r3, [r4, #44]
7815 .LVL546:
3333:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7816 .loc 1 3333 5 is_stmt 1 view .LVU2568
3333:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7817 .loc 1 3333 23 is_stmt 0 view .LVU2569
7818 0036 1E4B ldr r3, .L469
7819 0038 6363 str r3, [r4, #52]
3336:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7820 .loc 1 3336 5 is_stmt 1 view .LVU2570
3336:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7821 .loc 1 3336 13 is_stmt 0 view .LVU2571
7822 003a 638D ldrh r3, [r4, #42]
7823 003c 9BB2 uxth r3, r3
3336:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7824 .loc 1 3336 8 view .LVU2572
7825 003e FF2B cmp r3, #255
7826 0040 10D9 bls .L461
3338:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
7827 .loc 1 3338 7 is_stmt 1 view .LVU2573
3338:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
7828 .loc 1 3338 22 is_stmt 0 view .LVU2574
7829 0042 FF23 movs r3, #255
7830 0044 2385 strh r3, [r4, #40]
3339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7831 .loc 1 3339 7 is_stmt 1 view .LVU2575
7832 .LVL547:
3339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7833 .loc 1 3339 16 is_stmt 0 view .LVU2576
7834 0046 8026 movs r6, #128
7835 0048 7604 lsls r6, r6, #17
7836 .LVL548:
7837 .L462:
3350:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0))
7838 .loc 1 3350 5 is_stmt 1 view .LVU2577
3350:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0))
ARM GAS /tmp/ccuRhBPx.s page 308
7839 .loc 1 3350 14 is_stmt 0 view .LVU2578
7840 004a 236B ldr r3, [r4, #48]
3350:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0))
7841 .loc 1 3350 8 view .LVU2579
7842 004c 112B cmp r3, #17
7843 004e 0DD1 bne .L463
3351:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7844 .loc 1 3351 10 view .LVU2580
7845 0050 069B ldr r3, [sp, #24]
7846 0052 AA2B cmp r3, #170
7847 0054 0AD0 beq .L463
3351:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7848 .loc 1 3351 10 discriminator 2 view .LVU2581
7849 0056 AA23 movs r3, #170
7850 0058 1B02 lsls r3, r3, #8
7851 005a 069A ldr r2, [sp, #24]
7852 .LVL549:
3351:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7853 .loc 1 3351 10 discriminator 2 view .LVU2582
7854 005c 9A42 cmp r2, r3
7855 005e 05D0 beq .L463
3353:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7856 .loc 1 3353 19 view .LVU2583
7857 0060 0023 movs r3, #0
7858 0062 0CE0 b .L464
7859 .LVL550:
7860 .L461:
3343:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
7861 .loc 1 3343 7 is_stmt 1 view .LVU2584
3343:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
7862 .loc 1 3343 28 is_stmt 0 view .LVU2585
7863 0064 638D ldrh r3, [r4, #42]
3343:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
7864 .loc 1 3343 22 view .LVU2586
7865 0066 2385 strh r3, [r4, #40]
3344:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7866 .loc 1 3344 7 is_stmt 1 view .LVU2587
3344:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7867 .loc 1 3344 16 is_stmt 0 view .LVU2588
7868 0068 E66A ldr r6, [r4, #44]
7869 .LVL551:
3344:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7870 .loc 1 3344 16 view .LVU2589
7871 006a EEE7 b .L462
7872 .LVL552:
7873 .L463:
3358:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7874 .loc 1 3358 7 is_stmt 1 view .LVU2590
7875 006c 2000 movs r0, r4
7876 006e FFF7FEFF bl I2C_ConvertOtherXferOptions
7877 .LVL553:
3361:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7878 .loc 1 3361 7 view .LVU2591
3361:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7879 .loc 1 3361 15 is_stmt 0 view .LVU2592
7880 0072 638D ldrh r3, [r4, #42]
7881 0074 9BB2 uxth r3, r3
ARM GAS /tmp/ccuRhBPx.s page 309
3361:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7882 .loc 1 3361 10 view .LVU2593
7883 0076 FF2B cmp r3, #255
7884 0078 13D8 bhi .L468
3363:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7885 .loc 1 3363 9 is_stmt 1 view .LVU2594
3363:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7886 .loc 1 3363 18 is_stmt 0 view .LVU2595
7887 007a E66A ldr r6, [r4, #44]
7888 .LVL554:
3315:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7889 .loc 1 3315 12 view .LVU2596
7890 007c 0D4B ldr r3, .L469+4
7891 .L464:
7892 .LVL555:
3368:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7893 .loc 1 3368 5 is_stmt 1 view .LVU2597
3368:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7894 .loc 1 3368 55 is_stmt 0 view .LVU2598
7895 007e 228D ldrh r2, [r4, #40]
3368:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7896 .loc 1 3368 5 view .LVU2599
7897 0080 D2B2 uxtb r2, r2
7898 0082 0093 str r3, [sp]
7899 0084 3300 movs r3, r6
7900 .LVL556:
3368:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7901 .loc 1 3368 5 view .LVU2600
7902 0086 2900 movs r1, r5
7903 0088 2000 movs r0, r4
7904 008a FFF7FEFF bl I2C_TransferConfig
7905 .LVL557:
3371:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7906 .loc 1 3371 5 is_stmt 1 view .LVU2601
3371:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7907 .loc 1 3371 5 view .LVU2602
7908 008e 4023 movs r3, #64
7909 0090 0022 movs r2, #0
7910 0092 E254 strb r2, [r4, r3]
3371:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7911 .loc 1 3371 5 view .LVU2603
3380:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7912 .loc 1 3380 5 view .LVU2604
7913 0094 0121 movs r1, #1
7914 0096 2000 movs r0, r4
7915 0098 FFF7FEFF bl I2C_Enable_IRQ
7916 .LVL558:
3382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7917 .loc 1 3382 5 view .LVU2605
3382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7918 .loc 1 3382 12 is_stmt 0 view .LVU2606
7919 009c 0020 movs r0, #0
7920 .LVL559:
7921 .L460:
3388:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7922 .loc 1 3388 1 view .LVU2607
7923 009e 02B0 add sp, sp, #8
ARM GAS /tmp/ccuRhBPx.s page 310
7924 @ sp needed
7925 .LVL560:
7926 .LVL561:
3388:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7927 .loc 1 3388 1 view .LVU2608
7928 00a0 70BD pop {r4, r5, r6, pc}
7929 .LVL562:
7930 .L468:
3315:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7931 .loc 1 3315 12 view .LVU2609
7932 00a2 044B ldr r3, .L469+4
7933 00a4 EBE7 b .L464
7934 .LVL563:
7935 .L465:
3386:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7936 .loc 1 3386 12 view .LVU2610
7937 00a6 0220 movs r0, #2
7938 .LVL564:
3386:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
7939 .loc 1 3386 12 view .LVU2611
7940 00a8 F9E7 b .L460
7941 .LVL565:
7942 .L466:
3323:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7943 .loc 1 3323 5 discriminator 1 view .LVU2612
7944 00aa 0220 movs r0, #2
7945 .LVL566:
3323:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7946 .loc 1 3323 5 discriminator 1 view .LVU2613
7947 00ac F7E7 b .L460
7948 .L470:
7949 00ae C046 .align 2
7950 .L469:
7951 00b0 00000000 .word I2C_Master_ISR_IT
7952 00b4 00200080 .word -2147475456
7953 .cfi_endproc
7954 .LFE63:
7956 .section .text.HAL_I2C_Master_Seq_Transmit_DMA,"ax",%progbits
7957 .align 1
7958 .global HAL_I2C_Master_Seq_Transmit_DMA
7959 .syntax unified
7960 .code 16
7961 .thumb_func
7963 HAL_I2C_Master_Seq_Transmit_DMA:
7964 .LVL567:
7965 .LFB64:
3404:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xfermode;
7966 .loc 1 3404 1 is_stmt 1 view -0
7967 .cfi_startproc
7968 @ args = 4, pretend = 0, frame = 8
7969 @ frame_needed = 0, uses_anonymous_args = 0
3404:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xfermode;
7970 .loc 1 3404 1 is_stmt 0 view .LVU2615
7971 0000 F0B5 push {r4, r5, r6, r7, lr}
7972 .cfi_def_cfa_offset 20
7973 .cfi_offset 4, -20
7974 .cfi_offset 5, -16
ARM GAS /tmp/ccuRhBPx.s page 311
7975 .cfi_offset 6, -12
7976 .cfi_offset 7, -8
7977 .cfi_offset 14, -4
7978 0002 85B0 sub sp, sp, #20
7979 .cfi_def_cfa_offset 40
7980 0004 0400 movs r4, r0
7981 0006 0391 str r1, [sp, #12]
7982 0008 1500 movs r5, r2
3405:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xferrequest = I2C_GENERATE_START_WRITE;
7983 .loc 1 3405 3 is_stmt 1 view .LVU2616
3406:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
7984 .loc 1 3406 3 view .LVU2617
7985 .LVL568:
3407:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7986 .loc 1 3407 3 view .LVU2618
3410:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7987 .loc 1 3410 3 view .LVU2619
3412:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7988 .loc 1 3412 3 view .LVU2620
3412:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7989 .loc 1 3412 11 is_stmt 0 view .LVU2621
7990 000a 4122 movs r2, #65
7991 .LVL569:
3412:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7992 .loc 1 3412 11 view .LVU2622
7993 000c 825C ldrb r2, [r0, r2]
3412:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
7994 .loc 1 3412 6 view .LVU2623
7995 000e 202A cmp r2, #32
7996 0010 00D0 beq .LCB7600
7997 0012 9DE0 b .L482 @long jump
7998 .LCB7600:
3415:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
7999 .loc 1 3415 5 is_stmt 1 view .LVU2624
3415:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8000 .loc 1 3415 5 view .LVU2625
8001 0014 2032 adds r2, r2, #32
8002 0016 825C ldrb r2, [r0, r2]
8003 0018 012A cmp r2, #1
8004 001a 00D1 bne .LCB7606
8005 001c 9BE0 b .L483 @long jump
8006 .LCB7606:
3415:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8007 .loc 1 3415 5 discriminator 2 view .LVU2626
8008 001e 4022 movs r2, #64
8009 0020 0121 movs r1, #1
8010 .LVL570:
3415:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8011 .loc 1 3415 5 is_stmt 0 discriminator 2 view .LVU2627
8012 0022 8154 strb r1, [r0, r2]
3415:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8013 .loc 1 3415 5 is_stmt 1 discriminator 2 view .LVU2628
3417:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
8014 .loc 1 3417 5 view .LVU2629
3417:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
8015 .loc 1 3417 21 is_stmt 0 view .LVU2630
8016 0024 0132 adds r2, r2, #1
ARM GAS /tmp/ccuRhBPx.s page 312
8017 0026 2031 adds r1, r1, #32
8018 0028 8154 strb r1, [r0, r2]
3418:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
8019 .loc 1 3418 5 is_stmt 1 view .LVU2631
3418:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
8020 .loc 1 3418 21 is_stmt 0 view .LVU2632
8021 002a 0132 adds r2, r2, #1
8022 002c 1139 subs r1, r1, #17
8023 002e 8154 strb r1, [r0, r2]
3419:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8024 .loc 1 3419 5 is_stmt 1 view .LVU2633
3419:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8025 .loc 1 3419 21 is_stmt 0 view .LVU2634
8026 0030 0022 movs r2, #0
8027 0032 4264 str r2, [r0, #68]
3422:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
8028 .loc 1 3422 5 is_stmt 1 view .LVU2635
3422:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
8029 .loc 1 3422 23 is_stmt 0 view .LVU2636
8030 0034 4562 str r5, [r0, #36]
3423:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
8031 .loc 1 3423 5 is_stmt 1 view .LVU2637
3423:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
8032 .loc 1 3423 23 is_stmt 0 view .LVU2638
8033 0036 4385 strh r3, [r0, #42]
3424:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA;
8034 .loc 1 3424 5 is_stmt 1 view .LVU2639
3424:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA;
8035 .loc 1 3424 23 is_stmt 0 view .LVU2640
8036 0038 0A9B ldr r3, [sp, #40]
8037 .LVL571:
3424:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA;
8038 .loc 1 3424 23 view .LVU2641
8039 003a C362 str r3, [r0, #44]
8040 .LVL572:
3425:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8041 .loc 1 3425 5 is_stmt 1 view .LVU2642
3425:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8042 .loc 1 3425 23 is_stmt 0 view .LVU2643
8043 003c 474B ldr r3, .L488
8044 003e 4363 str r3, [r0, #52]
3428:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8045 .loc 1 3428 5 is_stmt 1 view .LVU2644
3428:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8046 .loc 1 3428 13 is_stmt 0 view .LVU2645
8047 0040 438D ldrh r3, [r0, #42]
8048 0042 9BB2 uxth r3, r3
3428:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8049 .loc 1 3428 8 view .LVU2646
8050 0044 FF2B cmp r3, #255
8051 0046 10D9 bls .L473
3430:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
8052 .loc 1 3430 7 is_stmt 1 view .LVU2647
3430:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
8053 .loc 1 3430 22 is_stmt 0 view .LVU2648
8054 0048 FF23 movs r3, #255
8055 004a 0385 strh r3, [r0, #40]
ARM GAS /tmp/ccuRhBPx.s page 313
3431:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
8056 .loc 1 3431 7 is_stmt 1 view .LVU2649
8057 .LVL573:
3431:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
8058 .loc 1 3431 16 is_stmt 0 view .LVU2650
8059 004c 8027 movs r7, #128
8060 004e 7F04 lsls r7, r7, #17
8061 .LVL574:
8062 .L474:
3442:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0))
8063 .loc 1 3442 5 is_stmt 1 view .LVU2651
3442:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0))
8064 .loc 1 3442 14 is_stmt 0 view .LVU2652
8065 0050 236B ldr r3, [r4, #48]
3442:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0))
8066 .loc 1 3442 8 view .LVU2653
8067 0052 112B cmp r3, #17
8068 0054 0DD1 bne .L475
3443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8069 .loc 1 3443 10 view .LVU2654
8070 0056 0A9B ldr r3, [sp, #40]
8071 0058 AA2B cmp r3, #170
8072 005a 0AD0 beq .L475
3443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8073 .loc 1 3443 10 discriminator 2 view .LVU2655
8074 005c AA23 movs r3, #170
8075 005e 1B02 lsls r3, r3, #8
8076 0060 0A9A ldr r2, [sp, #40]
8077 0062 9A42 cmp r2, r3
8078 0064 05D0 beq .L475
3445:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
8079 .loc 1 3445 19 view .LVU2656
8080 0066 0026 movs r6, #0
8081 0068 0CE0 b .L476
8082 .LVL575:
8083 .L473:
3435:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
8084 .loc 1 3435 7 is_stmt 1 view .LVU2657
3435:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
8085 .loc 1 3435 28 is_stmt 0 view .LVU2658
8086 006a 438D ldrh r3, [r0, #42]
3435:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
8087 .loc 1 3435 22 view .LVU2659
8088 006c 0385 strh r3, [r0, #40]
3436:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
8089 .loc 1 3436 7 is_stmt 1 view .LVU2660
3436:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
8090 .loc 1 3436 16 is_stmt 0 view .LVU2661
8091 006e C76A ldr r7, [r0, #44]
8092 .LVL576:
3436:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
8093 .loc 1 3436 16 view .LVU2662
8094 0070 EEE7 b .L474
8095 .L475:
3450:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8096 .loc 1 3450 7 is_stmt 1 view .LVU2663
8097 0072 2000 movs r0, r4
ARM GAS /tmp/ccuRhBPx.s page 314
8098 .LVL577:
3450:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8099 .loc 1 3450 7 is_stmt 0 view .LVU2664
8100 0074 FFF7FEFF bl I2C_ConvertOtherXferOptions
8101 .LVL578:
3453:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8102 .loc 1 3453 7 is_stmt 1 view .LVU2665
3453:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8103 .loc 1 3453 15 is_stmt 0 view .LVU2666
8104 0078 638D ldrh r3, [r4, #42]
8105 007a 9BB2 uxth r3, r3
3453:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8106 .loc 1 3453 10 view .LVU2667
8107 007c FF2B cmp r3, #255
8108 007e 28D8 bhi .L485
3455:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
8109 .loc 1 3455 9 is_stmt 1 view .LVU2668
3455:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
8110 .loc 1 3455 18 is_stmt 0 view .LVU2669
8111 0080 E76A ldr r7, [r4, #44]
8112 .LVL579:
3406:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
8113 .loc 1 3406 12 view .LVU2670
8114 0082 374E ldr r6, .L488+4
8115 .L476:
8116 .LVL580:
3459:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8117 .loc 1 3459 5 is_stmt 1 view .LVU2671
3459:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8118 .loc 1 3459 13 is_stmt 0 view .LVU2672
8119 0084 228D ldrh r2, [r4, #40]
3459:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8120 .loc 1 3459 8 view .LVU2673
8121 0086 002A cmp r2, #0
8122 0088 4ED0 beq .L477
3461:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8123 .loc 1 3461 7 is_stmt 1 view .LVU2674
3461:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8124 .loc 1 3461 15 is_stmt 0 view .LVU2675
8125 008a A36B ldr r3, [r4, #56]
3461:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8126 .loc 1 3461 10 view .LVU2676
8127 008c 002B cmp r3, #0
8128 008e 22D0 beq .L478
3464:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8129 .loc 1 3464 9 is_stmt 1 view .LVU2677
3464:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8130 .loc 1 3464 40 is_stmt 0 view .LVU2678
8131 0090 344A ldr r2, .L488+8
8132 0092 9A62 str r2, [r3, #40]
3467:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8133 .loc 1 3467 9 is_stmt 1 view .LVU2679
3467:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8134 .loc 1 3467 13 is_stmt 0 view .LVU2680
8135 0094 A36B ldr r3, [r4, #56]
3467:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8136 .loc 1 3467 41 view .LVU2681
ARM GAS /tmp/ccuRhBPx.s page 315
8137 0096 344A ldr r2, .L488+12
8138 0098 1A63 str r2, [r3, #48]
3470:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
8139 .loc 1 3470 9 is_stmt 1 view .LVU2682
3470:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
8140 .loc 1 3470 13 is_stmt 0 view .LVU2683
8141 009a A26B ldr r2, [r4, #56]
3470:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
8142 .loc 1 3470 44 view .LVU2684
8143 009c 0023 movs r3, #0
8144 009e D362 str r3, [r2, #44]
3471:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8145 .loc 1 3471 9 is_stmt 1 view .LVU2685
3471:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8146 .loc 1 3471 13 is_stmt 0 view .LVU2686
8147 00a0 A26B ldr r2, [r4, #56]
3471:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8148 .loc 1 3471 41 view .LVU2687
8149 00a2 5363 str r3, [r2, #52]
3474:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize);
8150 .loc 1 3474 9 is_stmt 1 view .LVU2688
3474:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize);
8151 .loc 1 3474 88 is_stmt 0 view .LVU2689
8152 00a4 2268 ldr r2, [r4]
3474:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize);
8153 .loc 1 3474 83 view .LVU2690
8154 00a6 2832 adds r2, r2, #40
3475:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
8155 .loc 1 3475 46 view .LVU2691
8156 00a8 238D ldrh r3, [r4, #40]
3474:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize);
8157 .loc 1 3474 25 view .LVU2692
8158 00aa A06B ldr r0, [r4, #56]
8159 00ac 2900 movs r1, r5
8160 00ae FFF7FEFF bl HAL_DMA_Start_IT
8161 .LVL581:
3492:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8162 .loc 1 3492 7 is_stmt 1 view .LVU2693
3492:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8163 .loc 1 3492 10 is_stmt 0 view .LVU2694
8164 00b2 0028 cmp r0, #0
8165 00b4 1DD0 beq .L487
3515:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
8166 .loc 1 3515 9 is_stmt 1 view .LVU2695
3515:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
8167 .loc 1 3515 25 is_stmt 0 view .LVU2696
8168 00b6 4123 movs r3, #65
8169 00b8 2022 movs r2, #32
8170 00ba E254 strb r2, [r4, r3]
3516:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8171 .loc 1 3516 9 is_stmt 1 view .LVU2697
3516:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8172 .loc 1 3516 25 is_stmt 0 view .LVU2698
8173 00bc 0022 movs r2, #0
8174 00be 0133 adds r3, r3, #1
8175 00c0 E254 strb r2, [r4, r3]
3519:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
ARM GAS /tmp/ccuRhBPx.s page 316
8176 .loc 1 3519 9 is_stmt 1 view .LVU2699
3519:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8177 .loc 1 3519 13 is_stmt 0 view .LVU2700
8178 00c2 636C ldr r3, [r4, #68]
3519:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8179 .loc 1 3519 25 view .LVU2701
8180 00c4 1021 movs r1, #16
8181 00c6 0B43 orrs r3, r1
8182 00c8 6364 str r3, [r4, #68]
3522:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8183 .loc 1 3522 9 is_stmt 1 view .LVU2702
3522:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8184 .loc 1 3522 9 view .LVU2703
8185 00ca 4023 movs r3, #64
8186 00cc E254 strb r2, [r4, r3]
3522:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8187 .loc 1 3522 9 view .LVU2704
3524:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
8188 .loc 1 3524 9 view .LVU2705
3524:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
8189 .loc 1 3524 16 is_stmt 0 view .LVU2706
8190 00ce 0120 movs r0, #1
8191 .LVL582:
3524:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
8192 .loc 1 3524 16 view .LVU2707
8193 00d0 3FE0 b .L472
8194 .LVL583:
8195 .L485:
3406:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
8196 .loc 1 3406 12 view .LVU2708
8197 00d2 234E ldr r6, .L488+4
8198 00d4 D6E7 b .L476
8199 .LVL584:
8200 .L478:
3480:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
8201 .loc 1 3480 9 is_stmt 1 view .LVU2709
3480:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
8202 .loc 1 3480 25 is_stmt 0 view .LVU2710
8203 00d6 4123 movs r3, #65
8204 00d8 2022 movs r2, #32
8205 00da E254 strb r2, [r4, r3]
3481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8206 .loc 1 3481 9 is_stmt 1 view .LVU2711
3481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8207 .loc 1 3481 25 is_stmt 0 view .LVU2712
8208 00dc 0022 movs r2, #0
8209 00de 0133 adds r3, r3, #1
8210 00e0 E254 strb r2, [r4, r3]
3484:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8211 .loc 1 3484 9 is_stmt 1 view .LVU2713
3484:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8212 .loc 1 3484 13 is_stmt 0 view .LVU2714
8213 00e2 636C ldr r3, [r4, #68]
3484:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8214 .loc 1 3484 25 view .LVU2715
8215 00e4 8021 movs r1, #128
8216 00e6 0B43 orrs r3, r1
ARM GAS /tmp/ccuRhBPx.s page 317
8217 00e8 6364 str r3, [r4, #68]
3487:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8218 .loc 1 3487 9 is_stmt 1 view .LVU2716
3487:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8219 .loc 1 3487 9 view .LVU2717
8220 00ea 4023 movs r3, #64
8221 00ec E254 strb r2, [r4, r3]
3487:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8222 .loc 1 3487 9 view .LVU2718
3489:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
8223 .loc 1 3489 9 view .LVU2719
3489:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
8224 .loc 1 3489 16 is_stmt 0 view .LVU2720
8225 00ee 0120 movs r0, #1
8226 00f0 2FE0 b .L472
8227 .LVL585:
8228 .L487:
3495:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8229 .loc 1 3495 9 is_stmt 1 view .LVU2721
3495:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8230 .loc 1 3495 59 is_stmt 0 view .LVU2722
8231 00f2 228D ldrh r2, [r4, #40]
3495:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8232 .loc 1 3495 9 view .LVU2723
8233 00f4 D2B2 uxtb r2, r2
8234 00f6 0096 str r6, [sp]
8235 00f8 3B00 movs r3, r7
8236 00fa 0399 ldr r1, [sp, #12]
8237 00fc 2000 movs r0, r4
8238 .LVL586:
3495:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8239 .loc 1 3495 9 view .LVU2724
8240 00fe FFF7FEFF bl I2C_TransferConfig
8241 .LVL587:
3498:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8242 .loc 1 3498 9 is_stmt 1 view .LVU2725
3498:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8243 .loc 1 3498 13 is_stmt 0 view .LVU2726
8244 0102 638D ldrh r3, [r4, #42]
3498:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8245 .loc 1 3498 32 view .LVU2727
8246 0104 228D ldrh r2, [r4, #40]
3498:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8247 .loc 1 3498 25 view .LVU2728
8248 0106 9B1A subs r3, r3, r2
8249 0108 9BB2 uxth r3, r3
8250 010a 6385 strh r3, [r4, #42]
3501:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8251 .loc 1 3501 9 is_stmt 1 view .LVU2729
3501:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8252 .loc 1 3501 9 view .LVU2730
8253 010c 4023 movs r3, #64
8254 010e 0022 movs r2, #0
8255 0110 E254 strb r2, [r4, r3]
3501:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8256 .loc 1 3501 9 view .LVU2731
3507:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
ARM GAS /tmp/ccuRhBPx.s page 318
8257 .loc 1 3507 9 view .LVU2732
8258 0112 1021 movs r1, #16
8259 0114 2000 movs r0, r4
8260 0116 FFF7FEFF bl I2C_Enable_IRQ
8261 .LVL588:
3510:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
8262 .loc 1 3510 9 view .LVU2733
3510:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
8263 .loc 1 3510 13 is_stmt 0 view .LVU2734
8264 011a 2268 ldr r2, [r4]
3510:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
8265 .loc 1 3510 23 view .LVU2735
8266 011c 1168 ldr r1, [r2]
3510:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
8267 .loc 1 3510 29 view .LVU2736
8268 011e 8023 movs r3, #128
8269 0120 DB01 lsls r3, r3, #7
8270 0122 0B43 orrs r3, r1
8271 0124 1360 str r3, [r2]
8272 0126 11E0 b .L481
8273 .LVL589:
8274 .L477:
3530:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8275 .loc 1 3530 7 is_stmt 1 view .LVU2737
3530:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8276 .loc 1 3530 21 is_stmt 0 view .LVU2738
8277 0128 104B ldr r3, .L488+16
8278 012a 6363 str r3, [r4, #52]
3534:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_GENERATE_START_WRITE);
8279 .loc 1 3534 7 is_stmt 1 view .LVU2739
8280 012c 8023 movs r3, #128
8281 012e D2B2 uxtb r2, r2
8282 0130 0B49 ldr r1, .L488+4
8283 0132 0091 str r1, [sp]
8284 0134 9B04 lsls r3, r3, #18
8285 0136 0399 ldr r1, [sp, #12]
8286 0138 2000 movs r0, r4
8287 013a FFF7FEFF bl I2C_TransferConfig
8288 .LVL590:
3538:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8289 .loc 1 3538 7 view .LVU2740
3538:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8290 .loc 1 3538 7 view .LVU2741
8291 013e 4023 movs r3, #64
8292 0140 0022 movs r2, #0
8293 0142 E254 strb r2, [r4, r3]
3538:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8294 .loc 1 3538 7 view .LVU2742
3547:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
8295 .loc 1 3547 7 view .LVU2743
8296 0144 0121 movs r1, #1
8297 0146 2000 movs r0, r4
8298 0148 FFF7FEFF bl I2C_Enable_IRQ
8299 .LVL591:
8300 .L481:
3550:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
8301 .loc 1 3550 5 view .LVU2744
ARM GAS /tmp/ccuRhBPx.s page 319
3550:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
8302 .loc 1 3550 12 is_stmt 0 view .LVU2745
8303 014c 0020 movs r0, #0
8304 014e 00E0 b .L472
8305 .LVL592:
8306 .L482:
3554:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
8307 .loc 1 3554 12 view .LVU2746
8308 0150 0220 movs r0, #2
8309 .LVL593:
8310 .L472:
3556:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8311 .loc 1 3556 1 view .LVU2747
8312 0152 05B0 add sp, sp, #20
8313 @ sp needed
8314 .LVL594:
8315 .LVL595:
3556:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8316 .loc 1 3556 1 view .LVU2748
8317 0154 F0BD pop {r4, r5, r6, r7, pc}
8318 .LVL596:
8319 .L483:
3415:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8320 .loc 1 3415 5 discriminator 1 view .LVU2749
8321 0156 0220 movs r0, #2
8322 .LVL597:
3415:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8323 .loc 1 3415 5 discriminator 1 view .LVU2750
8324 0158 FBE7 b .L472
8325 .L489:
8326 015a C046 .align 2
8327 .L488:
8328 015c 00000000 .word I2C_Master_ISR_DMA
8329 0160 00200080 .word -2147475456
8330 0164 00000000 .word I2C_DMAMasterTransmitCplt
8331 0168 00000000 .word I2C_DMAError
8332 016c 00000000 .word I2C_Master_ISR_IT
8333 .cfi_endproc
8334 .LFE64:
8336 .section .text.HAL_I2C_Master_Seq_Receive_IT,"ax",%progbits
8337 .align 1
8338 .global HAL_I2C_Master_Seq_Receive_IT
8339 .syntax unified
8340 .code 16
8341 .thumb_func
8343 HAL_I2C_Master_Seq_Receive_IT:
8344 .LVL598:
8345 .LFB65:
3572:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xfermode;
8346 .loc 1 3572 1 is_stmt 1 view -0
8347 .cfi_startproc
8348 @ args = 4, pretend = 0, frame = 0
8349 @ frame_needed = 0, uses_anonymous_args = 0
3572:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xfermode;
8350 .loc 1 3572 1 is_stmt 0 view .LVU2752
8351 0000 70B5 push {r4, r5, r6, lr}
8352 .cfi_def_cfa_offset 16
ARM GAS /tmp/ccuRhBPx.s page 320
8353 .cfi_offset 4, -16
8354 .cfi_offset 5, -12
8355 .cfi_offset 6, -8
8356 .cfi_offset 14, -4
8357 0002 82B0 sub sp, sp, #8
8358 .cfi_def_cfa_offset 24
8359 0004 0400 movs r4, r0
8360 0006 0D00 movs r5, r1
3573:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xferrequest = I2C_GENERATE_START_READ;
8361 .loc 1 3573 3 is_stmt 1 view .LVU2753
3574:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8362 .loc 1 3574 3 view .LVU2754
8363 .LVL599:
3577:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8364 .loc 1 3577 3 view .LVU2755
3579:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8365 .loc 1 3579 3 view .LVU2756
3579:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8366 .loc 1 3579 11 is_stmt 0 view .LVU2757
8367 0008 4121 movs r1, #65
8368 .LVL600:
3579:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8369 .loc 1 3579 11 view .LVU2758
8370 000a 415C ldrb r1, [r0, r1]
3579:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8371 .loc 1 3579 6 view .LVU2759
8372 000c 2029 cmp r1, #32
8373 000e 4AD1 bne .L496
3582:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8374 .loc 1 3582 5 is_stmt 1 view .LVU2760
3582:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8375 .loc 1 3582 5 view .LVU2761
8376 0010 2031 adds r1, r1, #32
8377 0012 415C ldrb r1, [r0, r1]
8378 0014 0129 cmp r1, #1
8379 0016 48D0 beq .L497
3582:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8380 .loc 1 3582 5 discriminator 2 view .LVU2762
8381 0018 4021 movs r1, #64
8382 001a 0120 movs r0, #1
8383 .LVL601:
3582:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8384 .loc 1 3582 5 is_stmt 0 discriminator 2 view .LVU2763
8385 001c 6054 strb r0, [r4, r1]
3582:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8386 .loc 1 3582 5 is_stmt 1 discriminator 2 view .LVU2764
3584:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
8387 .loc 1 3584 5 view .LVU2765
3584:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
8388 .loc 1 3584 21 is_stmt 0 view .LVU2766
8389 001e 0131 adds r1, r1, #1
8390 0020 2130 adds r0, r0, #33
8391 0022 6054 strb r0, [r4, r1]
3585:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
8392 .loc 1 3585 5 is_stmt 1 view .LVU2767
3585:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
8393 .loc 1 3585 21 is_stmt 0 view .LVU2768
ARM GAS /tmp/ccuRhBPx.s page 321
8394 0024 0131 adds r1, r1, #1
8395 0026 1238 subs r0, r0, #18
8396 0028 6054 strb r0, [r4, r1]
3586:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8397 .loc 1 3586 5 is_stmt 1 view .LVU2769
3586:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8398 .loc 1 3586 21 is_stmt 0 view .LVU2770
8399 002a 0021 movs r1, #0
8400 002c 6164 str r1, [r4, #68]
3589:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
8401 .loc 1 3589 5 is_stmt 1 view .LVU2771
3589:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
8402 .loc 1 3589 23 is_stmt 0 view .LVU2772
8403 002e 6262 str r2, [r4, #36]
3590:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
8404 .loc 1 3590 5 is_stmt 1 view .LVU2773
3590:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
8405 .loc 1 3590 23 is_stmt 0 view .LVU2774
8406 0030 6385 strh r3, [r4, #42]
3591:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
8407 .loc 1 3591 5 is_stmt 1 view .LVU2775
3591:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
8408 .loc 1 3591 23 is_stmt 0 view .LVU2776
8409 0032 069B ldr r3, [sp, #24]
8410 .LVL602:
3591:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
8411 .loc 1 3591 23 view .LVU2777
8412 0034 E362 str r3, [r4, #44]
8413 .LVL603:
3592:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8414 .loc 1 3592 5 is_stmt 1 view .LVU2778
3592:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8415 .loc 1 3592 23 is_stmt 0 view .LVU2779
8416 0036 1E4B ldr r3, .L500
8417 0038 6363 str r3, [r4, #52]
3595:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8418 .loc 1 3595 5 is_stmt 1 view .LVU2780
3595:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8419 .loc 1 3595 13 is_stmt 0 view .LVU2781
8420 003a 638D ldrh r3, [r4, #42]
8421 003c 9BB2 uxth r3, r3
3595:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8422 .loc 1 3595 8 view .LVU2782
8423 003e FF2B cmp r3, #255
8424 0040 10D9 bls .L492
3597:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
8425 .loc 1 3597 7 is_stmt 1 view .LVU2783
3597:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
8426 .loc 1 3597 22 is_stmt 0 view .LVU2784
8427 0042 FF23 movs r3, #255
8428 0044 2385 strh r3, [r4, #40]
3598:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
8429 .loc 1 3598 7 is_stmt 1 view .LVU2785
8430 .LVL604:
3598:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
8431 .loc 1 3598 16 is_stmt 0 view .LVU2786
8432 0046 8026 movs r6, #128
ARM GAS /tmp/ccuRhBPx.s page 322
8433 0048 7604 lsls r6, r6, #17
8434 .LVL605:
8435 .L493:
3609:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0))
8436 .loc 1 3609 5 is_stmt 1 view .LVU2787
3609:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0))
8437 .loc 1 3609 14 is_stmt 0 view .LVU2788
8438 004a 236B ldr r3, [r4, #48]
3609:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0))
8439 .loc 1 3609 8 view .LVU2789
8440 004c 122B cmp r3, #18
8441 004e 0DD1 bne .L494
3610:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8442 .loc 1 3610 10 view .LVU2790
8443 0050 069B ldr r3, [sp, #24]
8444 0052 AA2B cmp r3, #170
8445 0054 0AD0 beq .L494
3610:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8446 .loc 1 3610 10 discriminator 2 view .LVU2791
8447 0056 AA23 movs r3, #170
8448 0058 1B02 lsls r3, r3, #8
8449 005a 069A ldr r2, [sp, #24]
8450 .LVL606:
3610:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8451 .loc 1 3610 10 discriminator 2 view .LVU2792
8452 005c 9A42 cmp r2, r3
8453 005e 05D0 beq .L494
3612:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
8454 .loc 1 3612 19 view .LVU2793
8455 0060 0023 movs r3, #0
8456 0062 0CE0 b .L495
8457 .LVL607:
8458 .L492:
3602:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
8459 .loc 1 3602 7 is_stmt 1 view .LVU2794
3602:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
8460 .loc 1 3602 28 is_stmt 0 view .LVU2795
8461 0064 638D ldrh r3, [r4, #42]
3602:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
8462 .loc 1 3602 22 view .LVU2796
8463 0066 2385 strh r3, [r4, #40]
3603:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
8464 .loc 1 3603 7 is_stmt 1 view .LVU2797
3603:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
8465 .loc 1 3603 16 is_stmt 0 view .LVU2798
8466 0068 E66A ldr r6, [r4, #44]
8467 .LVL608:
3603:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
8468 .loc 1 3603 16 view .LVU2799
8469 006a EEE7 b .L493
8470 .LVL609:
8471 .L494:
3617:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8472 .loc 1 3617 7 is_stmt 1 view .LVU2800
8473 006c 2000 movs r0, r4
8474 006e FFF7FEFF bl I2C_ConvertOtherXferOptions
8475 .LVL610:
ARM GAS /tmp/ccuRhBPx.s page 323
3620:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8476 .loc 1 3620 7 view .LVU2801
3620:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8477 .loc 1 3620 15 is_stmt 0 view .LVU2802
8478 0072 638D ldrh r3, [r4, #42]
8479 0074 9BB2 uxth r3, r3
3620:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8480 .loc 1 3620 10 view .LVU2803
8481 0076 FF2B cmp r3, #255
8482 0078 13D8 bhi .L499
3622:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
8483 .loc 1 3622 9 is_stmt 1 view .LVU2804
3622:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
8484 .loc 1 3622 18 is_stmt 0 view .LVU2805
8485 007a E66A ldr r6, [r4, #44]
8486 .LVL611:
3574:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8487 .loc 1 3574 12 view .LVU2806
8488 007c 0D4B ldr r3, .L500+4
8489 .L495:
8490 .LVL612:
3627:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8491 .loc 1 3627 5 is_stmt 1 view .LVU2807
3627:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8492 .loc 1 3627 55 is_stmt 0 view .LVU2808
8493 007e 228D ldrh r2, [r4, #40]
3627:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8494 .loc 1 3627 5 view .LVU2809
8495 0080 D2B2 uxtb r2, r2
8496 0082 0093 str r3, [sp]
8497 0084 3300 movs r3, r6
8498 .LVL613:
3627:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8499 .loc 1 3627 5 view .LVU2810
8500 0086 2900 movs r1, r5
8501 0088 2000 movs r0, r4
8502 008a FFF7FEFF bl I2C_TransferConfig
8503 .LVL614:
3630:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8504 .loc 1 3630 5 is_stmt 1 view .LVU2811
3630:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8505 .loc 1 3630 5 view .LVU2812
8506 008e 4023 movs r3, #64
8507 0090 0022 movs r2, #0
8508 0092 E254 strb r2, [r4, r3]
3630:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8509 .loc 1 3630 5 view .LVU2813
3635:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8510 .loc 1 3635 5 view .LVU2814
8511 0094 0221 movs r1, #2
8512 0096 2000 movs r0, r4
8513 0098 FFF7FEFF bl I2C_Enable_IRQ
8514 .LVL615:
3637:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
8515 .loc 1 3637 5 view .LVU2815
3637:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
8516 .loc 1 3637 12 is_stmt 0 view .LVU2816
ARM GAS /tmp/ccuRhBPx.s page 324
8517 009c 0020 movs r0, #0
8518 .LVL616:
8519 .L491:
3643:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8520 .loc 1 3643 1 view .LVU2817
8521 009e 02B0 add sp, sp, #8
8522 @ sp needed
8523 .LVL617:
8524 .LVL618:
3643:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8525 .loc 1 3643 1 view .LVU2818
8526 00a0 70BD pop {r4, r5, r6, pc}
8527 .LVL619:
8528 .L499:
3574:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8529 .loc 1 3574 12 view .LVU2819
8530 00a2 044B ldr r3, .L500+4
8531 00a4 EBE7 b .L495
8532 .LVL620:
8533 .L496:
3641:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
8534 .loc 1 3641 12 view .LVU2820
8535 00a6 0220 movs r0, #2
8536 .LVL621:
3641:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
8537 .loc 1 3641 12 view .LVU2821
8538 00a8 F9E7 b .L491
8539 .LVL622:
8540 .L497:
3582:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8541 .loc 1 3582 5 discriminator 1 view .LVU2822
8542 00aa 0220 movs r0, #2
8543 .LVL623:
3582:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8544 .loc 1 3582 5 discriminator 1 view .LVU2823
8545 00ac F7E7 b .L491
8546 .L501:
8547 00ae C046 .align 2
8548 .L500:
8549 00b0 00000000 .word I2C_Master_ISR_IT
8550 00b4 00240080 .word -2147474432
8551 .cfi_endproc
8552 .LFE65:
8554 .section .text.HAL_I2C_Master_Seq_Receive_DMA,"ax",%progbits
8555 .align 1
8556 .global HAL_I2C_Master_Seq_Receive_DMA
8557 .syntax unified
8558 .code 16
8559 .thumb_func
8561 HAL_I2C_Master_Seq_Receive_DMA:
8562 .LVL624:
8563 .LFB66:
3659:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xfermode;
8564 .loc 1 3659 1 is_stmt 1 view -0
8565 .cfi_startproc
8566 @ args = 4, pretend = 0, frame = 8
8567 @ frame_needed = 0, uses_anonymous_args = 0
ARM GAS /tmp/ccuRhBPx.s page 325
3659:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xfermode;
8568 .loc 1 3659 1 is_stmt 0 view .LVU2825
8569 0000 F0B5 push {r4, r5, r6, r7, lr}
8570 .cfi_def_cfa_offset 20
8571 .cfi_offset 4, -20
8572 .cfi_offset 5, -16
8573 .cfi_offset 6, -12
8574 .cfi_offset 7, -8
8575 .cfi_offset 14, -4
8576 0002 85B0 sub sp, sp, #20
8577 .cfi_def_cfa_offset 40
8578 0004 0400 movs r4, r0
8579 0006 0391 str r1, [sp, #12]
8580 0008 1500 movs r5, r2
3660:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xferrequest = I2C_GENERATE_START_READ;
8581 .loc 1 3660 3 is_stmt 1 view .LVU2826
3661:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
8582 .loc 1 3661 3 view .LVU2827
8583 .LVL625:
3662:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8584 .loc 1 3662 3 view .LVU2828
3665:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8585 .loc 1 3665 3 view .LVU2829
3667:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8586 .loc 1 3667 3 view .LVU2830
3667:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8587 .loc 1 3667 11 is_stmt 0 view .LVU2831
8588 000a 4122 movs r2, #65
8589 .LVL626:
3667:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8590 .loc 1 3667 11 view .LVU2832
8591 000c 825C ldrb r2, [r0, r2]
3667:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8592 .loc 1 3667 6 view .LVU2833
8593 000e 202A cmp r2, #32
8594 0010 00D0 beq .LCB8169
8595 0012 9DE0 b .L513 @long jump
8596 .LCB8169:
3670:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8597 .loc 1 3670 5 is_stmt 1 view .LVU2834
3670:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8598 .loc 1 3670 5 view .LVU2835
8599 0014 2032 adds r2, r2, #32
8600 0016 825C ldrb r2, [r0, r2]
8601 0018 012A cmp r2, #1
8602 001a 00D1 bne .LCB8175
8603 001c 9BE0 b .L514 @long jump
8604 .LCB8175:
3670:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8605 .loc 1 3670 5 discriminator 2 view .LVU2836
8606 001e 4022 movs r2, #64
8607 0020 0121 movs r1, #1
8608 .LVL627:
3670:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8609 .loc 1 3670 5 is_stmt 0 discriminator 2 view .LVU2837
8610 0022 8154 strb r1, [r0, r2]
3670:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
ARM GAS /tmp/ccuRhBPx.s page 326
8611 .loc 1 3670 5 is_stmt 1 discriminator 2 view .LVU2838
3672:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
8612 .loc 1 3672 5 view .LVU2839
3672:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
8613 .loc 1 3672 21 is_stmt 0 view .LVU2840
8614 0024 0132 adds r2, r2, #1
8615 0026 2131 adds r1, r1, #33
8616 0028 8154 strb r1, [r0, r2]
3673:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
8617 .loc 1 3673 5 is_stmt 1 view .LVU2841
3673:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
8618 .loc 1 3673 21 is_stmt 0 view .LVU2842
8619 002a 0132 adds r2, r2, #1
8620 002c 1239 subs r1, r1, #18
8621 002e 8154 strb r1, [r0, r2]
3674:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8622 .loc 1 3674 5 is_stmt 1 view .LVU2843
3674:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8623 .loc 1 3674 21 is_stmt 0 view .LVU2844
8624 0030 0022 movs r2, #0
8625 0032 4264 str r2, [r0, #68]
3677:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
8626 .loc 1 3677 5 is_stmt 1 view .LVU2845
3677:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
8627 .loc 1 3677 23 is_stmt 0 view .LVU2846
8628 0034 4562 str r5, [r0, #36]
3678:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
8629 .loc 1 3678 5 is_stmt 1 view .LVU2847
3678:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
8630 .loc 1 3678 23 is_stmt 0 view .LVU2848
8631 0036 4385 strh r3, [r0, #42]
3679:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA;
8632 .loc 1 3679 5 is_stmt 1 view .LVU2849
3679:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA;
8633 .loc 1 3679 23 is_stmt 0 view .LVU2850
8634 0038 0A9B ldr r3, [sp, #40]
8635 .LVL628:
3679:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA;
8636 .loc 1 3679 23 view .LVU2851
8637 003a C362 str r3, [r0, #44]
8638 .LVL629:
3680:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8639 .loc 1 3680 5 is_stmt 1 view .LVU2852
3680:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8640 .loc 1 3680 23 is_stmt 0 view .LVU2853
8641 003c 474B ldr r3, .L519
8642 003e 4363 str r3, [r0, #52]
3683:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8643 .loc 1 3683 5 is_stmt 1 view .LVU2854
3683:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8644 .loc 1 3683 13 is_stmt 0 view .LVU2855
8645 0040 438D ldrh r3, [r0, #42]
8646 0042 9BB2 uxth r3, r3
3683:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8647 .loc 1 3683 8 view .LVU2856
8648 0044 FF2B cmp r3, #255
8649 0046 10D9 bls .L504
ARM GAS /tmp/ccuRhBPx.s page 327
3685:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
8650 .loc 1 3685 7 is_stmt 1 view .LVU2857
3685:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
8651 .loc 1 3685 22 is_stmt 0 view .LVU2858
8652 0048 FF23 movs r3, #255
8653 004a 0385 strh r3, [r0, #40]
3686:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
8654 .loc 1 3686 7 is_stmt 1 view .LVU2859
8655 .LVL630:
3686:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
8656 .loc 1 3686 16 is_stmt 0 view .LVU2860
8657 004c 8027 movs r7, #128
8658 004e 7F04 lsls r7, r7, #17
8659 .LVL631:
8660 .L505:
3697:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0))
8661 .loc 1 3697 5 is_stmt 1 view .LVU2861
3697:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0))
8662 .loc 1 3697 14 is_stmt 0 view .LVU2862
8663 0050 236B ldr r3, [r4, #48]
3697:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0))
8664 .loc 1 3697 8 view .LVU2863
8665 0052 122B cmp r3, #18
8666 0054 0DD1 bne .L506
3698:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8667 .loc 1 3698 10 view .LVU2864
8668 0056 0A9B ldr r3, [sp, #40]
8669 0058 AA2B cmp r3, #170
8670 005a 0AD0 beq .L506
3698:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8671 .loc 1 3698 10 discriminator 2 view .LVU2865
8672 005c AA23 movs r3, #170
8673 005e 1B02 lsls r3, r3, #8
8674 0060 0A9A ldr r2, [sp, #40]
8675 0062 9A42 cmp r2, r3
8676 0064 05D0 beq .L506
3700:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
8677 .loc 1 3700 19 view .LVU2866
8678 0066 0026 movs r6, #0
8679 0068 0CE0 b .L507
8680 .LVL632:
8681 .L504:
3690:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
8682 .loc 1 3690 7 is_stmt 1 view .LVU2867
3690:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
8683 .loc 1 3690 28 is_stmt 0 view .LVU2868
8684 006a 438D ldrh r3, [r0, #42]
3690:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
8685 .loc 1 3690 22 view .LVU2869
8686 006c 0385 strh r3, [r0, #40]
3691:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
8687 .loc 1 3691 7 is_stmt 1 view .LVU2870
3691:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
8688 .loc 1 3691 16 is_stmt 0 view .LVU2871
8689 006e C76A ldr r7, [r0, #44]
8690 .LVL633:
3691:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
ARM GAS /tmp/ccuRhBPx.s page 328
8691 .loc 1 3691 16 view .LVU2872
8692 0070 EEE7 b .L505
8693 .L506:
3705:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8694 .loc 1 3705 7 is_stmt 1 view .LVU2873
8695 0072 2000 movs r0, r4
8696 .LVL634:
3705:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8697 .loc 1 3705 7 is_stmt 0 view .LVU2874
8698 0074 FFF7FEFF bl I2C_ConvertOtherXferOptions
8699 .LVL635:
3708:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8700 .loc 1 3708 7 is_stmt 1 view .LVU2875
3708:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8701 .loc 1 3708 15 is_stmt 0 view .LVU2876
8702 0078 638D ldrh r3, [r4, #42]
8703 007a 9BB2 uxth r3, r3
3708:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8704 .loc 1 3708 10 view .LVU2877
8705 007c FF2B cmp r3, #255
8706 007e 28D8 bhi .L516
3710:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
8707 .loc 1 3710 9 is_stmt 1 view .LVU2878
3710:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
8708 .loc 1 3710 18 is_stmt 0 view .LVU2879
8709 0080 E76A ldr r7, [r4, #44]
8710 .LVL636:
3661:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
8711 .loc 1 3661 12 view .LVU2880
8712 0082 374E ldr r6, .L519+4
8713 .L507:
8714 .LVL637:
3714:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8715 .loc 1 3714 5 is_stmt 1 view .LVU2881
3714:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8716 .loc 1 3714 13 is_stmt 0 view .LVU2882
8717 0084 228D ldrh r2, [r4, #40]
3714:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8718 .loc 1 3714 8 view .LVU2883
8719 0086 002A cmp r2, #0
8720 0088 4ED0 beq .L508
3716:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8721 .loc 1 3716 7 is_stmt 1 view .LVU2884
3716:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8722 .loc 1 3716 15 is_stmt 0 view .LVU2885
8723 008a E36B ldr r3, [r4, #60]
3716:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8724 .loc 1 3716 10 view .LVU2886
8725 008c 002B cmp r3, #0
8726 008e 22D0 beq .L509
3719:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8727 .loc 1 3719 9 is_stmt 1 view .LVU2887
3719:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8728 .loc 1 3719 40 is_stmt 0 view .LVU2888
8729 0090 344A ldr r2, .L519+8
8730 0092 9A62 str r2, [r3, #40]
3722:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
ARM GAS /tmp/ccuRhBPx.s page 329
8731 .loc 1 3722 9 is_stmt 1 view .LVU2889
3722:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8732 .loc 1 3722 13 is_stmt 0 view .LVU2890
8733 0094 E36B ldr r3, [r4, #60]
3722:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8734 .loc 1 3722 41 view .LVU2891
8735 0096 344A ldr r2, .L519+12
8736 0098 1A63 str r2, [r3, #48]
3725:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
8737 .loc 1 3725 9 is_stmt 1 view .LVU2892
3725:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
8738 .loc 1 3725 13 is_stmt 0 view .LVU2893
8739 009a E26B ldr r2, [r4, #60]
3725:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
8740 .loc 1 3725 44 view .LVU2894
8741 009c 0023 movs r3, #0
8742 009e D362 str r3, [r2, #44]
3726:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8743 .loc 1 3726 9 is_stmt 1 view .LVU2895
3726:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8744 .loc 1 3726 13 is_stmt 0 view .LVU2896
8745 00a0 E26B ldr r2, [r4, #60]
3726:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8746 .loc 1 3726 41 view .LVU2897
8747 00a2 5363 str r3, [r2, #52]
3729:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize);
8748 .loc 1 3729 9 is_stmt 1 view .LVU2898
3729:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize);
8749 .loc 1 3729 71 is_stmt 0 view .LVU2899
8750 00a4 2168 ldr r1, [r4]
3729:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize);
8751 .loc 1 3729 66 view .LVU2900
8752 00a6 2431 adds r1, r1, #36
3730:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
8753 .loc 1 3730 46 view .LVU2901
8754 00a8 238D ldrh r3, [r4, #40]
3729:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize);
8755 .loc 1 3729 25 view .LVU2902
8756 00aa E06B ldr r0, [r4, #60]
8757 00ac 2A00 movs r2, r5
8758 00ae FFF7FEFF bl HAL_DMA_Start_IT
8759 .LVL638:
3747:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8760 .loc 1 3747 7 is_stmt 1 view .LVU2903
3747:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8761 .loc 1 3747 10 is_stmt 0 view .LVU2904
8762 00b2 0028 cmp r0, #0
8763 00b4 1DD0 beq .L518
3770:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
8764 .loc 1 3770 9 is_stmt 1 view .LVU2905
3770:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
8765 .loc 1 3770 25 is_stmt 0 view .LVU2906
8766 00b6 4123 movs r3, #65
8767 00b8 2022 movs r2, #32
8768 00ba E254 strb r2, [r4, r3]
3771:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8769 .loc 1 3771 9 is_stmt 1 view .LVU2907
ARM GAS /tmp/ccuRhBPx.s page 330
3771:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8770 .loc 1 3771 25 is_stmt 0 view .LVU2908
8771 00bc 0022 movs r2, #0
8772 00be 0133 adds r3, r3, #1
8773 00c0 E254 strb r2, [r4, r3]
3774:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8774 .loc 1 3774 9 is_stmt 1 view .LVU2909
3774:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8775 .loc 1 3774 13 is_stmt 0 view .LVU2910
8776 00c2 636C ldr r3, [r4, #68]
3774:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8777 .loc 1 3774 25 view .LVU2911
8778 00c4 1021 movs r1, #16
8779 00c6 0B43 orrs r3, r1
8780 00c8 6364 str r3, [r4, #68]
3777:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8781 .loc 1 3777 9 is_stmt 1 view .LVU2912
3777:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8782 .loc 1 3777 9 view .LVU2913
8783 00ca 4023 movs r3, #64
8784 00cc E254 strb r2, [r4, r3]
3777:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8785 .loc 1 3777 9 view .LVU2914
3779:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
8786 .loc 1 3779 9 view .LVU2915
3779:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
8787 .loc 1 3779 16 is_stmt 0 view .LVU2916
8788 00ce 0120 movs r0, #1
8789 .LVL639:
3779:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
8790 .loc 1 3779 16 view .LVU2917
8791 00d0 3FE0 b .L503
8792 .LVL640:
8793 .L516:
3661:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
8794 .loc 1 3661 12 view .LVU2918
8795 00d2 234E ldr r6, .L519+4
8796 00d4 D6E7 b .L507
8797 .LVL641:
8798 .L509:
3735:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
8799 .loc 1 3735 9 is_stmt 1 view .LVU2919
3735:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
8800 .loc 1 3735 25 is_stmt 0 view .LVU2920
8801 00d6 4123 movs r3, #65
8802 00d8 2022 movs r2, #32
8803 00da E254 strb r2, [r4, r3]
3736:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8804 .loc 1 3736 9 is_stmt 1 view .LVU2921
3736:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8805 .loc 1 3736 25 is_stmt 0 view .LVU2922
8806 00dc 0022 movs r2, #0
8807 00de 0133 adds r3, r3, #1
8808 00e0 E254 strb r2, [r4, r3]
3739:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8809 .loc 1 3739 9 is_stmt 1 view .LVU2923
3739:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
ARM GAS /tmp/ccuRhBPx.s page 331
8810 .loc 1 3739 13 is_stmt 0 view .LVU2924
8811 00e2 636C ldr r3, [r4, #68]
3739:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8812 .loc 1 3739 25 view .LVU2925
8813 00e4 8021 movs r1, #128
8814 00e6 0B43 orrs r3, r1
8815 00e8 6364 str r3, [r4, #68]
3742:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8816 .loc 1 3742 9 is_stmt 1 view .LVU2926
3742:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8817 .loc 1 3742 9 view .LVU2927
8818 00ea 4023 movs r3, #64
8819 00ec E254 strb r2, [r4, r3]
3742:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8820 .loc 1 3742 9 view .LVU2928
3744:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
8821 .loc 1 3744 9 view .LVU2929
3744:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
8822 .loc 1 3744 16 is_stmt 0 view .LVU2930
8823 00ee 0120 movs r0, #1
8824 00f0 2FE0 b .L503
8825 .LVL642:
8826 .L518:
3750:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8827 .loc 1 3750 9 is_stmt 1 view .LVU2931
3750:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8828 .loc 1 3750 59 is_stmt 0 view .LVU2932
8829 00f2 228D ldrh r2, [r4, #40]
3750:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8830 .loc 1 3750 9 view .LVU2933
8831 00f4 D2B2 uxtb r2, r2
8832 00f6 0096 str r6, [sp]
8833 00f8 3B00 movs r3, r7
8834 00fa 0399 ldr r1, [sp, #12]
8835 00fc 2000 movs r0, r4
8836 .LVL643:
3750:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8837 .loc 1 3750 9 view .LVU2934
8838 00fe FFF7FEFF bl I2C_TransferConfig
8839 .LVL644:
3753:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8840 .loc 1 3753 9 is_stmt 1 view .LVU2935
3753:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8841 .loc 1 3753 13 is_stmt 0 view .LVU2936
8842 0102 638D ldrh r3, [r4, #42]
3753:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8843 .loc 1 3753 32 view .LVU2937
8844 0104 228D ldrh r2, [r4, #40]
3753:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8845 .loc 1 3753 25 view .LVU2938
8846 0106 9B1A subs r3, r3, r2
8847 0108 9BB2 uxth r3, r3
8848 010a 6385 strh r3, [r4, #42]
3756:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8849 .loc 1 3756 9 is_stmt 1 view .LVU2939
3756:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8850 .loc 1 3756 9 view .LVU2940
ARM GAS /tmp/ccuRhBPx.s page 332
8851 010c 4023 movs r3, #64
8852 010e 0022 movs r2, #0
8853 0110 E254 strb r2, [r4, r3]
3756:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8854 .loc 1 3756 9 view .LVU2941
3762:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8855 .loc 1 3762 9 view .LVU2942
8856 0112 1021 movs r1, #16
8857 0114 2000 movs r0, r4
8858 0116 FFF7FEFF bl I2C_Enable_IRQ
8859 .LVL645:
3765:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
8860 .loc 1 3765 9 view .LVU2943
3765:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
8861 .loc 1 3765 13 is_stmt 0 view .LVU2944
8862 011a 2268 ldr r2, [r4]
3765:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
8863 .loc 1 3765 23 view .LVU2945
8864 011c 1168 ldr r1, [r2]
3765:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
8865 .loc 1 3765 29 view .LVU2946
8866 011e 8023 movs r3, #128
8867 0120 1B02 lsls r3, r3, #8
8868 0122 0B43 orrs r3, r1
8869 0124 1360 str r3, [r2]
8870 0126 11E0 b .L512
8871 .LVL646:
8872 .L508:
3785:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8873 .loc 1 3785 7 is_stmt 1 view .LVU2947
3785:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8874 .loc 1 3785 21 is_stmt 0 view .LVU2948
8875 0128 104B ldr r3, .L519+16
8876 012a 6363 str r3, [r4, #52]
3789:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_GENERATE_START_READ);
8877 .loc 1 3789 7 is_stmt 1 view .LVU2949
8878 012c 8023 movs r3, #128
8879 012e D2B2 uxtb r2, r2
8880 0130 0B49 ldr r1, .L519+4
8881 0132 0091 str r1, [sp]
8882 0134 9B04 lsls r3, r3, #18
8883 0136 0399 ldr r1, [sp, #12]
8884 0138 2000 movs r0, r4
8885 013a FFF7FEFF bl I2C_TransferConfig
8886 .LVL647:
3793:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8887 .loc 1 3793 7 view .LVU2950
3793:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8888 .loc 1 3793 7 view .LVU2951
8889 013e 4023 movs r3, #64
8890 0140 0022 movs r2, #0
8891 0142 E254 strb r2, [r4, r3]
3793:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8892 .loc 1 3793 7 view .LVU2952
3802:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
8893 .loc 1 3802 7 view .LVU2953
8894 0144 0121 movs r1, #1
ARM GAS /tmp/ccuRhBPx.s page 333
8895 0146 2000 movs r0, r4
8896 0148 FFF7FEFF bl I2C_Enable_IRQ
8897 .LVL648:
8898 .L512:
3805:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
8899 .loc 1 3805 5 view .LVU2954
3805:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
8900 .loc 1 3805 12 is_stmt 0 view .LVU2955
8901 014c 0020 movs r0, #0
8902 014e 00E0 b .L503
8903 .LVL649:
8904 .L513:
3809:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
8905 .loc 1 3809 12 view .LVU2956
8906 0150 0220 movs r0, #2
8907 .LVL650:
8908 .L503:
3811:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8909 .loc 1 3811 1 view .LVU2957
8910 0152 05B0 add sp, sp, #20
8911 @ sp needed
8912 .LVL651:
8913 .LVL652:
3811:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8914 .loc 1 3811 1 view .LVU2958
8915 0154 F0BD pop {r4, r5, r6, r7, pc}
8916 .LVL653:
8917 .L514:
3670:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8918 .loc 1 3670 5 discriminator 1 view .LVU2959
8919 0156 0220 movs r0, #2
8920 .LVL654:
3670:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8921 .loc 1 3670 5 discriminator 1 view .LVU2960
8922 0158 FBE7 b .L503
8923 .L520:
8924 015a C046 .align 2
8925 .L519:
8926 015c 00000000 .word I2C_Master_ISR_DMA
8927 0160 00240080 .word -2147474432
8928 0164 00000000 .word I2C_DMAMasterReceiveCplt
8929 0168 00000000 .word I2C_DMAError
8930 016c 00000000 .word I2C_Master_ISR_IT
8931 .cfi_endproc
8932 .LFE66:
8934 .section .text.HAL_I2C_Slave_Seq_Transmit_IT,"ax",%progbits
8935 .align 1
8936 .global HAL_I2C_Slave_Seq_Transmit_IT
8937 .syntax unified
8938 .code 16
8939 .thumb_func
8941 HAL_I2C_Slave_Seq_Transmit_IT:
8942 .LVL655:
8943 .LFB67:
3825:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Declaration of tmp to prevent undefined behavior of volatile usage */
8944 .loc 1 3825 1 is_stmt 1 view -0
8945 .cfi_startproc
ARM GAS /tmp/ccuRhBPx.s page 334
8946 @ args = 0, pretend = 0, frame = 0
8947 @ frame_needed = 0, uses_anonymous_args = 0
3825:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Declaration of tmp to prevent undefined behavior of volatile usage */
8948 .loc 1 3825 1 is_stmt 0 view .LVU2962
8949 0000 F8B5 push {r3, r4, r5, r6, r7, lr}
8950 .cfi_def_cfa_offset 24
8951 .cfi_offset 3, -24
8952 .cfi_offset 4, -20
8953 .cfi_offset 5, -16
8954 .cfi_offset 6, -12
8955 .cfi_offset 7, -8
8956 .cfi_offset 14, -4
8957 0002 0400 movs r4, r0
8958 0004 0D00 movs r5, r1
8959 0006 1600 movs r6, r2
8960 0008 1F00 movs r7, r3
3827:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8961 .loc 1 3827 3 is_stmt 1 view .LVU2963
3830:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8962 .loc 1 3830 3 view .LVU2964
3832:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8963 .loc 1 3832 3 view .LVU2965
3832:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8964 .loc 1 3832 22 is_stmt 0 view .LVU2966
8965 000a 4123 movs r3, #65
8966 .LVL656:
3832:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8967 .loc 1 3832 22 view .LVU2967
8968 000c C35C ldrb r3, [r0, r3]
3832:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8969 .loc 1 3832 6 view .LVU2968
8970 000e 2822 movs r2, #40
8971 .LVL657:
3832:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8972 .loc 1 3832 6 view .LVU2969
8973 0010 1340 ands r3, r2
8974 0012 282B cmp r3, #40
8975 0014 58D1 bne .L527
3834:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8976 .loc 1 3834 5 is_stmt 1 view .LVU2970
3834:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8977 .loc 1 3834 8 is_stmt 0 view .LVU2971
8978 0016 0029 cmp r1, #0
8979 0018 01D0 beq .L523
3834:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
8980 .loc 1 3834 25 discriminator 1 view .LVU2972
8981 001a 002E cmp r6, #0
8982 001c 04D1 bne .L524
8983 .L523:
3836:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
8984 .loc 1 3836 7 is_stmt 1 view .LVU2973
3836:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
8985 .loc 1 3836 23 is_stmt 0 view .LVU2974
8986 001e 8023 movs r3, #128
8987 0020 9B00 lsls r3, r3, #2
8988 0022 6364 str r3, [r4, #68]
3837:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
ARM GAS /tmp/ccuRhBPx.s page 335
8989 .loc 1 3837 7 is_stmt 1 view .LVU2975
3837:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
8990 .loc 1 3837 15 is_stmt 0 view .LVU2976
8991 0024 0120 movs r0, #1
8992 .LVL658:
3837:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
8993 .loc 1 3837 15 view .LVU2977
8994 0026 50E0 b .L522
8995 .LVL659:
8996 .L524:
3841:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
8997 .loc 1 3841 5 is_stmt 1 view .LVU2978
8998 0028 2949 ldr r1, .L532
8999 .LVL660:
3841:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9000 .loc 1 3841 5 is_stmt 0 view .LVU2979
9001 002a FFF7FEFF bl I2C_Disable_IRQ
9002 .LVL661:
3844:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9003 .loc 1 3844 5 is_stmt 1 view .LVU2980
3844:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9004 .loc 1 3844 5 view .LVU2981
9005 002e 4023 movs r3, #64
9006 0030 E35C ldrb r3, [r4, r3]
9007 0032 012B cmp r3, #1
9008 0034 4AD0 beq .L528
3844:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9009 .loc 1 3844 5 discriminator 2 view .LVU2982
9010 0036 4023 movs r3, #64
9011 0038 0122 movs r2, #1
9012 003a E254 strb r2, [r4, r3]
3844:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9013 .loc 1 3844 5 discriminator 2 view .LVU2983
3848:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9014 .loc 1 3848 5 view .LVU2984
3848:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9015 .loc 1 3848 13 is_stmt 0 view .LVU2985
9016 003c 0133 adds r3, r3, #1
9017 003e E35C ldrb r3, [r4, r3]
3848:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9018 .loc 1 3848 8 view .LVU2986
9019 0040 2A2B cmp r3, #42
9020 0042 27D0 beq .L531
9021 .L525:
3874:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
9022 .loc 1 3874 5 is_stmt 1 view .LVU2987
3874:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
9023 .loc 1 3874 21 is_stmt 0 view .LVU2988
9024 0044 4123 movs r3, #65
9025 0046 2922 movs r2, #41
9026 0048 E254 strb r2, [r4, r3]
3875:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
9027 .loc 1 3875 5 is_stmt 1 view .LVU2989
3875:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
9028 .loc 1 3875 21 is_stmt 0 view .LVU2990
9029 004a 0133 adds r3, r3, #1
9030 004c 093A subs r2, r2, #9
ARM GAS /tmp/ccuRhBPx.s page 336
9031 004e E254 strb r2, [r4, r3]
3876:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9032 .loc 1 3876 5 is_stmt 1 view .LVU2991
3876:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9033 .loc 1 3876 21 is_stmt 0 view .LVU2992
9034 0050 0023 movs r3, #0
9035 0052 6364 str r3, [r4, #68]
3879:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9036 .loc 1 3879 5 is_stmt 1 view .LVU2993
3879:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9037 .loc 1 3879 9 is_stmt 0 view .LVU2994
9038 0054 2268 ldr r2, [r4]
3879:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9039 .loc 1 3879 19 view .LVU2995
9040 0056 5368 ldr r3, [r2, #4]
3879:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9041 .loc 1 3879 25 view .LVU2996
9042 0058 1E49 ldr r1, .L532+4
9043 005a 0B40 ands r3, r1
9044 005c 5360 str r3, [r2, #4]
3882:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
9045 .loc 1 3882 5 is_stmt 1 view .LVU2997
3882:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
9046 .loc 1 3882 23 is_stmt 0 view .LVU2998
9047 005e 6562 str r5, [r4, #36]
3883:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
9048 .loc 1 3883 5 is_stmt 1 view .LVU2999
3883:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
9049 .loc 1 3883 23 is_stmt 0 view .LVU3000
9050 0060 6685 strh r6, [r4, #42]
3884:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
9051 .loc 1 3884 5 is_stmt 1 view .LVU3001
3884:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
9052 .loc 1 3884 29 is_stmt 0 view .LVU3002
9053 0062 638D ldrh r3, [r4, #42]
3884:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
9054 .loc 1 3884 23 view .LVU3003
9055 0064 2385 strh r3, [r4, #40]
3885:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
9056 .loc 1 3885 5 is_stmt 1 view .LVU3004
3885:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
9057 .loc 1 3885 23 is_stmt 0 view .LVU3005
9058 0066 E762 str r7, [r4, #44]
3886:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9059 .loc 1 3886 5 is_stmt 1 view .LVU3006
3886:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9060 .loc 1 3886 23 is_stmt 0 view .LVU3007
9061 0068 1B4B ldr r3, .L532+8
9062 006a 6363 str r3, [r4, #52]
3888:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((I2C_GET_DIR(hi2c) == I2C_DIRECTION_RECEIVE) && (tmp != RESET))
9063 .loc 1 3888 5 is_stmt 1 view .LVU3008
3888:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((I2C_GET_DIR(hi2c) == I2C_DIRECTION_RECEIVE) && (tmp != RESET))
9064 .loc 1 3888 11 is_stmt 0 view .LVU3009
9065 006c 2268 ldr r2, [r4]
9066 006e 9169 ldr r1, [r2, #24]
9067 0070 0823 movs r3, #8
9068 0072 0B40 ands r3, r1
ARM GAS /tmp/ccuRhBPx.s page 337
9069 .LVL662:
3889:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9070 .loc 1 3889 5 is_stmt 1 view .LVU3010
3889:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9071 .loc 1 3889 10 is_stmt 0 view .LVU3011
9072 0074 9169 ldr r1, [r2, #24]
3889:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9073 .loc 1 3889 8 view .LVU3012
9074 0076 C903 lsls r1, r1, #15
9075 0078 03D5 bpl .L526
3889:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9076 .loc 1 3889 54 discriminator 1 view .LVU3013
9077 007a 002B cmp r3, #0
9078 007c 01D0 beq .L526
3893:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
9079 .loc 1 3893 7 is_stmt 1 view .LVU3014
9080 007e 0823 movs r3, #8
9081 .LVL663:
3893:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
9082 .loc 1 3893 7 is_stmt 0 view .LVU3015
9083 0080 D361 str r3, [r2, #28]
9084 .L526:
3897:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9085 .loc 1 3897 5 is_stmt 1 view .LVU3016
3897:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9086 .loc 1 3897 5 view .LVU3017
9087 0082 4023 movs r3, #64
9088 0084 0022 movs r2, #0
9089 0086 E254 strb r2, [r4, r3]
3897:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9090 .loc 1 3897 5 view .LVU3018
3903:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9091 .loc 1 3903 5 view .LVU3019
9092 0088 1149 ldr r1, .L532
9093 008a 2000 movs r0, r4
9094 008c FFF7FEFF bl I2C_Enable_IRQ
9095 .LVL664:
3905:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
9096 .loc 1 3905 5 view .LVU3020
3905:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
9097 .loc 1 3905 12 is_stmt 0 view .LVU3021
9098 0090 0020 movs r0, #0
9099 0092 1AE0 b .L522
9100 .LVL665:
9101 .L531:
3851:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9102 .loc 1 3851 7 is_stmt 1 view .LVU3022
9103 0094 0221 movs r1, #2
9104 0096 2000 movs r0, r4
9105 0098 FFF7FEFF bl I2C_Disable_IRQ
9106 .LVL666:
3854:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9107 .loc 1 3854 7 view .LVU3023
3854:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9108 .loc 1 3854 16 is_stmt 0 view .LVU3024
9109 009c 2268 ldr r2, [r4]
3854:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
ARM GAS /tmp/ccuRhBPx.s page 338
9110 .loc 1 3854 26 view .LVU3025
9111 009e 1368 ldr r3, [r2]
3854:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9112 .loc 1 3854 10 view .LVU3026
9113 00a0 1B04 lsls r3, r3, #16
9114 00a2 CFD5 bpl .L525
3856:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9115 .loc 1 3856 9 is_stmt 1 view .LVU3027
3856:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9116 .loc 1 3856 23 is_stmt 0 view .LVU3028
9117 00a4 1368 ldr r3, [r2]
3856:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9118 .loc 1 3856 29 view .LVU3029
9119 00a6 0B49 ldr r1, .L532+4
9120 00a8 0B40 ands r3, r1
9121 00aa 1360 str r3, [r2]
3858:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9122 .loc 1 3858 9 is_stmt 1 view .LVU3030
3858:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9123 .loc 1 3858 17 is_stmt 0 view .LVU3031
9124 00ac E36B ldr r3, [r4, #60]
3858:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9125 .loc 1 3858 12 view .LVU3032
9126 00ae 002B cmp r3, #0
9127 00b0 C8D0 beq .L525
3862:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9128 .loc 1 3862 11 is_stmt 1 view .LVU3033
3862:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9129 .loc 1 3862 43 is_stmt 0 view .LVU3034
9130 00b2 0A4A ldr r2, .L532+12
9131 00b4 5A63 str r2, [r3, #52]
3865:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9132 .loc 1 3865 11 is_stmt 1 view .LVU3035
3865:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9133 .loc 1 3865 15 is_stmt 0 view .LVU3036
9134 00b6 E06B ldr r0, [r4, #60]
9135 00b8 FFF7FEFF bl HAL_DMA_Abort_IT
9136 .LVL667:
3865:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9137 .loc 1 3865 14 discriminator 1 view .LVU3037
9138 00bc 0028 cmp r0, #0
9139 00be C1D0 beq .L525
3868:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
9140 .loc 1 3868 13 is_stmt 1 view .LVU3038
3868:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
9141 .loc 1 3868 17 is_stmt 0 view .LVU3039
9142 00c0 E06B ldr r0, [r4, #60]
3868:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
9143 .loc 1 3868 25 view .LVU3040
9144 00c2 436B ldr r3, [r0, #52]
3868:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
9145 .loc 1 3868 13 view .LVU3041
9146 00c4 9847 blx r3
9147 .LVL668:
9148 00c6 BDE7 b .L525
9149 .LVL669:
9150 .L527:
ARM GAS /tmp/ccuRhBPx.s page 339
3909:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
9151 .loc 1 3909 12 view .LVU3042
9152 00c8 0120 movs r0, #1
9153 .LVL670:
9154 .L522:
3911:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9155 .loc 1 3911 1 view .LVU3043
9156 @ sp needed
9157 .LVL671:
9158 .LVL672:
9159 .LVL673:
9160 .LVL674:
3911:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9161 .loc 1 3911 1 view .LVU3044
9162 00ca F8BD pop {r3, r4, r5, r6, r7, pc}
9163 .LVL675:
9164 .L528:
3844:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9165 .loc 1 3844 5 discriminator 1 view .LVU3045
9166 00cc 0220 movs r0, #2
9167 00ce FCE7 b .L522
9168 .L533:
9169 .align 2
9170 .L532:
9171 00d0 01800000 .word 32769
9172 00d4 FF7FFFFF .word -32769
9173 00d8 00000000 .word I2C_Slave_ISR_IT
9174 00dc 00000000 .word I2C_DMAAbort
9175 .cfi_endproc
9176 .LFE67:
9178 .section .text.HAL_I2C_Slave_Seq_Transmit_DMA,"ax",%progbits
9179 .align 1
9180 .global HAL_I2C_Slave_Seq_Transmit_DMA
9181 .syntax unified
9182 .code 16
9183 .thumb_func
9185 HAL_I2C_Slave_Seq_Transmit_DMA:
9186 .LVL676:
9187 .LFB68:
3925:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Declaration of tmp to prevent undefined behavior of volatile usage */
9188 .loc 1 3925 1 is_stmt 1 view -0
9189 .cfi_startproc
9190 @ args = 0, pretend = 0, frame = 0
9191 @ frame_needed = 0, uses_anonymous_args = 0
3925:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Declaration of tmp to prevent undefined behavior of volatile usage */
9192 .loc 1 3925 1 is_stmt 0 view .LVU3047
9193 0000 F8B5 push {r3, r4, r5, r6, r7, lr}
9194 .cfi_def_cfa_offset 24
9195 .cfi_offset 3, -24
9196 .cfi_offset 4, -20
9197 .cfi_offset 5, -16
9198 .cfi_offset 6, -12
9199 .cfi_offset 7, -8
9200 .cfi_offset 14, -4
9201 0002 0400 movs r4, r0
9202 0004 0F00 movs r7, r1
9203 0006 1500 movs r5, r2
ARM GAS /tmp/ccuRhBPx.s page 340
9204 0008 1E00 movs r6, r3
3927:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
9205 .loc 1 3927 3 is_stmt 1 view .LVU3048
3928:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9206 .loc 1 3928 3 view .LVU3049
3931:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9207 .loc 1 3931 3 view .LVU3050
3933:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9208 .loc 1 3933 3 view .LVU3051
3933:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9209 .loc 1 3933 22 is_stmt 0 view .LVU3052
9210 000a 4123 movs r3, #65
9211 .LVL677:
3933:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9212 .loc 1 3933 22 view .LVU3053
9213 000c C05C ldrb r0, [r0, r3]
9214 .LVL678:
3933:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9215 .loc 1 3933 6 view .LVU3054
9216 000e 193B subs r3, r3, #25
9217 0010 1840 ands r0, r3
9218 0012 2828 cmp r0, #40
9219 0014 00D0 beq .LCB8752
9220 0016 B5E0 b .L545 @long jump
9221 .LCB8752:
3935:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9222 .loc 1 3935 5 is_stmt 1 view .LVU3055
3935:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9223 .loc 1 3935 8 is_stmt 0 view .LVU3056
9224 0018 0029 cmp r1, #0
9225 001a 4DD0 beq .L536
3935:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9226 .loc 1 3935 25 discriminator 1 view .LVU3057
9227 001c 002A cmp r2, #0
9228 001e 4BD0 beq .L536
3942:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9229 .loc 1 3942 5 is_stmt 1 view .LVU3058
3942:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9230 .loc 1 3942 5 view .LVU3059
9231 0020 4023 movs r3, #64
9232 0022 E35C ldrb r3, [r4, r3]
9233 0024 012B cmp r3, #1
9234 0026 00D1 bne .LCB8763
9235 0028 AFE0 b .L546 @long jump
9236 .LCB8763:
3942:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9237 .loc 1 3942 5 discriminator 2 view .LVU3060
9238 002a 4023 movs r3, #64
9239 002c 0122 movs r2, #1
9240 .LVL679:
3942:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9241 .loc 1 3942 5 is_stmt 0 discriminator 2 view .LVU3061
9242 002e E254 strb r2, [r4, r3]
3942:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9243 .loc 1 3942 5 is_stmt 1 discriminator 2 view .LVU3062
3945:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9244 .loc 1 3945 5 view .LVU3063
ARM GAS /tmp/ccuRhBPx.s page 341
9245 0030 5749 ldr r1, .L552
9246 .LVL680:
3945:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9247 .loc 1 3945 5 is_stmt 0 view .LVU3064
9248 0032 2000 movs r0, r4
9249 0034 FFF7FEFF bl I2C_Disable_IRQ
9250 .LVL681:
3949:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9251 .loc 1 3949 5 is_stmt 1 view .LVU3065
3949:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9252 .loc 1 3949 13 is_stmt 0 view .LVU3066
9253 0038 4123 movs r3, #65
9254 003a E35C ldrb r3, [r4, r3]
3949:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9255 .loc 1 3949 8 view .LVU3067
9256 003c 2A2B cmp r3, #42
9257 003e 40D0 beq .L550
3974:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9258 .loc 1 3974 10 is_stmt 1 view .LVU3068
3974:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9259 .loc 1 3974 18 is_stmt 0 view .LVU3069
9260 0040 4123 movs r3, #65
9261 0042 E35C ldrb r3, [r4, r3]
3974:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9262 .loc 1 3974 13 view .LVU3070
9263 0044 292B cmp r3, #41
9264 0046 57D0 beq .L551
9265 .L539:
3999:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9266 .loc 1 3999 5 is_stmt 1 view .LVU3071
4001:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
9267 .loc 1 4001 5 view .LVU3072
4001:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
9268 .loc 1 4001 21 is_stmt 0 view .LVU3073
9269 0048 4123 movs r3, #65
9270 004a 2922 movs r2, #41
9271 004c E254 strb r2, [r4, r3]
4002:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
9272 .loc 1 4002 5 is_stmt 1 view .LVU3074
4002:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
9273 .loc 1 4002 21 is_stmt 0 view .LVU3075
9274 004e 0133 adds r3, r3, #1
9275 0050 093A subs r2, r2, #9
9276 0052 E254 strb r2, [r4, r3]
4003:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9277 .loc 1 4003 5 is_stmt 1 view .LVU3076
4003:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9278 .loc 1 4003 21 is_stmt 0 view .LVU3077
9279 0054 0023 movs r3, #0
9280 0056 6364 str r3, [r4, #68]
4006:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9281 .loc 1 4006 5 is_stmt 1 view .LVU3078
4006:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9282 .loc 1 4006 9 is_stmt 0 view .LVU3079
9283 0058 2268 ldr r2, [r4]
4006:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9284 .loc 1 4006 19 view .LVU3080
ARM GAS /tmp/ccuRhBPx.s page 342
9285 005a 5368 ldr r3, [r2, #4]
4006:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9286 .loc 1 4006 25 view .LVU3081
9287 005c 4D49 ldr r1, .L552+4
9288 005e 0B40 ands r3, r1
9289 0060 5360 str r3, [r2, #4]
4009:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
9290 .loc 1 4009 5 is_stmt 1 view .LVU3082
4009:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
9291 .loc 1 4009 23 is_stmt 0 view .LVU3083
9292 0062 6762 str r7, [r4, #36]
4010:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
9293 .loc 1 4010 5 is_stmt 1 view .LVU3084
4010:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
9294 .loc 1 4010 23 is_stmt 0 view .LVU3085
9295 0064 6585 strh r5, [r4, #42]
4011:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
9296 .loc 1 4011 5 is_stmt 1 view .LVU3086
4011:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
9297 .loc 1 4011 29 is_stmt 0 view .LVU3087
9298 0066 638D ldrh r3, [r4, #42]
4011:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
9299 .loc 1 4011 23 view .LVU3088
9300 0068 2385 strh r3, [r4, #40]
4012:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_DMA;
9301 .loc 1 4012 5 is_stmt 1 view .LVU3089
4012:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_DMA;
9302 .loc 1 4012 23 is_stmt 0 view .LVU3090
9303 006a E662 str r6, [r4, #44]
4013:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9304 .loc 1 4013 5 is_stmt 1 view .LVU3091
4013:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9305 .loc 1 4013 23 is_stmt 0 view .LVU3092
9306 006c 4A4B ldr r3, .L552+8
9307 006e 6363 str r3, [r4, #52]
4015:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9308 .loc 1 4015 5 is_stmt 1 view .LVU3093
4015:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9309 .loc 1 4015 13 is_stmt 0 view .LVU3094
9310 0070 A36B ldr r3, [r4, #56]
4015:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9311 .loc 1 4015 8 view .LVU3095
9312 0072 002B cmp r3, #0
9313 0074 56D0 beq .L540
4018:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9314 .loc 1 4018 7 is_stmt 1 view .LVU3096
4018:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9315 .loc 1 4018 38 is_stmt 0 view .LVU3097
9316 0076 494A ldr r2, .L552+12
9317 0078 9A62 str r2, [r3, #40]
4021:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9318 .loc 1 4021 7 is_stmt 1 view .LVU3098
4021:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9319 .loc 1 4021 11 is_stmt 0 view .LVU3099
9320 007a A36B ldr r3, [r4, #56]
4021:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9321 .loc 1 4021 39 view .LVU3100
ARM GAS /tmp/ccuRhBPx.s page 343
9322 007c 484A ldr r2, .L552+16
9323 007e 1A63 str r2, [r3, #48]
4024:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
9324 .loc 1 4024 7 is_stmt 1 view .LVU3101
4024:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
9325 .loc 1 4024 11 is_stmt 0 view .LVU3102
9326 0080 A26B ldr r2, [r4, #56]
4024:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
9327 .loc 1 4024 42 view .LVU3103
9328 0082 0023 movs r3, #0
9329 0084 D362 str r3, [r2, #44]
4025:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9330 .loc 1 4025 7 is_stmt 1 view .LVU3104
4025:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9331 .loc 1 4025 11 is_stmt 0 view .LVU3105
9332 0086 A26B ldr r2, [r4, #56]
4025:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9333 .loc 1 4025 39 view .LVU3106
9334 0088 5363 str r3, [r2, #52]
4028:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize);
9335 .loc 1 4028 7 is_stmt 1 view .LVU3107
4028:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize);
9336 .loc 1 4028 86 is_stmt 0 view .LVU3108
9337 008a 2268 ldr r2, [r4]
4028:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize);
9338 .loc 1 4028 81 view .LVU3109
9339 008c 2832 adds r2, r2, #40
4029:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
9340 .loc 1 4029 44 view .LVU3110
9341 008e 238D ldrh r3, [r4, #40]
4028:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize);
9342 .loc 1 4028 23 view .LVU3111
9343 0090 A06B ldr r0, [r4, #56]
9344 0092 3900 movs r1, r7
9345 0094 FFF7FEFF bl HAL_DMA_Start_IT
9346 .LVL682:
9347 0098 051E subs r5, r0, #0
9348 .LVL683:
4046:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9349 .loc 1 4046 5 is_stmt 1 view .LVU3112
4046:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9350 .loc 1 4046 8 is_stmt 0 view .LVU3113
9351 009a 51D0 beq .L541
4057:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
9352 .loc 1 4057 7 is_stmt 1 view .LVU3114
4057:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
9353 .loc 1 4057 23 is_stmt 0 view .LVU3115
9354 009c 4123 movs r3, #65
9355 009e 2822 movs r2, #40
9356 00a0 E254 strb r2, [r4, r3]
4058:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9357 .loc 1 4058 7 is_stmt 1 view .LVU3116
4058:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9358 .loc 1 4058 23 is_stmt 0 view .LVU3117
9359 00a2 0022 movs r2, #0
9360 00a4 0133 adds r3, r3, #1
9361 00a6 E254 strb r2, [r4, r3]
ARM GAS /tmp/ccuRhBPx.s page 344
4061:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9362 .loc 1 4061 7 is_stmt 1 view .LVU3118
4061:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9363 .loc 1 4061 11 is_stmt 0 view .LVU3119
9364 00a8 636C ldr r3, [r4, #68]
4061:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9365 .loc 1 4061 23 view .LVU3120
9366 00aa 1021 movs r1, #16
9367 00ac 0B43 orrs r3, r1
9368 00ae 6364 str r3, [r4, #68]
4064:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9369 .loc 1 4064 7 is_stmt 1 view .LVU3121
4064:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9370 .loc 1 4064 7 view .LVU3122
9371 00b0 4023 movs r3, #64
9372 00b2 E254 strb r2, [r4, r3]
4064:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9373 .loc 1 4064 7 view .LVU3123
4066:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
9374 .loc 1 4066 7 view .LVU3124
4066:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
9375 .loc 1 4066 14 is_stmt 0 view .LVU3125
9376 00b4 0125 movs r5, #1
9377 00b6 66E0 b .L535
9378 .LVL684:
9379 .L536:
3937:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
9380 .loc 1 3937 7 is_stmt 1 view .LVU3126
3937:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
9381 .loc 1 3937 23 is_stmt 0 view .LVU3127
9382 00b8 8023 movs r3, #128
9383 00ba 9B00 lsls r3, r3, #2
9384 00bc 6364 str r3, [r4, #68]
3938:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
9385 .loc 1 3938 7 is_stmt 1 view .LVU3128
3938:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
9386 .loc 1 3938 15 is_stmt 0 view .LVU3129
9387 00be 0125 movs r5, #1
9388 00c0 61E0 b .L535
9389 .LVL685:
9390 .L550:
3952:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9391 .loc 1 3952 7 is_stmt 1 view .LVU3130
9392 00c2 0221 movs r1, #2
9393 00c4 2000 movs r0, r4
9394 00c6 FFF7FEFF bl I2C_Disable_IRQ
9395 .LVL686:
3954:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9396 .loc 1 3954 7 view .LVU3131
3954:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9397 .loc 1 3954 16 is_stmt 0 view .LVU3132
9398 00ca 2268 ldr r2, [r4]
3954:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9399 .loc 1 3954 26 view .LVU3133
9400 00cc 1368 ldr r3, [r2]
3954:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9401 .loc 1 3954 10 view .LVU3134
ARM GAS /tmp/ccuRhBPx.s page 345
9402 00ce 1B04 lsls r3, r3, #16
9403 00d0 BAD5 bpl .L539
3957:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9404 .loc 1 3957 9 is_stmt 1 view .LVU3135
3957:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9405 .loc 1 3957 17 is_stmt 0 view .LVU3136
9406 00d2 E36B ldr r3, [r4, #60]
3957:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9407 .loc 1 3957 12 view .LVU3137
9408 00d4 002B cmp r3, #0
9409 00d6 B7D0 beq .L539
3959:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9410 .loc 1 3959 11 is_stmt 1 view .LVU3138
3959:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9411 .loc 1 3959 25 is_stmt 0 view .LVU3139
9412 00d8 1368 ldr r3, [r2]
3959:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9413 .loc 1 3959 31 view .LVU3140
9414 00da 2E49 ldr r1, .L552+4
9415 00dc 0B40 ands r3, r1
9416 00de 1360 str r3, [r2]
3963:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9417 .loc 1 3963 11 is_stmt 1 view .LVU3141
3963:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9418 .loc 1 3963 15 is_stmt 0 view .LVU3142
9419 00e0 E36B ldr r3, [r4, #60]
3963:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9420 .loc 1 3963 43 view .LVU3143
9421 00e2 304A ldr r2, .L552+20
9422 00e4 5A63 str r2, [r3, #52]
3966:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9423 .loc 1 3966 11 is_stmt 1 view .LVU3144
3966:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9424 .loc 1 3966 15 is_stmt 0 view .LVU3145
9425 00e6 E06B ldr r0, [r4, #60]
9426 00e8 FFF7FEFF bl HAL_DMA_Abort_IT
9427 .LVL687:
3966:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9428 .loc 1 3966 14 discriminator 1 view .LVU3146
9429 00ec 0028 cmp r0, #0
9430 00ee ABD0 beq .L539
3969:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
9431 .loc 1 3969 13 is_stmt 1 view .LVU3147
3969:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
9432 .loc 1 3969 17 is_stmt 0 view .LVU3148
9433 00f0 E06B ldr r0, [r4, #60]
3969:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
9434 .loc 1 3969 25 view .LVU3149
9435 00f2 436B ldr r3, [r0, #52]
3969:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
9436 .loc 1 3969 13 view .LVU3150
9437 00f4 9847 blx r3
9438 .LVL688:
9439 00f6 A7E7 b .L539
9440 .L551:
3976:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9441 .loc 1 3976 7 is_stmt 1 view .LVU3151
ARM GAS /tmp/ccuRhBPx.s page 346
3976:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9442 .loc 1 3976 16 is_stmt 0 view .LVU3152
9443 00f8 2368 ldr r3, [r4]
3976:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9444 .loc 1 3976 26 view .LVU3153
9445 00fa 1A68 ldr r2, [r3]
3976:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9446 .loc 1 3976 10 view .LVU3154
9447 00fc 5204 lsls r2, r2, #17
9448 00fe A3D5 bpl .L539
3978:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9449 .loc 1 3978 9 is_stmt 1 view .LVU3155
3978:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9450 .loc 1 3978 23 is_stmt 0 view .LVU3156
9451 0100 1A68 ldr r2, [r3]
3978:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9452 .loc 1 3978 29 view .LVU3157
9453 0102 2949 ldr r1, .L552+24
9454 0104 0A40 ands r2, r1
9455 0106 1A60 str r2, [r3]
3981:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9456 .loc 1 3981 9 is_stmt 1 view .LVU3158
3981:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9457 .loc 1 3981 17 is_stmt 0 view .LVU3159
9458 0108 A36B ldr r3, [r4, #56]
3981:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9459 .loc 1 3981 12 view .LVU3160
9460 010a 002B cmp r3, #0
9461 010c 9CD0 beq .L539
3985:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9462 .loc 1 3985 11 is_stmt 1 view .LVU3161
3985:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9463 .loc 1 3985 43 is_stmt 0 view .LVU3162
9464 010e 254A ldr r2, .L552+20
9465 0110 5A63 str r2, [r3, #52]
3988:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9466 .loc 1 3988 11 is_stmt 1 view .LVU3163
3988:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9467 .loc 1 3988 15 is_stmt 0 view .LVU3164
9468 0112 A06B ldr r0, [r4, #56]
9469 0114 FFF7FEFF bl HAL_DMA_Abort_IT
9470 .LVL689:
3988:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9471 .loc 1 3988 14 discriminator 1 view .LVU3165
9472 0118 0028 cmp r0, #0
9473 011a 95D0 beq .L539
3991:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
9474 .loc 1 3991 13 is_stmt 1 view .LVU3166
3991:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
9475 .loc 1 3991 17 is_stmt 0 view .LVU3167
9476 011c A06B ldr r0, [r4, #56]
3991:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
9477 .loc 1 3991 25 view .LVU3168
9478 011e 436B ldr r3, [r0, #52]
3991:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
9479 .loc 1 3991 13 view .LVU3169
9480 0120 9847 blx r3
ARM GAS /tmp/ccuRhBPx.s page 347
9481 .LVL690:
9482 0122 91E7 b .L539
9483 .L540:
4034:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
9484 .loc 1 4034 7 is_stmt 1 view .LVU3170
4034:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
9485 .loc 1 4034 23 is_stmt 0 view .LVU3171
9486 0124 4123 movs r3, #65
9487 0126 2822 movs r2, #40
9488 0128 E254 strb r2, [r4, r3]
4035:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9489 .loc 1 4035 7 is_stmt 1 view .LVU3172
4035:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9490 .loc 1 4035 23 is_stmt 0 view .LVU3173
9491 012a 0022 movs r2, #0
9492 012c 0133 adds r3, r3, #1
9493 012e E254 strb r2, [r4, r3]
4038:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9494 .loc 1 4038 7 is_stmt 1 view .LVU3174
4038:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9495 .loc 1 4038 11 is_stmt 0 view .LVU3175
9496 0130 636C ldr r3, [r4, #68]
4038:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9497 .loc 1 4038 23 view .LVU3176
9498 0132 8021 movs r1, #128
9499 0134 0B43 orrs r3, r1
9500 0136 6364 str r3, [r4, #68]
4041:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9501 .loc 1 4041 7 is_stmt 1 view .LVU3177
4041:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9502 .loc 1 4041 7 view .LVU3178
9503 0138 4023 movs r3, #64
9504 013a E254 strb r2, [r4, r3]
4041:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9505 .loc 1 4041 7 view .LVU3179
4043:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
9506 .loc 1 4043 7 view .LVU3180
4043:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
9507 .loc 1 4043 14 is_stmt 0 view .LVU3181
9508 013c 0125 movs r5, #1
9509 .LVL691:
4043:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
9510 .loc 1 4043 14 view .LVU3182
9511 013e 22E0 b .L535
9512 .LVL692:
9513 .L541:
4049:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9514 .loc 1 4049 7 is_stmt 1 view .LVU3183
4049:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9515 .loc 1 4049 11 is_stmt 0 view .LVU3184
9516 0140 638D ldrh r3, [r4, #42]
4049:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9517 .loc 1 4049 30 view .LVU3185
9518 0142 228D ldrh r2, [r4, #40]
4049:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9519 .loc 1 4049 23 view .LVU3186
9520 0144 9B1A subs r3, r3, r2
ARM GAS /tmp/ccuRhBPx.s page 348
9521 0146 9BB2 uxth r3, r3
9522 0148 6385 strh r3, [r4, #42]
4052:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
9523 .loc 1 4052 7 is_stmt 1 view .LVU3187
4052:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
9524 .loc 1 4052 22 is_stmt 0 view .LVU3188
9525 014a 0023 movs r3, #0
9526 014c 2385 strh r3, [r4, #40]
4069:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((I2C_GET_DIR(hi2c) == I2C_DIRECTION_RECEIVE) && (tmp != RESET))
9527 .loc 1 4069 5 is_stmt 1 view .LVU3189
4069:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((I2C_GET_DIR(hi2c) == I2C_DIRECTION_RECEIVE) && (tmp != RESET))
9528 .loc 1 4069 11 is_stmt 0 view .LVU3190
9529 014e 2268 ldr r2, [r4]
9530 0150 9169 ldr r1, [r2, #24]
9531 0152 0833 adds r3, r3, #8
9532 0154 0B40 ands r3, r1
9533 .LVL693:
4070:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9534 .loc 1 4070 5 is_stmt 1 view .LVU3191
4070:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9535 .loc 1 4070 10 is_stmt 0 view .LVU3192
9536 0156 9169 ldr r1, [r2, #24]
4070:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9537 .loc 1 4070 8 view .LVU3193
9538 0158 C903 lsls r1, r1, #15
9539 015a 0ED4 bmi .L543
9540 .LVL694:
9541 .L544:
4078:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9542 .loc 1 4078 5 is_stmt 1 view .LVU3194
4078:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9543 .loc 1 4078 5 view .LVU3195
9544 015c 4023 movs r3, #64
9545 015e 0022 movs r2, #0
4078:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9546 .loc 1 4078 5 is_stmt 0 view .LVU3196
9547 0160 E254 strb r2, [r4, r3]
4078:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9548 .loc 1 4078 5 is_stmt 1 view .LVU3197
4081:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9549 .loc 1 4081 5 view .LVU3198
4081:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9550 .loc 1 4081 9 is_stmt 0 view .LVU3199
9551 0162 2268 ldr r2, [r4]
4081:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9552 .loc 1 4081 19 view .LVU3200
9553 0164 1168 ldr r1, [r2]
4081:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9554 .loc 1 4081 25 view .LVU3201
9555 0166 8023 movs r3, #128
9556 0168 DB01 lsls r3, r3, #7
9557 016a 0B43 orrs r3, r1
9558 016c 1360 str r3, [r2]
4087:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9559 .loc 1 4087 5 is_stmt 1 view .LVU3202
9560 016e 8021 movs r1, #128
9561 0170 0902 lsls r1, r1, #8
ARM GAS /tmp/ccuRhBPx.s page 349
9562 0172 2000 movs r0, r4
9563 .LVL695:
4087:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9564 .loc 1 4087 5 is_stmt 0 view .LVU3203
9565 0174 FFF7FEFF bl I2C_Enable_IRQ
9566 .LVL696:
4089:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
9567 .loc 1 4089 5 is_stmt 1 view .LVU3204
4089:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
9568 .loc 1 4089 12 is_stmt 0 view .LVU3205
9569 0178 05E0 b .L535
9570 .LVL697:
9571 .L543:
4070:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9572 .loc 1 4070 54 discriminator 1 view .LVU3206
9573 017a 002B cmp r3, #0
9574 017c EED0 beq .L544
4074:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
9575 .loc 1 4074 7 is_stmt 1 view .LVU3207
9576 017e 0823 movs r3, #8
9577 .LVL698:
4074:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
9578 .loc 1 4074 7 is_stmt 0 view .LVU3208
9579 0180 D361 str r3, [r2, #28]
9580 0182 EBE7 b .L544
9581 .LVL699:
9582 .L545:
4093:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
9583 .loc 1 4093 12 view .LVU3209
9584 0184 0125 movs r5, #1
9585 .LVL700:
9586 .L535:
4095:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9587 .loc 1 4095 1 view .LVU3210
9588 0186 2800 movs r0, r5
9589 @ sp needed
9590 .LVL701:
9591 .LVL702:
9592 .LVL703:
4095:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9593 .loc 1 4095 1 view .LVU3211
9594 0188 F8BD pop {r3, r4, r5, r6, r7, pc}
9595 .LVL704:
9596 .L546:
3942:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9597 .loc 1 3942 5 discriminator 1 view .LVU3212
9598 018a 0225 movs r5, #2
9599 018c FBE7 b .L535
9600 .L553:
9601 018e C046 .align 2
9602 .L552:
9603 0190 01800000 .word 32769
9604 0194 FF7FFFFF .word -32769
9605 0198 00000000 .word I2C_Slave_ISR_DMA
9606 019c 00000000 .word I2C_DMASlaveTransmitCplt
9607 01a0 00000000 .word I2C_DMAError
9608 01a4 00000000 .word I2C_DMAAbort
ARM GAS /tmp/ccuRhBPx.s page 350
9609 01a8 FFBFFFFF .word -16385
9610 .cfi_endproc
9611 .LFE68:
9613 .section .text.HAL_I2C_Slave_Seq_Receive_IT,"ax",%progbits
9614 .align 1
9615 .global HAL_I2C_Slave_Seq_Receive_IT
9616 .syntax unified
9617 .code 16
9618 .thumb_func
9620 HAL_I2C_Slave_Seq_Receive_IT:
9621 .LVL705:
9622 .LFB69:
4109:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Declaration of tmp to prevent undefined behavior of volatile usage */
9623 .loc 1 4109 1 is_stmt 1 view -0
9624 .cfi_startproc
9625 @ args = 0, pretend = 0, frame = 0
9626 @ frame_needed = 0, uses_anonymous_args = 0
4109:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Declaration of tmp to prevent undefined behavior of volatile usage */
9627 .loc 1 4109 1 is_stmt 0 view .LVU3214
9628 0000 F8B5 push {r3, r4, r5, r6, r7, lr}
9629 .cfi_def_cfa_offset 24
9630 .cfi_offset 3, -24
9631 .cfi_offset 4, -20
9632 .cfi_offset 5, -16
9633 .cfi_offset 6, -12
9634 .cfi_offset 7, -8
9635 .cfi_offset 14, -4
9636 0002 0400 movs r4, r0
9637 0004 0D00 movs r5, r1
9638 0006 1600 movs r6, r2
9639 0008 1F00 movs r7, r3
4111:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9640 .loc 1 4111 3 is_stmt 1 view .LVU3215
4114:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9641 .loc 1 4114 3 view .LVU3216
4116:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9642 .loc 1 4116 3 view .LVU3217
4116:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9643 .loc 1 4116 22 is_stmt 0 view .LVU3218
9644 000a 4123 movs r3, #65
9645 .LVL706:
4116:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9646 .loc 1 4116 22 view .LVU3219
9647 000c C35C ldrb r3, [r0, r3]
4116:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9648 .loc 1 4116 6 view .LVU3220
9649 000e 2822 movs r2, #40
9650 .LVL707:
4116:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9651 .loc 1 4116 6 view .LVU3221
9652 0010 1340 ands r3, r2
9653 0012 282B cmp r3, #40
9654 0014 58D1 bne .L560
4118:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9655 .loc 1 4118 5 is_stmt 1 view .LVU3222
4118:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9656 .loc 1 4118 8 is_stmt 0 view .LVU3223
ARM GAS /tmp/ccuRhBPx.s page 351
9657 0016 0029 cmp r1, #0
9658 0018 01D0 beq .L556
4118:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9659 .loc 1 4118 25 discriminator 1 view .LVU3224
9660 001a 002E cmp r6, #0
9661 001c 04D1 bne .L557
9662 .L556:
4120:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
9663 .loc 1 4120 7 is_stmt 1 view .LVU3225
4120:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
9664 .loc 1 4120 23 is_stmt 0 view .LVU3226
9665 001e 8023 movs r3, #128
9666 0020 9B00 lsls r3, r3, #2
9667 0022 6364 str r3, [r4, #68]
4121:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
9668 .loc 1 4121 7 is_stmt 1 view .LVU3227
4121:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
9669 .loc 1 4121 15 is_stmt 0 view .LVU3228
9670 0024 0120 movs r0, #1
9671 .LVL708:
4121:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
9672 .loc 1 4121 15 view .LVU3229
9673 0026 50E0 b .L555
9674 .LVL709:
9675 .L557:
4125:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9676 .loc 1 4125 5 is_stmt 1 view .LVU3230
9677 0028 2949 ldr r1, .L565
9678 .LVL710:
4125:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9679 .loc 1 4125 5 is_stmt 0 view .LVU3231
9680 002a FFF7FEFF bl I2C_Disable_IRQ
9681 .LVL711:
4128:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9682 .loc 1 4128 5 is_stmt 1 view .LVU3232
4128:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9683 .loc 1 4128 5 view .LVU3233
9684 002e 4023 movs r3, #64
9685 0030 E35C ldrb r3, [r4, r3]
9686 0032 012B cmp r3, #1
9687 0034 4AD0 beq .L561
4128:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9688 .loc 1 4128 5 discriminator 2 view .LVU3234
9689 0036 4023 movs r3, #64
9690 0038 0122 movs r2, #1
9691 003a E254 strb r2, [r4, r3]
4128:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9692 .loc 1 4128 5 discriminator 2 view .LVU3235
4132:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9693 .loc 1 4132 5 view .LVU3236
4132:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9694 .loc 1 4132 13 is_stmt 0 view .LVU3237
9695 003c 0133 adds r3, r3, #1
9696 003e E35C ldrb r3, [r4, r3]
4132:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9697 .loc 1 4132 8 view .LVU3238
9698 0040 292B cmp r3, #41
ARM GAS /tmp/ccuRhBPx.s page 352
9699 0042 27D0 beq .L564
9700 .L558:
4158:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
9701 .loc 1 4158 5 is_stmt 1 view .LVU3239
4158:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
9702 .loc 1 4158 21 is_stmt 0 view .LVU3240
9703 0044 4123 movs r3, #65
9704 0046 2A22 movs r2, #42
9705 0048 E254 strb r2, [r4, r3]
4159:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
9706 .loc 1 4159 5 is_stmt 1 view .LVU3241
4159:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
9707 .loc 1 4159 21 is_stmt 0 view .LVU3242
9708 004a 0133 adds r3, r3, #1
9709 004c 0A3A subs r2, r2, #10
9710 004e E254 strb r2, [r4, r3]
4160:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9711 .loc 1 4160 5 is_stmt 1 view .LVU3243
4160:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9712 .loc 1 4160 21 is_stmt 0 view .LVU3244
9713 0050 0023 movs r3, #0
9714 0052 6364 str r3, [r4, #68]
4163:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9715 .loc 1 4163 5 is_stmt 1 view .LVU3245
4163:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9716 .loc 1 4163 9 is_stmt 0 view .LVU3246
9717 0054 2268 ldr r2, [r4]
4163:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9718 .loc 1 4163 19 view .LVU3247
9719 0056 5368 ldr r3, [r2, #4]
4163:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9720 .loc 1 4163 25 view .LVU3248
9721 0058 1E49 ldr r1, .L565+4
9722 005a 0B40 ands r3, r1
9723 005c 5360 str r3, [r2, #4]
4166:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
9724 .loc 1 4166 5 is_stmt 1 view .LVU3249
4166:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
9725 .loc 1 4166 23 is_stmt 0 view .LVU3250
9726 005e 6562 str r5, [r4, #36]
4167:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
9727 .loc 1 4167 5 is_stmt 1 view .LVU3251
4167:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
9728 .loc 1 4167 23 is_stmt 0 view .LVU3252
9729 0060 6685 strh r6, [r4, #42]
4168:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
9730 .loc 1 4168 5 is_stmt 1 view .LVU3253
4168:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
9731 .loc 1 4168 29 is_stmt 0 view .LVU3254
9732 0062 638D ldrh r3, [r4, #42]
4168:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
9733 .loc 1 4168 23 view .LVU3255
9734 0064 2385 strh r3, [r4, #40]
4169:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
9735 .loc 1 4169 5 is_stmt 1 view .LVU3256
4169:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
9736 .loc 1 4169 23 is_stmt 0 view .LVU3257
ARM GAS /tmp/ccuRhBPx.s page 353
9737 0066 E762 str r7, [r4, #44]
4170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9738 .loc 1 4170 5 is_stmt 1 view .LVU3258
4170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9739 .loc 1 4170 23 is_stmt 0 view .LVU3259
9740 0068 1B4B ldr r3, .L565+8
9741 006a 6363 str r3, [r4, #52]
4172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((I2C_GET_DIR(hi2c) == I2C_DIRECTION_TRANSMIT) && (tmp != RESET))
9742 .loc 1 4172 5 is_stmt 1 view .LVU3260
4172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((I2C_GET_DIR(hi2c) == I2C_DIRECTION_TRANSMIT) && (tmp != RESET))
9743 .loc 1 4172 11 is_stmt 0 view .LVU3261
9744 006c 2268 ldr r2, [r4]
9745 006e 9169 ldr r1, [r2, #24]
9746 0070 0823 movs r3, #8
9747 0072 0B40 ands r3, r1
9748 .LVL712:
4173:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9749 .loc 1 4173 5 is_stmt 1 view .LVU3262
4173:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9750 .loc 1 4173 10 is_stmt 0 view .LVU3263
9751 0074 9169 ldr r1, [r2, #24]
4173:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9752 .loc 1 4173 8 view .LVU3264
9753 0076 C903 lsls r1, r1, #15
9754 0078 03D4 bmi .L559
4173:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9755 .loc 1 4173 55 discriminator 1 view .LVU3265
9756 007a 002B cmp r3, #0
9757 007c 01D0 beq .L559
4177:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
9758 .loc 1 4177 7 is_stmt 1 view .LVU3266
9759 007e 0823 movs r3, #8
9760 .LVL713:
4177:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
9761 .loc 1 4177 7 is_stmt 0 view .LVU3267
9762 0080 D361 str r3, [r2, #28]
9763 .L559:
4181:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9764 .loc 1 4181 5 is_stmt 1 view .LVU3268
4181:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9765 .loc 1 4181 5 view .LVU3269
9766 0082 4023 movs r3, #64
9767 0084 0022 movs r2, #0
9768 0086 E254 strb r2, [r4, r3]
4181:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9769 .loc 1 4181 5 view .LVU3270
4187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9770 .loc 1 4187 5 view .LVU3271
9771 0088 1149 ldr r1, .L565
9772 008a 2000 movs r0, r4
9773 008c FFF7FEFF bl I2C_Enable_IRQ
9774 .LVL714:
4189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
9775 .loc 1 4189 5 view .LVU3272
4189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
9776 .loc 1 4189 12 is_stmt 0 view .LVU3273
9777 0090 0020 movs r0, #0
ARM GAS /tmp/ccuRhBPx.s page 354
9778 0092 1AE0 b .L555
9779 .LVL715:
9780 .L564:
4135:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9781 .loc 1 4135 7 is_stmt 1 view .LVU3274
9782 0094 0121 movs r1, #1
9783 0096 2000 movs r0, r4
9784 0098 FFF7FEFF bl I2C_Disable_IRQ
9785 .LVL716:
4137:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9786 .loc 1 4137 7 view .LVU3275
4137:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9787 .loc 1 4137 16 is_stmt 0 view .LVU3276
9788 009c 2268 ldr r2, [r4]
4137:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9789 .loc 1 4137 26 view .LVU3277
9790 009e 1368 ldr r3, [r2]
4137:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9791 .loc 1 4137 10 view .LVU3278
9792 00a0 5B04 lsls r3, r3, #17
9793 00a2 CFD5 bpl .L558
4139:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9794 .loc 1 4139 9 is_stmt 1 view .LVU3279
4139:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9795 .loc 1 4139 23 is_stmt 0 view .LVU3280
9796 00a4 1368 ldr r3, [r2]
4139:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9797 .loc 1 4139 29 view .LVU3281
9798 00a6 0D49 ldr r1, .L565+12
9799 00a8 0B40 ands r3, r1
9800 00aa 1360 str r3, [r2]
4142:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9801 .loc 1 4142 9 is_stmt 1 view .LVU3282
4142:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9802 .loc 1 4142 17 is_stmt 0 view .LVU3283
9803 00ac A36B ldr r3, [r4, #56]
4142:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9804 .loc 1 4142 12 view .LVU3284
9805 00ae 002B cmp r3, #0
9806 00b0 C8D0 beq .L558
4146:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9807 .loc 1 4146 11 is_stmt 1 view .LVU3285
4146:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9808 .loc 1 4146 43 is_stmt 0 view .LVU3286
9809 00b2 0B4A ldr r2, .L565+16
9810 00b4 5A63 str r2, [r3, #52]
4149:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9811 .loc 1 4149 11 is_stmt 1 view .LVU3287
4149:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9812 .loc 1 4149 15 is_stmt 0 view .LVU3288
9813 00b6 A06B ldr r0, [r4, #56]
9814 00b8 FFF7FEFF bl HAL_DMA_Abort_IT
9815 .LVL717:
4149:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9816 .loc 1 4149 14 discriminator 1 view .LVU3289
9817 00bc 0028 cmp r0, #0
9818 00be C1D0 beq .L558
ARM GAS /tmp/ccuRhBPx.s page 355
4152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
9819 .loc 1 4152 13 is_stmt 1 view .LVU3290
4152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
9820 .loc 1 4152 17 is_stmt 0 view .LVU3291
9821 00c0 A06B ldr r0, [r4, #56]
4152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
9822 .loc 1 4152 25 view .LVU3292
9823 00c2 436B ldr r3, [r0, #52]
4152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
9824 .loc 1 4152 13 view .LVU3293
9825 00c4 9847 blx r3
9826 .LVL718:
9827 00c6 BDE7 b .L558
9828 .LVL719:
9829 .L560:
4193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
9830 .loc 1 4193 12 view .LVU3294
9831 00c8 0120 movs r0, #1
9832 .LVL720:
9833 .L555:
4195:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9834 .loc 1 4195 1 view .LVU3295
9835 @ sp needed
9836 .LVL721:
9837 .LVL722:
9838 .LVL723:
9839 .LVL724:
4195:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9840 .loc 1 4195 1 view .LVU3296
9841 00ca F8BD pop {r3, r4, r5, r6, r7, pc}
9842 .LVL725:
9843 .L561:
4128:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9844 .loc 1 4128 5 discriminator 1 view .LVU3297
9845 00cc 0220 movs r0, #2
9846 00ce FCE7 b .L555
9847 .L566:
9848 .align 2
9849 .L565:
9850 00d0 02800000 .word 32770
9851 00d4 FF7FFFFF .word -32769
9852 00d8 00000000 .word I2C_Slave_ISR_IT
9853 00dc FFBFFFFF .word -16385
9854 00e0 00000000 .word I2C_DMAAbort
9855 .cfi_endproc
9856 .LFE69:
9858 .section .text.HAL_I2C_Slave_Seq_Receive_DMA,"ax",%progbits
9859 .align 1
9860 .global HAL_I2C_Slave_Seq_Receive_DMA
9861 .syntax unified
9862 .code 16
9863 .thumb_func
9865 HAL_I2C_Slave_Seq_Receive_DMA:
9866 .LVL726:
9867 .LFB70:
4209:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Declaration of tmp to prevent undefined behavior of volatile usage */
9868 .loc 1 4209 1 is_stmt 1 view -0
ARM GAS /tmp/ccuRhBPx.s page 356
9869 .cfi_startproc
9870 @ args = 0, pretend = 0, frame = 0
9871 @ frame_needed = 0, uses_anonymous_args = 0
4209:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Declaration of tmp to prevent undefined behavior of volatile usage */
9872 .loc 1 4209 1 is_stmt 0 view .LVU3299
9873 0000 F8B5 push {r3, r4, r5, r6, r7, lr}
9874 .cfi_def_cfa_offset 24
9875 .cfi_offset 3, -24
9876 .cfi_offset 4, -20
9877 .cfi_offset 5, -16
9878 .cfi_offset 6, -12
9879 .cfi_offset 7, -8
9880 .cfi_offset 14, -4
9881 0002 0400 movs r4, r0
9882 0004 0F00 movs r7, r1
9883 0006 1500 movs r5, r2
9884 0008 1E00 movs r6, r3
4211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
9885 .loc 1 4211 3 is_stmt 1 view .LVU3300
4212:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9886 .loc 1 4212 3 view .LVU3301
4215:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9887 .loc 1 4215 3 view .LVU3302
4217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9888 .loc 1 4217 3 view .LVU3303
4217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9889 .loc 1 4217 22 is_stmt 0 view .LVU3304
9890 000a 4123 movs r3, #65
9891 .LVL727:
4217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9892 .loc 1 4217 22 view .LVU3305
9893 000c C05C ldrb r0, [r0, r3]
9894 .LVL728:
4217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9895 .loc 1 4217 6 view .LVU3306
9896 000e 193B subs r3, r3, #25
9897 0010 1840 ands r0, r3
9898 0012 2828 cmp r0, #40
9899 0014 00D0 beq .LCB9366
9900 0016 B4E0 b .L578 @long jump
9901 .LCB9366:
4219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9902 .loc 1 4219 5 is_stmt 1 view .LVU3307
4219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9903 .loc 1 4219 8 is_stmt 0 view .LVU3308
9904 0018 0029 cmp r1, #0
9905 001a 01D0 beq .L569
4219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9906 .loc 1 4219 25 discriminator 1 view .LVU3309
9907 001c 002A cmp r2, #0
9908 001e 04D1 bne .L570
9909 .L569:
4221:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
9910 .loc 1 4221 7 is_stmt 1 view .LVU3310
4221:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
9911 .loc 1 4221 23 is_stmt 0 view .LVU3311
9912 0020 8023 movs r3, #128
ARM GAS /tmp/ccuRhBPx.s page 357
9913 0022 9B00 lsls r3, r3, #2
9914 0024 6364 str r3, [r4, #68]
4222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
9915 .loc 1 4222 7 is_stmt 1 view .LVU3312
4222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
9916 .loc 1 4222 15 is_stmt 0 view .LVU3313
9917 0026 0125 movs r5, #1
9918 0028 ACE0 b .L568
9919 .L570:
4226:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9920 .loc 1 4226 5 is_stmt 1 view .LVU3314
9921 002a 5849 ldr r1, .L585
9922 .LVL729:
4226:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9923 .loc 1 4226 5 is_stmt 0 view .LVU3315
9924 002c 2000 movs r0, r4
9925 002e FFF7FEFF bl I2C_Disable_IRQ
9926 .LVL730:
4229:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9927 .loc 1 4229 5 is_stmt 1 view .LVU3316
4229:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9928 .loc 1 4229 5 view .LVU3317
9929 0032 4023 movs r3, #64
9930 0034 E35C ldrb r3, [r4, r3]
9931 0036 012B cmp r3, #1
9932 0038 00D1 bne .LCB9395
9933 003a A5E0 b .L579 @long jump
9934 .LCB9395:
4229:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9935 .loc 1 4229 5 discriminator 2 view .LVU3318
9936 003c 4023 movs r3, #64
9937 003e 0122 movs r2, #1
9938 0040 E254 strb r2, [r4, r3]
4229:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9939 .loc 1 4229 5 discriminator 2 view .LVU3319
4233:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9940 .loc 1 4233 5 view .LVU3320
4233:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9941 .loc 1 4233 13 is_stmt 0 view .LVU3321
9942 0042 0133 adds r3, r3, #1
9943 0044 E35C ldrb r3, [r4, r3]
4233:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9944 .loc 1 4233 8 view .LVU3322
9945 0046 292B cmp r3, #41
9946 0048 3BD0 beq .L583
4258:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9947 .loc 1 4258 10 is_stmt 1 view .LVU3323
4258:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9948 .loc 1 4258 18 is_stmt 0 view .LVU3324
9949 004a 4123 movs r3, #65
9950 004c E35C ldrb r3, [r4, r3]
4258:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9951 .loc 1 4258 13 view .LVU3325
9952 004e 2A2B cmp r3, #42
9953 0050 52D0 beq .L584
9954 .L572:
4283:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
ARM GAS /tmp/ccuRhBPx.s page 358
9955 .loc 1 4283 5 is_stmt 1 view .LVU3326
4285:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
9956 .loc 1 4285 5 view .LVU3327
4285:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
9957 .loc 1 4285 21 is_stmt 0 view .LVU3328
9958 0052 4123 movs r3, #65
9959 0054 2A22 movs r2, #42
9960 0056 E254 strb r2, [r4, r3]
4286:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
9961 .loc 1 4286 5 is_stmt 1 view .LVU3329
4286:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
9962 .loc 1 4286 21 is_stmt 0 view .LVU3330
9963 0058 0133 adds r3, r3, #1
9964 005a 0A3A subs r2, r2, #10
9965 005c E254 strb r2, [r4, r3]
4287:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9966 .loc 1 4287 5 is_stmt 1 view .LVU3331
4287:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9967 .loc 1 4287 21 is_stmt 0 view .LVU3332
9968 005e 0023 movs r3, #0
9969 0060 6364 str r3, [r4, #68]
4290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9970 .loc 1 4290 5 is_stmt 1 view .LVU3333
4290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9971 .loc 1 4290 9 is_stmt 0 view .LVU3334
9972 0062 2268 ldr r2, [r4]
4290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9973 .loc 1 4290 19 view .LVU3335
9974 0064 5368 ldr r3, [r2, #4]
4290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9975 .loc 1 4290 25 view .LVU3336
9976 0066 4A49 ldr r1, .L585+4
9977 0068 0B40 ands r3, r1
9978 006a 5360 str r3, [r2, #4]
4293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
9979 .loc 1 4293 5 is_stmt 1 view .LVU3337
4293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
9980 .loc 1 4293 23 is_stmt 0 view .LVU3338
9981 006c 6762 str r7, [r4, #36]
4294:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
9982 .loc 1 4294 5 is_stmt 1 view .LVU3339
4294:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
9983 .loc 1 4294 23 is_stmt 0 view .LVU3340
9984 006e 6585 strh r5, [r4, #42]
4295:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
9985 .loc 1 4295 5 is_stmt 1 view .LVU3341
4295:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
9986 .loc 1 4295 29 is_stmt 0 view .LVU3342
9987 0070 638D ldrh r3, [r4, #42]
4295:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
9988 .loc 1 4295 23 view .LVU3343
9989 0072 2385 strh r3, [r4, #40]
4296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_DMA;
9990 .loc 1 4296 5 is_stmt 1 view .LVU3344
4296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_DMA;
9991 .loc 1 4296 23 is_stmt 0 view .LVU3345
9992 0074 E662 str r6, [r4, #44]
ARM GAS /tmp/ccuRhBPx.s page 359
4297:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9993 .loc 1 4297 5 is_stmt 1 view .LVU3346
4297:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
9994 .loc 1 4297 23 is_stmt 0 view .LVU3347
9995 0076 474B ldr r3, .L585+8
9996 0078 6363 str r3, [r4, #52]
4299:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9997 .loc 1 4299 5 is_stmt 1 view .LVU3348
4299:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
9998 .loc 1 4299 13 is_stmt 0 view .LVU3349
9999 007a E36B ldr r3, [r4, #60]
4299:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
10000 .loc 1 4299 8 view .LVU3350
10001 007c 002B cmp r3, #0
10002 007e 51D0 beq .L573
4302:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10003 .loc 1 4302 7 is_stmt 1 view .LVU3351
4302:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10004 .loc 1 4302 38 is_stmt 0 view .LVU3352
10005 0080 454A ldr r2, .L585+12
10006 0082 9A62 str r2, [r3, #40]
4305:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10007 .loc 1 4305 7 is_stmt 1 view .LVU3353
4305:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10008 .loc 1 4305 11 is_stmt 0 view .LVU3354
10009 0084 E36B ldr r3, [r4, #60]
4305:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10010 .loc 1 4305 39 view .LVU3355
10011 0086 454A ldr r2, .L585+16
10012 0088 1A63 str r2, [r3, #48]
4308:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
10013 .loc 1 4308 7 is_stmt 1 view .LVU3356
4308:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
10014 .loc 1 4308 11 is_stmt 0 view .LVU3357
10015 008a E26B ldr r2, [r4, #60]
4308:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
10016 .loc 1 4308 42 view .LVU3358
10017 008c 0023 movs r3, #0
10018 008e D362 str r3, [r2, #44]
4309:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10019 .loc 1 4309 7 is_stmt 1 view .LVU3359
4309:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10020 .loc 1 4309 11 is_stmt 0 view .LVU3360
10021 0090 E26B ldr r2, [r4, #60]
4309:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10022 .loc 1 4309 39 view .LVU3361
10023 0092 5363 str r3, [r2, #52]
4312:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (uint32_t)pData, hi2c->XferSize);
10024 .loc 1 4312 7 is_stmt 1 view .LVU3362
4312:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (uint32_t)pData, hi2c->XferSize);
10025 .loc 1 4312 69 is_stmt 0 view .LVU3363
10026 0094 2168 ldr r1, [r4]
4312:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (uint32_t)pData, hi2c->XferSize);
10027 .loc 1 4312 64 view .LVU3364
10028 0096 2431 adds r1, r1, #36
4313:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
10029 .loc 1 4313 61 view .LVU3365
ARM GAS /tmp/ccuRhBPx.s page 360
10030 0098 238D ldrh r3, [r4, #40]
4312:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (uint32_t)pData, hi2c->XferSize);
10031 .loc 1 4312 23 view .LVU3366
10032 009a E06B ldr r0, [r4, #60]
10033 009c 3A00 movs r2, r7
10034 009e FFF7FEFF bl HAL_DMA_Start_IT
10035 .LVL731:
10036 00a2 051E subs r5, r0, #0
10037 .LVL732:
4330:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
10038 .loc 1 4330 5 is_stmt 1 view .LVU3367
4330:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
10039 .loc 1 4330 8 is_stmt 0 view .LVU3368
10040 00a4 4CD0 beq .L574
4341:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
10041 .loc 1 4341 7 is_stmt 1 view .LVU3369
4341:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
10042 .loc 1 4341 23 is_stmt 0 view .LVU3370
10043 00a6 4123 movs r3, #65
10044 00a8 2822 movs r2, #40
10045 00aa E254 strb r2, [r4, r3]
4342:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10046 .loc 1 4342 7 is_stmt 1 view .LVU3371
4342:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10047 .loc 1 4342 23 is_stmt 0 view .LVU3372
10048 00ac 0022 movs r2, #0
10049 00ae 0133 adds r3, r3, #1
10050 00b0 E254 strb r2, [r4, r3]
4345:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10051 .loc 1 4345 7 is_stmt 1 view .LVU3373
4345:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10052 .loc 1 4345 11 is_stmt 0 view .LVU3374
10053 00b2 636C ldr r3, [r4, #68]
4345:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10054 .loc 1 4345 23 view .LVU3375
10055 00b4 1021 movs r1, #16
10056 00b6 0B43 orrs r3, r1
10057 00b8 6364 str r3, [r4, #68]
4348:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10058 .loc 1 4348 7 is_stmt 1 view .LVU3376
4348:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10059 .loc 1 4348 7 view .LVU3377
10060 00ba 4023 movs r3, #64
10061 00bc E254 strb r2, [r4, r3]
4348:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10062 .loc 1 4348 7 view .LVU3378
4350:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
10063 .loc 1 4350 7 view .LVU3379
4350:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
10064 .loc 1 4350 14 is_stmt 0 view .LVU3380
10065 00be 0125 movs r5, #1
10066 00c0 60E0 b .L568
10067 .LVL733:
10068 .L583:
4236:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10069 .loc 1 4236 7 is_stmt 1 view .LVU3381
10070 00c2 0121 movs r1, #1
ARM GAS /tmp/ccuRhBPx.s page 361
10071 00c4 2000 movs r0, r4
10072 00c6 FFF7FEFF bl I2C_Disable_IRQ
10073 .LVL734:
4238:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
10074 .loc 1 4238 7 view .LVU3382
4238:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
10075 .loc 1 4238 16 is_stmt 0 view .LVU3383
10076 00ca 2268 ldr r2, [r4]
4238:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
10077 .loc 1 4238 26 view .LVU3384
10078 00cc 1368 ldr r3, [r2]
4238:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
10079 .loc 1 4238 10 view .LVU3385
10080 00ce 5B04 lsls r3, r3, #17
10081 00d0 BFD5 bpl .L572
4241:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
10082 .loc 1 4241 9 is_stmt 1 view .LVU3386
4241:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
10083 .loc 1 4241 17 is_stmt 0 view .LVU3387
10084 00d2 A36B ldr r3, [r4, #56]
4241:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
10085 .loc 1 4241 12 view .LVU3388
10086 00d4 002B cmp r3, #0
10087 00d6 BCD0 beq .L572
4243:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10088 .loc 1 4243 11 is_stmt 1 view .LVU3389
4243:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10089 .loc 1 4243 25 is_stmt 0 view .LVU3390
10090 00d8 1368 ldr r3, [r2]
4243:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10091 .loc 1 4243 31 view .LVU3391
10092 00da 3149 ldr r1, .L585+20
10093 00dc 0B40 ands r3, r1
10094 00de 1360 str r3, [r2]
4247:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10095 .loc 1 4247 11 is_stmt 1 view .LVU3392
4247:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10096 .loc 1 4247 15 is_stmt 0 view .LVU3393
10097 00e0 A36B ldr r3, [r4, #56]
4247:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10098 .loc 1 4247 43 view .LVU3394
10099 00e2 304A ldr r2, .L585+24
10100 00e4 5A63 str r2, [r3, #52]
4250:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
10101 .loc 1 4250 11 is_stmt 1 view .LVU3395
4250:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
10102 .loc 1 4250 15 is_stmt 0 view .LVU3396
10103 00e6 A06B ldr r0, [r4, #56]
10104 00e8 FFF7FEFF bl HAL_DMA_Abort_IT
10105 .LVL735:
4250:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
10106 .loc 1 4250 14 discriminator 1 view .LVU3397
10107 00ec 0028 cmp r0, #0
10108 00ee B0D0 beq .L572
4253:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
10109 .loc 1 4253 13 is_stmt 1 view .LVU3398
4253:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
ARM GAS /tmp/ccuRhBPx.s page 362
10110 .loc 1 4253 17 is_stmt 0 view .LVU3399
10111 00f0 A06B ldr r0, [r4, #56]
4253:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
10112 .loc 1 4253 25 view .LVU3400
10113 00f2 436B ldr r3, [r0, #52]
4253:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
10114 .loc 1 4253 13 view .LVU3401
10115 00f4 9847 blx r3
10116 .LVL736:
10117 00f6 ACE7 b .L572
10118 .L584:
4260:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
10119 .loc 1 4260 7 is_stmt 1 view .LVU3402
4260:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
10120 .loc 1 4260 16 is_stmt 0 view .LVU3403
10121 00f8 2268 ldr r2, [r4]
4260:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
10122 .loc 1 4260 26 view .LVU3404
10123 00fa 1368 ldr r3, [r2]
4260:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
10124 .loc 1 4260 10 view .LVU3405
10125 00fc 1B04 lsls r3, r3, #16
10126 00fe A8D5 bpl .L572
4262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10127 .loc 1 4262 9 is_stmt 1 view .LVU3406
4262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10128 .loc 1 4262 23 is_stmt 0 view .LVU3407
10129 0100 1368 ldr r3, [r2]
4262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10130 .loc 1 4262 29 view .LVU3408
10131 0102 2349 ldr r1, .L585+4
10132 0104 0B40 ands r3, r1
10133 0106 1360 str r3, [r2]
4265:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
10134 .loc 1 4265 9 is_stmt 1 view .LVU3409
4265:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
10135 .loc 1 4265 17 is_stmt 0 view .LVU3410
10136 0108 E36B ldr r3, [r4, #60]
4265:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
10137 .loc 1 4265 12 view .LVU3411
10138 010a 002B cmp r3, #0
10139 010c A1D0 beq .L572
4269:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10140 .loc 1 4269 11 is_stmt 1 view .LVU3412
4269:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10141 .loc 1 4269 43 is_stmt 0 view .LVU3413
10142 010e 254A ldr r2, .L585+24
10143 0110 5A63 str r2, [r3, #52]
4272:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
10144 .loc 1 4272 11 is_stmt 1 view .LVU3414
4272:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
10145 .loc 1 4272 15 is_stmt 0 view .LVU3415
10146 0112 E06B ldr r0, [r4, #60]
10147 0114 FFF7FEFF bl HAL_DMA_Abort_IT
10148 .LVL737:
4272:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
10149 .loc 1 4272 14 discriminator 1 view .LVU3416
ARM GAS /tmp/ccuRhBPx.s page 363
10150 0118 0028 cmp r0, #0
10151 011a 9AD0 beq .L572
4275:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
10152 .loc 1 4275 13 is_stmt 1 view .LVU3417
4275:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
10153 .loc 1 4275 17 is_stmt 0 view .LVU3418
10154 011c E06B ldr r0, [r4, #60]
4275:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
10155 .loc 1 4275 25 view .LVU3419
10156 011e 436B ldr r3, [r0, #52]
4275:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
10157 .loc 1 4275 13 view .LVU3420
10158 0120 9847 blx r3
10159 .LVL738:
10160 0122 96E7 b .L572
10161 .L573:
4318:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
10162 .loc 1 4318 7 is_stmt 1 view .LVU3421
4318:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
10163 .loc 1 4318 23 is_stmt 0 view .LVU3422
10164 0124 4123 movs r3, #65
10165 0126 2822 movs r2, #40
10166 0128 E254 strb r2, [r4, r3]
4319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10167 .loc 1 4319 7 is_stmt 1 view .LVU3423
4319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10168 .loc 1 4319 23 is_stmt 0 view .LVU3424
10169 012a 0022 movs r2, #0
10170 012c 0133 adds r3, r3, #1
10171 012e E254 strb r2, [r4, r3]
4322:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10172 .loc 1 4322 7 is_stmt 1 view .LVU3425
4322:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10173 .loc 1 4322 11 is_stmt 0 view .LVU3426
10174 0130 636C ldr r3, [r4, #68]
4322:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10175 .loc 1 4322 23 view .LVU3427
10176 0132 8021 movs r1, #128
10177 0134 0B43 orrs r3, r1
10178 0136 6364 str r3, [r4, #68]
4325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10179 .loc 1 4325 7 is_stmt 1 view .LVU3428
4325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10180 .loc 1 4325 7 view .LVU3429
10181 0138 4023 movs r3, #64
10182 013a E254 strb r2, [r4, r3]
4325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10183 .loc 1 4325 7 view .LVU3430
4327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
10184 .loc 1 4327 7 view .LVU3431
4327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
10185 .loc 1 4327 14 is_stmt 0 view .LVU3432
10186 013c 0125 movs r5, #1
10187 013e 21E0 b .L568
10188 .LVL739:
10189 .L574:
4333:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
ARM GAS /tmp/ccuRhBPx.s page 364
10190 .loc 1 4333 7 is_stmt 1 view .LVU3433
4333:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10191 .loc 1 4333 11 is_stmt 0 view .LVU3434
10192 0140 638D ldrh r3, [r4, #42]
4333:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10193 .loc 1 4333 30 view .LVU3435
10194 0142 228D ldrh r2, [r4, #40]
4333:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10195 .loc 1 4333 23 view .LVU3436
10196 0144 9B1A subs r3, r3, r2
10197 0146 9BB2 uxth r3, r3
10198 0148 6385 strh r3, [r4, #42]
4336:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
10199 .loc 1 4336 7 is_stmt 1 view .LVU3437
4336:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
10200 .loc 1 4336 22 is_stmt 0 view .LVU3438
10201 014a 0023 movs r3, #0
10202 014c 2385 strh r3, [r4, #40]
4353:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((I2C_GET_DIR(hi2c) == I2C_DIRECTION_TRANSMIT) && (tmp != RESET))
10203 .loc 1 4353 5 is_stmt 1 view .LVU3439
4353:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((I2C_GET_DIR(hi2c) == I2C_DIRECTION_TRANSMIT) && (tmp != RESET))
10204 .loc 1 4353 11 is_stmt 0 view .LVU3440
10205 014e 2268 ldr r2, [r4]
10206 0150 9169 ldr r1, [r2, #24]
10207 0152 0833 adds r3, r3, #8
10208 0154 0B40 ands r3, r1
10209 .LVL740:
4354:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
10210 .loc 1 4354 5 is_stmt 1 view .LVU3441
4354:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
10211 .loc 1 4354 10 is_stmt 0 view .LVU3442
10212 0156 9169 ldr r1, [r2, #24]
4354:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
10213 .loc 1 4354 8 view .LVU3443
10214 0158 C903 lsls r1, r1, #15
10215 015a 0DD5 bpl .L576
10216 .LVL741:
10217 .L577:
4362:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10218 .loc 1 4362 5 is_stmt 1 view .LVU3444
4362:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10219 .loc 1 4362 5 view .LVU3445
10220 015c 4023 movs r3, #64
10221 015e 0022 movs r2, #0
4362:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10222 .loc 1 4362 5 is_stmt 0 view .LVU3446
10223 0160 E254 strb r2, [r4, r3]
4362:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10224 .loc 1 4362 5 is_stmt 1 view .LVU3447
4365:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10225 .loc 1 4365 5 view .LVU3448
4365:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10226 .loc 1 4365 9 is_stmt 0 view .LVU3449
10227 0162 2268 ldr r2, [r4]
4365:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10228 .loc 1 4365 19 view .LVU3450
10229 0164 1168 ldr r1, [r2]
ARM GAS /tmp/ccuRhBPx.s page 365
4365:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10230 .loc 1 4365 25 view .LVU3451
10231 0166 8023 movs r3, #128
10232 0168 1B02 lsls r3, r3, #8
10233 016a 0B43 orrs r3, r1
10234 016c 1360 str r3, [r2]
4371:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10235 .loc 1 4371 5 is_stmt 1 view .LVU3452
10236 016e 0749 ldr r1, .L585
10237 0170 2000 movs r0, r4
10238 .LVL742:
4371:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10239 .loc 1 4371 5 is_stmt 0 view .LVU3453
10240 0172 FFF7FEFF bl I2C_Enable_IRQ
10241 .LVL743:
4373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
10242 .loc 1 4373 5 is_stmt 1 view .LVU3454
4373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
10243 .loc 1 4373 12 is_stmt 0 view .LVU3455
10244 0176 05E0 b .L568
10245 .LVL744:
10246 .L576:
4354:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
10247 .loc 1 4354 55 discriminator 1 view .LVU3456
10248 0178 002B cmp r3, #0
10249 017a EFD0 beq .L577
4358:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
10250 .loc 1 4358 7 is_stmt 1 view .LVU3457
10251 017c 0823 movs r3, #8
10252 .LVL745:
4358:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
10253 .loc 1 4358 7 is_stmt 0 view .LVU3458
10254 017e D361 str r3, [r2, #28]
10255 0180 ECE7 b .L577
10256 .LVL746:
10257 .L578:
4377:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
10258 .loc 1 4377 12 view .LVU3459
10259 0182 0125 movs r5, #1
10260 .LVL747:
10261 .L568:
4379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10262 .loc 1 4379 1 view .LVU3460
10263 0184 2800 movs r0, r5
10264 @ sp needed
10265 .LVL748:
10266 .LVL749:
10267 .LVL750:
4379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10268 .loc 1 4379 1 view .LVU3461
10269 0186 F8BD pop {r3, r4, r5, r6, r7, pc}
10270 .LVL751:
10271 .L579:
4229:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10272 .loc 1 4229 5 discriminator 1 view .LVU3462
10273 0188 0225 movs r5, #2
10274 018a FBE7 b .L568
ARM GAS /tmp/ccuRhBPx.s page 366
10275 .L586:
10276 .align 2
10277 .L585:
10278 018c 02800000 .word 32770
10279 0190 FF7FFFFF .word -32769
10280 0194 00000000 .word I2C_Slave_ISR_DMA
10281 0198 00000000 .word I2C_DMASlaveReceiveCplt
10282 019c 00000000 .word I2C_DMAError
10283 01a0 FFBFFFFF .word -16385
10284 01a4 00000000 .word I2C_DMAAbort
10285 .cfi_endproc
10286 .LFE70:
10288 .section .text.HAL_I2C_EnableListen_IT,"ax",%progbits
10289 .align 1
10290 .global HAL_I2C_EnableListen_IT
10291 .syntax unified
10292 .code 16
10293 .thumb_func
10295 HAL_I2C_EnableListen_IT:
10296 .LVL752:
10297 .LFB71:
4388:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
10298 .loc 1 4388 1 is_stmt 1 view -0
10299 .cfi_startproc
10300 @ args = 0, pretend = 0, frame = 0
10301 @ frame_needed = 0, uses_anonymous_args = 0
4388:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
10302 .loc 1 4388 1 is_stmt 0 view .LVU3464
10303 0000 10B5 push {r4, lr}
10304 .cfi_def_cfa_offset 8
10305 .cfi_offset 4, -8
10306 .cfi_offset 14, -4
4389:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
10307 .loc 1 4389 3 is_stmt 1 view .LVU3465
4389:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
10308 .loc 1 4389 11 is_stmt 0 view .LVU3466
10309 0002 4123 movs r3, #65
10310 0004 C35C ldrb r3, [r0, r3]
4389:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
10311 .loc 1 4389 6 view .LVU3467
10312 0006 202B cmp r3, #32
10313 0008 01D0 beq .L590
4401:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
10314 .loc 1 4401 12 view .LVU3468
10315 000a 0220 movs r0, #2
10316 .LVL753:
10317 .L588:
4403:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10318 .loc 1 4403 1 view .LVU3469
10319 @ sp needed
10320 000c 10BD pop {r4, pc}
10321 .LVL754:
10322 .L590:
4391:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
10323 .loc 1 4391 5 is_stmt 1 view .LVU3470
4391:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
10324 .loc 1 4391 17 is_stmt 0 view .LVU3471
ARM GAS /tmp/ccuRhBPx.s page 367
10325 000e 2133 adds r3, r3, #33
10326 0010 2822 movs r2, #40
10327 0012 C254 strb r2, [r0, r3]
4392:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10328 .loc 1 4392 5 is_stmt 1 view .LVU3472
4392:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10329 .loc 1 4392 19 is_stmt 0 view .LVU3473
10330 0014 034B ldr r3, .L591
10331 0016 4363 str r3, [r0, #52]
4395:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10332 .loc 1 4395 5 is_stmt 1 view .LVU3474
10333 0018 8021 movs r1, #128
10334 001a 0902 lsls r1, r1, #8
10335 001c FFF7FEFF bl I2C_Enable_IRQ
10336 .LVL755:
4397:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
10337 .loc 1 4397 5 view .LVU3475
4397:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
10338 .loc 1 4397 12 is_stmt 0 view .LVU3476
10339 0020 0020 movs r0, #0
10340 0022 F3E7 b .L588
10341 .L592:
10342 .align 2
10343 .L591:
10344 0024 00000000 .word I2C_Slave_ISR_IT
10345 .cfi_endproc
10346 .LFE71:
10348 .section .text.HAL_I2C_DisableListen_IT,"ax",%progbits
10349 .align 1
10350 .global HAL_I2C_DisableListen_IT
10351 .syntax unified
10352 .code 16
10353 .thumb_func
10355 HAL_I2C_DisableListen_IT:
10356 .LVL756:
10357 .LFB72:
4412:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Declaration of tmp to prevent undefined behavior of volatile usage */
10358 .loc 1 4412 1 is_stmt 1 view -0
10359 .cfi_startproc
10360 @ args = 0, pretend = 0, frame = 0
10361 @ frame_needed = 0, uses_anonymous_args = 0
4412:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Declaration of tmp to prevent undefined behavior of volatile usage */
10362 .loc 1 4412 1 is_stmt 0 view .LVU3478
10363 0000 70B5 push {r4, r5, r6, lr}
10364 .cfi_def_cfa_offset 16
10365 .cfi_offset 4, -16
10366 .cfi_offset 5, -12
10367 .cfi_offset 6, -8
10368 .cfi_offset 14, -4
4414:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10369 .loc 1 4414 3 is_stmt 1 view .LVU3479
4417:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
10370 .loc 1 4417 3 view .LVU3480
4417:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
10371 .loc 1 4417 11 is_stmt 0 view .LVU3481
10372 0002 4123 movs r3, #65
10373 0004 C35C ldrb r3, [r0, r3]
ARM GAS /tmp/ccuRhBPx.s page 368
4417:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
10374 .loc 1 4417 6 view .LVU3482
10375 0006 282B cmp r3, #40
10376 0008 01D0 beq .L596
4432:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
10377 .loc 1 4432 12 view .LVU3483
10378 000a 0220 movs r0, #2
10379 .LVL757:
10380 .L594:
4434:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10381 .loc 1 4434 1 view .LVU3484
10382 @ sp needed
10383 000c 70BD pop {r4, r5, r6, pc}
10384 .LVL758:
10385 .L596:
4419:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = tmp | (uint32_t)(hi2c->Mode);
10386 .loc 1 4419 5 is_stmt 1 view .LVU3485
4419:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = tmp | (uint32_t)(hi2c->Mode);
10387 .loc 1 4419 26 is_stmt 0 view .LVU3486
10388 000e 4124 movs r4, #65
10389 0010 025D ldrb r2, [r0, r4]
10390 .LVL759:
4420:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
10391 .loc 1 4420 5 is_stmt 1 view .LVU3487
4420:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
10392 .loc 1 4420 48 is_stmt 0 view .LVU3488
10393 0012 4221 movs r1, #66
10394 0014 435C ldrb r3, [r0, r1]
4420:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
10395 .loc 1 4420 31 view .LVU3489
10396 0016 0325 movs r5, #3
10397 0018 2A40 ands r2, r5
10398 .LVL760:
4420:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
10399 .loc 1 4420 31 view .LVU3490
10400 001a 1343 orrs r3, r2
4420:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
10401 .loc 1 4420 25 view .LVU3491
10402 001c 0363 str r3, [r0, #48]
4421:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
10403 .loc 1 4421 5 is_stmt 1 view .LVU3492
4421:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
10404 .loc 1 4421 17 is_stmt 0 view .LVU3493
10405 001e 2023 movs r3, #32
10406 0020 0355 strb r3, [r0, r4]
4422:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL;
10407 .loc 1 4422 5 is_stmt 1 view .LVU3494
4422:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL;
10408 .loc 1 4422 16 is_stmt 0 view .LVU3495
10409 0022 0023 movs r3, #0
10410 0024 4354 strb r3, [r0, r1]
4423:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10411 .loc 1 4423 5 is_stmt 1 view .LVU3496
4423:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10412 .loc 1 4423 19 is_stmt 0 view .LVU3497
10413 0026 4363 str r3, [r0, #52]
4426:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
ARM GAS /tmp/ccuRhBPx.s page 369
10414 .loc 1 4426 5 is_stmt 1 view .LVU3498
10415 0028 3E31 adds r1, r1, #62
10416 002a 0902 lsls r1, r1, #8
10417 002c FFF7FEFF bl I2C_Disable_IRQ
10418 .LVL761:
4428:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
10419 .loc 1 4428 5 view .LVU3499
4428:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
10420 .loc 1 4428 12 is_stmt 0 view .LVU3500
10421 0030 0020 movs r0, #0
10422 0032 EBE7 b .L594
10423 .cfi_endproc
10424 .LFE72:
10426 .section .text.HAL_I2C_Master_Abort_IT,"ax",%progbits
10427 .align 1
10428 .global HAL_I2C_Master_Abort_IT
10429 .syntax unified
10430 .code 16
10431 .thumb_func
10433 HAL_I2C_Master_Abort_IT:
10434 .LVL762:
10435 .LFB73:
4445:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->Mode == HAL_I2C_MODE_MASTER)
10436 .loc 1 4445 1 is_stmt 1 view -0
10437 .cfi_startproc
10438 @ args = 0, pretend = 0, frame = 0
10439 @ frame_needed = 0, uses_anonymous_args = 0
4445:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->Mode == HAL_I2C_MODE_MASTER)
10440 .loc 1 4445 1 is_stmt 0 view .LVU3502
10441 0000 30B5 push {r4, r5, lr}
10442 .cfi_def_cfa_offset 12
10443 .cfi_offset 4, -12
10444 .cfi_offset 5, -8
10445 .cfi_offset 14, -4
10446 0002 83B0 sub sp, sp, #12
10447 .cfi_def_cfa_offset 24
10448 0004 0400 movs r4, r0
10449 0006 0D00 movs r5, r1
4446:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
10450 .loc 1 4446 3 is_stmt 1 view .LVU3503
4446:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
10451 .loc 1 4446 11 is_stmt 0 view .LVU3504
10452 0008 4223 movs r3, #66
10453 000a C35C ldrb r3, [r0, r3]
4446:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
10454 .loc 1 4446 6 view .LVU3505
10455 000c 102B cmp r3, #16
10456 000e 2FD1 bne .L601
4449:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10457 .loc 1 4449 5 is_stmt 1 view .LVU3506
4449:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10458 .loc 1 4449 5 view .LVU3507
10459 0010 3033 adds r3, r3, #48
10460 0012 C35C ldrb r3, [r0, r3]
10461 0014 012B cmp r3, #1
10462 0016 2ED0 beq .L602
4449:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
ARM GAS /tmp/ccuRhBPx.s page 370
10463 .loc 1 4449 5 discriminator 2 view .LVU3508
10464 0018 4023 movs r3, #64
10465 001a 0122 movs r2, #1
10466 001c C254 strb r2, [r0, r3]
4449:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10467 .loc 1 4449 5 discriminator 2 view .LVU3509
4452:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
10468 .loc 1 4452 5 view .LVU3510
4452:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
10469 .loc 1 4452 13 is_stmt 0 view .LVU3511
10470 001e 0133 adds r3, r3, #1
10471 0020 C35C ldrb r3, [r0, r3]
4452:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
10472 .loc 1 4452 8 view .LVU3512
10473 0022 212B cmp r3, #33
10474 0024 18D0 beq .L603
4457:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
10475 .loc 1 4457 10 is_stmt 1 view .LVU3513
4457:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
10476 .loc 1 4457 18 is_stmt 0 view .LVU3514
10477 0026 4123 movs r3, #65
10478 0028 C35C ldrb r3, [r0, r3]
4457:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
10479 .loc 1 4457 13 view .LVU3515
10480 002a 222B cmp r3, #34
10481 002c 1AD0 beq .L604
10482 .LVL763:
10483 .L600:
4465:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10484 .loc 1 4465 5 is_stmt 1 view .LVU3516
4468:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10485 .loc 1 4468 5 view .LVU3517
4468:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10486 .loc 1 4468 17 is_stmt 0 view .LVU3518
10487 002e 4123 movs r3, #65
10488 0030 6022 movs r2, #96
10489 0032 E254 strb r2, [r4, r3]
4472:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10490 .loc 1 4472 5 is_stmt 1 view .LVU3519
10491 0034 3F33 adds r3, r3, #63
10492 0036 114A ldr r2, .L605
10493 0038 0092 str r2, [sp]
10494 003a 9B04 lsls r3, r3, #18
10495 003c 0122 movs r2, #1
10496 003e 2900 movs r1, r5
10497 0040 2000 movs r0, r4
10498 0042 FFF7FEFF bl I2C_TransferConfig
10499 .LVL764:
4475:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10500 .loc 1 4475 5 view .LVU3520
4475:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10501 .loc 1 4475 5 view .LVU3521
10502 0046 4023 movs r3, #64
10503 0048 0022 movs r2, #0
10504 004a E254 strb r2, [r4, r3]
4475:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10505 .loc 1 4475 5 view .LVU3522
ARM GAS /tmp/ccuRhBPx.s page 371
4480:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10506 .loc 1 4480 5 view .LVU3523
10507 004c 2021 movs r1, #32
10508 004e 2000 movs r0, r4
10509 0050 FFF7FEFF bl I2C_Enable_IRQ
10510 .LVL765:
4482:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
10511 .loc 1 4482 5 view .LVU3524
4482:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
10512 .loc 1 4482 12 is_stmt 0 view .LVU3525
10513 0054 0020 movs r0, #0
10514 0056 0CE0 b .L598
10515 .LVL766:
10516 .L603:
4454:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_TX;
10517 .loc 1 4454 7 is_stmt 1 view .LVU3526
10518 0058 0121 movs r1, #1
10519 .LVL767:
4454:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_TX;
10520 .loc 1 4454 7 is_stmt 0 view .LVU3527
10521 005a FFF7FEFF bl I2C_Disable_IRQ
10522 .LVL768:
4455:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
10523 .loc 1 4455 7 is_stmt 1 view .LVU3528
4455:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
10524 .loc 1 4455 27 is_stmt 0 view .LVU3529
10525 005e 1123 movs r3, #17
10526 0060 2363 str r3, [r4, #48]
10527 0062 E4E7 b .L600
10528 .LVL769:
10529 .L604:
4459:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_RX;
10530 .loc 1 4459 7 is_stmt 1 view .LVU3530
10531 0064 0221 movs r1, #2
10532 .LVL770:
4459:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_RX;
10533 .loc 1 4459 7 is_stmt 0 view .LVU3531
10534 0066 FFF7FEFF bl I2C_Disable_IRQ
10535 .LVL771:
4460:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
10536 .loc 1 4460 7 is_stmt 1 view .LVU3532
4460:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
10537 .loc 1 4460 27 is_stmt 0 view .LVU3533
10538 006a 1223 movs r3, #18
10539 006c 2363 str r3, [r4, #48]
10540 006e DEE7 b .L600
10541 .LVL772:
10542 .L601:
4488:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
10543 .loc 1 4488 12 view .LVU3534
10544 0070 0120 movs r0, #1
10545 .LVL773:
10546 .L598:
4490:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10547 .loc 1 4490 1 view .LVU3535
10548 0072 03B0 add sp, sp, #12
10549 @ sp needed
ARM GAS /tmp/ccuRhBPx.s page 372
10550 .LVL774:
10551 .LVL775:
4490:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10552 .loc 1 4490 1 view .LVU3536
10553 0074 30BD pop {r4, r5, pc}
10554 .LVL776:
10555 .L602:
4449:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10556 .loc 1 4449 5 discriminator 1 view .LVU3537
10557 0076 0220 movs r0, #2
10558 .LVL777:
4449:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10559 .loc 1 4449 5 discriminator 1 view .LVU3538
10560 0078 FBE7 b .L598
10561 .L606:
10562 007a C046 .align 2
10563 .L605:
10564 007c 00400080 .word -2147467264
10565 .cfi_endproc
10566 .LFE73:
10568 .section .text.HAL_I2C_EV_IRQHandler,"ax",%progbits
10569 .align 1
10570 .global HAL_I2C_EV_IRQHandler
10571 .syntax unified
10572 .code 16
10573 .thumb_func
10575 HAL_I2C_EV_IRQHandler:
10576 .LVL778:
10577 .LFB74:
4507:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Get current IT Flags and IT sources value */
10578 .loc 1 4507 1 is_stmt 1 view -0
10579 .cfi_startproc
10580 @ args = 0, pretend = 0, frame = 0
10581 @ frame_needed = 0, uses_anonymous_args = 0
4507:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Get current IT Flags and IT sources value */
10582 .loc 1 4507 1 is_stmt 0 view .LVU3540
10583 0000 10B5 push {r4, lr}
10584 .cfi_def_cfa_offset 8
10585 .cfi_offset 4, -8
10586 .cfi_offset 14, -4
4509:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t itsources = READ_REG(hi2c->Instance->CR1);
10587 .loc 1 4509 3 is_stmt 1 view .LVU3541
4509:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t itsources = READ_REG(hi2c->Instance->CR1);
10588 .loc 1 4509 24 is_stmt 0 view .LVU3542
10589 0002 0368 ldr r3, [r0]
4509:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t itsources = READ_REG(hi2c->Instance->CR1);
10590 .loc 1 4509 12 view .LVU3543
10591 0004 9969 ldr r1, [r3, #24]
10592 .LVL779:
4510:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10593 .loc 1 4510 3 is_stmt 1 view .LVU3544
4510:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10594 .loc 1 4510 12 is_stmt 0 view .LVU3545
10595 0006 1A68 ldr r2, [r3]
10596 .LVL780:
4513:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
10597 .loc 1 4513 3 is_stmt 1 view .LVU3546
ARM GAS /tmp/ccuRhBPx.s page 373
4513:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
10598 .loc 1 4513 11 is_stmt 0 view .LVU3547
10599 0008 436B ldr r3, [r0, #52]
4513:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
10600 .loc 1 4513 6 view .LVU3548
10601 000a 002B cmp r3, #0
10602 000c 00D0 beq .L607
4515:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
10603 .loc 1 4515 5 is_stmt 1 view .LVU3549
10604 000e 9847 blx r3
10605 .LVL781:
10606 .L607:
4517:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10607 .loc 1 4517 1 is_stmt 0 view .LVU3550
10608 @ sp needed
10609 0010 10BD pop {r4, pc}
10610 .cfi_endproc
10611 .LFE74:
10613 .section .text.HAL_I2C_MasterTxCpltCallback,"ax",%progbits
10614 .align 1
10615 .weak HAL_I2C_MasterTxCpltCallback
10616 .syntax unified
10617 .code 16
10618 .thumb_func
10620 HAL_I2C_MasterTxCpltCallback:
10621 .LVL782:
10622 .LFB76:
4578:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
10623 .loc 1 4578 1 is_stmt 1 view -0
10624 .cfi_startproc
10625 @ args = 0, pretend = 0, frame = 0
10626 @ frame_needed = 0, uses_anonymous_args = 0
10627 @ link register save eliminated.
4580:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10628 .loc 1 4580 3 view .LVU3552
4585:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10629 .loc 1 4585 1 is_stmt 0 view .LVU3553
10630 @ sp needed
10631 0000 7047 bx lr
10632 .cfi_endproc
10633 .LFE76:
10635 .section .text.HAL_I2C_MasterRxCpltCallback,"ax",%progbits
10636 .align 1
10637 .weak HAL_I2C_MasterRxCpltCallback
10638 .syntax unified
10639 .code 16
10640 .thumb_func
10642 HAL_I2C_MasterRxCpltCallback:
10643 .LVL783:
10644 .LFB77:
4594:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
10645 .loc 1 4594 1 is_stmt 1 view -0
10646 .cfi_startproc
10647 @ args = 0, pretend = 0, frame = 0
10648 @ frame_needed = 0, uses_anonymous_args = 0
10649 @ link register save eliminated.
4596:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
ARM GAS /tmp/ccuRhBPx.s page 374
10650 .loc 1 4596 3 view .LVU3555
4601:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10651 .loc 1 4601 1 is_stmt 0 view .LVU3556
10652 @ sp needed
10653 0000 7047 bx lr
10654 .cfi_endproc
10655 .LFE77:
10657 .section .text.I2C_ITMasterSeqCplt,"ax",%progbits
10658 .align 1
10659 .syntax unified
10660 .code 16
10661 .thumb_func
10663 I2C_ITMasterSeqCplt:
10664 .LVL784:
10665 .LFB98:
5855:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Reset I2C handle mode */
10666 .loc 1 5855 1 is_stmt 1 view -0
10667 .cfi_startproc
10668 @ args = 0, pretend = 0, frame = 0
10669 @ frame_needed = 0, uses_anonymous_args = 0
5855:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Reset I2C handle mode */
10670 .loc 1 5855 1 is_stmt 0 view .LVU3558
10671 0000 70B5 push {r4, r5, r6, lr}
10672 .cfi_def_cfa_offset 16
10673 .cfi_offset 4, -16
10674 .cfi_offset 5, -12
10675 .cfi_offset 6, -8
10676 .cfi_offset 14, -4
10677 0002 0400 movs r4, r0
5857:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10678 .loc 1 5857 3 is_stmt 1 view .LVU3559
5857:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10679 .loc 1 5857 14 is_stmt 0 view .LVU3560
10680 0004 4223 movs r3, #66
10681 0006 0022 movs r2, #0
10682 0008 C254 strb r2, [r0, r3]
5861:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
10683 .loc 1 5861 3 is_stmt 1 view .LVU3561
5861:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
10684 .loc 1 5861 11 is_stmt 0 view .LVU3562
10685 000a 013B subs r3, r3, #1
10686 000c C35C ldrb r3, [r0, r3]
5861:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
10687 .loc 1 5861 6 view .LVU3563
10688 000e 212B cmp r3, #33
10689 0010 0FD0 beq .L614
5883:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_RX;
10690 .loc 1 5883 5 is_stmt 1 view .LVU3564
5883:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_RX;
10691 .loc 1 5883 25 is_stmt 0 view .LVU3565
10692 0012 4123 movs r3, #65
10693 0014 2022 movs r2, #32
10694 0016 C254 strb r2, [r0, r3]
5884:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL;
10695 .loc 1 5884 5 is_stmt 1 view .LVU3566
5884:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL;
10696 .loc 1 5884 25 is_stmt 0 view .LVU3567
ARM GAS /tmp/ccuRhBPx.s page 375
10697 0018 2F3B subs r3, r3, #47
10698 001a 0363 str r3, [r0, #48]
5885:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10699 .loc 1 5885 5 is_stmt 1 view .LVU3568
5885:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10700 .loc 1 5885 25 is_stmt 0 view .LVU3569
10701 001c 0025 movs r5, #0
10702 001e 4563 str r5, [r0, #52]
5888:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10703 .loc 1 5888 5 is_stmt 1 view .LVU3570
10704 0020 0221 movs r1, #2
10705 0022 FFF7FEFF bl I2C_Disable_IRQ
10706 .LVL785:
5891:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10707 .loc 1 5891 5 view .LVU3571
5891:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10708 .loc 1 5891 5 view .LVU3572
10709 0026 4023 movs r3, #64
10710 0028 E554 strb r5, [r4, r3]
5891:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10711 .loc 1 5891 5 view .LVU3573
5897:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
10712 .loc 1 5897 5 view .LVU3574
10713 002a 2000 movs r0, r4
10714 002c FFF7FEFF bl HAL_I2C_MasterRxCpltCallback
10715 .LVL786:
10716 .L611:
5900:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10717 .loc 1 5900 1 is_stmt 0 view .LVU3575
10718 @ sp needed
10719 .LVL787:
5900:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10720 .loc 1 5900 1 view .LVU3576
10721 0030 70BD pop {r4, r5, r6, pc}
10722 .LVL788:
10723 .L614:
5863:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_TX;
10724 .loc 1 5863 5 is_stmt 1 view .LVU3577
5863:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_TX;
10725 .loc 1 5863 25 is_stmt 0 view .LVU3578
10726 0032 2033 adds r3, r3, #32
10727 0034 2032 adds r2, r2, #32
10728 0036 C254 strb r2, [r0, r3]
5864:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL;
10729 .loc 1 5864 5 is_stmt 1 view .LVU3579
5864:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL;
10730 .loc 1 5864 25 is_stmt 0 view .LVU3580
10731 0038 303B subs r3, r3, #48
10732 003a 0363 str r3, [r0, #48]
5865:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10733 .loc 1 5865 5 is_stmt 1 view .LVU3581
5865:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10734 .loc 1 5865 25 is_stmt 0 view .LVU3582
10735 003c 0025 movs r5, #0
10736 003e 4563 str r5, [r0, #52]
5868:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10737 .loc 1 5868 5 is_stmt 1 view .LVU3583
ARM GAS /tmp/ccuRhBPx.s page 376
10738 0040 0121 movs r1, #1
10739 0042 FFF7FEFF bl I2C_Disable_IRQ
10740 .LVL789:
5871:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10741 .loc 1 5871 5 view .LVU3584
5871:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10742 .loc 1 5871 5 view .LVU3585
10743 0046 4023 movs r3, #64
10744 0048 E554 strb r5, [r4, r3]
5871:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10745 .loc 1 5871 5 view .LVU3586
5877:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
10746 .loc 1 5877 5 view .LVU3587
10747 004a 2000 movs r0, r4
10748 004c FFF7FEFF bl HAL_I2C_MasterTxCpltCallback
10749 .LVL790:
10750 0050 EEE7 b .L611
10751 .cfi_endproc
10752 .LFE98:
10754 .section .text.HAL_I2C_SlaveTxCpltCallback,"ax",%progbits
10755 .align 1
10756 .weak HAL_I2C_SlaveTxCpltCallback
10757 .syntax unified
10758 .code 16
10759 .thumb_func
10761 HAL_I2C_SlaveTxCpltCallback:
10762 .LVL791:
10763 .LFB78:
4609:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
10764 .loc 1 4609 1 view -0
10765 .cfi_startproc
10766 @ args = 0, pretend = 0, frame = 0
10767 @ frame_needed = 0, uses_anonymous_args = 0
10768 @ link register save eliminated.
4611:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10769 .loc 1 4611 3 view .LVU3589
4616:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10770 .loc 1 4616 1 is_stmt 0 view .LVU3590
10771 @ sp needed
10772 0000 7047 bx lr
10773 .cfi_endproc
10774 .LFE78:
10776 .section .text.HAL_I2C_SlaveRxCpltCallback,"ax",%progbits
10777 .align 1
10778 .weak HAL_I2C_SlaveRxCpltCallback
10779 .syntax unified
10780 .code 16
10781 .thumb_func
10783 HAL_I2C_SlaveRxCpltCallback:
10784 .LVL792:
10785 .LFB79:
4625:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
10786 .loc 1 4625 1 is_stmt 1 view -0
10787 .cfi_startproc
10788 @ args = 0, pretend = 0, frame = 0
10789 @ frame_needed = 0, uses_anonymous_args = 0
10790 @ link register save eliminated.
ARM GAS /tmp/ccuRhBPx.s page 377
4627:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10791 .loc 1 4627 3 view .LVU3592
4632:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10792 .loc 1 4632 1 is_stmt 0 view .LVU3593
10793 @ sp needed
10794 0000 7047 bx lr
10795 .cfi_endproc
10796 .LFE79:
10798 .section .text.I2C_ITSlaveSeqCplt,"ax",%progbits
10799 .align 1
10800 .syntax unified
10801 .code 16
10802 .thumb_func
10804 I2C_ITSlaveSeqCplt:
10805 .LVL793:
10806 .LFB99:
5908:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmpcr1value = READ_REG(hi2c->Instance->CR1);
10807 .loc 1 5908 1 is_stmt 1 view -0
10808 .cfi_startproc
10809 @ args = 0, pretend = 0, frame = 0
10810 @ frame_needed = 0, uses_anonymous_args = 0
5908:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmpcr1value = READ_REG(hi2c->Instance->CR1);
10811 .loc 1 5908 1 is_stmt 0 view .LVU3595
10812 0000 10B5 push {r4, lr}
10813 .cfi_def_cfa_offset 8
10814 .cfi_offset 4, -8
10815 .cfi_offset 14, -4
10816 0002 0400 movs r4, r0
5909:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10817 .loc 1 5909 3 is_stmt 1 view .LVU3596
5909:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10818 .loc 1 5909 26 is_stmt 0 view .LVU3597
10819 0004 0368 ldr r3, [r0]
5909:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10820 .loc 1 5909 12 view .LVU3598
10821 0006 1A68 ldr r2, [r3]
10822 .LVL794:
5912:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10823 .loc 1 5912 3 is_stmt 1 view .LVU3599
5912:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10824 .loc 1 5912 14 is_stmt 0 view .LVU3600
10825 0008 4221 movs r1, #66
10826 000a 0020 movs r0, #0
10827 .LVL795:
5912:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10828 .loc 1 5912 14 view .LVU3601
10829 000c 6054 strb r0, [r4, r1]
5915:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
10830 .loc 1 5915 3 is_stmt 1 view .LVU3602
5915:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
10831 .loc 1 5915 6 is_stmt 0 view .LVU3603
10832 000e 5104 lsls r1, r2, #17
10833 0010 0CD5 bpl .L618
5918:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
10834 .loc 1 5918 5 is_stmt 1 view .LVU3604
5918:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
10835 .loc 1 5918 19 is_stmt 0 view .LVU3605
ARM GAS /tmp/ccuRhBPx.s page 378
10836 0012 1A68 ldr r2, [r3]
10837 .LVL796:
5918:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
10838 .loc 1 5918 25 view .LVU3606
10839 0014 1949 ldr r1, .L625
10840 0016 0A40 ands r2, r1
10841 0018 1A60 str r2, [r3]
10842 .L619:
5928:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10843 .loc 1 5928 3 is_stmt 1 view .LVU3607
5930:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
10844 .loc 1 5930 3 view .LVU3608
5930:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
10845 .loc 1 5930 11 is_stmt 0 view .LVU3609
10846 001a 4123 movs r3, #65
10847 001c E35C ldrb r3, [r4, r3]
5930:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
10848 .loc 1 5930 6 view .LVU3610
10849 001e 292B cmp r3, #41
10850 0020 0BD0 beq .L623
5950:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
10851 .loc 1 5950 8 is_stmt 1 view .LVU3611
5950:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
10852 .loc 1 5950 16 is_stmt 0 view .LVU3612
10853 0022 4123 movs r3, #65
10854 0024 E35C ldrb r3, [r4, r3]
5950:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
10855 .loc 1 5950 11 view .LVU3613
10856 0026 2A2B cmp r3, #42
10857 0028 17D0 beq .L624
10858 .L617:
5973:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10859 .loc 1 5973 1 view .LVU3614
10860 @ sp needed
10861 .LVL797:
5973:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10862 .loc 1 5973 1 view .LVU3615
10863 002a 10BD pop {r4, pc}
10864 .LVL798:
10865 .L618:
5920:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
10866 .loc 1 5920 8 is_stmt 1 view .LVU3616
5920:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
10867 .loc 1 5920 11 is_stmt 0 view .LVU3617
10868 002c 1204 lsls r2, r2, #16
10869 002e F4D5 bpl .L619
10870 .LVL799:
5923:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
10871 .loc 1 5923 5 is_stmt 1 view .LVU3618
5923:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
10872 .loc 1 5923 19 is_stmt 0 view .LVU3619
10873 0030 1A68 ldr r2, [r3]
5923:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
10874 .loc 1 5923 25 view .LVU3620
10875 0032 1349 ldr r1, .L625+4
10876 0034 0A40 ands r2, r1
10877 0036 1A60 str r2, [r3]
ARM GAS /tmp/ccuRhBPx.s page 379
10878 0038 EFE7 b .L619
10879 .L623:
5933:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_TX;
10880 .loc 1 5933 5 is_stmt 1 view .LVU3621
5933:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_TX;
10881 .loc 1 5933 25 is_stmt 0 view .LVU3622
10882 003a 1833 adds r3, r3, #24
10883 003c 2822 movs r2, #40
10884 003e E254 strb r2, [r4, r3]
5934:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10885 .loc 1 5934 5 is_stmt 1 view .LVU3623
5934:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10886 .loc 1 5934 25 is_stmt 0 view .LVU3624
10887 0040 203B subs r3, r3, #32
10888 0042 2363 str r3, [r4, #48]
5937:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10889 .loc 1 5937 5 is_stmt 1 view .LVU3625
10890 0044 0121 movs r1, #1
10891 0046 2000 movs r0, r4
10892 0048 FFF7FEFF bl I2C_Disable_IRQ
10893 .LVL800:
5940:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10894 .loc 1 5940 5 view .LVU3626
5940:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10895 .loc 1 5940 5 view .LVU3627
10896 004c 4023 movs r3, #64
10897 004e 0022 movs r2, #0
10898 0050 E254 strb r2, [r4, r3]
5940:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10899 .loc 1 5940 5 view .LVU3628
5946:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
10900 .loc 1 5946 5 view .LVU3629
10901 0052 2000 movs r0, r4
10902 0054 FFF7FEFF bl HAL_I2C_SlaveTxCpltCallback
10903 .LVL801:
10904 0058 E7E7 b .L617
10905 .L624:
5953:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_RX;
10906 .loc 1 5953 5 view .LVU3630
5953:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_RX;
10907 .loc 1 5953 25 is_stmt 0 view .LVU3631
10908 005a 1733 adds r3, r3, #23
10909 005c 2822 movs r2, #40
10910 005e E254 strb r2, [r4, r3]
5954:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10911 .loc 1 5954 5 is_stmt 1 view .LVU3632
5954:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10912 .loc 1 5954 25 is_stmt 0 view .LVU3633
10913 0060 1F3B subs r3, r3, #31
10914 0062 2363 str r3, [r4, #48]
5957:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10915 .loc 1 5957 5 is_stmt 1 view .LVU3634
10916 0064 0221 movs r1, #2
10917 0066 2000 movs r0, r4
10918 0068 FFF7FEFF bl I2C_Disable_IRQ
10919 .LVL802:
5960:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
ARM GAS /tmp/ccuRhBPx.s page 380
10920 .loc 1 5960 5 view .LVU3635
5960:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10921 .loc 1 5960 5 view .LVU3636
10922 006c 4023 movs r3, #64
10923 006e 0022 movs r2, #0
10924 0070 E254 strb r2, [r4, r3]
5960:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10925 .loc 1 5960 5 view .LVU3637
5966:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
10926 .loc 1 5966 5 view .LVU3638
10927 0072 2000 movs r0, r4
10928 0074 FFF7FEFF bl HAL_I2C_SlaveRxCpltCallback
10929 .LVL803:
5972:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
10930 .loc 1 5972 3 view .LVU3639
5973:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10931 .loc 1 5973 1 is_stmt 0 view .LVU3640
10932 0078 D7E7 b .L617
10933 .L626:
10934 007a C046 .align 2
10935 .L625:
10936 007c FFBFFFFF .word -16385
10937 0080 FF7FFFFF .word -32769
10938 .cfi_endproc
10939 .LFE99:
10941 .section .text.I2C_DMASlaveTransmitCplt,"ax",%progbits
10942 .align 1
10943 .syntax unified
10944 .code 16
10945 .thumb_func
10947 I2C_DMASlaveTransmitCplt:
10948 .LVL804:
10949 .LFB107:
6576:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Derogation MISRAC2012-Rule-11.5 */
10950 .loc 1 6576 1 is_stmt 1 view -0
10951 .cfi_startproc
10952 @ args = 0, pretend = 0, frame = 0
10953 @ frame_needed = 0, uses_anonymous_args = 0
6576:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Derogation MISRAC2012-Rule-11.5 */
10954 .loc 1 6576 1 is_stmt 0 view .LVU3642
10955 0000 10B5 push {r4, lr}
10956 .cfi_def_cfa_offset 8
10957 .cfi_offset 4, -8
10958 .cfi_offset 14, -4
6578:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmpoptions = hi2c->XferOptions;
10959 .loc 1 6578 3 is_stmt 1 view .LVU3643
6578:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmpoptions = hi2c->XferOptions;
10960 .loc 1 6578 22 is_stmt 0 view .LVU3644
10961 0002 406A ldr r0, [r0, #36]
10962 .LVL805:
6579:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10963 .loc 1 6579 3 is_stmt 1 view .LVU3645
6579:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10964 .loc 1 6579 12 is_stmt 0 view .LVU3646
10965 0004 C36A ldr r3, [r0, #44]
10966 .LVL806:
6581:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
ARM GAS /tmp/ccuRhBPx.s page 381
10967 .loc 1 6581 3 is_stmt 1 view .LVU3647
6581:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
10968 .loc 1 6581 6 is_stmt 0 view .LVU3648
10969 0006 8022 movs r2, #128
10970 0008 5204 lsls r2, r2, #17
10971 000a 9342 cmp r3, r2
10972 000c 01D0 beq .L628
6581:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
10973 .loc 1 6581 38 discriminator 1 view .LVU3649
10974 000e 002B cmp r3, #0
10975 0010 06D1 bne .L627
10976 .L628:
6584:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10977 .loc 1 6584 5 is_stmt 1 view .LVU3650
6584:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10978 .loc 1 6584 9 is_stmt 0 view .LVU3651
10979 0012 0268 ldr r2, [r0]
6584:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10980 .loc 1 6584 19 view .LVU3652
10981 0014 1368 ldr r3, [r2]
10982 .LVL807:
6584:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10983 .loc 1 6584 25 view .LVU3653
10984 0016 0349 ldr r1, .L630
10985 0018 0B40 ands r3, r1
10986 001a 1360 str r3, [r2]
6588:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
10987 .loc 1 6588 5 is_stmt 1 view .LVU3654
10988 001c FFF7FEFF bl I2C_ITSlaveSeqCplt
10989 .LVL808:
10990 .L627:
6596:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
10991 .loc 1 6596 1 is_stmt 0 view .LVU3655
10992 @ sp needed
10993 0020 10BD pop {r4, pc}
10994 .L631:
10995 0022 C046 .align 2
10996 .L630:
10997 0024 FFBFFFFF .word -16385
10998 .cfi_endproc
10999 .LFE107:
11001 .section .text.I2C_DMASlaveReceiveCplt,"ax",%progbits
11002 .align 1
11003 .syntax unified
11004 .code 16
11005 .thumb_func
11007 I2C_DMASlaveReceiveCplt:
11008 .LVL809:
11009 .LFB109:
6656:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Derogation MISRAC2012-Rule-11.5 */
11010 .loc 1 6656 1 is_stmt 1 view -0
11011 .cfi_startproc
11012 @ args = 0, pretend = 0, frame = 0
11013 @ frame_needed = 0, uses_anonymous_args = 0
6656:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Derogation MISRAC2012-Rule-11.5 */
11014 .loc 1 6656 1 is_stmt 0 view .LVU3657
11015 0000 10B5 push {r4, lr}
ARM GAS /tmp/ccuRhBPx.s page 382
11016 .cfi_def_cfa_offset 8
11017 .cfi_offset 4, -8
11018 .cfi_offset 14, -4
6658:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmpoptions = hi2c->XferOptions;
11019 .loc 1 6658 3 is_stmt 1 view .LVU3658
6658:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmpoptions = hi2c->XferOptions;
11020 .loc 1 6658 22 is_stmt 0 view .LVU3659
11021 0002 406A ldr r0, [r0, #36]
11022 .LVL810:
6659:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11023 .loc 1 6659 3 is_stmt 1 view .LVU3660
6659:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11024 .loc 1 6659 12 is_stmt 0 view .LVU3661
11025 0004 C26A ldr r2, [r0, #44]
11026 .LVL811:
6661:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (tmpoptions != I2C_NO_OPTION_FRAME))
11027 .loc 1 6661 3 is_stmt 1 view .LVU3662
6661:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (tmpoptions != I2C_NO_OPTION_FRAME))
11028 .loc 1 6661 8 is_stmt 0 view .LVU3663
11029 0006 C36B ldr r3, [r0, #60]
11030 0008 1B68 ldr r3, [r3]
11031 000a 5B68 ldr r3, [r3, #4]
6661:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (tmpoptions != I2C_NO_OPTION_FRAME))
11032 .loc 1 6661 6 view .LVU3664
11033 000c 002B cmp r3, #0
11034 000e 02D1 bne .L632
6661:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (tmpoptions != I2C_NO_OPTION_FRAME))
11035 .loc 1 6661 53 discriminator 1 view .LVU3665
11036 0010 054B ldr r3, .L635
11037 0012 9A42 cmp r2, r3
11038 0014 00D1 bne .L634
11039 .LVL812:
11040 .L632:
6676:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11041 .loc 1 6676 1 view .LVU3666
11042 @ sp needed
11043 0016 10BD pop {r4, pc}
11044 .LVL813:
11045 .L634:
6665:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11046 .loc 1 6665 5 is_stmt 1 view .LVU3667
6665:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11047 .loc 1 6665 9 is_stmt 0 view .LVU3668
11048 0018 0268 ldr r2, [r0]
11049 .LVL814:
6665:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11050 .loc 1 6665 19 view .LVU3669
11051 001a 1368 ldr r3, [r2]
6665:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11052 .loc 1 6665 25 view .LVU3670
11053 001c 0349 ldr r1, .L635+4
11054 001e 0B40 ands r3, r1
11055 0020 1360 str r3, [r2]
6668:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
11056 .loc 1 6668 5 is_stmt 1 view .LVU3671
11057 0022 FFF7FEFF bl I2C_ITSlaveSeqCplt
11058 .LVL815:
ARM GAS /tmp/ccuRhBPx.s page 383
6675:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
11059 .loc 1 6675 3 view .LVU3672
6676:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11060 .loc 1 6676 1 is_stmt 0 view .LVU3673
11061 0026 F6E7 b .L632
11062 .L636:
11063 .align 2
11064 .L635:
11065 0028 0000FFFF .word -65536
11066 002c FF7FFFFF .word -32769
11067 .cfi_endproc
11068 .LFE109:
11070 .section .text.HAL_I2C_AddrCallback,"ax",%progbits
11071 .align 1
11072 .weak HAL_I2C_AddrCallback
11073 .syntax unified
11074 .code 16
11075 .thumb_func
11077 HAL_I2C_AddrCallback:
11078 .LVL816:
11079 .LFB80:
4643:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
11080 .loc 1 4643 1 is_stmt 1 view -0
11081 .cfi_startproc
11082 @ args = 0, pretend = 0, frame = 0
11083 @ frame_needed = 0, uses_anonymous_args = 0
11084 @ link register save eliminated.
4645:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** UNUSED(TransferDirection);
11085 .loc 1 4645 3 view .LVU3675
4646:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** UNUSED(AddrMatchCode);
11086 .loc 1 4646 3 view .LVU3676
4647:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11087 .loc 1 4647 3 view .LVU3677
4652:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11088 .loc 1 4652 1 is_stmt 0 view .LVU3678
11089 @ sp needed
11090 0000 7047 bx lr
11091 .cfi_endproc
11092 .LFE80:
11094 .section .text.I2C_ITAddrCplt,"ax",%progbits
11095 .align 1
11096 .syntax unified
11097 .code 16
11098 .thumb_func
11100 I2C_ITAddrCplt:
11101 .LVL817:
11102 .LFB97:
5760:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint8_t transferdirection;
11103 .loc 1 5760 1 is_stmt 1 view -0
11104 .cfi_startproc
11105 @ args = 0, pretend = 0, frame = 0
11106 @ frame_needed = 0, uses_anonymous_args = 0
5760:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint8_t transferdirection;
11107 .loc 1 5760 1 is_stmt 0 view .LVU3680
11108 0000 F8B5 push {r3, r4, r5, r6, r7, lr}
11109 .cfi_def_cfa_offset 24
11110 .cfi_offset 3, -24
ARM GAS /tmp/ccuRhBPx.s page 384
11111 .cfi_offset 4, -20
11112 .cfi_offset 5, -16
11113 .cfi_offset 6, -12
11114 .cfi_offset 7, -8
11115 .cfi_offset 14, -4
11116 0002 0400 movs r4, r0
5761:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint16_t slaveaddrcode;
11117 .loc 1 5761 3 is_stmt 1 view .LVU3681
5762:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint16_t ownadd1code;
11118 .loc 1 5762 3 view .LVU3682
5763:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint16_t ownadd2code;
11119 .loc 1 5763 3 view .LVU3683
5764:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11120 .loc 1 5764 3 view .LVU3684
5767:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11121 .loc 1 5767 3 view .LVU3685
5770:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11122 .loc 1 5770 3 view .LVU3686
5770:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11123 .loc 1 5770 22 is_stmt 0 view .LVU3687
11124 0004 4123 movs r3, #65
11125 0006 C35C ldrb r3, [r0, r3]
5770:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11126 .loc 1 5770 6 view .LVU3688
11127 0008 2822 movs r2, #40
11128 000a 1340 ands r3, r2
11129 000c 282B cmp r3, #40
11130 000e 06D0 beq .L643
5842:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11131 .loc 1 5842 5 is_stmt 1 view .LVU3689
11132 0010 0368 ldr r3, [r0]
11133 0012 0822 movs r2, #8
11134 0014 DA61 str r2, [r3, #28]
5845:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
11135 .loc 1 5845 5 view .LVU3690
5845:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
11136 .loc 1 5845 5 view .LVU3691
11137 0016 4023 movs r3, #64
11138 0018 0022 movs r2, #0
11139 001a C254 strb r2, [r0, r3]
5845:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
11140 .loc 1 5845 5 discriminator 1 view .LVU3692
11141 .LVL818:
11142 .L638:
5847:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11143 .loc 1 5847 1 is_stmt 0 view .LVU3693
11144 @ sp needed
11145 .LVL819:
5847:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11146 .loc 1 5847 1 view .LVU3694
11147 001c F8BD pop {r3, r4, r5, r6, r7, pc}
11148 .LVL820:
11149 .L643:
5772:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** slaveaddrcode = I2C_GET_ADDR_MATCH(hi2c);
11150 .loc 1 5772 5 is_stmt 1 view .LVU3695
5772:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** slaveaddrcode = I2C_GET_ADDR_MATCH(hi2c);
11151 .loc 1 5772 25 is_stmt 0 view .LVU3696
ARM GAS /tmp/ccuRhBPx.s page 385
11152 001e 0068 ldr r0, [r0]
11153 .LVL821:
5772:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** slaveaddrcode = I2C_GET_ADDR_MATCH(hi2c);
11154 .loc 1 5772 25 view .LVU3697
11155 0020 8569 ldr r5, [r0, #24]
11156 0022 2D0C lsrs r5, r5, #16
5772:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** slaveaddrcode = I2C_GET_ADDR_MATCH(hi2c);
11157 .loc 1 5772 23 view .LVU3698
11158 0024 273B subs r3, r3, #39
11159 0026 1D40 ands r5, r3
11160 .LVL822:
5773:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** ownadd1code = I2C_GET_OWN_ADDRESS1(hi2c);
11161 .loc 1 5773 5 is_stmt 1 view .LVU3699
5773:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** ownadd1code = I2C_GET_OWN_ADDRESS1(hi2c);
11162 .loc 1 5773 25 is_stmt 0 view .LVU3700
11163 0028 8669 ldr r6, [r0, #24]
11164 002a 360C lsrs r6, r6, #16
5773:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** ownadd1code = I2C_GET_OWN_ADDRESS1(hi2c);
11165 .loc 1 5773 23 view .LVU3701
11166 002c FE21 movs r1, #254
11167 .LVL823:
5773:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** ownadd1code = I2C_GET_OWN_ADDRESS1(hi2c);
11168 .loc 1 5773 23 view .LVU3702
11169 002e 0E40 ands r6, r1
11170 .LVL824:
5774:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** ownadd2code = I2C_GET_OWN_ADDRESS2(hi2c);
11171 .loc 1 5774 5 is_stmt 1 view .LVU3703
5774:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** ownadd2code = I2C_GET_OWN_ADDRESS2(hi2c);
11172 .loc 1 5774 25 is_stmt 0 view .LVU3704
11173 0030 8368 ldr r3, [r0, #8]
5774:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** ownadd2code = I2C_GET_OWN_ADDRESS2(hi2c);
11174 .loc 1 5774 23 view .LVU3705
11175 0032 9B05 lsls r3, r3, #22
11176 0034 9B0D lsrs r3, r3, #22
11177 .LVL825:
5775:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11178 .loc 1 5775 5 is_stmt 1 view .LVU3706
5775:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11179 .loc 1 5775 25 is_stmt 0 view .LVU3707
11180 0036 C768 ldr r7, [r0, #12]
5775:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11181 .loc 1 5775 23 view .LVU3708
11182 0038 0F40 ands r7, r1
11183 .LVL826:
5778:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11184 .loc 1 5778 5 is_stmt 1 view .LVU3709
5778:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11185 .loc 1 5778 19 is_stmt 0 view .LVU3710
11186 003a E268 ldr r2, [r4, #12]
5778:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11187 .loc 1 5778 8 view .LVU3711
11188 003c 022A cmp r2, #2
11189 003e 24D1 bne .L640
5780:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11190 .loc 1 5780 7 is_stmt 1 view .LVU3712
5780:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11191 .loc 1 5780 44 is_stmt 0 view .LVU3713
ARM GAS /tmp/ccuRhBPx.s page 386
11192 0040 DA09 lsrs r2, r3, #7
11193 0042 7240 eors r2, r6
5780:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11194 .loc 1 5780 10 view .LVU3714
11195 0044 F839 subs r1, r1, #248
11196 0046 1142 tst r1, r2
11197 0048 11D1 bne .L641
5782:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->AddrEventCount++;
11198 .loc 1 5782 9 is_stmt 1 view .LVU3715
11199 .LVL827:
5783:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->AddrEventCount == 2U)
11200 .loc 1 5783 9 view .LVU3716
5783:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->AddrEventCount == 2U)
11201 .loc 1 5783 13 is_stmt 0 view .LVU3717
11202 004a A26C ldr r2, [r4, #72]
5783:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->AddrEventCount == 2U)
11203 .loc 1 5783 29 view .LVU3718
11204 004c 0132 adds r2, r2, #1
11205 004e A264 str r2, [r4, #72]
5784:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11206 .loc 1 5784 9 is_stmt 1 view .LVU3719
5784:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11207 .loc 1 5784 17 is_stmt 0 view .LVU3720
11208 0050 A26C ldr r2, [r4, #72]
5784:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11209 .loc 1 5784 12 view .LVU3721
11210 0052 022A cmp r2, #2
11211 0054 E2D1 bne .L638
5787:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11212 .loc 1 5787 11 is_stmt 1 view .LVU3722
5787:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11213 .loc 1 5787 32 is_stmt 0 view .LVU3723
11214 0056 0022 movs r2, #0
11215 0058 A264 str r2, [r4, #72]
5790:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11216 .loc 1 5790 11 is_stmt 1 view .LVU3724
11217 005a 0231 adds r1, r1, #2
11218 005c C161 str r1, [r0, #28]
5793:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11219 .loc 1 5793 11 view .LVU3725
5793:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11220 .loc 1 5793 11 view .LVU3726
11221 005e 3831 adds r1, r1, #56
11222 0060 6254 strb r2, [r4, r1]
5793:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11223 .loc 1 5793 11 view .LVU3727
5799:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
11224 .loc 1 5799 11 view .LVU3728
11225 0062 1A00 movs r2, r3
11226 0064 2900 movs r1, r5
11227 0066 2000 movs r0, r4
11228 0068 FFF7FEFF bl HAL_I2C_AddrCallback
11229 .LVL828:
5799:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
11230 .loc 1 5799 11 is_stmt 0 view .LVU3729
11231 006c D6E7 b .L638
11232 .LVL829:
ARM GAS /tmp/ccuRhBPx.s page 387
11233 .L641:
5805:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11234 .loc 1 5805 9 is_stmt 1 view .LVU3730
5808:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11235 .loc 1 5808 9 view .LVU3731
11236 006e 8021 movs r1, #128
11237 0070 0902 lsls r1, r1, #8
11238 0072 2000 movs r0, r4
11239 0074 FFF7FEFF bl I2C_Disable_IRQ
11240 .LVL830:
5811:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11241 .loc 1 5811 9 view .LVU3732
5811:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11242 .loc 1 5811 9 view .LVU3733
11243 0078 4023 movs r3, #64
11244 007a 0022 movs r2, #0
11245 007c E254 strb r2, [r4, r3]
5811:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11246 .loc 1 5811 9 view .LVU3734
5817:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
11247 .loc 1 5817 9 view .LVU3735
11248 007e 3A00 movs r2, r7
11249 0080 2900 movs r1, r5
11250 0082 2000 movs r0, r4
11251 0084 FFF7FEFF bl HAL_I2C_AddrCallback
11252 .LVL831:
11253 0088 C8E7 b .L638
11254 .LVL832:
11255 .L640:
5825:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11256 .loc 1 5825 7 view .LVU3736
11257 008a 8021 movs r1, #128
11258 008c 0902 lsls r1, r1, #8
11259 008e 2000 movs r0, r4
11260 0090 FFF7FEFF bl I2C_Disable_IRQ
11261 .LVL833:
5828:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11262 .loc 1 5828 7 view .LVU3737
5828:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11263 .loc 1 5828 7 view .LVU3738
11264 0094 4023 movs r3, #64
11265 0096 0022 movs r2, #0
11266 0098 E254 strb r2, [r4, r3]
5828:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11267 .loc 1 5828 7 view .LVU3739
5834:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
11268 .loc 1 5834 7 view .LVU3740
11269 009a 3200 movs r2, r6
11270 009c 2900 movs r1, r5
11271 009e 2000 movs r0, r4
11272 00a0 FFF7FEFF bl HAL_I2C_AddrCallback
11273 .LVL834:
11274 00a4 BAE7 b .L638
11275 .cfi_endproc
11276 .LFE97:
11278 .section .text.HAL_I2C_ListenCpltCallback,"ax",%progbits
11279 .align 1
ARM GAS /tmp/ccuRhBPx.s page 388
11280 .weak HAL_I2C_ListenCpltCallback
11281 .syntax unified
11282 .code 16
11283 .thumb_func
11285 HAL_I2C_ListenCpltCallback:
11286 .LVL835:
11287 .LFB81:
4661:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
11288 .loc 1 4661 1 view -0
11289 .cfi_startproc
11290 @ args = 0, pretend = 0, frame = 0
11291 @ frame_needed = 0, uses_anonymous_args = 0
11292 @ link register save eliminated.
4663:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11293 .loc 1 4663 3 view .LVU3742
4668:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11294 .loc 1 4668 1 is_stmt 0 view .LVU3743
11295 @ sp needed
11296 0000 7047 bx lr
11297 .cfi_endproc
11298 .LFE81:
11300 .section .text.I2C_ITListenCplt,"ax",%progbits
11301 .align 1
11302 .syntax unified
11303 .code 16
11304 .thumb_func
11306 I2C_ITListenCplt:
11307 .LVL836:
11308 .LFB102:
6284:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Reset handle parameters */
11309 .loc 1 6284 1 is_stmt 1 view -0
11310 .cfi_startproc
11311 @ args = 0, pretend = 0, frame = 0
11312 @ frame_needed = 0, uses_anonymous_args = 0
6284:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Reset handle parameters */
11313 .loc 1 6284 1 is_stmt 0 view .LVU3745
11314 0000 10B5 push {r4, lr}
11315 .cfi_def_cfa_offset 8
11316 .cfi_offset 4, -8
11317 .cfi_offset 14, -4
11318 0002 0400 movs r4, r0
6286:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
11319 .loc 1 6286 3 is_stmt 1 view .LVU3746
6286:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
11320 .loc 1 6286 21 is_stmt 0 view .LVU3747
11321 0004 164B ldr r3, .L648
11322 0006 C362 str r3, [r0, #44]
6287:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
11323 .loc 1 6287 3 is_stmt 1 view .LVU3748
6287:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
11324 .loc 1 6287 23 is_stmt 0 view .LVU3749
11325 0008 0023 movs r3, #0
11326 000a 0363 str r3, [r0, #48]
6288:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
11327 .loc 1 6288 3 is_stmt 1 view .LVU3750
6288:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
11328 .loc 1 6288 15 is_stmt 0 view .LVU3751
ARM GAS /tmp/ccuRhBPx.s page 389
11329 000c 4122 movs r2, #65
11330 000e 2020 movs r0, #32
11331 .LVL837:
6288:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
11332 .loc 1 6288 15 view .LVU3752
11333 0010 A054 strb r0, [r4, r2]
6289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL;
11334 .loc 1 6289 3 is_stmt 1 view .LVU3753
6289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL;
11335 .loc 1 6289 14 is_stmt 0 view .LVU3754
11336 0012 0132 adds r2, r2, #1
11337 0014 A354 strb r3, [r4, r2]
6290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11338 .loc 1 6290 3 is_stmt 1 view .LVU3755
6290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11339 .loc 1 6290 17 is_stmt 0 view .LVU3756
11340 0016 6363 str r3, [r4, #52]
6293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11341 .loc 1 6293 3 is_stmt 1 view .LVU3757
6293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11342 .loc 1 6293 6 is_stmt 0 view .LVU3758
11343 0018 4907 lsls r1, r1, #29
11344 001a 13D5 bpl .L646
11345 .LVL838:
6296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11346 .loc 1 6296 5 is_stmt 1 view .LVU3759
6296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11347 .loc 1 6296 36 is_stmt 0 view .LVU3760
11348 001c 2368 ldr r3, [r4]
6296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11349 .loc 1 6296 46 view .LVU3761
11350 001e 5A6A ldr r2, [r3, #36]
6296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11351 .loc 1 6296 10 view .LVU3762
11352 0020 636A ldr r3, [r4, #36]
6296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11353 .loc 1 6296 21 view .LVU3763
11354 0022 1A70 strb r2, [r3]
6299:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11355 .loc 1 6299 5 is_stmt 1 view .LVU3764
6299:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11356 .loc 1 6299 9 is_stmt 0 view .LVU3765
11357 0024 636A ldr r3, [r4, #36]
6299:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11358 .loc 1 6299 19 view .LVU3766
11359 0026 0133 adds r3, r3, #1
11360 0028 6362 str r3, [r4, #36]
6301:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11361 .loc 1 6301 5 is_stmt 1 view .LVU3767
6301:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11362 .loc 1 6301 14 is_stmt 0 view .LVU3768
11363 002a 238D ldrh r3, [r4, #40]
6301:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11364 .loc 1 6301 8 view .LVU3769
11365 002c 002B cmp r3, #0
11366 002e 09D0 beq .L646
6303:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--;
ARM GAS /tmp/ccuRhBPx.s page 390
11367 .loc 1 6303 7 is_stmt 1 view .LVU3770
6303:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--;
11368 .loc 1 6303 21 is_stmt 0 view .LVU3771
11369 0030 013B subs r3, r3, #1
11370 0032 2385 strh r3, [r4, #40]
6304:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11371 .loc 1 6304 7 is_stmt 1 view .LVU3772
6304:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11372 .loc 1 6304 11 is_stmt 0 view .LVU3773
11373 0034 638D ldrh r3, [r4, #42]
6304:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11374 .loc 1 6304 22 view .LVU3774
11375 0036 013B subs r3, r3, #1
11376 0038 9BB2 uxth r3, r3
11377 003a 6385 strh r3, [r4, #42]
6307:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
11378 .loc 1 6307 7 is_stmt 1 view .LVU3775
6307:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
11379 .loc 1 6307 11 is_stmt 0 view .LVU3776
11380 003c 636C ldr r3, [r4, #68]
6307:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
11381 .loc 1 6307 23 view .LVU3777
11382 003e 0422 movs r2, #4
11383 0040 1343 orrs r3, r2
11384 0042 6364 str r3, [r4, #68]
11385 .L646:
6312:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11386 .loc 1 6312 3 is_stmt 1 view .LVU3778
11387 0044 0749 ldr r1, .L648+4
11388 0046 2000 movs r0, r4
11389 0048 FFF7FEFF bl I2C_Disable_IRQ
11390 .LVL839:
6315:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11391 .loc 1 6315 3 view .LVU3779
11392 004c 2368 ldr r3, [r4]
11393 004e 1022 movs r2, #16
11394 0050 DA61 str r2, [r3, #28]
6318:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11395 .loc 1 6318 3 view .LVU3780
6318:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11396 .loc 1 6318 3 view .LVU3781
11397 0052 4023 movs r3, #64
11398 0054 0022 movs r2, #0
11399 0056 E254 strb r2, [r4, r3]
6318:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11400 .loc 1 6318 3 view .LVU3782
6324:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
11401 .loc 1 6324 3 view .LVU3783
11402 0058 2000 movs r0, r4
11403 005a FFF7FEFF bl HAL_I2C_ListenCpltCallback
11404 .LVL840:
6326:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11405 .loc 1 6326 1 is_stmt 0 view .LVU3784
11406 @ sp needed
11407 .LVL841:
6326:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11408 .loc 1 6326 1 view .LVU3785
ARM GAS /tmp/ccuRhBPx.s page 391
11409 005e 10BD pop {r4, pc}
11410 .L649:
11411 .align 2
11412 .L648:
11413 0060 0000FFFF .word -65536
11414 0064 03800000 .word 32771
11415 .cfi_endproc
11416 .LFE102:
11418 .section .text.HAL_I2C_MemTxCpltCallback,"ax",%progbits
11419 .align 1
11420 .weak HAL_I2C_MemTxCpltCallback
11421 .syntax unified
11422 .code 16
11423 .thumb_func
11425 HAL_I2C_MemTxCpltCallback:
11426 .LVL842:
11427 .LFB82:
4677:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
11428 .loc 1 4677 1 is_stmt 1 view -0
11429 .cfi_startproc
11430 @ args = 0, pretend = 0, frame = 0
11431 @ frame_needed = 0, uses_anonymous_args = 0
11432 @ link register save eliminated.
4679:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11433 .loc 1 4679 3 view .LVU3787
4684:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11434 .loc 1 4684 1 is_stmt 0 view .LVU3788
11435 @ sp needed
11436 0000 7047 bx lr
11437 .cfi_endproc
11438 .LFE82:
11440 .section .text.HAL_I2C_MemRxCpltCallback,"ax",%progbits
11441 .align 1
11442 .weak HAL_I2C_MemRxCpltCallback
11443 .syntax unified
11444 .code 16
11445 .thumb_func
11447 HAL_I2C_MemRxCpltCallback:
11448 .LVL843:
11449 .LFB83:
4693:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
11450 .loc 1 4693 1 is_stmt 1 view -0
11451 .cfi_startproc
11452 @ args = 0, pretend = 0, frame = 0
11453 @ frame_needed = 0, uses_anonymous_args = 0
11454 @ link register save eliminated.
4695:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11455 .loc 1 4695 3 view .LVU3790
4700:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11456 .loc 1 4700 1 is_stmt 0 view .LVU3791
11457 @ sp needed
11458 0000 7047 bx lr
11459 .cfi_endproc
11460 .LFE83:
11462 .section .text.HAL_I2C_ErrorCallback,"ax",%progbits
11463 .align 1
11464 .weak HAL_I2C_ErrorCallback
ARM GAS /tmp/ccuRhBPx.s page 392
11465 .syntax unified
11466 .code 16
11467 .thumb_func
11469 HAL_I2C_ErrorCallback:
11470 .LVL844:
11471 .LFB84:
4709:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
11472 .loc 1 4709 1 is_stmt 1 view -0
11473 .cfi_startproc
11474 @ args = 0, pretend = 0, frame = 0
11475 @ frame_needed = 0, uses_anonymous_args = 0
11476 @ link register save eliminated.
4711:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11477 .loc 1 4711 3 view .LVU3793
4716:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11478 .loc 1 4716 1 is_stmt 0 view .LVU3794
11479 @ sp needed
11480 0000 7047 bx lr
11481 .cfi_endproc
11482 .LFE84:
11484 .section .text.HAL_I2C_AbortCpltCallback,"ax",%progbits
11485 .align 1
11486 .weak HAL_I2C_AbortCpltCallback
11487 .syntax unified
11488 .code 16
11489 .thumb_func
11491 HAL_I2C_AbortCpltCallback:
11492 .LVL845:
11493 .LFB85:
4725:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
11494 .loc 1 4725 1 is_stmt 1 view -0
11495 .cfi_startproc
11496 @ args = 0, pretend = 0, frame = 0
11497 @ frame_needed = 0, uses_anonymous_args = 0
11498 @ link register save eliminated.
4727:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11499 .loc 1 4727 3 view .LVU3796
4732:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11500 .loc 1 4732 1 is_stmt 0 view .LVU3797
11501 @ sp needed
11502 0000 7047 bx lr
11503 .cfi_endproc
11504 .LFE85:
11506 .section .text.I2C_TreatErrorCallback,"ax",%progbits
11507 .align 1
11508 .syntax unified
11509 .code 16
11510 .thumb_func
11512 I2C_TreatErrorCallback:
11513 .LVL846:
11514 .LFB104:
6466:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_ABORT)
11515 .loc 1 6466 1 is_stmt 1 view -0
11516 .cfi_startproc
11517 @ args = 0, pretend = 0, frame = 0
11518 @ frame_needed = 0, uses_anonymous_args = 0
6466:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_ABORT)
ARM GAS /tmp/ccuRhBPx.s page 393
11519 .loc 1 6466 1 is_stmt 0 view .LVU3799
11520 0000 10B5 push {r4, lr}
11521 .cfi_def_cfa_offset 8
11522 .cfi_offset 4, -8
11523 .cfi_offset 14, -4
6467:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11524 .loc 1 6467 3 is_stmt 1 view .LVU3800
6467:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11525 .loc 1 6467 11 is_stmt 0 view .LVU3801
11526 0002 4123 movs r3, #65
11527 0004 C35C ldrb r3, [r0, r3]
6467:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11528 .loc 1 6467 6 view .LVU3802
11529 0006 602B cmp r3, #96
11530 0008 06D0 beq .L657
6484:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11531 .loc 1 6484 5 is_stmt 1 view .LVU3803
6484:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11532 .loc 1 6484 25 is_stmt 0 view .LVU3804
11533 000a 0023 movs r3, #0
11534 000c 0363 str r3, [r0, #48]
6487:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11535 .loc 1 6487 5 is_stmt 1 view .LVU3805
6487:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11536 .loc 1 6487 5 view .LVU3806
11537 000e 4022 movs r2, #64
11538 0010 8354 strb r3, [r0, r2]
6487:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11539 .loc 1 6487 5 view .LVU3807
6493:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
11540 .loc 1 6493 5 view .LVU3808
11541 0012 FFF7FEFF bl HAL_I2C_ErrorCallback
11542 .LVL847:
11543 .L654:
6496:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11544 .loc 1 6496 1 is_stmt 0 view .LVU3809
11545 @ sp needed
11546 0016 10BD pop {r4, pc}
11547 .LVL848:
11548 .L657:
6469:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
11549 .loc 1 6469 5 is_stmt 1 view .LVU3810
6469:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
11550 .loc 1 6469 17 is_stmt 0 view .LVU3811
11551 0018 1F3B subs r3, r3, #31
11552 001a 2022 movs r2, #32
11553 001c C254 strb r2, [r0, r3]
6470:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11554 .loc 1 6470 5 is_stmt 1 view .LVU3812
6470:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11555 .loc 1 6470 25 is_stmt 0 view .LVU3813
11556 001e 0023 movs r3, #0
11557 0020 0363 str r3, [r0, #48]
6473:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11558 .loc 1 6473 5 is_stmt 1 view .LVU3814
6473:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11559 .loc 1 6473 5 view .LVU3815
ARM GAS /tmp/ccuRhBPx.s page 394
11560 0022 2032 adds r2, r2, #32
11561 0024 8354 strb r3, [r0, r2]
6473:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11562 .loc 1 6473 5 view .LVU3816
6479:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
11563 .loc 1 6479 5 view .LVU3817
11564 0026 FFF7FEFF bl HAL_I2C_AbortCpltCallback
11565 .LVL849:
6479:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
11566 .loc 1 6479 5 is_stmt 0 view .LVU3818
11567 002a F4E7 b .L654
11568 .cfi_endproc
11569 .LFE104:
11571 .section .text.I2C_ITError,"ax",%progbits
11572 .align 1
11573 .syntax unified
11574 .code 16
11575 .thumb_func
11577 I2C_ITError:
11578 .LVL850:
11579 .LFB103:
6335:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_StateTypeDef tmpstate = hi2c->State;
11580 .loc 1 6335 1 is_stmt 1 view -0
11581 .cfi_startproc
11582 @ args = 0, pretend = 0, frame = 0
11583 @ frame_needed = 0, uses_anonymous_args = 0
6335:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_StateTypeDef tmpstate = hi2c->State;
11584 .loc 1 6335 1 is_stmt 0 view .LVU3820
11585 0000 10B5 push {r4, lr}
11586 .cfi_def_cfa_offset 8
11587 .cfi_offset 4, -8
11588 .cfi_offset 14, -4
11589 0002 0400 movs r4, r0
6336:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11590 .loc 1 6336 3 is_stmt 1 view .LVU3821
6336:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11591 .loc 1 6336 24 is_stmt 0 view .LVU3822
11592 0004 4123 movs r3, #65
11593 0006 C35C ldrb r3, [r0, r3]
11594 .LVL851:
6338:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11595 .loc 1 6338 3 is_stmt 1 view .LVU3823
6341:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
11596 .loc 1 6341 3 view .LVU3824
6341:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
11597 .loc 1 6341 23 is_stmt 0 view .LVU3825
11598 0008 0022 movs r2, #0
11599 000a 4220 movs r0, #66
11600 .LVL852:
6341:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
11601 .loc 1 6341 23 view .LVU3826
11602 000c 2254 strb r2, [r4, r0]
6342:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = 0U;
11603 .loc 1 6342 3 is_stmt 1 view .LVU3827
6342:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = 0U;
11604 .loc 1 6342 23 is_stmt 0 view .LVU3828
11605 000e 4348 ldr r0, .L675
ARM GAS /tmp/ccuRhBPx.s page 395
11606 0010 E062 str r0, [r4, #44]
6343:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11607 .loc 1 6343 3 is_stmt 1 view .LVU3829
6343:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11608 .loc 1 6343 23 is_stmt 0 view .LVU3830
11609 0012 6285 strh r2, [r4, #42]
6346:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11610 .loc 1 6346 3 is_stmt 1 view .LVU3831
6346:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11611 .loc 1 6346 7 is_stmt 0 view .LVU3832
11612 0014 626C ldr r2, [r4, #68]
6346:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11613 .loc 1 6346 19 view .LVU3833
11614 0016 0A43 orrs r2, r1
11615 0018 6264 str r2, [r4, #68]
6349:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (tmpstate == HAL_I2C_STATE_BUSY_TX_LISTEN) ||
11616 .loc 1 6349 3 is_stmt 1 view .LVU3834
6350:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (tmpstate == HAL_I2C_STATE_BUSY_RX_LISTEN))
11617 .loc 1 6350 50 is_stmt 0 view .LVU3835
11618 001a 283B subs r3, r3, #40
11619 .LVL853:
6350:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (tmpstate == HAL_I2C_STATE_BUSY_RX_LISTEN))
11620 .loc 1 6350 50 view .LVU3836
11621 001c DBB2 uxtb r3, r3
11622 .LVL854:
6349:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (tmpstate == HAL_I2C_STATE_BUSY_TX_LISTEN) ||
11623 .loc 1 6349 6 view .LVU3837
11624 001e 022B cmp r3, #2
11625 0020 1BD8 bhi .L659
6354:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11626 .loc 1 6354 5 is_stmt 1 view .LVU3838
11627 0022 0321 movs r1, #3
11628 .LVL855:
6354:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11629 .loc 1 6354 5 is_stmt 0 view .LVU3839
11630 0024 2000 movs r0, r4
11631 0026 FFF7FEFF bl I2C_Disable_IRQ
11632 .LVL856:
6357:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
11633 .loc 1 6357 5 is_stmt 1 view .LVU3840
6357:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
11634 .loc 1 6357 25 is_stmt 0 view .LVU3841
11635 002a 4123 movs r3, #65
11636 002c 2822 movs r2, #40
11637 002e E254 strb r2, [r4, r3]
6358:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
11638 .loc 1 6358 5 is_stmt 1 view .LVU3842
6358:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
11639 .loc 1 6358 25 is_stmt 0 view .LVU3843
11640 0030 3B4B ldr r3, .L675+4
11641 0032 6363 str r3, [r4, #52]
11642 .L660:
6393:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11643 .loc 1 6393 3 is_stmt 1 view .LVU3844
6393:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11644 .loc 1 6393 20 is_stmt 0 view .LVU3845
11645 0034 236B ldr r3, [r4, #48]
ARM GAS /tmp/ccuRhBPx.s page 396
11646 .LVL857:
6395:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (tmppreviousstate == I2C_STATE_SLAVE_BUSY_TX)))
11647 .loc 1 6395 3 is_stmt 1 view .LVU3846
6395:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (tmppreviousstate == I2C_STATE_SLAVE_BUSY_TX)))
11648 .loc 1 6395 12 is_stmt 0 view .LVU3847
11649 0036 A26B ldr r2, [r4, #56]
6395:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (tmppreviousstate == I2C_STATE_SLAVE_BUSY_TX)))
11650 .loc 1 6395 6 view .LVU3848
11651 0038 002A cmp r2, #0
11652 003a 03D0 beq .L663
6395:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (tmppreviousstate == I2C_STATE_SLAVE_BUSY_TX)))
11653 .loc 1 6395 30 discriminator 1 view .LVU3849
11654 003c 112B cmp r3, #17
11655 003e 2DD0 beq .L664
6395:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (tmppreviousstate == I2C_STATE_SLAVE_BUSY_TX)))
11656 .loc 1 6395 81 discriminator 2 view .LVU3850
11657 0040 212B cmp r3, #33
11658 0042 2BD0 beq .L664
11659 .L663:
6425:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (tmppreviousstate == I2C_STATE_SLAVE_BUSY_RX)))
11660 .loc 1 6425 8 is_stmt 1 view .LVU3851
6425:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (tmppreviousstate == I2C_STATE_SLAVE_BUSY_RX)))
11661 .loc 1 6425 17 is_stmt 0 view .LVU3852
11662 0044 E26B ldr r2, [r4, #60]
6425:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (tmppreviousstate == I2C_STATE_SLAVE_BUSY_RX)))
11663 .loc 1 6425 11 view .LVU3853
11664 0046 002A cmp r2, #0
11665 0048 03D0 beq .L668
6425:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (tmppreviousstate == I2C_STATE_SLAVE_BUSY_RX)))
11666 .loc 1 6425 35 discriminator 1 view .LVU3854
11667 004a 122B cmp r3, #18
11668 004c 46D0 beq .L669
6425:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (tmppreviousstate == I2C_STATE_SLAVE_BUSY_RX)))
11669 .loc 1 6425 86 discriminator 2 view .LVU3855
11670 004e 222B cmp r3, #34
11671 0050 44D0 beq .L669
11672 .L668:
6456:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
11673 .loc 1 6456 5 is_stmt 1 view .LVU3856
11674 0052 2000 movs r0, r4
11675 0054 FFF7FEFF bl I2C_TreatErrorCallback
11676 .LVL858:
11677 .L658:
6458:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11678 .loc 1 6458 1 is_stmt 0 view .LVU3857
11679 @ sp needed
11680 .LVL859:
6458:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11681 .loc 1 6458 1 view .LVU3858
11682 0058 10BD pop {r4, pc}
11683 .LVL860:
11684 .L659:
6363:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11685 .loc 1 6363 5 is_stmt 1 view .LVU3859
11686 005a 3249 ldr r1, .L675+8
11687 .LVL861:
6363:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
ARM GAS /tmp/ccuRhBPx.s page 397
11688 .loc 1 6363 5 is_stmt 0 view .LVU3860
11689 005c 2000 movs r0, r4
11690 005e FFF7FEFF bl I2C_Disable_IRQ
11691 .LVL862:
6366:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11692 .loc 1 6366 5 is_stmt 1 view .LVU3861
11693 0062 2000 movs r0, r4
11694 0064 FFF7FEFF bl I2C_Flush_TXDR
11695 .LVL863:
6370:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11696 .loc 1 6370 5 view .LVU3862
6370:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11697 .loc 1 6370 13 is_stmt 0 view .LVU3863
11698 0068 4123 movs r3, #65
11699 006a E35C ldrb r3, [r4, r3]
6370:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11700 .loc 1 6370 8 view .LVU3864
11701 006c 602B cmp r3, #96
11702 006e 12D0 beq .L661
6373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11703 .loc 1 6373 7 is_stmt 1 view .LVU3865
6373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11704 .loc 1 6373 27 is_stmt 0 view .LVU3866
11705 0070 2023 movs r3, #32
11706 0072 4122 movs r2, #65
11707 0074 A354 strb r3, [r4, r2]
6376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11708 .loc 1 6376 7 is_stmt 1 view .LVU3867
6376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11709 .loc 1 6376 11 is_stmt 0 view .LVU3868
11710 0076 2268 ldr r2, [r4]
11711 0078 9169 ldr r1, [r2, #24]
6376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11712 .loc 1 6376 10 view .LVU3869
11713 007a 0B42 tst r3, r1
11714 007c 0BD0 beq .L661
6378:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11715 .loc 1 6378 9 is_stmt 1 view .LVU3870
6378:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11716 .loc 1 6378 13 is_stmt 0 view .LVU3871
11717 007e 9369 ldr r3, [r2, #24]
6378:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11718 .loc 1 6378 12 view .LVU3872
11719 0080 DB06 lsls r3, r3, #27
11720 0082 05D5 bpl .L662
6380:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_AF;
11721 .loc 1 6380 11 is_stmt 1 view .LVU3873
11722 0084 1023 movs r3, #16
11723 0086 D361 str r3, [r2, #28]
6381:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
11724 .loc 1 6381 11 view .LVU3874
6381:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
11725 .loc 1 6381 15 is_stmt 0 view .LVU3875
11726 0088 636C ldr r3, [r4, #68]
6381:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
11727 .loc 1 6381 27 view .LVU3876
11728 008a 0422 movs r2, #4
ARM GAS /tmp/ccuRhBPx.s page 398
11729 008c 1343 orrs r3, r2
11730 008e 6364 str r3, [r4, #68]
11731 .L662:
6385:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
11732 .loc 1 6385 9 is_stmt 1 view .LVU3877
11733 0090 2368 ldr r3, [r4]
11734 0092 2022 movs r2, #32
11735 0094 DA61 str r2, [r3, #28]
11736 .L661:
6389:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
11737 .loc 1 6389 5 view .LVU3878
6389:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
11738 .loc 1 6389 25 is_stmt 0 view .LVU3879
11739 0096 0023 movs r3, #0
11740 0098 6363 str r3, [r4, #52]
11741 009a CBE7 b .L660
11742 .LVL864:
11743 .L664:
6398:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11744 .loc 1 6398 5 is_stmt 1 view .LVU3880
6398:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11745 .loc 1 6398 14 is_stmt 0 view .LVU3881
11746 009c 2268 ldr r2, [r4]
6398:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11747 .loc 1 6398 24 view .LVU3882
11748 009e 1368 ldr r3, [r2]
11749 .LVL865:
6398:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11750 .loc 1 6398 8 view .LVU3883
11751 00a0 5B04 lsls r3, r3, #17
11752 00a2 03D5 bpl .L665
6400:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
11753 .loc 1 6400 7 is_stmt 1 view .LVU3884
6400:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
11754 .loc 1 6400 21 is_stmt 0 view .LVU3885
11755 00a4 1368 ldr r3, [r2]
6400:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
11756 .loc 1 6400 27 view .LVU3886
11757 00a6 2049 ldr r1, .L675+12
11758 00a8 0B40 ands r3, r1
11759 00aa 1360 str r3, [r2]
11760 .L665:
6403:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11761 .loc 1 6403 5 is_stmt 1 view .LVU3887
6403:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11762 .loc 1 6403 9 is_stmt 0 view .LVU3888
11763 00ac A06B ldr r0, [r4, #56]
11764 00ae FFF7FEFF bl HAL_DMA_GetState
11765 .LVL866:
6403:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11766 .loc 1 6403 8 discriminator 1 view .LVU3889
11767 00b2 0128 cmp r0, #1
11768 00b4 0ED0 beq .L666
6407:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11769 .loc 1 6407 7 is_stmt 1 view .LVU3890
6407:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11770 .loc 1 6407 11 is_stmt 0 view .LVU3891
ARM GAS /tmp/ccuRhBPx.s page 399
11771 00b6 A36B ldr r3, [r4, #56]
6407:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11772 .loc 1 6407 39 view .LVU3892
11773 00b8 1C4A ldr r2, .L675+16
11774 00ba 5A63 str r2, [r3, #52]
6410:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11775 .loc 1 6410 7 is_stmt 1 view .LVU3893
6410:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11776 .loc 1 6410 7 view .LVU3894
11777 00bc 4023 movs r3, #64
11778 00be 0022 movs r2, #0
11779 00c0 E254 strb r2, [r4, r3]
6410:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11780 .loc 1 6410 7 view .LVU3895
6413:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11781 .loc 1 6413 7 view .LVU3896
6413:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11782 .loc 1 6413 11 is_stmt 0 view .LVU3897
11783 00c2 A06B ldr r0, [r4, #56]
11784 00c4 FFF7FEFF bl HAL_DMA_Abort_IT
11785 .LVL867:
6413:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11786 .loc 1 6413 10 discriminator 1 view .LVU3898
11787 00c8 0028 cmp r0, #0
11788 00ca C5D0 beq .L658
6416:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
11789 .loc 1 6416 9 is_stmt 1 view .LVU3899
6416:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
11790 .loc 1 6416 13 is_stmt 0 view .LVU3900
11791 00cc A06B ldr r0, [r4, #56]
6416:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
11792 .loc 1 6416 21 view .LVU3901
11793 00ce 436B ldr r3, [r0, #52]
6416:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
11794 .loc 1 6416 9 view .LVU3902
11795 00d0 9847 blx r3
11796 .LVL868:
11797 00d2 C1E7 b .L658
11798 .L666:
6421:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
11799 .loc 1 6421 7 is_stmt 1 view .LVU3903
11800 00d4 2000 movs r0, r4
11801 00d6 FFF7FEFF bl I2C_TreatErrorCallback
11802 .LVL869:
11803 00da BDE7 b .L658
11804 .LVL870:
11805 .L669:
6428:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11806 .loc 1 6428 5 view .LVU3904
6428:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11807 .loc 1 6428 14 is_stmt 0 view .LVU3905
11808 00dc 2368 ldr r3, [r4]
11809 .LVL871:
6428:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11810 .loc 1 6428 24 view .LVU3906
11811 00de 1A68 ldr r2, [r3]
6428:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
ARM GAS /tmp/ccuRhBPx.s page 400
11812 .loc 1 6428 8 view .LVU3907
11813 00e0 1204 lsls r2, r2, #16
11814 00e2 03D5 bpl .L670
6430:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
11815 .loc 1 6430 7 is_stmt 1 view .LVU3908
6430:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
11816 .loc 1 6430 21 is_stmt 0 view .LVU3909
11817 00e4 1A68 ldr r2, [r3]
6430:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
11818 .loc 1 6430 27 view .LVU3910
11819 00e6 1249 ldr r1, .L675+20
11820 00e8 0A40 ands r2, r1
11821 00ea 1A60 str r2, [r3]
11822 .L670:
6433:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11823 .loc 1 6433 5 is_stmt 1 view .LVU3911
6433:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11824 .loc 1 6433 9 is_stmt 0 view .LVU3912
11825 00ec E06B ldr r0, [r4, #60]
11826 00ee FFF7FEFF bl HAL_DMA_GetState
11827 .LVL872:
6433:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11828 .loc 1 6433 8 discriminator 1 view .LVU3913
11829 00f2 0128 cmp r0, #1
11830 00f4 0ED0 beq .L671
6437:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11831 .loc 1 6437 7 is_stmt 1 view .LVU3914
6437:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11832 .loc 1 6437 11 is_stmt 0 view .LVU3915
11833 00f6 E36B ldr r3, [r4, #60]
6437:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11834 .loc 1 6437 39 view .LVU3916
11835 00f8 0C4A ldr r2, .L675+16
11836 00fa 5A63 str r2, [r3, #52]
6440:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11837 .loc 1 6440 7 is_stmt 1 view .LVU3917
6440:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11838 .loc 1 6440 7 view .LVU3918
11839 00fc 4023 movs r3, #64
11840 00fe 0022 movs r2, #0
11841 0100 E254 strb r2, [r4, r3]
6440:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11842 .loc 1 6440 7 view .LVU3919
6443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11843 .loc 1 6443 7 view .LVU3920
6443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11844 .loc 1 6443 11 is_stmt 0 view .LVU3921
11845 0102 E06B ldr r0, [r4, #60]
11846 0104 FFF7FEFF bl HAL_DMA_Abort_IT
11847 .LVL873:
6443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11848 .loc 1 6443 10 discriminator 1 view .LVU3922
11849 0108 0028 cmp r0, #0
11850 010a A5D0 beq .L658
6446:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
11851 .loc 1 6446 9 is_stmt 1 view .LVU3923
6446:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
ARM GAS /tmp/ccuRhBPx.s page 401
11852 .loc 1 6446 13 is_stmt 0 view .LVU3924
11853 010c E06B ldr r0, [r4, #60]
6446:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
11854 .loc 1 6446 21 view .LVU3925
11855 010e 436B ldr r3, [r0, #52]
6446:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
11856 .loc 1 6446 9 view .LVU3926
11857 0110 9847 blx r3
11858 .LVL874:
11859 0112 A1E7 b .L658
11860 .L671:
6451:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
11861 .loc 1 6451 7 is_stmt 1 view .LVU3927
11862 0114 2000 movs r0, r4
11863 0116 FFF7FEFF bl I2C_TreatErrorCallback
11864 .LVL875:
11865 011a 9DE7 b .L658
11866 .L676:
11867 .align 2
11868 .L675:
11869 011c 0000FFFF .word -65536
11870 0120 00000000 .word I2C_Slave_ISR_IT
11871 0124 03800000 .word 32771
11872 0128 FFBFFFFF .word -16385
11873 012c 00000000 .word I2C_DMAAbort
11874 0130 FF7FFFFF .word -32769
11875 .cfi_endproc
11876 .LFE103:
11878 .section .text.I2C_ITSlaveCplt,"ax",%progbits
11879 .align 1
11880 .syntax unified
11881 .code 16
11882 .thumb_func
11884 I2C_ITSlaveCplt:
11885 .LVL876:
11886 .LFB101:
6125:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmpcr1value = READ_REG(hi2c->Instance->CR1);
11887 .loc 1 6125 1 view -0
11888 .cfi_startproc
11889 @ args = 0, pretend = 0, frame = 0
11890 @ frame_needed = 0, uses_anonymous_args = 0
6125:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmpcr1value = READ_REG(hi2c->Instance->CR1);
11891 .loc 1 6125 1 is_stmt 0 view .LVU3929
11892 0000 70B5 push {r4, r5, r6, lr}
11893 .cfi_def_cfa_offset 16
11894 .cfi_offset 4, -16
11895 .cfi_offset 5, -12
11896 .cfi_offset 6, -8
11897 .cfi_offset 14, -4
11898 0002 0400 movs r4, r0
11899 0004 0D00 movs r5, r1
6126:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmpITFlags = ITFlags;
11900 .loc 1 6126 3 is_stmt 1 view .LVU3930
6126:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmpITFlags = ITFlags;
11901 .loc 1 6126 26 is_stmt 0 view .LVU3931
11902 0006 0268 ldr r2, [r0]
6126:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmpITFlags = ITFlags;
ARM GAS /tmp/ccuRhBPx.s page 402
11903 .loc 1 6126 12 view .LVU3932
11904 0008 1668 ldr r6, [r2]
11905 .LVL877:
6127:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_StateTypeDef tmpstate = hi2c->State;
11906 .loc 1 6127 3 is_stmt 1 view .LVU3933
6128:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11907 .loc 1 6128 3 view .LVU3934
6128:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11908 .loc 1 6128 24 is_stmt 0 view .LVU3935
11909 000a 4123 movs r3, #65
11910 000c C35C ldrb r3, [r0, r3]
11911 000e D9B2 uxtb r1, r3
11912 .LVL878:
6131:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11913 .loc 1 6131 3 is_stmt 1 view .LVU3936
11914 0010 2020 movs r0, #32
11915 .LVL879:
6131:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11916 .loc 1 6131 3 is_stmt 0 view .LVU3937
11917 0012 D061 str r0, [r2, #28]
6134:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11918 .loc 1 6134 3 is_stmt 1 view .LVU3938
6134:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11919 .loc 1 6134 6 is_stmt 0 view .LVU3939
11920 0014 212B cmp r3, #33
11921 0016 0CD0 beq .L678
6134:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11922 .loc 1 6134 43 discriminator 1 view .LVU3940
11923 0018 2929 cmp r1, #41
11924 001a 0AD0 beq .L678
6139:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11925 .loc 1 6139 8 is_stmt 1 view .LVU3941
6139:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11926 .loc 1 6139 11 is_stmt 0 view .LVU3942
11927 001c 2229 cmp r1, #34
11928 001e 01D0 beq .L681
6139:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11929 .loc 1 6139 48 discriminator 1 view .LVU3943
11930 0020 2A29 cmp r1, #42
11931 0022 0CD1 bne .L680
11932 .L681:
6141:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_RX;
11933 .loc 1 6141 5 is_stmt 1 view .LVU3944
11934 0024 4A49 ldr r1, .L695
11935 .LVL880:
6141:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_RX;
11936 .loc 1 6141 5 is_stmt 0 view .LVU3945
11937 0026 2000 movs r0, r4
11938 0028 FFF7FEFF bl I2C_Disable_IRQ
11939 .LVL881:
6142:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
11940 .loc 1 6142 5 is_stmt 1 view .LVU3946
6142:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
11941 .loc 1 6142 25 is_stmt 0 view .LVU3947
11942 002c 2223 movs r3, #34
11943 002e 2363 str r3, [r4, #48]
11944 0030 05E0 b .L680
ARM GAS /tmp/ccuRhBPx.s page 403
11945 .LVL882:
11946 .L678:
6136:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_TX;
11947 .loc 1 6136 5 is_stmt 1 view .LVU3948
11948 0032 4849 ldr r1, .L695+4
11949 .LVL883:
6136:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_TX;
11950 .loc 1 6136 5 is_stmt 0 view .LVU3949
11951 0034 2000 movs r0, r4
11952 0036 FFF7FEFF bl I2C_Disable_IRQ
11953 .LVL884:
6137:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
11954 .loc 1 6137 5 is_stmt 1 view .LVU3950
6137:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
11955 .loc 1 6137 25 is_stmt 0 view .LVU3951
11956 003a 2123 movs r3, #33
11957 003c 2363 str r3, [r4, #48]
11958 .L680:
6150:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11959 .loc 1 6150 3 is_stmt 1 view .LVU3952
6150:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11960 .loc 1 6150 7 is_stmt 0 view .LVU3953
11961 003e 2268 ldr r2, [r4]
6150:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11962 .loc 1 6150 17 view .LVU3954
11963 0040 5168 ldr r1, [r2, #4]
6150:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11964 .loc 1 6150 23 view .LVU3955
11965 0042 8023 movs r3, #128
11966 0044 1B02 lsls r3, r3, #8
11967 0046 0B43 orrs r3, r1
11968 0048 5360 str r3, [r2, #4]
6153:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11969 .loc 1 6153 3 is_stmt 1 view .LVU3956
11970 004a 2268 ldr r2, [r4]
11971 004c 5368 ldr r3, [r2, #4]
11972 004e 4249 ldr r1, .L695+8
11973 0050 0B40 ands r3, r1
11974 0052 5360 str r3, [r2, #4]
6156:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11975 .loc 1 6156 3 view .LVU3957
11976 0054 2000 movs r0, r4
11977 0056 FFF7FEFF bl I2C_Flush_TXDR
11978 .LVL885:
6159:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11979 .loc 1 6159 3 view .LVU3958
6159:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11980 .loc 1 6159 6 is_stmt 0 view .LVU3959
11981 005a 7304 lsls r3, r6, #17
11982 005c 41D5 bpl .L682
6162:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11983 .loc 1 6162 5 is_stmt 1 view .LVU3960
6162:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11984 .loc 1 6162 9 is_stmt 0 view .LVU3961
11985 005e 2268 ldr r2, [r4]
6162:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11986 .loc 1 6162 19 view .LVU3962
ARM GAS /tmp/ccuRhBPx.s page 404
11987 0060 1368 ldr r3, [r2]
6162:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
11988 .loc 1 6162 25 view .LVU3963
11989 0062 3E49 ldr r1, .L695+12
11990 0064 0B40 ands r3, r1
11991 0066 1360 str r3, [r2]
6164:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11992 .loc 1 6164 5 is_stmt 1 view .LVU3964
6164:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11993 .loc 1 6164 13 is_stmt 0 view .LVU3965
11994 0068 A36B ldr r3, [r4, #56]
6164:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
11995 .loc 1 6164 8 view .LVU3966
11996 006a 002B cmp r3, #0
11997 006c 03D0 beq .L683
6166:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
11998 .loc 1 6166 7 is_stmt 1 view .LVU3967
6166:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
11999 .loc 1 6166 35 is_stmt 0 view .LVU3968
12000 006e 1B68 ldr r3, [r3]
12001 0070 5B68 ldr r3, [r3, #4]
6166:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
12002 .loc 1 6166 25 view .LVU3969
12003 0072 9BB2 uxth r3, r3
6166:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
12004 .loc 1 6166 23 view .LVU3970
12005 0074 6385 strh r3, [r4, #42]
12006 .LVL886:
12007 .L683:
6182:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12008 .loc 1 6182 3 is_stmt 1 view .LVU3971
6185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12009 .loc 1 6185 3 view .LVU3972
6185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12010 .loc 1 6185 6 is_stmt 0 view .LVU3973
12011 0076 6B07 lsls r3, r5, #29
12012 0078 11D5 bpl .L684
6188:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12013 .loc 1 6188 5 is_stmt 1 view .LVU3974
6188:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12014 .loc 1 6188 16 is_stmt 0 view .LVU3975
12015 007a 0423 movs r3, #4
12016 007c 9D43 bics r5, r3
12017 .LVL887:
6191:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12018 .loc 1 6191 5 is_stmt 1 view .LVU3976
6191:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12019 .loc 1 6191 36 is_stmt 0 view .LVU3977
12020 007e 2368 ldr r3, [r4]
6191:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12021 .loc 1 6191 46 view .LVU3978
12022 0080 5A6A ldr r2, [r3, #36]
6191:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12023 .loc 1 6191 10 view .LVU3979
12024 0082 636A ldr r3, [r4, #36]
6191:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12025 .loc 1 6191 21 view .LVU3980
ARM GAS /tmp/ccuRhBPx.s page 405
12026 0084 1A70 strb r2, [r3]
6194:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12027 .loc 1 6194 5 is_stmt 1 view .LVU3981
6194:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12028 .loc 1 6194 9 is_stmt 0 view .LVU3982
12029 0086 636A ldr r3, [r4, #36]
6194:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12030 .loc 1 6194 19 view .LVU3983
12031 0088 0133 adds r3, r3, #1
12032 008a 6362 str r3, [r4, #36]
6196:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12033 .loc 1 6196 5 is_stmt 1 view .LVU3984
6196:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12034 .loc 1 6196 14 is_stmt 0 view .LVU3985
12035 008c 238D ldrh r3, [r4, #40]
6196:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12036 .loc 1 6196 8 view .LVU3986
12037 008e 002B cmp r3, #0
12038 0090 05D0 beq .L684
6198:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--;
12039 .loc 1 6198 7 is_stmt 1 view .LVU3987
6198:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--;
12040 .loc 1 6198 21 is_stmt 0 view .LVU3988
12041 0092 013B subs r3, r3, #1
12042 0094 2385 strh r3, [r4, #40]
6199:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
12043 .loc 1 6199 7 is_stmt 1 view .LVU3989
6199:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
12044 .loc 1 6199 11 is_stmt 0 view .LVU3990
12045 0096 638D ldrh r3, [r4, #42]
6199:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
12046 .loc 1 6199 22 view .LVU3991
12047 0098 013B subs r3, r3, #1
12048 009a 9BB2 uxth r3, r3
12049 009c 6385 strh r3, [r4, #42]
12050 .L684:
6204:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12051 .loc 1 6204 3 is_stmt 1 view .LVU3992
6204:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12052 .loc 1 6204 11 is_stmt 0 view .LVU3993
12053 009e 638D ldrh r3, [r4, #42]
12054 00a0 9BB2 uxth r3, r3
6204:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12055 .loc 1 6204 6 view .LVU3994
12056 00a2 002B cmp r3, #0
12057 00a4 03D0 beq .L685
6207:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
12058 .loc 1 6207 5 is_stmt 1 view .LVU3995
6207:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
12059 .loc 1 6207 9 is_stmt 0 view .LVU3996
12060 00a6 636C ldr r3, [r4, #68]
6207:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
12061 .loc 1 6207 21 view .LVU3997
12062 00a8 0422 movs r2, #4
12063 00aa 1343 orrs r3, r2
12064 00ac 6364 str r3, [r4, #68]
12065 .L685:
ARM GAS /tmp/ccuRhBPx.s page 406
6210:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL;
12066 .loc 1 6210 3 is_stmt 1 view .LVU3998
6210:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL;
12067 .loc 1 6210 14 is_stmt 0 view .LVU3999
12068 00ae 0023 movs r3, #0
12069 00b0 4222 movs r2, #66
12070 00b2 A354 strb r3, [r4, r2]
6211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12071 .loc 1 6211 3 is_stmt 1 view .LVU4000
6211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12072 .loc 1 6211 17 is_stmt 0 view .LVU4001
12073 00b4 6363 str r3, [r4, #52]
6213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12074 .loc 1 6213 3 is_stmt 1 view .LVU4002
6213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12075 .loc 1 6213 11 is_stmt 0 view .LVU4003
12076 00b6 636C ldr r3, [r4, #68]
6213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12077 .loc 1 6213 6 view .LVU4004
12078 00b8 002B cmp r3, #0
12079 00ba 21D1 bne .L692
6225:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12080 .loc 1 6225 8 is_stmt 1 view .LVU4005
6225:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12081 .loc 1 6225 16 is_stmt 0 view .LVU4006
12082 00bc E26A ldr r2, [r4, #44]
6225:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12083 .loc 1 6225 11 view .LVU4007
12084 00be 284B ldr r3, .L695+16
12085 00c0 9A42 cmp r2, r3
12086 00c2 2AD1 bne .L693
6245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12087 .loc 1 6245 8 is_stmt 1 view .LVU4008
6245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12088 .loc 1 6245 16 is_stmt 0 view .LVU4009
12089 00c4 4123 movs r3, #65
12090 00c6 E35C ldrb r3, [r4, r3]
6245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12091 .loc 1 6245 11 view .LVU4010
12092 00c8 222B cmp r3, #34
12093 00ca 36D0 beq .L694
6262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
12094 .loc 1 6262 5 is_stmt 1 view .LVU4011
6262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
12095 .loc 1 6262 17 is_stmt 0 view .LVU4012
12096 00cc 4123 movs r3, #65
12097 00ce 2022 movs r2, #32
12098 00d0 E254 strb r2, [r4, r3]
6263:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12099 .loc 1 6263 5 is_stmt 1 view .LVU4013
6263:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12100 .loc 1 6263 25 is_stmt 0 view .LVU4014
12101 00d2 0023 movs r3, #0
12102 00d4 2363 str r3, [r4, #48]
6266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12103 .loc 1 6266 5 is_stmt 1 view .LVU4015
6266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
ARM GAS /tmp/ccuRhBPx.s page 407
12104 .loc 1 6266 5 view .LVU4016
12105 00d6 2032 adds r2, r2, #32
12106 00d8 A354 strb r3, [r4, r2]
6266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12107 .loc 1 6266 5 view .LVU4017
6272:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
12108 .loc 1 6272 5 view .LVU4018
12109 00da 2000 movs r0, r4
12110 00dc FFF7FEFF bl HAL_I2C_SlaveTxCpltCallback
12111 .LVL888:
6275:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12112 .loc 1 6275 1 is_stmt 0 view .LVU4019
12113 00e0 2AE0 b .L677
12114 .LVL889:
12115 .L682:
6169:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12116 .loc 1 6169 8 is_stmt 1 view .LVU4020
6169:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12117 .loc 1 6169 11 is_stmt 0 view .LVU4021
12118 00e2 3604 lsls r6, r6, #16
12119 00e4 C7D5 bpl .L683
12120 .LVL890:
6172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12121 .loc 1 6172 5 is_stmt 1 view .LVU4022
6172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12122 .loc 1 6172 9 is_stmt 0 view .LVU4023
12123 00e6 2268 ldr r2, [r4]
6172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12124 .loc 1 6172 19 view .LVU4024
12125 00e8 1368 ldr r3, [r2]
6172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12126 .loc 1 6172 25 view .LVU4025
12127 00ea 1E49 ldr r1, .L695+20
12128 00ec 0B40 ands r3, r1
12129 00ee 1360 str r3, [r2]
6174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12130 .loc 1 6174 5 is_stmt 1 view .LVU4026
6174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12131 .loc 1 6174 13 is_stmt 0 view .LVU4027
12132 00f0 E36B ldr r3, [r4, #60]
6174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12133 .loc 1 6174 8 view .LVU4028
12134 00f2 002B cmp r3, #0
12135 00f4 BFD0 beq .L683
6176:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
12136 .loc 1 6176 7 is_stmt 1 view .LVU4029
6176:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
12137 .loc 1 6176 35 is_stmt 0 view .LVU4030
12138 00f6 1B68 ldr r3, [r3]
12139 00f8 5B68 ldr r3, [r3, #4]
6176:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
12140 .loc 1 6176 25 view .LVU4031
12141 00fa 9BB2 uxth r3, r3
6176:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
12142 .loc 1 6176 23 view .LVU4032
12143 00fc 6385 strh r3, [r4, #42]
12144 00fe BAE7 b .L683
ARM GAS /tmp/ccuRhBPx.s page 408
12145 .LVL891:
12146 .L692:
6216:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12147 .loc 1 6216 5 is_stmt 1 view .LVU4033
6216:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12148 .loc 1 6216 27 is_stmt 0 view .LVU4034
12149 0100 616C ldr r1, [r4, #68]
6216:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12150 .loc 1 6216 5 view .LVU4035
12151 0102 2000 movs r0, r4
12152 0104 FFF7FEFF bl I2C_ITError
12153 .LVL892:
6219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12154 .loc 1 6219 5 is_stmt 1 view .LVU4036
6219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12155 .loc 1 6219 13 is_stmt 0 view .LVU4037
12156 0108 4123 movs r3, #65
12157 010a E35C ldrb r3, [r4, r3]
6219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12158 .loc 1 6219 8 view .LVU4038
12159 010c 282B cmp r3, #40
12160 010e 13D1 bne .L677
6222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
12161 .loc 1 6222 7 is_stmt 1 view .LVU4039
12162 0110 2900 movs r1, r5
12163 0112 2000 movs r0, r4
12164 0114 FFF7FEFF bl I2C_ITListenCplt
12165 .LVL893:
12166 0118 0EE0 b .L677
12167 .L693:
6228:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12168 .loc 1 6228 5 view .LVU4040
12169 011a 2000 movs r0, r4
12170 011c FFF7FEFF bl I2C_ITSlaveSeqCplt
12171 .LVL894:
6230:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
12172 .loc 1 6230 5 view .LVU4041
6230:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
12173 .loc 1 6230 23 is_stmt 0 view .LVU4042
12174 0120 0F4B ldr r3, .L695+16
12175 0122 E362 str r3, [r4, #44]
6231:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
12176 .loc 1 6231 5 is_stmt 1 view .LVU4043
6231:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
12177 .loc 1 6231 17 is_stmt 0 view .LVU4044
12178 0124 4123 movs r3, #65
12179 0126 2022 movs r2, #32
12180 0128 E254 strb r2, [r4, r3]
6232:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12181 .loc 1 6232 5 is_stmt 1 view .LVU4045
6232:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12182 .loc 1 6232 25 is_stmt 0 view .LVU4046
12183 012a 0023 movs r3, #0
12184 012c 2363 str r3, [r4, #48]
6235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12185 .loc 1 6235 5 is_stmt 1 view .LVU4047
6235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
ARM GAS /tmp/ccuRhBPx.s page 409
12186 .loc 1 6235 5 view .LVU4048
12187 012e 2032 adds r2, r2, #32
12188 0130 A354 strb r3, [r4, r2]
6235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12189 .loc 1 6235 5 view .LVU4049
6241:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
12190 .loc 1 6241 5 view .LVU4050
12191 0132 2000 movs r0, r4
12192 0134 FFF7FEFF bl HAL_I2C_ListenCpltCallback
12193 .LVL895:
12194 .L677:
6275:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12195 .loc 1 6275 1 is_stmt 0 view .LVU4051
12196 @ sp needed
12197 .LVL896:
12198 .LVL897:
6275:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12199 .loc 1 6275 1 view .LVU4052
12200 0138 70BD pop {r4, r5, r6, pc}
12201 .LVL898:
12202 .L694:
6247:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
12203 .loc 1 6247 5 is_stmt 1 view .LVU4053
6247:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
12204 .loc 1 6247 17 is_stmt 0 view .LVU4054
12205 013a 1F33 adds r3, r3, #31
12206 013c 2022 movs r2, #32
12207 013e E254 strb r2, [r4, r3]
6248:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12208 .loc 1 6248 5 is_stmt 1 view .LVU4055
6248:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12209 .loc 1 6248 25 is_stmt 0 view .LVU4056
12210 0140 0023 movs r3, #0
12211 0142 2363 str r3, [r4, #48]
6251:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12212 .loc 1 6251 5 is_stmt 1 view .LVU4057
6251:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12213 .loc 1 6251 5 view .LVU4058
12214 0144 2032 adds r2, r2, #32
12215 0146 A354 strb r3, [r4, r2]
6251:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12216 .loc 1 6251 5 view .LVU4059
6257:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
12217 .loc 1 6257 5 view .LVU4060
12218 0148 2000 movs r0, r4
12219 014a FFF7FEFF bl HAL_I2C_SlaveRxCpltCallback
12220 .LVL899:
12221 014e F3E7 b .L677
12222 .L696:
12223 .align 2
12224 .L695:
12225 0150 02800000 .word 32770
12226 0154 01800000 .word 32769
12227 0158 00E800FE .word -33495040
12228 015c FFBFFFFF .word -16385
12229 0160 0000FFFF .word -65536
12230 0164 FF7FFFFF .word -32769
ARM GAS /tmp/ccuRhBPx.s page 410
12231 .cfi_endproc
12232 .LFE101:
12234 .section .text.I2C_Slave_ISR_IT,"ax",%progbits
12235 .align 1
12236 .syntax unified
12237 .code 16
12238 .thumb_func
12240 I2C_Slave_ISR_IT:
12241 .LVL900:
12242 .LFB91:
5092:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmpoptions = hi2c->XferOptions;
12243 .loc 1 5092 1 view -0
12244 .cfi_startproc
12245 @ args = 0, pretend = 0, frame = 0
12246 @ frame_needed = 0, uses_anonymous_args = 0
5092:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmpoptions = hi2c->XferOptions;
12247 .loc 1 5092 1 is_stmt 0 view .LVU4062
12248 0000 F8B5 push {r3, r4, r5, r6, r7, lr}
12249 .cfi_def_cfa_offset 24
12250 .cfi_offset 3, -24
12251 .cfi_offset 4, -20
12252 .cfi_offset 5, -16
12253 .cfi_offset 6, -12
12254 .cfi_offset 7, -8
12255 .cfi_offset 14, -4
12256 0002 0400 movs r4, r0
12257 0004 0D00 movs r5, r1
12258 0006 1600 movs r6, r2
5093:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmpITFlags = ITFlags;
12259 .loc 1 5093 3 is_stmt 1 view .LVU4063
5093:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmpITFlags = ITFlags;
12260 .loc 1 5093 12 is_stmt 0 view .LVU4064
12261 0008 C76A ldr r7, [r0, #44]
12262 .LVL901:
5094:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12263 .loc 1 5094 3 is_stmt 1 view .LVU4065
5097:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12264 .loc 1 5097 3 view .LVU4066
5097:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12265 .loc 1 5097 3 view .LVU4067
12266 000a 4023 movs r3, #64
12267 000c C35C ldrb r3, [r0, r3]
12268 000e 012B cmp r3, #1
12269 0010 00D1 bne .LCB11390
12270 0012 96E0 b .L711 @long jump
12271 .LCB11390:
5097:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12272 .loc 1 5097 3 discriminator 2 view .LVU4068
12273 0014 0123 movs r3, #1
12274 0016 4022 movs r2, #64
12275 .LVL902:
5097:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12276 .loc 1 5097 3 is_stmt 0 discriminator 2 view .LVU4069
12277 0018 8354 strb r3, [r0, r2]
5097:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12278 .loc 1 5097 3 is_stmt 1 discriminator 2 view .LVU4070
5100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
ARM GAS /tmp/ccuRhBPx.s page 411
12279 .loc 1 5100 3 view .LVU4071
5100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
12280 .loc 1 5100 8 is_stmt 0 view .LVU4072
12281 001a 4A09 lsrs r2, r1, #5
5100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
12282 .loc 1 5100 6 view .LVU4073
12283 001c 1342 tst r3, r2
12284 001e 01D0 beq .L699
5100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
12285 .loc 1 5100 61 discriminator 1 view .LVU4074
12286 0020 B306 lsls r3, r6, #26
12287 0022 17D4 bmi .L721
12288 .LVL903:
12289 .L699:
5107:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
12290 .loc 1 5107 3 is_stmt 1 view .LVU4075
5107:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
12291 .loc 1 5107 6 is_stmt 0 view .LVU4076
12292 0024 EB06 lsls r3, r5, #27
12293 0026 40D5 bpl .L700
5107:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
12294 .loc 1 5107 58 discriminator 1 view .LVU4077
12295 0028 F306 lsls r3, r6, #27
12296 002a 3ED5 bpl .L700
5114:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12297 .loc 1 5114 5 is_stmt 1 view .LVU4078
5114:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12298 .loc 1 5114 13 is_stmt 0 view .LVU4079
12299 002c 638D ldrh r3, [r4, #42]
12300 002e 9BB2 uxth r3, r3
5114:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12301 .loc 1 5114 8 view .LVU4080
12302 0030 002B cmp r3, #0
12303 0032 28D1 bne .L701
5116:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Same action must be done for (tmpoptions == I2C_LAST_FRAME) which removed for
12304 .loc 1 5116 7 is_stmt 1 view .LVU4081
5116:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Same action must be done for (tmpoptions == I2C_LAST_FRAME) which removed for
12305 .loc 1 5116 16 is_stmt 0 view .LVU4082
12306 0034 4133 adds r3, r3, #65
12307 0036 E35C ldrb r3, [r4, r3]
5116:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Same action must be done for (tmpoptions == I2C_LAST_FRAME) which removed for
12308 .loc 1 5116 10 view .LVU4083
12309 0038 282B cmp r3, #40
12310 003a 0ED0 beq .L722
12311 .L702:
5123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12312 .loc 1 5123 12 is_stmt 1 view .LVU4084
5123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12313 .loc 1 5123 21 is_stmt 0 view .LVU4085
12314 003c 4123 movs r3, #65
12315 003e E35C ldrb r3, [r4, r3]
5123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12316 .loc 1 5123 15 view .LVU4086
12317 0040 292B cmp r3, #41
12318 0042 13D0 beq .L723
12319 .L704:
5138:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
ARM GAS /tmp/ccuRhBPx.s page 412
12320 .loc 1 5138 9 is_stmt 1 view .LVU4087
12321 0044 2368 ldr r3, [r4]
12322 0046 1022 movs r2, #16
12323 0048 DA61 str r2, [r3, #28]
12324 .LVL904:
12325 .L703:
5215:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12326 .loc 1 5215 3 view .LVU4088
5218:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12327 .loc 1 5218 3 view .LVU4089
5218:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12328 .loc 1 5218 3 view .LVU4090
12329 004a 4023 movs r3, #64
12330 004c 0022 movs r2, #0
12331 004e E254 strb r2, [r4, r3]
5218:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12332 .loc 1 5218 3 view .LVU4091
5220:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
12333 .loc 1 5220 3 view .LVU4092
5220:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
12334 .loc 1 5220 10 is_stmt 0 view .LVU4093
12335 0050 0020 movs r0, #0
12336 .L698:
5221:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12337 .loc 1 5221 1 view .LVU4094
12338 @ sp needed
12339 .LVL905:
12340 .LVL906:
5221:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12341 .loc 1 5221 1 view .LVU4095
12342 0052 F8BD pop {r3, r4, r5, r6, r7, pc}
12343 .LVL907:
12344 .L721:
5104:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
12345 .loc 1 5104 5 is_stmt 1 view .LVU4096
12346 0054 FFF7FEFF bl I2C_ITSlaveCplt
12347 .LVL908:
5104:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
12348 .loc 1 5104 5 is_stmt 0 view .LVU4097
12349 0058 E4E7 b .L699
12350 .L722:
5116:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Same action must be done for (tmpoptions == I2C_LAST_FRAME) which removed for
12351 .loc 1 5116 49 discriminator 1 view .LVU4098
12352 005a 8023 movs r3, #128
12353 005c 9B04 lsls r3, r3, #18
12354 005e 9F42 cmp r7, r3
12355 0060 ECD1 bne .L702
5121:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
12356 .loc 1 5121 9 is_stmt 1 view .LVU4099
12357 0062 2900 movs r1, r5
12358 0064 2000 movs r0, r4
12359 0066 FFF7FEFF bl I2C_ITListenCplt
12360 .LVL909:
12361 006a EEE7 b .L703
12362 .L723:
5123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12363 .loc 1 5123 62 is_stmt 0 discriminator 1 view .LVU4100
ARM GAS /tmp/ccuRhBPx.s page 413
12364 006c 364B ldr r3, .L725
12365 006e 9F42 cmp r7, r3
12366 0070 E8D0 beq .L704
5126:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12367 .loc 1 5126 9 is_stmt 1 view .LVU4101
12368 0072 2368 ldr r3, [r4]
12369 0074 1022 movs r2, #16
12370 0076 DA61 str r2, [r3, #28]
5129:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12371 .loc 1 5129 9 view .LVU4102
12372 0078 2000 movs r0, r4
12373 007a FFF7FEFF bl I2C_Flush_TXDR
12374 .LVL910:
5133:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
12375 .loc 1 5133 9 view .LVU4103
12376 007e 2000 movs r0, r4
12377 0080 FFF7FEFF bl I2C_ITSlaveSeqCplt
12378 .LVL911:
12379 0084 E1E7 b .L703
12380 .L701:
5145:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12381 .loc 1 5145 7 view .LVU4104
12382 0086 2368 ldr r3, [r4]
12383 0088 1022 movs r2, #16
12384 008a DA61 str r2, [r3, #28]
5148:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12385 .loc 1 5148 7 view .LVU4105
5148:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12386 .loc 1 5148 11 is_stmt 0 view .LVU4106
12387 008c 636C ldr r3, [r4, #68]
5148:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12388 .loc 1 5148 23 view .LVU4107
12389 008e 0C3A subs r2, r2, #12
12390 0090 1343 orrs r3, r2
12391 0092 6364 str r3, [r4, #68]
5150:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12392 .loc 1 5150 7 is_stmt 1 view .LVU4108
5150:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12393 .loc 1 5150 10 is_stmt 0 view .LVU4109
12394 0094 002F cmp r7, #0
12395 0096 03D0 beq .L705
5150:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12396 .loc 1 5150 43 discriminator 1 view .LVU4110
12397 0098 8023 movs r3, #128
12398 009a 5B04 lsls r3, r3, #17
12399 009c 9F42 cmp r7, r3
12400 009e D4D1 bne .L703
12401 .L705:
5153:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
12402 .loc 1 5153 9 is_stmt 1 view .LVU4111
5153:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
12403 .loc 1 5153 31 is_stmt 0 view .LVU4112
12404 00a0 616C ldr r1, [r4, #68]
5153:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
12405 .loc 1 5153 9 view .LVU4113
12406 00a2 2000 movs r0, r4
12407 00a4 FFF7FEFF bl I2C_ITError
ARM GAS /tmp/ccuRhBPx.s page 414
12408 .LVL912:
12409 00a8 CFE7 b .L703
12410 .L700:
5157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_RXI) != RESET))
12411 .loc 1 5157 8 is_stmt 1 view .LVU4114
5157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_RXI) != RESET))
12412 .loc 1 5157 11 is_stmt 0 view .LVU4115
12413 00aa 6B07 lsls r3, r5, #29
12414 00ac 1ED5 bpl .L706
5157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_RXI) != RESET))
12415 .loc 1 5157 65 discriminator 1 view .LVU4116
12416 00ae 7307 lsls r3, r6, #29
12417 00b0 1CD5 bpl .L706
5160:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12418 .loc 1 5160 5 is_stmt 1 view .LVU4117
5160:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12419 .loc 1 5160 13 is_stmt 0 view .LVU4118
12420 00b2 638D ldrh r3, [r4, #42]
12421 00b4 9BB2 uxth r3, r3
5160:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12422 .loc 1 5160 8 view .LVU4119
12423 00b6 002B cmp r3, #0
12424 00b8 0DD0 beq .L707
5163:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12425 .loc 1 5163 7 is_stmt 1 view .LVU4120
5163:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12426 .loc 1 5163 38 is_stmt 0 view .LVU4121
12427 00ba 2368 ldr r3, [r4]
5163:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12428 .loc 1 5163 48 view .LVU4122
12429 00bc 5A6A ldr r2, [r3, #36]
5163:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12430 .loc 1 5163 12 view .LVU4123
12431 00be 636A ldr r3, [r4, #36]
5163:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12432 .loc 1 5163 23 view .LVU4124
12433 00c0 1A70 strb r2, [r3]
5166:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12434 .loc 1 5166 7 is_stmt 1 view .LVU4125
5166:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12435 .loc 1 5166 11 is_stmt 0 view .LVU4126
12436 00c2 636A ldr r3, [r4, #36]
5166:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12437 .loc 1 5166 21 view .LVU4127
12438 00c4 0133 adds r3, r3, #1
12439 00c6 6362 str r3, [r4, #36]
5168:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--;
12440 .loc 1 5168 7 is_stmt 1 view .LVU4128
5168:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--;
12441 .loc 1 5168 11 is_stmt 0 view .LVU4129
12442 00c8 238D ldrh r3, [r4, #40]
5168:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--;
12443 .loc 1 5168 21 view .LVU4130
12444 00ca 013B subs r3, r3, #1
12445 00cc 2385 strh r3, [r4, #40]
5169:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
12446 .loc 1 5169 7 is_stmt 1 view .LVU4131
ARM GAS /tmp/ccuRhBPx.s page 415
5169:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
12447 .loc 1 5169 11 is_stmt 0 view .LVU4132
12448 00ce 638D ldrh r3, [r4, #42]
5169:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
12449 .loc 1 5169 22 view .LVU4133
12450 00d0 013B subs r3, r3, #1
12451 00d2 9BB2 uxth r3, r3
12452 00d4 6385 strh r3, [r4, #42]
12453 .L707:
5172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (tmpoptions != I2C_NO_OPTION_FRAME))
12454 .loc 1 5172 5 is_stmt 1 view .LVU4134
5172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (tmpoptions != I2C_NO_OPTION_FRAME))
12455 .loc 1 5172 14 is_stmt 0 view .LVU4135
12456 00d6 638D ldrh r3, [r4, #42]
12457 00d8 9BB2 uxth r3, r3
5172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (tmpoptions != I2C_NO_OPTION_FRAME))
12458 .loc 1 5172 8 view .LVU4136
12459 00da 002B cmp r3, #0
12460 00dc B5D1 bne .L703
5172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (tmpoptions != I2C_NO_OPTION_FRAME))
12461 .loc 1 5172 33 discriminator 1 view .LVU4137
12462 00de 1A4B ldr r3, .L725
12463 00e0 9F42 cmp r7, r3
12464 00e2 B2D0 beq .L703
5176:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
12465 .loc 1 5176 7 is_stmt 1 view .LVU4138
12466 00e4 2000 movs r0, r4
12467 00e6 FFF7FEFF bl I2C_ITSlaveSeqCplt
12468 .LVL913:
12469 00ea AEE7 b .L703
12470 .L706:
5179:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_ADDRI) != RESET))
12471 .loc 1 5179 8 view .LVU4139
5179:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_ADDRI) != RESET))
12472 .loc 1 5179 11 is_stmt 0 view .LVU4140
12473 00ec 2B07 lsls r3, r5, #28
12474 00ee 01D5 bpl .L708
5179:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_ADDRI) != RESET))
12475 .loc 1 5179 65 discriminator 1 view .LVU4141
12476 00f0 3307 lsls r3, r6, #28
12477 00f2 16D4 bmi .L724
12478 .L708:
5184:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TXI) != RESET))
12479 .loc 1 5184 8 is_stmt 1 view .LVU4142
5184:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TXI) != RESET))
12480 .loc 1 5184 11 is_stmt 0 view .LVU4143
12481 00f4 AD07 lsls r5, r5, #30
12482 00f6 A8D5 bpl .L703
12483 .LVL914:
5184:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TXI) != RESET))
12484 .loc 1 5184 65 discriminator 1 view .LVU4144
12485 00f8 B607 lsls r6, r6, #30
12486 00fa A6D5 bpl .L703
12487 .LVL915:
5191:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12488 .loc 1 5191 5 is_stmt 1 view .LVU4145
5191:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
ARM GAS /tmp/ccuRhBPx.s page 416
12489 .loc 1 5191 13 is_stmt 0 view .LVU4146
12490 00fc 638D ldrh r3, [r4, #42]
12491 00fe 9BB2 uxth r3, r3
5191:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12492 .loc 1 5191 8 view .LVU4147
12493 0100 002B cmp r3, #0
12494 0102 13D0 beq .L709
5194:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12495 .loc 1 5194 7 is_stmt 1 view .LVU4148
5194:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12496 .loc 1 5194 35 is_stmt 0 view .LVU4149
12497 0104 626A ldr r2, [r4, #36]
5194:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12498 .loc 1 5194 11 view .LVU4150
12499 0106 2368 ldr r3, [r4]
5194:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12500 .loc 1 5194 30 view .LVU4151
12501 0108 1278 ldrb r2, [r2]
5194:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12502 .loc 1 5194 28 view .LVU4152
12503 010a 9A62 str r2, [r3, #40]
5197:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12504 .loc 1 5197 7 is_stmt 1 view .LVU4153
5197:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12505 .loc 1 5197 11 is_stmt 0 view .LVU4154
12506 010c 636A ldr r3, [r4, #36]
5197:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12507 .loc 1 5197 21 view .LVU4155
12508 010e 0133 adds r3, r3, #1
12509 0110 6362 str r3, [r4, #36]
5199:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize--;
12510 .loc 1 5199 7 is_stmt 1 view .LVU4156
5199:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize--;
12511 .loc 1 5199 11 is_stmt 0 view .LVU4157
12512 0112 638D ldrh r3, [r4, #42]
5199:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize--;
12513 .loc 1 5199 22 view .LVU4158
12514 0114 013B subs r3, r3, #1
12515 0116 9BB2 uxth r3, r3
12516 0118 6385 strh r3, [r4, #42]
5200:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
12517 .loc 1 5200 7 is_stmt 1 view .LVU4159
5200:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
12518 .loc 1 5200 11 is_stmt 0 view .LVU4160
12519 011a 238D ldrh r3, [r4, #40]
5200:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
12520 .loc 1 5200 21 view .LVU4161
12521 011c 013B subs r3, r3, #1
12522 011e 2385 strh r3, [r4, #40]
12523 0120 93E7 b .L703
12524 .LVL916:
12525 .L724:
5182:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
12526 .loc 1 5182 5 is_stmt 1 view .LVU4162
12527 0122 2900 movs r1, r5
12528 0124 2000 movs r0, r4
12529 0126 FFF7FEFF bl I2C_ITAddrCplt
ARM GAS /tmp/ccuRhBPx.s page 417
12530 .LVL917:
12531 012a 8EE7 b .L703
12532 .LVL918:
12533 .L709:
5204:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12534 .loc 1 5204 7 view .LVU4163
5204:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12535 .loc 1 5204 10 is_stmt 0 view .LVU4164
12536 012c 8023 movs r3, #128
12537 012e 5B04 lsls r3, r3, #17
12538 0130 9F42 cmp r7, r3
12539 0132 02D0 beq .L710
5204:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12540 .loc 1 5204 42 discriminator 1 view .LVU4165
12541 0134 002F cmp r7, #0
12542 0136 00D0 beq .LCB11680
12543 0138 87E7 b .L703 @long jump
12544 .LCB11680:
12545 .L710:
5208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
12546 .loc 1 5208 9 is_stmt 1 view .LVU4166
12547 013a 2000 movs r0, r4
12548 013c FFF7FEFF bl I2C_ITSlaveSeqCplt
12549 .LVL919:
12550 0140 83E7 b .L703
12551 .LVL920:
12552 .L711:
5097:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12553 .loc 1 5097 3 is_stmt 0 discriminator 1 view .LVU4167
12554 0142 0220 movs r0, #2
12555 .LVL921:
5097:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12556 .loc 1 5097 3 discriminator 1 view .LVU4168
12557 0144 85E7 b .L698
12558 .L726:
12559 0146 C046 .align 2
12560 .L725:
12561 0148 0000FFFF .word -65536
12562 .cfi_endproc
12563 .LFE91:
12565 .section .text.I2C_ITMasterCplt,"ax",%progbits
12566 .align 1
12567 .syntax unified
12568 .code 16
12569 .thumb_func
12571 I2C_ITMasterCplt:
12572 .LVL922:
12573 .LFB100:
5982:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmperror;
12574 .loc 1 5982 1 is_stmt 1 view -0
12575 .cfi_startproc
12576 @ args = 0, pretend = 0, frame = 8
12577 @ frame_needed = 0, uses_anonymous_args = 0
5982:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmperror;
12578 .loc 1 5982 1 is_stmt 0 view .LVU4170
12579 0000 30B5 push {r4, r5, lr}
12580 .cfi_def_cfa_offset 12
ARM GAS /tmp/ccuRhBPx.s page 418
12581 .cfi_offset 4, -12
12582 .cfi_offset 5, -8
12583 .cfi_offset 14, -4
12584 0002 83B0 sub sp, sp, #12
12585 .cfi_def_cfa_offset 24
12586 0004 0400 movs r4, r0
12587 0006 0D00 movs r5, r1
5983:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmpITFlags = ITFlags;
12588 .loc 1 5983 3 is_stmt 1 view .LVU4171
5984:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __IO uint32_t tmpreg;
12589 .loc 1 5984 3 view .LVU4172
12590 .LVL923:
5985:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12591 .loc 1 5985 3 view .LVU4173
5988:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12592 .loc 1 5988 3 view .LVU4174
12593 0008 0368 ldr r3, [r0]
12594 000a 2022 movs r2, #32
12595 000c DA61 str r2, [r3, #28]
5991:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12596 .loc 1 5991 3 view .LVU4175
5991:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12597 .loc 1 5991 11 is_stmt 0 view .LVU4176
12598 000e 4123 movs r3, #65
12599 0010 C35C ldrb r3, [r0, r3]
5991:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12600 .loc 1 5991 6 view .LVU4177
12601 0012 212B cmp r3, #33
12602 0014 29D0 beq .L740
5996:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12603 .loc 1 5996 8 is_stmt 1 view .LVU4178
5996:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12604 .loc 1 5996 16 is_stmt 0 view .LVU4179
12605 0016 4123 movs r3, #65
12606 0018 C35C ldrb r3, [r0, r3]
5996:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12607 .loc 1 5996 11 view .LVU4180
12608 001a 222B cmp r3, #34
12609 001c 2BD0 beq .L741
12610 .LVL924:
12611 .L729:
6004:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12612 .loc 1 6004 3 is_stmt 1 view .LVU4181
6007:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12613 .loc 1 6007 3 view .LVU4182
12614 001e 2268 ldr r2, [r4]
12615 0020 5368 ldr r3, [r2, #4]
12616 0022 3B49 ldr r1, .L746
12617 0024 0B40 ands r3, r1
12618 0026 5360 str r3, [r2, #4]
6010:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
12619 .loc 1 6010 3 view .LVU4183
6010:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
12620 .loc 1 6010 23 is_stmt 0 view .LVU4184
12621 0028 0023 movs r3, #0
12622 002a 6363 str r3, [r4, #52]
6011:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
ARM GAS /tmp/ccuRhBPx.s page 419
12623 .loc 1 6011 3 is_stmt 1 view .LVU4185
6011:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12624 .loc 1 6011 23 is_stmt 0 view .LVU4186
12625 002c 394B ldr r3, .L746+4
12626 002e E362 str r3, [r4, #44]
6013:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12627 .loc 1 6013 3 is_stmt 1 view .LVU4187
6013:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12628 .loc 1 6013 6 is_stmt 0 view .LVU4188
12629 0030 EB06 lsls r3, r5, #27
12630 0032 06D5 bpl .L730
6016:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12631 .loc 1 6016 5 is_stmt 1 view .LVU4189
12632 0034 2368 ldr r3, [r4]
12633 0036 1022 movs r2, #16
12634 0038 DA61 str r2, [r3, #28]
6019:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
12635 .loc 1 6019 5 view .LVU4190
6019:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
12636 .loc 1 6019 9 is_stmt 0 view .LVU4191
12637 003a 636C ldr r3, [r4, #68]
6019:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
12638 .loc 1 6019 21 view .LVU4192
12639 003c 0C3A subs r2, r2, #12
12640 003e 1343 orrs r3, r2
12641 0040 6364 str r3, [r4, #68]
12642 .L730:
6023:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12643 .loc 1 6023 3 is_stmt 1 view .LVU4193
6023:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12644 .loc 1 6023 12 is_stmt 0 view .LVU4194
12645 0042 4123 movs r3, #65
12646 0044 E35C ldrb r3, [r4, r3]
6023:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12647 .loc 1 6023 6 view .LVU4195
12648 0046 602B cmp r3, #96
12649 0048 1BD0 beq .L742
12650 .LVL925:
12651 .L731:
6031:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12652 .loc 1 6031 3 is_stmt 1 view .LVU4196
12653 004a 2000 movs r0, r4
12654 004c FFF7FEFF bl I2C_Flush_TXDR
12655 .LVL926:
6034:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12656 .loc 1 6034 3 view .LVU4197
6034:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12657 .loc 1 6034 12 is_stmt 0 view .LVU4198
12658 0050 626C ldr r2, [r4, #68]
12659 .LVL927:
6037:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12660 .loc 1 6037 3 is_stmt 1 view .LVU4199
6037:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12661 .loc 1 6037 12 is_stmt 0 view .LVU4200
12662 0052 4123 movs r3, #65
12663 0054 E35C ldrb r3, [r4, r3]
6037:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
ARM GAS /tmp/ccuRhBPx.s page 420
12664 .loc 1 6037 6 view .LVU4201
12665 0056 602B cmp r3, #96
12666 0058 01D0 beq .L732
6037:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12667 .loc 1 6037 44 discriminator 1 view .LVU4202
12668 005a 002A cmp r2, #0
12669 005c 1AD0 beq .L733
12670 .L732:
6040:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
12671 .loc 1 6040 5 is_stmt 1 view .LVU4203
6040:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
12672 .loc 1 6040 27 is_stmt 0 view .LVU4204
12673 005e 616C ldr r1, [r4, #68]
6040:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
12674 .loc 1 6040 5 view .LVU4205
12675 0060 2000 movs r0, r4
12676 0062 FFF7FEFF bl I2C_ITError
12677 .LVL928:
12678 .L727:
6116:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12679 .loc 1 6116 1 view .LVU4206
12680 0066 03B0 add sp, sp, #12
12681 @ sp needed
12682 .LVL929:
6116:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12683 .loc 1 6116 1 view .LVU4207
12684 0068 30BD pop {r4, r5, pc}
12685 .LVL930:
12686 .L740:
5993:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_TX;
12687 .loc 1 5993 5 is_stmt 1 view .LVU4208
12688 006a 0121 movs r1, #1
12689 .LVL931:
5993:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_TX;
12690 .loc 1 5993 5 is_stmt 0 view .LVU4209
12691 006c FFF7FEFF bl I2C_Disable_IRQ
12692 .LVL932:
5994:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
12693 .loc 1 5994 5 is_stmt 1 view .LVU4210
5994:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
12694 .loc 1 5994 25 is_stmt 0 view .LVU4211
12695 0070 1123 movs r3, #17
12696 0072 2363 str r3, [r4, #48]
12697 0074 D3E7 b .L729
12698 .LVL933:
12699 .L741:
5998:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_RX;
12700 .loc 1 5998 5 is_stmt 1 view .LVU4212
12701 0076 0221 movs r1, #2
12702 .LVL934:
5998:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_RX;
12703 .loc 1 5998 5 is_stmt 0 view .LVU4213
12704 0078 FFF7FEFF bl I2C_Disable_IRQ
12705 .LVL935:
5999:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
12706 .loc 1 5999 5 is_stmt 1 view .LVU4214
5999:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
ARM GAS /tmp/ccuRhBPx.s page 421
12707 .loc 1 5999 25 is_stmt 0 view .LVU4215
12708 007c 1223 movs r3, #18
12709 007e 2363 str r3, [r4, #48]
12710 0080 CDE7 b .L729
12711 .L742:
6023:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12712 .loc 1 6023 44 discriminator 1 view .LVU4216
12713 0082 6D07 lsls r5, r5, #29
12714 0084 E1D5 bpl .L731
12715 .LVL936:
6026:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** UNUSED(tmpreg);
12716 .loc 1 6026 5 is_stmt 1 view .LVU4217
6026:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** UNUSED(tmpreg);
12717 .loc 1 6026 27 is_stmt 0 view .LVU4218
12718 0086 2368 ldr r3, [r4]
6026:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** UNUSED(tmpreg);
12719 .loc 1 6026 37 view .LVU4219
12720 0088 5A6A ldr r2, [r3, #36]
12721 008a FF23 movs r3, #255
12722 008c 1340 ands r3, r2
6026:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** UNUSED(tmpreg);
12723 .loc 1 6026 12 view .LVU4220
12724 008e 0193 str r3, [sp, #4]
6027:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
12725 .loc 1 6027 5 is_stmt 1 view .LVU4221
12726 0090 019B ldr r3, [sp, #4]
12727 0092 DAE7 b .L731
12728 .LVL937:
12729 .L733:
6043:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12730 .loc 1 6043 8 view .LVU4222
6043:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12731 .loc 1 6043 16 is_stmt 0 view .LVU4223
12732 0094 4123 movs r3, #65
12733 0096 E35C ldrb r3, [r4, r3]
6043:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12734 .loc 1 6043 11 view .LVU4224
12735 0098 212B cmp r3, #33
12736 009a 15D0 beq .L743
6078:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12737 .loc 1 6078 8 is_stmt 1 view .LVU4225
6078:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12738 .loc 1 6078 16 is_stmt 0 view .LVU4226
12739 009c 4123 movs r3, #65
12740 009e E35C ldrb r3, [r4, r3]
6078:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12741 .loc 1 6078 11 view .LVU4227
12742 00a0 222B cmp r3, #34
12743 00a2 E0D1 bne .L727
6080:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
12744 .loc 1 6080 5 is_stmt 1 view .LVU4228
6080:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
12745 .loc 1 6080 17 is_stmt 0 view .LVU4229
12746 00a4 1F33 adds r3, r3, #31
12747 00a6 2022 movs r2, #32
12748 .LVL938:
6080:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
ARM GAS /tmp/ccuRhBPx.s page 422
12749 .loc 1 6080 17 view .LVU4230
12750 00a8 E254 strb r2, [r4, r3]
6081:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12751 .loc 1 6081 5 is_stmt 1 view .LVU4231
6081:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12752 .loc 1 6081 25 is_stmt 0 view .LVU4232
12753 00aa 0023 movs r3, #0
12754 00ac 2363 str r3, [r4, #48]
6083:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12755 .loc 1 6083 5 is_stmt 1 view .LVU4233
6083:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12756 .loc 1 6083 13 is_stmt 0 view .LVU4234
12757 00ae 4233 adds r3, r3, #66
12758 00b0 E35C ldrb r3, [r4, r3]
6083:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12759 .loc 1 6083 8 view .LVU4235
12760 00b2 402B cmp r3, #64
12761 00b4 23D0 beq .L744
6099:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12762 .loc 1 6099 7 is_stmt 1 view .LVU4236
6099:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12763 .loc 1 6099 18 is_stmt 0 view .LVU4237
12764 00b6 0023 movs r3, #0
12765 00b8 4222 movs r2, #66
12766 00ba A354 strb r3, [r4, r2]
6102:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12767 .loc 1 6102 7 is_stmt 1 view .LVU4238
6102:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12768 .loc 1 6102 7 view .LVU4239
12769 00bc 023A subs r2, r2, #2
12770 00be A354 strb r3, [r4, r2]
6102:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12771 .loc 1 6102 7 view .LVU4240
6108:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
12772 .loc 1 6108 7 view .LVU4241
12773 00c0 2000 movs r0, r4
12774 00c2 FFF7FEFF bl HAL_I2C_MasterRxCpltCallback
12775 .LVL939:
6115:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
12776 .loc 1 6115 3 view .LVU4242
6116:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12777 .loc 1 6116 1 is_stmt 0 view .LVU4243
12778 00c6 CEE7 b .L727
12779 .LVL940:
12780 .L743:
6045:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
12781 .loc 1 6045 5 is_stmt 1 view .LVU4244
6045:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
12782 .loc 1 6045 17 is_stmt 0 view .LVU4245
12783 00c8 2033 adds r3, r3, #32
12784 00ca 2022 movs r2, #32
12785 .LVL941:
6045:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
12786 .loc 1 6045 17 view .LVU4246
12787 00cc E254 strb r2, [r4, r3]
6046:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12788 .loc 1 6046 5 is_stmt 1 view .LVU4247
ARM GAS /tmp/ccuRhBPx.s page 423
6046:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12789 .loc 1 6046 25 is_stmt 0 view .LVU4248
12790 00ce 0023 movs r3, #0
12791 00d0 2363 str r3, [r4, #48]
6048:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12792 .loc 1 6048 5 is_stmt 1 view .LVU4249
6048:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12793 .loc 1 6048 13 is_stmt 0 view .LVU4250
12794 00d2 4233 adds r3, r3, #66
12795 00d4 E35C ldrb r3, [r4, r3]
6048:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
12796 .loc 1 6048 8 view .LVU4251
12797 00d6 402B cmp r3, #64
12798 00d8 08D0 beq .L745
6064:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12799 .loc 1 6064 7 is_stmt 1 view .LVU4252
6064:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12800 .loc 1 6064 18 is_stmt 0 view .LVU4253
12801 00da 0023 movs r3, #0
12802 00dc 4222 movs r2, #66
12803 00de A354 strb r3, [r4, r2]
6067:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12804 .loc 1 6067 7 is_stmt 1 view .LVU4254
6067:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12805 .loc 1 6067 7 view .LVU4255
12806 00e0 023A subs r2, r2, #2
12807 00e2 A354 strb r3, [r4, r2]
6067:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12808 .loc 1 6067 7 view .LVU4256
6073:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
12809 .loc 1 6073 7 view .LVU4257
12810 00e4 2000 movs r0, r4
12811 00e6 FFF7FEFF bl HAL_I2C_MasterTxCpltCallback
12812 .LVL942:
12813 00ea BCE7 b .L727
12814 .L745:
6050:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12815 .loc 1 6050 7 view .LVU4258
6050:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12816 .loc 1 6050 18 is_stmt 0 view .LVU4259
12817 00ec 0023 movs r3, #0
12818 00ee 2232 adds r2, r2, #34
12819 00f0 A354 strb r3, [r4, r2]
6053:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12820 .loc 1 6053 7 is_stmt 1 view .LVU4260
6053:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12821 .loc 1 6053 7 view .LVU4261
12822 00f2 023A subs r2, r2, #2
12823 00f4 A354 strb r3, [r4, r2]
6053:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12824 .loc 1 6053 7 view .LVU4262
6059:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
12825 .loc 1 6059 7 view .LVU4263
12826 00f6 2000 movs r0, r4
12827 00f8 FFF7FEFF bl HAL_I2C_MemTxCpltCallback
12828 .LVL943:
12829 00fc B3E7 b .L727
ARM GAS /tmp/ccuRhBPx.s page 424
12830 .L744:
6085:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12831 .loc 1 6085 7 view .LVU4264
6085:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12832 .loc 1 6085 18 is_stmt 0 view .LVU4265
12833 00fe 0023 movs r3, #0
12834 0100 2232 adds r2, r2, #34
12835 0102 A354 strb r3, [r4, r2]
6088:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12836 .loc 1 6088 7 is_stmt 1 view .LVU4266
6088:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12837 .loc 1 6088 7 view .LVU4267
12838 0104 023A subs r2, r2, #2
12839 0106 A354 strb r3, [r4, r2]
6088:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12840 .loc 1 6088 7 view .LVU4268
6094:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
12841 .loc 1 6094 7 view .LVU4269
12842 0108 2000 movs r0, r4
12843 010a FFF7FEFF bl HAL_I2C_MemRxCpltCallback
12844 .LVL944:
12845 010e AAE7 b .L727
12846 .L747:
12847 .align 2
12848 .L746:
12849 0110 00E800FE .word -33495040
12850 0114 0000FFFF .word -65536
12851 .cfi_endproc
12852 .LFE100:
12854 .section .text.I2C_Master_ISR_IT,"ax",%progbits
12855 .align 1
12856 .syntax unified
12857 .code 16
12858 .thumb_func
12860 I2C_Master_ISR_IT:
12861 .LVL945:
12862 .LFB89:
4809:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint16_t devaddress;
12863 .loc 1 4809 1 view -0
12864 .cfi_startproc
12865 @ args = 0, pretend = 0, frame = 0
12866 @ frame_needed = 0, uses_anonymous_args = 0
4809:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint16_t devaddress;
12867 .loc 1 4809 1 is_stmt 0 view .LVU4271
12868 0000 70B5 push {r4, r5, r6, lr}
12869 .cfi_def_cfa_offset 16
12870 .cfi_offset 4, -16
12871 .cfi_offset 5, -12
12872 .cfi_offset 6, -8
12873 .cfi_offset 14, -4
12874 0002 82B0 sub sp, sp, #8
12875 .cfi_def_cfa_offset 24
12876 0004 0400 movs r4, r0
12877 0006 0D00 movs r5, r1
12878 0008 1600 movs r6, r2
4810:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmpITFlags = ITFlags;
12879 .loc 1 4810 3 is_stmt 1 view .LVU4272
ARM GAS /tmp/ccuRhBPx.s page 425
4811:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12880 .loc 1 4811 3 view .LVU4273
12881 .LVL946:
4814:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12882 .loc 1 4814 3 view .LVU4274
4814:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12883 .loc 1 4814 3 view .LVU4275
12884 000a 4023 movs r3, #64
12885 000c C35C ldrb r3, [r0, r3]
12886 000e 012B cmp r3, #1
12887 0010 00D1 bne .LCB12011
12888 0012 ADE0 b .L762 @long jump
12889 .LCB12011:
4814:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12890 .loc 1 4814 3 discriminator 2 view .LVU4276
12891 0014 0123 movs r3, #1
12892 0016 4022 movs r2, #64
12893 .LVL947:
4814:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12894 .loc 1 4814 3 is_stmt 0 discriminator 2 view .LVU4277
12895 0018 8354 strb r3, [r0, r2]
4814:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12896 .loc 1 4814 3 is_stmt 1 discriminator 2 view .LVU4278
4816:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
12897 .loc 1 4816 3 view .LVU4279
4816:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
12898 .loc 1 4816 8 is_stmt 0 view .LVU4280
12899 001a 0A09 lsrs r2, r1, #4
4816:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
12900 .loc 1 4816 6 view .LVU4281
12901 001c 1342 tst r3, r2
12902 001e 01D0 beq .L750
4816:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
12903 .loc 1 4816 58 discriminator 1 view .LVU4282
12904 0020 F306 lsls r3, r6, #27
12905 0022 1ED4 bmi .L775
12906 .L750:
4830:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_RXI) != RESET))
12907 .loc 1 4830 8 is_stmt 1 view .LVU4283
4830:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_RXI) != RESET))
12908 .loc 1 4830 11 is_stmt 0 view .LVU4284
12909 0024 6B07 lsls r3, r5, #29
12910 0026 26D5 bpl .L752
4830:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_RXI) != RESET))
12911 .loc 1 4830 65 discriminator 1 view .LVU4285
12912 0028 7307 lsls r3, r6, #29
12913 002a 24D5 bpl .L752
4834:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12914 .loc 1 4834 5 is_stmt 1 view .LVU4286
4834:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12915 .loc 1 4834 16 is_stmt 0 view .LVU4287
12916 002c 0423 movs r3, #4
12917 002e 9D43 bics r5, r3
12918 .LVL948:
4837:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12919 .loc 1 4837 5 is_stmt 1 view .LVU4288
4837:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
ARM GAS /tmp/ccuRhBPx.s page 426
12920 .loc 1 4837 36 is_stmt 0 view .LVU4289
12921 0030 2368 ldr r3, [r4]
4837:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12922 .loc 1 4837 46 view .LVU4290
12923 0032 5A6A ldr r2, [r3, #36]
4837:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12924 .loc 1 4837 10 view .LVU4291
12925 0034 636A ldr r3, [r4, #36]
4837:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12926 .loc 1 4837 21 view .LVU4292
12927 0036 1A70 strb r2, [r3]
4840:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12928 .loc 1 4840 5 is_stmt 1 view .LVU4293
4840:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12929 .loc 1 4840 9 is_stmt 0 view .LVU4294
12930 0038 636A ldr r3, [r4, #36]
4840:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12931 .loc 1 4840 19 view .LVU4295
12932 003a 0133 adds r3, r3, #1
12933 003c 6362 str r3, [r4, #36]
4842:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--;
12934 .loc 1 4842 5 is_stmt 1 view .LVU4296
4842:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--;
12935 .loc 1 4842 9 is_stmt 0 view .LVU4297
12936 003e 238D ldrh r3, [r4, #40]
4842:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--;
12937 .loc 1 4842 19 view .LVU4298
12938 0040 013B subs r3, r3, #1
12939 0042 2385 strh r3, [r4, #40]
4843:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
12940 .loc 1 4843 5 is_stmt 1 view .LVU4299
4843:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
12941 .loc 1 4843 9 is_stmt 0 view .LVU4300
12942 0044 638D ldrh r3, [r4, #42]
4843:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
12943 .loc 1 4843 20 view .LVU4301
12944 0046 013B subs r3, r3, #1
12945 0048 9BB2 uxth r3, r3
12946 004a 6385 strh r3, [r4, #42]
12947 .LVL949:
12948 .L751:
4930:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12949 .loc 1 4930 3 is_stmt 1 view .LVU4302
4932:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
12950 .loc 1 4932 3 view .LVU4303
4932:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
12951 .loc 1 4932 6 is_stmt 0 view .LVU4304
12952 004c AB06 lsls r3, r5, #26
12953 004e 02D5 bpl .L761
4932:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
12954 .loc 1 4932 61 discriminator 1 view .LVU4305
12955 0050 B606 lsls r6, r6, #26
12956 0052 00D5 bpl .LCB12082
12957 0054 87E0 b .L776 @long jump
12958 .LCB12082:
12959 .LVL950:
12960 .L761:
ARM GAS /tmp/ccuRhBPx.s page 427
4940:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12961 .loc 1 4940 3 is_stmt 1 view .LVU4306
4940:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12962 .loc 1 4940 3 view .LVU4307
12963 0056 4023 movs r3, #64
12964 0058 0022 movs r2, #0
12965 005a E254 strb r2, [r4, r3]
4940:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12966 .loc 1 4940 3 view .LVU4308
4942:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
12967 .loc 1 4942 3 view .LVU4309
4942:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
12968 .loc 1 4942 10 is_stmt 0 view .LVU4310
12969 005c 0020 movs r0, #0
12970 .L749:
4943:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12971 .loc 1 4943 1 view .LVU4311
12972 005e 02B0 add sp, sp, #8
12973 @ sp needed
12974 .LVL951:
12975 .LVL952:
4943:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12976 .loc 1 4943 1 view .LVU4312
12977 0060 70BD pop {r4, r5, r6, pc}
12978 .LVL953:
12979 .L775:
4820:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12980 .loc 1 4820 5 is_stmt 1 view .LVU4313
12981 0062 0368 ldr r3, [r0]
12982 0064 1022 movs r2, #16
12983 0066 DA61 str r2, [r3, #28]
4825:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12984 .loc 1 4825 5 view .LVU4314
4825:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12985 .loc 1 4825 9 is_stmt 0 view .LVU4315
12986 0068 436C ldr r3, [r0, #68]
4825:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
12987 .loc 1 4825 21 view .LVU4316
12988 006a 0C3A subs r2, r2, #12
12989 006c 1343 orrs r3, r2
12990 006e 4364 str r3, [r0, #68]
4828:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
12991 .loc 1 4828 5 is_stmt 1 view .LVU4317
12992 0070 FFF7FEFF bl I2C_Flush_TXDR
12993 .LVL954:
4828:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
12994 .loc 1 4828 5 is_stmt 0 view .LVU4318
12995 0074 EAE7 b .L751
12996 .LVL955:
12997 .L752:
4845:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TXI) != RESET))
12998 .loc 1 4845 8 is_stmt 1 view .LVU4319
4845:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TXI) != RESET))
12999 .loc 1 4845 11 is_stmt 0 view .LVU4320
13000 0076 AB07 lsls r3, r5, #30
13001 0078 10D5 bpl .L753
4845:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TXI) != RESET))
ARM GAS /tmp/ccuRhBPx.s page 428
13002 .loc 1 4845 65 discriminator 1 view .LVU4321
13003 007a B307 lsls r3, r6, #30
13004 007c 0ED5 bpl .L753
4849:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13005 .loc 1 4849 5 is_stmt 1 view .LVU4322
4849:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13006 .loc 1 4849 33 is_stmt 0 view .LVU4323
13007 007e 626A ldr r2, [r4, #36]
4849:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13008 .loc 1 4849 9 view .LVU4324
13009 0080 2368 ldr r3, [r4]
4849:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13010 .loc 1 4849 28 view .LVU4325
13011 0082 1278 ldrb r2, [r2]
4849:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13012 .loc 1 4849 26 view .LVU4326
13013 0084 9A62 str r2, [r3, #40]
4852:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13014 .loc 1 4852 5 is_stmt 1 view .LVU4327
4852:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13015 .loc 1 4852 9 is_stmt 0 view .LVU4328
13016 0086 636A ldr r3, [r4, #36]
4852:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13017 .loc 1 4852 19 view .LVU4329
13018 0088 0133 adds r3, r3, #1
13019 008a 6362 str r3, [r4, #36]
4854:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--;
13020 .loc 1 4854 5 is_stmt 1 view .LVU4330
4854:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--;
13021 .loc 1 4854 9 is_stmt 0 view .LVU4331
13022 008c 238D ldrh r3, [r4, #40]
4854:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--;
13023 .loc 1 4854 19 view .LVU4332
13024 008e 013B subs r3, r3, #1
13025 0090 2385 strh r3, [r4, #40]
4855:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
13026 .loc 1 4855 5 is_stmt 1 view .LVU4333
4855:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
13027 .loc 1 4855 9 is_stmt 0 view .LVU4334
13028 0092 638D ldrh r3, [r4, #42]
4855:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
13029 .loc 1 4855 20 view .LVU4335
13030 0094 013B subs r3, r3, #1
13031 0096 9BB2 uxth r3, r3
13032 0098 6385 strh r3, [r4, #42]
13033 009a D7E7 b .L751
13034 .L753:
4857:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
13035 .loc 1 4857 8 is_stmt 1 view .LVU4336
4857:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
13036 .loc 1 4857 11 is_stmt 0 view .LVU4337
13037 009c 2B06 lsls r3, r5, #24
13038 009e 40D5 bpl .L754
4857:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
13039 .loc 1 4857 64 discriminator 1 view .LVU4338
13040 00a0 7306 lsls r3, r6, #25
13041 00a2 3ED5 bpl .L754
ARM GAS /tmp/ccuRhBPx.s page 429
4860:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
13042 .loc 1 4860 5 is_stmt 1 view .LVU4339
4860:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
13043 .loc 1 4860 14 is_stmt 0 view .LVU4340
13044 00a4 638D ldrh r3, [r4, #42]
13045 00a6 9BB2 uxth r3, r3
4860:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
13046 .loc 1 4860 8 view .LVU4341
13047 00a8 002B cmp r3, #0
13048 00aa 2DD0 beq .L755
4860:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
13049 .loc 1 4860 41 discriminator 1 view .LVU4342
13050 00ac 238D ldrh r3, [r4, #40]
4860:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
13051 .loc 1 4860 33 discriminator 1 view .LVU4343
13052 00ae 002B cmp r3, #0
13053 00b0 2AD1 bne .L755
4862:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13054 .loc 1 4862 7 is_stmt 1 view .LVU4344
4862:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13055 .loc 1 4862 35 is_stmt 0 view .LVU4345
13056 00b2 2368 ldr r3, [r4]
4862:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13057 .loc 1 4862 45 view .LVU4346
13058 00b4 5968 ldr r1, [r3, #4]
13059 .LVL956:
4862:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13060 .loc 1 4862 18 view .LVU4347
13061 00b6 8905 lsls r1, r1, #22
13062 00b8 890D lsrs r1, r1, #22
13063 .LVL957:
4864:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
13064 .loc 1 4864 7 is_stmt 1 view .LVU4348
4864:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
13065 .loc 1 4864 15 is_stmt 0 view .LVU4349
13066 00ba 638D ldrh r3, [r4, #42]
13067 00bc 9BB2 uxth r3, r3
4864:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
13068 .loc 1 4864 10 view .LVU4350
13069 00be FF2B cmp r3, #255
13070 00c0 0ED8 bhi .L777
4871:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferOptions != I2C_NO_OPTION_FRAME)
13071 .loc 1 4871 9 is_stmt 1 view .LVU4351
4871:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferOptions != I2C_NO_OPTION_FRAME)
13072 .loc 1 4871 30 is_stmt 0 view .LVU4352
13073 00c2 628D ldrh r2, [r4, #42]
13074 00c4 92B2 uxth r2, r2
4871:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferOptions != I2C_NO_OPTION_FRAME)
13075 .loc 1 4871 24 view .LVU4353
13076 00c6 2285 strh r2, [r4, #40]
4872:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
13077 .loc 1 4872 9 is_stmt 1 view .LVU4354
4872:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
13078 .loc 1 4872 17 is_stmt 0 view .LVU4355
13079 00c8 E06A ldr r0, [r4, #44]
13080 .LVL958:
4872:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
ARM GAS /tmp/ccuRhBPx.s page 430
13081 .loc 1 4872 12 view .LVU4356
13082 00ca 2A4B ldr r3, .L778
13083 00cc 9842 cmp r0, r3
13084 00ce 12D0 beq .L757
4874:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions, I2C_NO_STARTSTOP);
13085 .loc 1 4874 11 is_stmt 1 view .LVU4357
4875:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
13086 .loc 1 4875 34 is_stmt 0 view .LVU4358
13087 00d0 E36A ldr r3, [r4, #44]
4874:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions, I2C_NO_STARTSTOP);
13088 .loc 1 4874 11 view .LVU4359
13089 00d2 D2B2 uxtb r2, r2
13090 00d4 0020 movs r0, #0
13091 00d6 0090 str r0, [sp]
13092 00d8 2000 movs r0, r4
13093 00da FFF7FEFF bl I2C_TransferConfig
13094 .LVL959:
4874:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions, I2C_NO_STARTSTOP);
13095 .loc 1 4874 11 view .LVU4360
13096 00de B5E7 b .L751
13097 .LVL960:
13098 .L777:
4866:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, devaddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, I2C_NO_START
13099 .loc 1 4866 9 is_stmt 1 view .LVU4361
4866:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, devaddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, I2C_NO_START
13100 .loc 1 4866 24 is_stmt 0 view .LVU4362
13101 00e0 FF23 movs r3, #255
13102 00e2 2385 strh r3, [r4, #40]
4867:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
13103 .loc 1 4867 9 is_stmt 1 view .LVU4363
13104 00e4 7F3B subs r3, r3, #127
13105 00e6 0022 movs r2, #0
13106 00e8 0092 str r2, [sp]
13107 00ea 5B04 lsls r3, r3, #17
13108 00ec FF32 adds r2, r2, #255
13109 00ee 2000 movs r0, r4
13110 .LVL961:
4867:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
13111 .loc 1 4867 9 is_stmt 0 view .LVU4364
13112 00f0 FFF7FEFF bl I2C_TransferConfig
13113 .LVL962:
4867:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
13114 .loc 1 4867 9 view .LVU4365
13115 00f4 AAE7 b .L751
13116 .LVL963:
13117 .L757:
4879:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_AUTOEND_MODE, I2C_NO_STARTSTOP);
13118 .loc 1 4879 11 is_stmt 1 view .LVU4366
13119 00f6 8023 movs r3, #128
13120 00f8 D2B2 uxtb r2, r2
13121 00fa 0020 movs r0, #0
13122 00fc 0090 str r0, [sp]
13123 00fe 9B04 lsls r3, r3, #18
13124 0100 2000 movs r0, r4
13125 0102 FFF7FEFF bl I2C_TransferConfig
13126 .LVL964:
4879:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_AUTOEND_MODE, I2C_NO_STARTSTOP);
ARM GAS /tmp/ccuRhBPx.s page 431
13127 .loc 1 4879 11 is_stmt 0 view .LVU4367
13128 0106 A1E7 b .L751
13129 .LVL965:
13130 .L755:
4887:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
13131 .loc 1 4887 7 is_stmt 1 view .LVU4368
4887:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
13132 .loc 1 4887 11 is_stmt 0 view .LVU4369
13133 0108 2368 ldr r3, [r4]
13134 010a 5B68 ldr r3, [r3, #4]
4887:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
13135 .loc 1 4887 10 view .LVU4370
13136 010c 9B01 lsls r3, r3, #6
13137 010e 03D4 bmi .L758
4890:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
13138 .loc 1 4890 9 is_stmt 1 view .LVU4371
13139 0110 2000 movs r0, r4
13140 .LVL966:
4890:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
13141 .loc 1 4890 9 is_stmt 0 view .LVU4372
13142 0112 FFF7FEFF bl I2C_ITMasterSeqCplt
13143 .LVL967:
4890:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
13144 .loc 1 4890 9 view .LVU4373
13145 0116 99E7 b .L751
13146 .LVL968:
13147 .L758:
4896:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
13148 .loc 1 4896 9 is_stmt 1 view .LVU4374
13149 0118 4021 movs r1, #64
13150 .LVL969:
4896:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
13151 .loc 1 4896 9 is_stmt 0 view .LVU4375
13152 011a 2000 movs r0, r4
13153 .LVL970:
4896:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
13154 .loc 1 4896 9 view .LVU4376
13155 011c FFF7FEFF bl I2C_ITError
13156 .LVL971:
13157 0120 94E7 b .L751
13158 .LVL972:
13159 .L754:
4900:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
13160 .loc 1 4900 8 is_stmt 1 view .LVU4377
4900:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
13161 .loc 1 4900 11 is_stmt 0 view .LVU4378
13162 0122 6B06 lsls r3, r5, #25
13163 0124 00D4 bmi .LCB12304
13164 0126 91E7 b .L751 @long jump
13165 .LCB12304:
4900:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
13166 .loc 1 4900 63 discriminator 1 view .LVU4379
13167 0128 7306 lsls r3, r6, #25
13168 012a 00D4 bmi .LCB12309
13169 012c 8EE7 b .L751 @long jump
13170 .LCB12309:
4903:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
ARM GAS /tmp/ccuRhBPx.s page 432
13171 .loc 1 4903 5 is_stmt 1 view .LVU4380
4903:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
13172 .loc 1 4903 13 is_stmt 0 view .LVU4381
13173 012e 638D ldrh r3, [r4, #42]
13174 0130 9BB2 uxth r3, r3
4903:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
13175 .loc 1 4903 8 view .LVU4382
13176 0132 002B cmp r3, #0
13177 0134 12D1 bne .L759
4905:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
13178 .loc 1 4905 7 is_stmt 1 view .LVU4383
4905:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
13179 .loc 1 4905 11 is_stmt 0 view .LVU4384
13180 0136 2268 ldr r2, [r4]
13181 0138 5368 ldr r3, [r2, #4]
4905:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
13182 .loc 1 4905 10 view .LVU4385
13183 013a 9B01 lsls r3, r3, #6
13184 013c 00D5 bpl .LCB12321
13185 013e 85E7 b .L751 @long jump
13186 .LCB12321:
4908:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
13187 .loc 1 4908 9 is_stmt 1 view .LVU4386
4908:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
13188 .loc 1 4908 17 is_stmt 0 view .LVU4387
13189 0140 E16A ldr r1, [r4, #44]
13190 .LVL973:
4908:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
13191 .loc 1 4908 12 view .LVU4388
13192 0142 0C4B ldr r3, .L778
13193 0144 9942 cmp r1, r3
13194 0146 05D1 bne .L760
4911:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
13195 .loc 1 4911 11 is_stmt 1 view .LVU4389
4911:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
13196 .loc 1 4911 25 is_stmt 0 view .LVU4390
13197 0148 5168 ldr r1, [r2, #4]
4911:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
13198 .loc 1 4911 31 view .LVU4391
13199 014a 8023 movs r3, #128
13200 014c DB01 lsls r3, r3, #7
13201 014e 0B43 orrs r3, r1
13202 0150 5360 str r3, [r2, #4]
13203 0152 7BE7 b .L751
13204 .L760:
4916:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
13205 .loc 1 4916 11 is_stmt 1 view .LVU4392
13206 0154 2000 movs r0, r4
13207 .LVL974:
4916:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
13208 .loc 1 4916 11 is_stmt 0 view .LVU4393
13209 0156 FFF7FEFF bl I2C_ITMasterSeqCplt
13210 .LVL975:
13211 015a 77E7 b .L751
13212 .LVL976:
13213 .L759:
4924:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
ARM GAS /tmp/ccuRhBPx.s page 433
13214 .loc 1 4924 7 is_stmt 1 view .LVU4394
13215 015c 4021 movs r1, #64
13216 .LVL977:
4924:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
13217 .loc 1 4924 7 is_stmt 0 view .LVU4395
13218 015e 2000 movs r0, r4
13219 .LVL978:
4924:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
13220 .loc 1 4924 7 view .LVU4396
13221 0160 FFF7FEFF bl I2C_ITError
13222 .LVL979:
13223 0164 72E7 b .L751
13224 .LVL980:
13225 .L776:
4936:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
13226 .loc 1 4936 5 is_stmt 1 view .LVU4397
13227 0166 2900 movs r1, r5
13228 0168 2000 movs r0, r4
13229 016a FFF7FEFF bl I2C_ITMasterCplt
13230 .LVL981:
13231 016e 72E7 b .L761
13232 .LVL982:
13233 .L762:
4814:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13234 .loc 1 4814 3 is_stmt 0 discriminator 1 view .LVU4398
13235 0170 0220 movs r0, #2
13236 .LVL983:
4814:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13237 .loc 1 4814 3 discriminator 1 view .LVU4399
13238 0172 74E7 b .L749
13239 .L779:
13240 .align 2
13241 .L778:
13242 0174 0000FFFF .word -65536
13243 .cfi_endproc
13244 .LFE89:
13246 .section .text.I2C_Mem_ISR_DMA,"ax",%progbits
13247 .align 1
13248 .syntax unified
13249 .code 16
13250 .thumb_func
13252 I2C_Mem_ISR_DMA:
13253 .LVL984:
13254 .LFB93:
5373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t direction = I2C_GENERATE_START_WRITE;
13255 .loc 1 5373 1 is_stmt 1 view -0
13256 .cfi_startproc
13257 @ args = 0, pretend = 0, frame = 0
13258 @ frame_needed = 0, uses_anonymous_args = 0
5373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t direction = I2C_GENERATE_START_WRITE;
13259 .loc 1 5373 1 is_stmt 0 view .LVU4401
13260 0000 10B5 push {r4, lr}
13261 .cfi_def_cfa_offset 8
13262 .cfi_offset 4, -8
13263 .cfi_offset 14, -4
13264 0002 82B0 sub sp, sp, #8
13265 .cfi_def_cfa_offset 16
ARM GAS /tmp/ccuRhBPx.s page 434
13266 0004 0400 movs r4, r0
5374:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13267 .loc 1 5374 3 is_stmt 1 view .LVU4402
13268 .LVL985:
5377:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13269 .loc 1 5377 3 view .LVU4403
5377:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13270 .loc 1 5377 3 view .LVU4404
13271 0006 4023 movs r3, #64
13272 0008 C35C ldrb r3, [r0, r3]
13273 000a 012B cmp r3, #1
13274 000c 00D1 bne .LCB12409
13275 000e B6E0 b .L795 @long jump
13276 .LCB12409:
5377:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13277 .loc 1 5377 3 discriminator 2 view .LVU4405
13278 0010 0123 movs r3, #1
13279 0012 4020 movs r0, #64
13280 .LVL986:
5377:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13281 .loc 1 5377 3 is_stmt 0 discriminator 2 view .LVU4406
13282 0014 2354 strb r3, [r4, r0]
5377:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13283 .loc 1 5377 3 is_stmt 1 discriminator 2 view .LVU4407
5379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
13284 .loc 1 5379 3 view .LVU4408
5379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
13285 .loc 1 5379 8 is_stmt 0 view .LVU4409
13286 0016 0809 lsrs r0, r1, #4
5379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
13287 .loc 1 5379 6 view .LVU4410
13288 0018 0342 tst r3, r0
13289 001a 01D0 beq .L782
5379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
13290 .loc 1 5379 55 discriminator 1 view .LVU4411
13291 001c D306 lsls r3, r2, #27
13292 001e 0FD4 bmi .L806
13293 .L782:
5396:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TXI) != RESET))
13294 .loc 1 5396 8 is_stmt 1 view .LVU4412
5396:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TXI) != RESET))
13295 .loc 1 5396 11 is_stmt 0 view .LVU4413
13296 0020 8B07 lsls r3, r1, #30
13297 0022 1CD5 bpl .L784
5396:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TXI) != RESET))
13298 .loc 1 5396 62 discriminator 1 view .LVU4414
13299 0024 9307 lsls r3, r2, #30
13300 0026 1AD5 bpl .L784
5400:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13301 .loc 1 5400 5 is_stmt 1 view .LVU4415
5400:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13302 .loc 1 5400 9 is_stmt 0 view .LVU4416
13303 0028 2368 ldr r3, [r4]
5400:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13304 .loc 1 5400 32 view .LVU4417
13305 002a 226D ldr r2, [r4, #80]
13306 .LVL987:
ARM GAS /tmp/ccuRhBPx.s page 435
5400:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13307 .loc 1 5400 26 view .LVU4418
13308 002c 9A62 str r2, [r3, #40]
5403:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
13309 .loc 1 5403 5 is_stmt 1 view .LVU4419
5403:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
13310 .loc 1 5403 22 is_stmt 0 view .LVU4420
13311 002e 0123 movs r3, #1
13312 0030 5B42 rsbs r3, r3, #0
13313 0032 2365 str r3, [r4, #80]
13314 .LVL988:
13315 .L783:
5494:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13316 .loc 1 5494 3 is_stmt 1 view .LVU4421
5497:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13317 .loc 1 5497 3 view .LVU4422
5497:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13318 .loc 1 5497 3 view .LVU4423
13319 0034 4023 movs r3, #64
13320 0036 0022 movs r2, #0
13321 0038 E254 strb r2, [r4, r3]
5497:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13322 .loc 1 5497 3 view .LVU4424
5499:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
13323 .loc 1 5499 3 view .LVU4425
5499:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
13324 .loc 1 5499 10 is_stmt 0 view .LVU4426
13325 003a 0020 movs r0, #0
13326 .L781:
5500:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13327 .loc 1 5500 1 view .LVU4427
13328 003c 02B0 add sp, sp, #8
13329 @ sp needed
13330 .LVL989:
5500:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13331 .loc 1 5500 1 view .LVU4428
13332 003e 10BD pop {r4, pc}
13333 .LVL990:
13334 .L806:
5383:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13335 .loc 1 5383 5 is_stmt 1 view .LVU4429
13336 0040 2368 ldr r3, [r4]
13337 0042 1022 movs r2, #16
13338 .LVL991:
5383:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13339 .loc 1 5383 5 is_stmt 0 view .LVU4430
13340 0044 DA61 str r2, [r3, #28]
5386:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13341 .loc 1 5386 5 is_stmt 1 view .LVU4431
5386:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13342 .loc 1 5386 9 is_stmt 0 view .LVU4432
13343 0046 636C ldr r3, [r4, #68]
5386:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13344 .loc 1 5386 21 view .LVU4433
13345 0048 0C3A subs r2, r2, #12
13346 004a 1343 orrs r3, r2
13347 004c 6364 str r3, [r4, #68]
ARM GAS /tmp/ccuRhBPx.s page 436
5391:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13348 .loc 1 5391 5 is_stmt 1 view .LVU4434
13349 004e 2021 movs r1, #32
13350 .LVL992:
5391:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13351 .loc 1 5391 5 is_stmt 0 view .LVU4435
13352 0050 2000 movs r0, r4
13353 0052 FFF7FEFF bl I2C_Enable_IRQ
13354 .LVL993:
5394:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
13355 .loc 1 5394 5 is_stmt 1 view .LVU4436
13356 0056 2000 movs r0, r4
13357 0058 FFF7FEFF bl I2C_Flush_TXDR
13358 .LVL994:
13359 005c EAE7 b .L783
13360 .LVL995:
13361 .L784:
5405:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
13362 .loc 1 5405 8 view .LVU4437
5405:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
13363 .loc 1 5405 11 is_stmt 0 view .LVU4438
13364 005e 0B06 lsls r3, r1, #24
13365 0060 01D5 bpl .L785
5405:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
13366 .loc 1 5405 61 discriminator 1 view .LVU4439
13367 0062 5306 lsls r3, r2, #25
13368 0064 29D4 bmi .L807
13369 .L785:
5447:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
13370 .loc 1 5447 8 is_stmt 1 view .LVU4440
5447:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
13371 .loc 1 5447 11 is_stmt 0 view .LVU4441
13372 0066 4B06 lsls r3, r1, #25
13373 0068 00D4 bmi .LCB12521
13374 006a 7EE0 b .L790 @long jump
13375 .LCB12521:
5447:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
13376 .loc 1 5447 60 discriminator 1 view .LVU4442
13377 006c 5306 lsls r3, r2, #25
13378 006e 00D4 bmi .LCB12526
13379 0070 7BE0 b .L790 @long jump
13380 .LCB12526:
5450:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
13381 .loc 1 5450 5 is_stmt 1 view .LVU4443
5450:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
13382 .loc 1 5450 13 is_stmt 0 view .LVU4444
13383 0072 4123 movs r3, #65
13384 0074 E35C ldrb r3, [r4, r3]
5450:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
13385 .loc 1 5450 8 view .LVU4445
13386 0076 222B cmp r3, #34
13387 0078 61D0 beq .L796
5374:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13388 .loc 1 5374 12 view .LVU4446
13389 007a 4248 ldr r0, .L810
13390 .L791:
13391 .LVL996:
ARM GAS /tmp/ccuRhBPx.s page 437
5455:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
13392 .loc 1 5455 5 is_stmt 1 view .LVU4447
5455:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
13393 .loc 1 5455 13 is_stmt 0 view .LVU4448
13394 007c 638D ldrh r3, [r4, #42]
13395 007e 9BB2 uxth r3, r3
5455:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
13396 .loc 1 5455 8 view .LVU4449
13397 0080 FF2B cmp r3, #255
13398 0082 5ED9 bls .L792
5457:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13399 .loc 1 5457 7 is_stmt 1 view .LVU4450
5457:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13400 .loc 1 5457 22 is_stmt 0 view .LVU4451
13401 0084 FF23 movs r3, #255
13402 0086 2385 strh r3, [r4, #40]
5460:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_RELOAD_MODE, direction);
13403 .loc 1 5460 7 is_stmt 1 view .LVU4452
5460:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_RELOAD_MODE, direction);
13404 .loc 1 5460 46 is_stmt 0 view .LVU4453
13405 0088 E16C ldr r1, [r4, #76]
13406 .LVL997:
5460:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_RELOAD_MODE, direction);
13407 .loc 1 5460 7 view .LVU4454
13408 008a 7F3B subs r3, r3, #127
13409 008c 89B2 uxth r1, r1
13410 008e 0090 str r0, [sp]
13411 0090 5B04 lsls r3, r3, #17
13412 0092 FF22 movs r2, #255
13413 .LVL998:
5460:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_RELOAD_MODE, direction);
13414 .loc 1 5460 7 view .LVU4455
13415 0094 2000 movs r0, r4
13416 .LVL999:
5460:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_RELOAD_MODE, direction);
13417 .loc 1 5460 7 view .LVU4456
13418 0096 FFF7FEFF bl I2C_TransferConfig
13419 .LVL1000:
13420 .L793:
5473:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13421 .loc 1 5473 5 is_stmt 1 view .LVU4457
5473:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13422 .loc 1 5473 9 is_stmt 0 view .LVU4458
13423 009a 638D ldrh r3, [r4, #42]
5473:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13424 .loc 1 5473 28 view .LVU4459
13425 009c 228D ldrh r2, [r4, #40]
5473:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13426 .loc 1 5473 21 view .LVU4460
13427 009e 9B1A subs r3, r3, r2
13428 00a0 9BB2 uxth r3, r3
13429 00a2 6385 strh r3, [r4, #42]
5476:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
13430 .loc 1 5476 5 is_stmt 1 view .LVU4461
5476:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
13431 .loc 1 5476 13 is_stmt 0 view .LVU4462
13432 00a4 4123 movs r3, #65
ARM GAS /tmp/ccuRhBPx.s page 438
13433 00a6 E35C ldrb r3, [r4, r3]
5476:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
13434 .loc 1 5476 8 view .LVU4463
13435 00a8 222B cmp r3, #34
13436 00aa 57D0 beq .L808
5482:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
13437 .loc 1 5482 7 is_stmt 1 view .LVU4464
5482:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
13438 .loc 1 5482 11 is_stmt 0 view .LVU4465
13439 00ac 2268 ldr r2, [r4]
5482:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
13440 .loc 1 5482 21 view .LVU4466
13441 00ae 1168 ldr r1, [r2]
5482:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
13442 .loc 1 5482 27 view .LVU4467
13443 00b0 8023 movs r3, #128
13444 00b2 DB01 lsls r3, r3, #7
13445 00b4 0B43 orrs r3, r1
13446 00b6 1360 str r3, [r2]
13447 00b8 BCE7 b .L783
13448 .LVL1001:
13449 .L807:
5409:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13450 .loc 1 5409 5 is_stmt 1 view .LVU4468
13451 00ba 1021 movs r1, #16
13452 .LVL1002:
5409:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13453 .loc 1 5409 5 is_stmt 0 view .LVU4469
13454 00bc 2000 movs r0, r4
13455 00be FFF7FEFF bl I2C_Enable_IRQ
13456 .LVL1003:
5411:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
13457 .loc 1 5411 5 is_stmt 1 view .LVU4470
5411:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
13458 .loc 1 5411 13 is_stmt 0 view .LVU4471
13459 00c2 638D ldrh r3, [r4, #42]
13460 00c4 9BB2 uxth r3, r3
5411:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
13461 .loc 1 5411 8 view .LVU4472
13462 00c6 002B cmp r3, #0
13463 00c8 34D0 beq .L786
5414:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
13464 .loc 1 5414 7 is_stmt 1 view .LVU4473
5414:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
13465 .loc 1 5414 15 is_stmt 0 view .LVU4474
13466 00ca 638D ldrh r3, [r4, #42]
13467 00cc 9BB2 uxth r3, r3
5414:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
13468 .loc 1 5414 10 view .LVU4475
13469 00ce FF2B cmp r3, #255
13470 00d0 1BD9 bls .L787
5416:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, (uint16_t)hi2c->Devaddress, (uint8_t)hi2c->XferSize,
13471 .loc 1 5416 9 is_stmt 1 view .LVU4476
5416:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, (uint16_t)hi2c->Devaddress, (uint8_t)hi2c->XferSize,
13472 .loc 1 5416 24 is_stmt 0 view .LVU4477
13473 00d2 FF23 movs r3, #255
13474 00d4 2385 strh r3, [r4, #40]
ARM GAS /tmp/ccuRhBPx.s page 439
5417:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_RELOAD_MODE, I2C_NO_STARTSTOP);
13475 .loc 1 5417 9 is_stmt 1 view .LVU4478
5417:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_RELOAD_MODE, I2C_NO_STARTSTOP);
13476 .loc 1 5417 48 is_stmt 0 view .LVU4479
13477 00d6 E16C ldr r1, [r4, #76]
5417:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_RELOAD_MODE, I2C_NO_STARTSTOP);
13478 .loc 1 5417 9 view .LVU4480
13479 00d8 7F3B subs r3, r3, #127
13480 00da 89B2 uxth r1, r1
13481 00dc 0022 movs r2, #0
13482 00de 0092 str r2, [sp]
13483 00e0 5B04 lsls r3, r3, #17
13484 00e2 FF32 adds r2, r2, #255
13485 00e4 2000 movs r0, r4
13486 00e6 FFF7FEFF bl I2C_TransferConfig
13487 .LVL1004:
13488 .L788:
5428:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13489 .loc 1 5428 7 is_stmt 1 view .LVU4481
5428:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13490 .loc 1 5428 11 is_stmt 0 view .LVU4482
13491 00ea 638D ldrh r3, [r4, #42]
5428:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13492 .loc 1 5428 30 view .LVU4483
13493 00ec 228D ldrh r2, [r4, #40]
5428:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13494 .loc 1 5428 23 view .LVU4484
13495 00ee 9B1A subs r3, r3, r2
13496 00f0 9BB2 uxth r3, r3
13497 00f2 6385 strh r3, [r4, #42]
5431:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
13498 .loc 1 5431 7 is_stmt 1 view .LVU4485
5431:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
13499 .loc 1 5431 15 is_stmt 0 view .LVU4486
13500 00f4 4123 movs r3, #65
13501 00f6 E35C ldrb r3, [r4, r3]
5431:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
13502 .loc 1 5431 10 view .LVU4487
13503 00f8 222B cmp r3, #34
13504 00fa 14D0 beq .L809
5437:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
13505 .loc 1 5437 9 is_stmt 1 view .LVU4488
5437:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
13506 .loc 1 5437 13 is_stmt 0 view .LVU4489
13507 00fc 2268 ldr r2, [r4]
5437:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
13508 .loc 1 5437 23 view .LVU4490
13509 00fe 1168 ldr r1, [r2]
5437:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
13510 .loc 1 5437 29 view .LVU4491
13511 0100 8023 movs r3, #128
13512 0102 DB01 lsls r3, r3, #7
13513 0104 0B43 orrs r3, r1
13514 0106 1360 str r3, [r2]
13515 0108 94E7 b .L783
13516 .L787:
5422:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, (uint16_t)hi2c->Devaddress, (uint8_t)hi2c->XferSize,
ARM GAS /tmp/ccuRhBPx.s page 440
13517 .loc 1 5422 9 is_stmt 1 view .LVU4492
5422:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, (uint16_t)hi2c->Devaddress, (uint8_t)hi2c->XferSize,
13518 .loc 1 5422 30 is_stmt 0 view .LVU4493
13519 010a 628D ldrh r2, [r4, #42]
13520 010c 92B2 uxth r2, r2
5422:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, (uint16_t)hi2c->Devaddress, (uint8_t)hi2c->XferSize,
13521 .loc 1 5422 24 view .LVU4494
13522 010e 2285 strh r2, [r4, #40]
5423:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_AUTOEND_MODE, I2C_NO_STARTSTOP);
13523 .loc 1 5423 9 is_stmt 1 view .LVU4495
5423:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_AUTOEND_MODE, I2C_NO_STARTSTOP);
13524 .loc 1 5423 48 is_stmt 0 view .LVU4496
13525 0110 E16C ldr r1, [r4, #76]
5423:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_AUTOEND_MODE, I2C_NO_STARTSTOP);
13526 .loc 1 5423 9 view .LVU4497
13527 0112 8023 movs r3, #128
13528 0114 D2B2 uxtb r2, r2
13529 0116 89B2 uxth r1, r1
13530 0118 0020 movs r0, #0
13531 011a 0090 str r0, [sp]
13532 011c 9B04 lsls r3, r3, #18
13533 011e 2000 movs r0, r4
13534 0120 FFF7FEFF bl I2C_TransferConfig
13535 .LVL1005:
13536 0124 E1E7 b .L788
13537 .L809:
5433:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
13538 .loc 1 5433 9 is_stmt 1 view .LVU4498
5433:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
13539 .loc 1 5433 13 is_stmt 0 view .LVU4499
13540 0126 2268 ldr r2, [r4]
5433:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
13541 .loc 1 5433 23 view .LVU4500
13542 0128 1168 ldr r1, [r2]
5433:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
13543 .loc 1 5433 29 view .LVU4501
13544 012a 8023 movs r3, #128
13545 012c 1B02 lsls r3, r3, #8
13546 012e 0B43 orrs r3, r1
13547 0130 1360 str r3, [r2]
13548 0132 7FE7 b .L783
13549 .L786:
5444:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
13550 .loc 1 5444 7 is_stmt 1 view .LVU4502
13551 0134 4021 movs r1, #64
13552 0136 2000 movs r0, r4
13553 0138 FFF7FEFF bl I2C_ITError
13554 .LVL1006:
13555 013c 7AE7 b .L783
13556 .LVL1007:
13557 .L796:
5452:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
13558 .loc 1 5452 17 is_stmt 0 view .LVU4503
13559 013e 1248 ldr r0, .L810+4
13560 0140 9CE7 b .L791
13561 .LVL1008:
13562 .L792:
ARM GAS /tmp/ccuRhBPx.s page 441
5465:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13563 .loc 1 5465 7 is_stmt 1 view .LVU4504
5465:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13564 .loc 1 5465 28 is_stmt 0 view .LVU4505
13565 0142 628D ldrh r2, [r4, #42]
13566 .LVL1009:
5465:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13567 .loc 1 5465 28 view .LVU4506
13568 0144 92B2 uxth r2, r2
5465:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13569 .loc 1 5465 22 view .LVU4507
13570 0146 2285 strh r2, [r4, #40]
5468:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_AUTOEND_MODE, direction);
13571 .loc 1 5468 7 is_stmt 1 view .LVU4508
5468:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_AUTOEND_MODE, direction);
13572 .loc 1 5468 46 is_stmt 0 view .LVU4509
13573 0148 E16C ldr r1, [r4, #76]
13574 .LVL1010:
5468:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_AUTOEND_MODE, direction);
13575 .loc 1 5468 7 view .LVU4510
13576 014a 8023 movs r3, #128
13577 014c D2B2 uxtb r2, r2
13578 014e 89B2 uxth r1, r1
13579 0150 0090 str r0, [sp]
13580 0152 9B04 lsls r3, r3, #18
13581 0154 2000 movs r0, r4
13582 .LVL1011:
5468:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_AUTOEND_MODE, direction);
13583 .loc 1 5468 7 view .LVU4511
13584 0156 FFF7FEFF bl I2C_TransferConfig
13585 .LVL1012:
5468:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_AUTOEND_MODE, direction);
13586 .loc 1 5468 7 view .LVU4512
13587 015a 9EE7 b .L793
13588 .L808:
5478:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
13589 .loc 1 5478 7 is_stmt 1 view .LVU4513
5478:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
13590 .loc 1 5478 11 is_stmt 0 view .LVU4514
13591 015c 2268 ldr r2, [r4]
5478:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
13592 .loc 1 5478 21 view .LVU4515
13593 015e 1168 ldr r1, [r2]
5478:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
13594 .loc 1 5478 27 view .LVU4516
13595 0160 8023 movs r3, #128
13596 0162 1B02 lsls r3, r3, #8
13597 0164 0B43 orrs r3, r1
13598 0166 1360 str r3, [r2]
13599 0168 64E7 b .L783
13600 .LVL1013:
13601 .L790:
5485:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
13602 .loc 1 5485 8 is_stmt 1 view .LVU4517
5485:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
13603 .loc 1 5485 11 is_stmt 0 view .LVU4518
13604 016a 8B06 lsls r3, r1, #26
ARM GAS /tmp/ccuRhBPx.s page 442
13605 016c 00D4 bmi .LCB12736
13606 016e 61E7 b .L783 @long jump
13607 .LCB12736:
5485:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
13608 .loc 1 5485 63 discriminator 1 view .LVU4519
13609 0170 9206 lsls r2, r2, #26
13610 0172 00D4 bmi .LCB12741
13611 0174 5EE7 b .L783 @long jump
13612 .LCB12741:
13613 .LVL1014:
5489:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
13614 .loc 1 5489 5 is_stmt 1 view .LVU4520
13615 0176 2000 movs r0, r4
13616 0178 FFF7FEFF bl I2C_ITMasterCplt
13617 .LVL1015:
5489:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
13618 .loc 1 5489 5 is_stmt 0 view .LVU4521
13619 017c 5AE7 b .L783
13620 .LVL1016:
13621 .L795:
5377:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13622 .loc 1 5377 3 discriminator 1 view .LVU4522
13623 017e 0220 movs r0, #2
13624 .LVL1017:
5377:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13625 .loc 1 5377 3 discriminator 1 view .LVU4523
13626 0180 5CE7 b .L781
13627 .L811:
13628 0182 C046 .align 2
13629 .L810:
13630 0184 00200080 .word -2147475456
13631 0188 00240080 .word -2147474432
13632 .cfi_endproc
13633 .LFE93:
13635 .section .text.I2C_Slave_ISR_DMA,"ax",%progbits
13636 .align 1
13637 .syntax unified
13638 .code 16
13639 .thumb_func
13641 I2C_Slave_ISR_DMA:
13642 .LVL1018:
13643 .LFB94:
5512:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmpoptions = hi2c->XferOptions;
13644 .loc 1 5512 1 is_stmt 1 view -0
13645 .cfi_startproc
13646 @ args = 0, pretend = 0, frame = 0
13647 @ frame_needed = 0, uses_anonymous_args = 0
5512:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmpoptions = hi2c->XferOptions;
13648 .loc 1 5512 1 is_stmt 0 view .LVU4525
13649 0000 F8B5 push {r3, r4, r5, r6, r7, lr}
13650 .cfi_def_cfa_offset 24
13651 .cfi_offset 3, -24
13652 .cfi_offset 4, -20
13653 .cfi_offset 5, -16
13654 .cfi_offset 6, -12
13655 .cfi_offset 7, -8
13656 .cfi_offset 14, -4
ARM GAS /tmp/ccuRhBPx.s page 443
13657 0002 0400 movs r4, r0
13658 0004 0D00 movs r5, r1
13659 0006 1600 movs r6, r2
5513:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t treatdmanack = 0U;
13660 .loc 1 5513 3 is_stmt 1 view .LVU4526
5513:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t treatdmanack = 0U;
13661 .loc 1 5513 12 is_stmt 0 view .LVU4527
13662 0008 C76A ldr r7, [r0, #44]
13663 .LVL1019:
5514:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_StateTypeDef tmpstate;
13664 .loc 1 5514 3 is_stmt 1 view .LVU4528
5515:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13665 .loc 1 5515 3 view .LVU4529
5518:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13666 .loc 1 5518 3 view .LVU4530
5518:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13667 .loc 1 5518 3 view .LVU4531
13668 000a 4023 movs r3, #64
13669 000c C35C ldrb r3, [r0, r3]
13670 000e 012B cmp r3, #1
13671 0010 00D1 bne .LCB12795
13672 0012 89E0 b .L830 @long jump
13673 .LCB12795:
5518:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13674 .loc 1 5518 3 discriminator 2 view .LVU4532
13675 0014 0123 movs r3, #1
13676 0016 4022 movs r2, #64
13677 .LVL1020:
5518:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13678 .loc 1 5518 3 is_stmt 0 discriminator 2 view .LVU4533
13679 0018 8354 strb r3, [r0, r2]
5518:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13680 .loc 1 5518 3 is_stmt 1 discriminator 2 view .LVU4534
5521:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
13681 .loc 1 5521 3 view .LVU4535
5521:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
13682 .loc 1 5521 8 is_stmt 0 view .LVU4536
13683 001a 4A09 lsrs r2, r1, #5
5521:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
13684 .loc 1 5521 6 view .LVU4537
13685 001c 1342 tst r3, r2
13686 001e 01D0 beq .L814
5521:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
13687 .loc 1 5521 58 discriminator 1 view .LVU4538
13688 0020 B306 lsls r3, r6, #26
13689 0022 1AD4 bmi .L838
13690 .LVL1021:
13691 .L814:
5528:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
13692 .loc 1 5528 3 is_stmt 1 view .LVU4539
5528:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
13693 .loc 1 5528 6 is_stmt 0 view .LVU4540
13694 0024 EB06 lsls r3, r5, #27
13695 0026 71D5 bpl .L815
5528:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
13696 .loc 1 5528 55 discriminator 1 view .LVU4541
13697 0028 F306 lsls r3, r6, #27
ARM GAS /tmp/ccuRhBPx.s page 444
13698 002a 6FD5 bpl .L815
5535:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_CR1_RXDMAEN) != RESET))
13699 .loc 1 5535 5 is_stmt 1 view .LVU4542
5535:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_CR1_RXDMAEN) != RESET))
13700 .loc 1 5535 10 is_stmt 0 view .LVU4543
13701 002c B30B lsrs r3, r6, #14
13702 002e 0122 movs r2, #1
13703 0030 1000 movs r0, r2
13704 0032 1840 ands r0, r3
5535:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_CR1_RXDMAEN) != RESET))
13705 .loc 1 5535 8 view .LVU4544
13706 0034 1A42 tst r2, r3
13707 0036 01D1 bne .L816
5535:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_CR1_RXDMAEN) != RESET))
13708 .loc 1 5535 68 discriminator 1 view .LVU4545
13709 0038 3304 lsls r3, r6, #16
13710 003a 63D5 bpl .L817
13711 .L816:
5539:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
13712 .loc 1 5539 7 is_stmt 1 view .LVU4546
5539:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
13713 .loc 1 5539 15 is_stmt 0 view .LVU4547
13714 003c E36B ldr r3, [r4, #60]
5539:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
13715 .loc 1 5539 10 view .LVU4548
13716 003e 002B cmp r3, #0
13717 0040 0ED0 beq .L831
5541:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
13718 .loc 1 5541 9 is_stmt 1 view .LVU4549
5541:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
13719 .loc 1 5541 13 is_stmt 0 view .LVU4550
13720 0042 F60B lsrs r6, r6, #15
13721 .LVL1022:
5541:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
13722 .loc 1 5541 13 view .LVU4551
13723 0044 0121 movs r1, #1
13724 0046 0A00 movs r2, r1
13725 0048 3240 ands r2, r6
5541:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
13726 .loc 1 5541 12 view .LVU4552
13727 004a 3142 tst r1, r6
13728 004c 09D0 beq .L818
5543:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
13729 .loc 1 5543 11 is_stmt 1 view .LVU4553
5543:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
13730 .loc 1 5543 15 is_stmt 0 view .LVU4554
13731 004e 1B68 ldr r3, [r3]
13732 0050 5B68 ldr r3, [r3, #4]
5543:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
13733 .loc 1 5543 14 view .LVU4555
13734 0052 002B cmp r3, #0
13735 0054 2BD0 beq .L832
5514:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_StateTypeDef tmpstate;
13736 .loc 1 5514 12 view .LVU4556
13737 0056 0022 movs r2, #0
13738 0058 03E0 b .L818
13739 .LVL1023:
ARM GAS /tmp/ccuRhBPx.s page 445
13740 .L838:
5525:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
13741 .loc 1 5525 5 is_stmt 1 view .LVU4557
13742 005a FFF7FEFF bl I2C_ITSlaveCplt
13743 .LVL1024:
5525:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
13744 .loc 1 5525 5 is_stmt 0 view .LVU4558
13745 005e E1E7 b .L814
13746 .L831:
5514:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_StateTypeDef tmpstate;
13747 .loc 1 5514 12 view .LVU4559
13748 0060 0022 movs r2, #0
13749 .LVL1025:
13750 .L818:
5551:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
13751 .loc 1 5551 7 is_stmt 1 view .LVU4560
5551:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
13752 .loc 1 5551 15 is_stmt 0 view .LVU4561
13753 0062 A36B ldr r3, [r4, #56]
5551:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
13754 .loc 1 5551 10 view .LVU4562
13755 0064 002B cmp r3, #0
13756 0066 05D0 beq .L819
5553:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
13757 .loc 1 5553 9 is_stmt 1 view .LVU4563
5553:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
13758 .loc 1 5553 12 is_stmt 0 view .LVU4564
13759 0068 0028 cmp r0, #0
13760 006a 03D0 beq .L819
5555:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
13761 .loc 1 5555 11 is_stmt 1 view .LVU4565
5555:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
13762 .loc 1 5555 15 is_stmt 0 view .LVU4566
13763 006c 1B68 ldr r3, [r3]
13764 006e 5B68 ldr r3, [r3, #4]
5555:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
13765 .loc 1 5555 14 view .LVU4567
13766 0070 002B cmp r3, #0
13767 0072 1ED0 beq .L820
13768 .L819:
5562:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
13769 .loc 1 5562 7 is_stmt 1 view .LVU4568
5562:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
13770 .loc 1 5562 10 is_stmt 0 view .LVU4569
13771 0074 012A cmp r2, #1
13772 0076 1CD0 beq .L820
5593:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13773 .loc 1 5593 9 is_stmt 1 view .LVU4570
13774 0078 2368 ldr r3, [r4]
13775 007a 1022 movs r2, #16
13776 .LVL1026:
5593:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13777 .loc 1 5593 9 is_stmt 0 view .LVU4571
13778 007c DA61 str r2, [r3, #28]
5596:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13779 .loc 1 5596 9 is_stmt 1 view .LVU4572
5596:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
ARM GAS /tmp/ccuRhBPx.s page 446
13780 .loc 1 5596 13 is_stmt 0 view .LVU4573
13781 007e 636C ldr r3, [r4, #68]
5596:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13782 .loc 1 5596 25 view .LVU4574
13783 0080 0C3A subs r2, r2, #12
13784 0082 1343 orrs r3, r2
13785 0084 6364 str r3, [r4, #68]
5599:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13786 .loc 1 5599 9 is_stmt 1 view .LVU4575
5599:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13787 .loc 1 5599 18 is_stmt 0 view .LVU4576
13788 0086 4123 movs r3, #65
13789 0088 E35C ldrb r3, [r4, r3]
13790 008a DBB2 uxtb r3, r3
13791 .LVL1027:
5601:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
13792 .loc 1 5601 9 is_stmt 1 view .LVU4577
5601:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
13793 .loc 1 5601 12 is_stmt 0 view .LVU4578
13794 008c 002F cmp r7, #0
13795 008e 03D0 beq .L825
5601:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
13796 .loc 1 5601 45 discriminator 1 view .LVU4579
13797 0090 8022 movs r2, #128
13798 0092 5204 lsls r2, r2, #17
13799 0094 9742 cmp r7, r2
13800 0096 3DD1 bne .L823
13801 .L825:
5603:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
13802 .loc 1 5603 11 is_stmt 1 view .LVU4580
5603:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
13803 .loc 1 5603 14 is_stmt 0 view .LVU4581
13804 0098 212B cmp r3, #33
13805 009a 2CD0 beq .L826
5603:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
13806 .loc 1 5603 51 discriminator 1 view .LVU4582
13807 009c 292B cmp r3, #41
13808 009e 2AD0 beq .L826
5607:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
13809 .loc 1 5607 16 is_stmt 1 view .LVU4583
5607:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
13810 .loc 1 5607 19 is_stmt 0 view .LVU4584
13811 00a0 222B cmp r3, #34
13812 00a2 01D0 beq .L829
5607:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
13813 .loc 1 5607 56 discriminator 1 view .LVU4585
13814 00a4 2A2B cmp r3, #42
13815 00a6 28D1 bne .L828
13816 .L829:
5609:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
13817 .loc 1 5609 13 is_stmt 1 view .LVU4586
5609:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
13818 .loc 1 5609 33 is_stmt 0 view .LVU4587
13819 00a8 2223 movs r3, #34
13820 .LVL1028:
5609:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
13821 .loc 1 5609 33 view .LVU4588
ARM GAS /tmp/ccuRhBPx.s page 447
13822 00aa 2363 str r3, [r4, #48]
13823 00ac 25E0 b .L828
13824 .LVL1029:
13825 .L832:
5545:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
13826 .loc 1 5545 26 view .LVU4589
13827 00ae 0122 movs r2, #1
13828 00b0 D7E7 b .L818
13829 .LVL1030:
13830 .L820:
5564:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Same action must be done for (tmpoptions == I2C_LAST_FRAME) which removed for
13831 .loc 1 5564 9 is_stmt 1 view .LVU4590
5564:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Same action must be done for (tmpoptions == I2C_LAST_FRAME) which removed for
13832 .loc 1 5564 18 is_stmt 0 view .LVU4591
13833 00b2 4123 movs r3, #65
13834 00b4 E35C ldrb r3, [r4, r3]
5564:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Same action must be done for (tmpoptions == I2C_LAST_FRAME) which removed for
13835 .loc 1 5564 12 view .LVU4592
13836 00b6 282B cmp r3, #40
13837 00b8 07D0 beq .L839
13838 .L822:
5571:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
13839 .loc 1 5571 14 is_stmt 1 view .LVU4593
5571:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
13840 .loc 1 5571 23 is_stmt 0 view .LVU4594
13841 00ba 4123 movs r3, #65
13842 00bc E35C ldrb r3, [r4, r3]
5571:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
13843 .loc 1 5571 17 view .LVU4595
13844 00be 292B cmp r3, #41
13845 00c0 0CD0 beq .L840
13846 .L824:
5586:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
13847 .loc 1 5586 11 is_stmt 1 view .LVU4596
13848 00c2 2368 ldr r3, [r4]
13849 00c4 1022 movs r2, #16
13850 00c6 DA61 str r2, [r3, #28]
13851 00c8 24E0 b .L823
13852 .L839:
5564:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Same action must be done for (tmpoptions == I2C_LAST_FRAME) which removed for
13853 .loc 1 5564 51 is_stmt 0 discriminator 1 view .LVU4597
13854 00ca 8023 movs r3, #128
13855 00cc 9B04 lsls r3, r3, #18
13856 00ce 9F42 cmp r7, r3
13857 00d0 F3D1 bne .L822
5569:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
13858 .loc 1 5569 11 is_stmt 1 view .LVU4598
13859 00d2 2900 movs r1, r5
13860 00d4 2000 movs r0, r4
13861 00d6 FFF7FEFF bl I2C_ITListenCplt
13862 .LVL1031:
13863 00da 1BE0 b .L823
13864 .L840:
5571:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
13865 .loc 1 5571 64 is_stmt 0 discriminator 1 view .LVU4599
13866 00dc 134B ldr r3, .L842
13867 00de 9F42 cmp r7, r3
ARM GAS /tmp/ccuRhBPx.s page 448
13868 00e0 EFD0 beq .L824
5574:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13869 .loc 1 5574 11 is_stmt 1 view .LVU4600
13870 00e2 2368 ldr r3, [r4]
13871 00e4 1022 movs r2, #16
13872 00e6 DA61 str r2, [r3, #28]
5577:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13873 .loc 1 5577 11 view .LVU4601
13874 00e8 2000 movs r0, r4
13875 00ea FFF7FEFF bl I2C_Flush_TXDR
13876 .LVL1032:
5581:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
13877 .loc 1 5581 11 view .LVU4602
13878 00ee 2000 movs r0, r4
13879 00f0 FFF7FEFF bl I2C_ITSlaveSeqCplt
13880 .LVL1033:
13881 00f4 0EE0 b .L823
13882 .LVL1034:
13883 .L826:
5605:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
13884 .loc 1 5605 13 view .LVU4603
5605:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
13885 .loc 1 5605 33 is_stmt 0 view .LVU4604
13886 00f6 2123 movs r3, #33
13887 .LVL1035:
5605:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
13888 .loc 1 5605 33 view .LVU4605
13889 00f8 2363 str r3, [r4, #48]
13890 .L828:
5617:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
13891 .loc 1 5617 11 is_stmt 1 view .LVU4606
5617:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
13892 .loc 1 5617 33 is_stmt 0 view .LVU4607
13893 00fa 616C ldr r1, [r4, #68]
5617:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
13894 .loc 1 5617 11 view .LVU4608
13895 00fc 2000 movs r0, r4
13896 00fe FFF7FEFF bl I2C_ITError
13897 .LVL1036:
13898 0102 07E0 b .L823
13899 .LVL1037:
13900 .L817:
5624:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
13901 .loc 1 5624 7 is_stmt 1 view .LVU4609
13902 0104 2368 ldr r3, [r4]
13903 0106 1022 movs r2, #16
13904 0108 DA61 str r2, [r3, #28]
13905 010a 03E0 b .L823
13906 .L815:
5627:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_ADDRI) != RESET))
13907 .loc 1 5627 8 view .LVU4610
5627:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_ADDRI) != RESET))
13908 .loc 1 5627 11 is_stmt 0 view .LVU4611
13909 010c 2B07 lsls r3, r5, #28
13910 010e 01D5 bpl .L823
5627:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_ADDRI) != RESET))
13911 .loc 1 5627 62 discriminator 1 view .LVU4612
ARM GAS /tmp/ccuRhBPx.s page 449
13912 0110 3607 lsls r6, r6, #28
13913 0112 04D4 bmi .L841
13914 .LVL1038:
13915 .L823:
5635:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13916 .loc 1 5635 3 is_stmt 1 view .LVU4613
5638:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13917 .loc 1 5638 3 view .LVU4614
5638:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13918 .loc 1 5638 3 view .LVU4615
13919 0114 4023 movs r3, #64
13920 0116 0022 movs r2, #0
13921 0118 E254 strb r2, [r4, r3]
5638:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13922 .loc 1 5638 3 view .LVU4616
5640:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
13923 .loc 1 5640 3 view .LVU4617
5640:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
13924 .loc 1 5640 10 is_stmt 0 view .LVU4618
13925 011a 0020 movs r0, #0
13926 .L813:
5641:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13927 .loc 1 5641 1 view .LVU4619
13928 @ sp needed
13929 .LVL1039:
13930 .LVL1040:
13931 .LVL1041:
5641:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13932 .loc 1 5641 1 view .LVU4620
13933 011c F8BD pop {r3, r4, r5, r6, r7, pc}
13934 .LVL1042:
13935 .L841:
5630:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
13936 .loc 1 5630 5 is_stmt 1 view .LVU4621
13937 011e 2900 movs r1, r5
13938 0120 2000 movs r0, r4
13939 0122 FFF7FEFF bl I2C_ITAddrCplt
13940 .LVL1043:
13941 0126 F5E7 b .L823
13942 .LVL1044:
13943 .L830:
5518:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13944 .loc 1 5518 3 is_stmt 0 discriminator 1 view .LVU4622
13945 0128 0220 movs r0, #2
13946 .LVL1045:
5518:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13947 .loc 1 5518 3 discriminator 1 view .LVU4623
13948 012a F7E7 b .L813
13949 .L843:
13950 .align 2
13951 .L842:
13952 012c 0000FFFF .word -65536
13953 .cfi_endproc
13954 .LFE94:
13956 .section .text.I2C_Master_ISR_DMA,"ax",%progbits
13957 .align 1
13958 .syntax unified
ARM GAS /tmp/ccuRhBPx.s page 450
13959 .code 16
13960 .thumb_func
13962 I2C_Master_ISR_DMA:
13963 .LVL1046:
13964 .LFB92:
5233:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint16_t devaddress;
13965 .loc 1 5233 1 is_stmt 1 view -0
13966 .cfi_startproc
13967 @ args = 0, pretend = 0, frame = 0
13968 @ frame_needed = 0, uses_anonymous_args = 0
5233:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint16_t devaddress;
13969 .loc 1 5233 1 is_stmt 0 view .LVU4625
13970 0000 10B5 push {r4, lr}
13971 .cfi_def_cfa_offset 8
13972 .cfi_offset 4, -8
13973 .cfi_offset 14, -4
13974 0002 82B0 sub sp, sp, #8
13975 .cfi_def_cfa_offset 16
13976 0004 0400 movs r4, r0
5234:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xfermode;
13977 .loc 1 5234 3 is_stmt 1 view .LVU4626
5235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13978 .loc 1 5235 3 view .LVU4627
5238:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13979 .loc 1 5238 3 view .LVU4628
5238:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13980 .loc 1 5238 3 view .LVU4629
13981 0006 4023 movs r3, #64
13982 0008 C35C ldrb r3, [r0, r3]
13983 000a 012B cmp r3, #1
13984 000c 00D1 bne .LCB13125
13985 000e 91E0 b .L857 @long jump
13986 .LCB13125:
5238:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13987 .loc 1 5238 3 discriminator 2 view .LVU4630
13988 0010 0123 movs r3, #1
13989 0012 4020 movs r0, #64
13990 .LVL1047:
5238:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13991 .loc 1 5238 3 is_stmt 0 discriminator 2 view .LVU4631
13992 0014 2354 strb r3, [r4, r0]
5238:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
13993 .loc 1 5238 3 is_stmt 1 discriminator 2 view .LVU4632
5240:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
13994 .loc 1 5240 3 view .LVU4633
5240:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
13995 .loc 1 5240 8 is_stmt 0 view .LVU4634
13996 0016 0809 lsrs r0, r1, #4
5240:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
13997 .loc 1 5240 6 view .LVU4635
13998 0018 0342 tst r3, r0
13999 001a 01D0 beq .L846
5240:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
14000 .loc 1 5240 55 discriminator 1 view .LVU4636
14001 001c D306 lsls r3, r2, #27
14002 001e 2FD4 bmi .L867
14003 .L846:
ARM GAS /tmp/ccuRhBPx.s page 451
5257:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
14004 .loc 1 5257 8 is_stmt 1 view .LVU4637
5257:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
14005 .loc 1 5257 11 is_stmt 0 view .LVU4638
14006 0020 0B06 lsls r3, r1, #24
14007 0022 60D5 bpl .L848
5257:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
14008 .loc 1 5257 61 discriminator 1 view .LVU4639
14009 0024 5306 lsls r3, r2, #25
14010 0026 5ED5 bpl .L848
5261:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
14011 .loc 1 5261 5 is_stmt 1 view .LVU4640
14012 0028 2268 ldr r2, [r4]
14013 .LVL1048:
5261:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
14014 .loc 1 5261 5 is_stmt 0 view .LVU4641
14015 002a 1368 ldr r3, [r2]
14016 002c 4021 movs r1, #64
14017 .LVL1049:
5261:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
14018 .loc 1 5261 5 view .LVU4642
14019 002e 8B43 bics r3, r1
14020 0030 1360 str r3, [r2]
5263:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
14021 .loc 1 5263 5 is_stmt 1 view .LVU4643
5263:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
14022 .loc 1 5263 13 is_stmt 0 view .LVU4644
14023 0032 638D ldrh r3, [r4, #42]
14024 0034 9BB2 uxth r3, r3
5263:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
14025 .loc 1 5263 8 view .LVU4645
14026 0036 002B cmp r3, #0
14027 0038 48D0 beq .L849
5266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
14028 .loc 1 5266 7 is_stmt 1 view .LVU4646
5266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
14029 .loc 1 5266 35 is_stmt 0 view .LVU4647
14030 003a 2368 ldr r3, [r4]
5266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
14031 .loc 1 5266 45 view .LVU4648
14032 003c 5968 ldr r1, [r3, #4]
5266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
14033 .loc 1 5266 18 view .LVU4649
14034 003e 8905 lsls r1, r1, #22
14035 0040 890D lsrs r1, r1, #22
14036 .LVL1050:
5269:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
14037 .loc 1 5269 7 is_stmt 1 view .LVU4650
5269:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
14038 .loc 1 5269 15 is_stmt 0 view .LVU4651
14039 0042 638D ldrh r3, [r4, #42]
14040 0044 9BB2 uxth r3, r3
5269:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
14041 .loc 1 5269 10 view .LVU4652
14042 0046 FF2B cmp r3, #255
14043 0048 2ED9 bls .L850
5271:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
ARM GAS /tmp/ccuRhBPx.s page 452
14044 .loc 1 5271 9 is_stmt 1 view .LVU4653
5271:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
14045 .loc 1 5271 24 is_stmt 0 view .LVU4654
14046 004a FF23 movs r3, #255
14047 004c 2385 strh r3, [r4, #40]
5272:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
14048 .loc 1 5272 9 is_stmt 1 view .LVU4655
14049 .LVL1051:
5272:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
14050 .loc 1 5272 18 is_stmt 0 view .LVU4656
14051 004e 8023 movs r3, #128
14052 0050 5B04 lsls r3, r3, #17
14053 .LVL1052:
14054 .L851:
5288:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
14055 .loc 1 5288 7 is_stmt 1 view .LVU4657
5288:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
14056 .loc 1 5288 57 is_stmt 0 view .LVU4658
14057 0052 228D ldrh r2, [r4, #40]
5288:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
14058 .loc 1 5288 7 view .LVU4659
14059 0054 D2B2 uxtb r2, r2
14060 0056 0020 movs r0, #0
14061 0058 0090 str r0, [sp]
14062 005a 2000 movs r0, r4
14063 005c FFF7FEFF bl I2C_TransferConfig
14064 .LVL1053:
5291:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
14065 .loc 1 5291 7 is_stmt 1 view .LVU4660
5291:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
14066 .loc 1 5291 11 is_stmt 0 view .LVU4661
14067 0060 638D ldrh r3, [r4, #42]
5291:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
14068 .loc 1 5291 30 view .LVU4662
14069 0062 228D ldrh r2, [r4, #40]
5291:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
14070 .loc 1 5291 23 view .LVU4663
14071 0064 9B1A subs r3, r3, r2
14072 0066 9BB2 uxth r3, r3
14073 0068 6385 strh r3, [r4, #42]
5294:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
14074 .loc 1 5294 7 is_stmt 1 view .LVU4664
5294:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
14075 .loc 1 5294 15 is_stmt 0 view .LVU4665
14076 006a 4123 movs r3, #65
14077 006c E35C ldrb r3, [r4, r3]
5294:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
14078 .loc 1 5294 10 view .LVU4666
14079 006e 222B cmp r3, #34
14080 0070 25D0 beq .L868
5300:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
14081 .loc 1 5300 9 is_stmt 1 view .LVU4667
5300:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
14082 .loc 1 5300 13 is_stmt 0 view .LVU4668
14083 0072 2268 ldr r2, [r4]
5300:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
14084 .loc 1 5300 23 view .LVU4669
ARM GAS /tmp/ccuRhBPx.s page 453
14085 0074 1168 ldr r1, [r2]
5300:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
14086 .loc 1 5300 29 view .LVU4670
14087 0076 8023 movs r3, #128
14088 0078 DB01 lsls r3, r3, #7
14089 007a 0B43 orrs r3, r1
14090 007c 1360 str r3, [r2]
14091 007e 0DE0 b .L847
14092 .LVL1054:
14093 .L867:
5244:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
14094 .loc 1 5244 5 is_stmt 1 view .LVU4671
14095 0080 2368 ldr r3, [r4]
14096 0082 1022 movs r2, #16
14097 .LVL1055:
5244:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
14098 .loc 1 5244 5 is_stmt 0 view .LVU4672
14099 0084 DA61 str r2, [r3, #28]
5247:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
14100 .loc 1 5247 5 is_stmt 1 view .LVU4673
5247:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
14101 .loc 1 5247 9 is_stmt 0 view .LVU4674
14102 0086 636C ldr r3, [r4, #68]
5247:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
14103 .loc 1 5247 21 view .LVU4675
14104 0088 0C3A subs r2, r2, #12
14105 008a 1343 orrs r3, r2
14106 008c 6364 str r3, [r4, #68]
5252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
14107 .loc 1 5252 5 is_stmt 1 view .LVU4676
14108 008e 2021 movs r1, #32
14109 .LVL1056:
5252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
14110 .loc 1 5252 5 is_stmt 0 view .LVU4677
14111 0090 2000 movs r0, r4
14112 0092 FFF7FEFF bl I2C_Enable_IRQ
14113 .LVL1057:
5255:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
14114 .loc 1 5255 5 is_stmt 1 view .LVU4678
14115 0096 2000 movs r0, r4
14116 0098 FFF7FEFF bl I2C_Flush_TXDR
14117 .LVL1058:
14118 .L847:
5355:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
14119 .loc 1 5355 3 view .LVU4679
5358:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
14120 .loc 1 5358 3 view .LVU4680
5358:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
14121 .loc 1 5358 3 view .LVU4681
14122 009c 4023 movs r3, #64
14123 009e 0022 movs r2, #0
14124 00a0 E254 strb r2, [r4, r3]
5358:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
14125 .loc 1 5358 3 view .LVU4682
5360:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
14126 .loc 1 5360 3 view .LVU4683
5360:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
ARM GAS /tmp/ccuRhBPx.s page 454
14127 .loc 1 5360 10 is_stmt 0 view .LVU4684
14128 00a2 0020 movs r0, #0
14129 .L845:
5361:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
14130 .loc 1 5361 1 view .LVU4685
14131 00a4 02B0 add sp, sp, #8
14132 @ sp needed
14133 .LVL1059:
5361:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
14134 .loc 1 5361 1 view .LVU4686
14135 00a6 10BD pop {r4, pc}
14136 .LVL1060:
14137 .L850:
5276:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferOptions != I2C_NO_OPTION_FRAME)
14138 .loc 1 5276 9 is_stmt 1 view .LVU4687
5276:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferOptions != I2C_NO_OPTION_FRAME)
14139 .loc 1 5276 30 is_stmt 0 view .LVU4688
14140 00a8 638D ldrh r3, [r4, #42]
5276:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferOptions != I2C_NO_OPTION_FRAME)
14141 .loc 1 5276 24 view .LVU4689
14142 00aa 2385 strh r3, [r4, #40]
5277:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
14143 .loc 1 5277 9 is_stmt 1 view .LVU4690
5277:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
14144 .loc 1 5277 17 is_stmt 0 view .LVU4691
14145 00ac E26A ldr r2, [r4, #44]
5277:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
14146 .loc 1 5277 12 view .LVU4692
14147 00ae 224B ldr r3, .L869
14148 00b0 9A42 cmp r2, r3
14149 00b2 01D0 beq .L858
5279:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
14150 .loc 1 5279 11 is_stmt 1 view .LVU4693
5279:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
14151 .loc 1 5279 20 is_stmt 0 view .LVU4694
14152 00b4 E36A ldr r3, [r4, #44]
14153 .LVL1061:
5279:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
14154 .loc 1 5279 20 view .LVU4695
14155 00b6 CCE7 b .L851
14156 .LVL1062:
14157 .L858:
5283:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
14158 .loc 1 5283 20 view .LVU4696
14159 00b8 8023 movs r3, #128
14160 00ba 9B04 lsls r3, r3, #18
14161 00bc C9E7 b .L851
14162 .LVL1063:
14163 .L868:
5296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
14164 .loc 1 5296 9 is_stmt 1 view .LVU4697
5296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
14165 .loc 1 5296 13 is_stmt 0 view .LVU4698
14166 00be 2268 ldr r2, [r4]
5296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
14167 .loc 1 5296 23 view .LVU4699
14168 00c0 1168 ldr r1, [r2]
ARM GAS /tmp/ccuRhBPx.s page 455
5296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
14169 .loc 1 5296 29 view .LVU4700
14170 00c2 8023 movs r3, #128
14171 00c4 1B02 lsls r3, r3, #8
14172 00c6 0B43 orrs r3, r1
14173 00c8 1360 str r3, [r2]
14174 00ca E7E7 b .L847
14175 .LVL1064:
14176 .L849:
5306:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
14177 .loc 1 5306 7 is_stmt 1 view .LVU4701
5306:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
14178 .loc 1 5306 11 is_stmt 0 view .LVU4702
14179 00cc 2368 ldr r3, [r4]
14180 00ce 5B68 ldr r3, [r3, #4]
5306:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
14181 .loc 1 5306 10 view .LVU4703
14182 00d0 9B01 lsls r3, r3, #6
14183 00d2 03D4 bmi .L853
5309:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
14184 .loc 1 5309 9 is_stmt 1 view .LVU4704
14185 00d4 2000 movs r0, r4
14186 00d6 FFF7FEFF bl I2C_ITMasterSeqCplt
14187 .LVL1065:
14188 00da DFE7 b .L847
14189 .L853:
5315:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
14190 .loc 1 5315 9 view .LVU4705
14191 00dc 4021 movs r1, #64
14192 00de 2000 movs r0, r4
14193 00e0 FFF7FEFF bl I2C_ITError
14194 .LVL1066:
14195 00e4 DAE7 b .L847
14196 .LVL1067:
14197 .L848:
5319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
14198 .loc 1 5319 8 view .LVU4706
5319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
14199 .loc 1 5319 11 is_stmt 0 view .LVU4707
14200 00e6 4B06 lsls r3, r1, #25
14201 00e8 1CD5 bpl .L854
5319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
14202 .loc 1 5319 60 discriminator 1 view .LVU4708
14203 00ea 5306 lsls r3, r2, #25
14204 00ec 1AD5 bpl .L854
5322:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
14205 .loc 1 5322 5 is_stmt 1 view .LVU4709
5322:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
14206 .loc 1 5322 13 is_stmt 0 view .LVU4710
14207 00ee 638D ldrh r3, [r4, #42]
14208 00f0 9BB2 uxth r3, r3
5322:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
14209 .loc 1 5322 8 view .LVU4711
14210 00f2 002B cmp r3, #0
14211 00f4 11D1 bne .L855
5324:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
14212 .loc 1 5324 7 is_stmt 1 view .LVU4712
ARM GAS /tmp/ccuRhBPx.s page 456
5324:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
14213 .loc 1 5324 11 is_stmt 0 view .LVU4713
14214 00f6 2268 ldr r2, [r4]
14215 .LVL1068:
5324:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
14216 .loc 1 5324 11 view .LVU4714
14217 00f8 5368 ldr r3, [r2, #4]
5324:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
14218 .loc 1 5324 10 view .LVU4715
14219 00fa 9B01 lsls r3, r3, #6
14220 00fc CED4 bmi .L847
5327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
14221 .loc 1 5327 9 is_stmt 1 view .LVU4716
5327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
14222 .loc 1 5327 17 is_stmt 0 view .LVU4717
14223 00fe E16A ldr r1, [r4, #44]
14224 .LVL1069:
5327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
14225 .loc 1 5327 12 view .LVU4718
14226 0100 0D4B ldr r3, .L869
14227 0102 9942 cmp r1, r3
14228 0104 05D1 bne .L856
5330:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
14229 .loc 1 5330 11 is_stmt 1 view .LVU4719
5330:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
14230 .loc 1 5330 25 is_stmt 0 view .LVU4720
14231 0106 5168 ldr r1, [r2, #4]
5330:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
14232 .loc 1 5330 31 view .LVU4721
14233 0108 8023 movs r3, #128
14234 010a DB01 lsls r3, r3, #7
14235 010c 0B43 orrs r3, r1
14236 010e 5360 str r3, [r2, #4]
14237 0110 C4E7 b .L847
14238 .L856:
5335:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
14239 .loc 1 5335 11 is_stmt 1 view .LVU4722
14240 0112 2000 movs r0, r4
14241 0114 FFF7FEFF bl I2C_ITMasterSeqCplt
14242 .LVL1070:
14243 0118 C0E7 b .L847
14244 .LVL1071:
14245 .L855:
5343:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
14246 .loc 1 5343 7 view .LVU4723
14247 011a 4021 movs r1, #64
14248 .LVL1072:
5343:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
14249 .loc 1 5343 7 is_stmt 0 view .LVU4724
14250 011c 2000 movs r0, r4
14251 011e FFF7FEFF bl I2C_ITError
14252 .LVL1073:
5343:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
14253 .loc 1 5343 7 view .LVU4725
14254 0122 BBE7 b .L847
14255 .LVL1074:
14256 .L854:
ARM GAS /tmp/ccuRhBPx.s page 457
5346:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
14257 .loc 1 5346 8 is_stmt 1 view .LVU4726
5346:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
14258 .loc 1 5346 11 is_stmt 0 view .LVU4727
14259 0124 8B06 lsls r3, r1, #26
14260 0126 B9D5 bpl .L847
5346:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
14261 .loc 1 5346 63 discriminator 1 view .LVU4728
14262 0128 9206 lsls r2, r2, #26
14263 012a B7D5 bpl .L847
14264 .LVL1075:
5350:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
14265 .loc 1 5350 5 is_stmt 1 view .LVU4729
14266 012c 2000 movs r0, r4
14267 012e FFF7FEFF bl I2C_ITMasterCplt
14268 .LVL1076:
5350:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
14269 .loc 1 5350 5 is_stmt 0 view .LVU4730
14270 0132 B3E7 b .L847
14271 .LVL1077:
14272 .L857:
5238:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
14273 .loc 1 5238 3 discriminator 1 view .LVU4731
14274 0134 0220 movs r0, #2
14275 .LVL1078:
5238:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
14276 .loc 1 5238 3 discriminator 1 view .LVU4732
14277 0136 B5E7 b .L845
14278 .L870:
14279 .align 2
14280 .L869:
14281 0138 0000FFFF .word -65536
14282 .cfi_endproc
14283 .LFE92:
14285 .section .text.I2C_DMAError,"ax",%progbits
14286 .align 1
14287 .syntax unified
14288 .code 16
14289 .thumb_func
14291 I2C_DMAError:
14292 .LVL1079:
14293 .LFB110:
6685:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Derogation MISRAC2012-Rule-11.5 */
14294 .loc 1 6685 1 is_stmt 1 view -0
14295 .cfi_startproc
14296 @ args = 0, pretend = 0, frame = 0
14297 @ frame_needed = 0, uses_anonymous_args = 0
6685:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Derogation MISRAC2012-Rule-11.5 */
14298 .loc 1 6685 1 is_stmt 0 view .LVU4734
14299 0000 10B5 push {r4, lr}
14300 .cfi_def_cfa_offset 8
14301 .cfi_offset 4, -8
14302 .cfi_offset 14, -4
6687:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
14303 .loc 1 6687 3 is_stmt 1 view .LVU4735
6687:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
14304 .loc 1 6687 22 is_stmt 0 view .LVU4736
ARM GAS /tmp/ccuRhBPx.s page 458
14305 0002 406A ldr r0, [r0, #36]
14306 .LVL1080:
6690:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
14307 .loc 1 6690 3 is_stmt 1 view .LVU4737
6690:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
14308 .loc 1 6690 7 is_stmt 0 view .LVU4738
14309 0004 0268 ldr r2, [r0]
6690:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
14310 .loc 1 6690 17 view .LVU4739
14311 0006 5168 ldr r1, [r2, #4]
6690:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
14312 .loc 1 6690 23 view .LVU4740
14313 0008 8023 movs r3, #128
14314 000a 1B02 lsls r3, r3, #8
14315 000c 0B43 orrs r3, r1
14316 000e 5360 str r3, [r2, #4]
6693:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
14317 .loc 1 6693 3 is_stmt 1 view .LVU4741
14318 0010 1021 movs r1, #16
14319 0012 FFF7FEFF bl I2C_ITError
14320 .LVL1081:
6694:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
14321 .loc 1 6694 1 is_stmt 0 view .LVU4742
14322 @ sp needed
14323 0016 10BD pop {r4, pc}
14324 .cfi_endproc
14325 .LFE110:
14327 .section .text.I2C_DMAMasterTransmitCplt,"ax",%progbits
14328 .align 1
14329 .syntax unified
14330 .code 16
14331 .thumb_func
14333 I2C_DMAMasterTransmitCplt:
14334 .LVL1082:
14335 .LFB106:
6525:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Derogation MISRAC2012-Rule-11.5 */
14336 .loc 1 6525 1 is_stmt 1 view -0
14337 .cfi_startproc
14338 @ args = 0, pretend = 0, frame = 0
14339 @ frame_needed = 0, uses_anonymous_args = 0
6525:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Derogation MISRAC2012-Rule-11.5 */
14340 .loc 1 6525 1 is_stmt 0 view .LVU4744
14341 0000 10B5 push {r4, lr}
14342 .cfi_def_cfa_offset 8
14343 .cfi_offset 4, -8
14344 .cfi_offset 14, -4
6527:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
14345 .loc 1 6527 3 is_stmt 1 view .LVU4745
6527:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
14346 .loc 1 6527 22 is_stmt 0 view .LVU4746
14347 0002 446A ldr r4, [r0, #36]
14348 .LVL1083:
6530:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
14349 .loc 1 6530 3 is_stmt 1 view .LVU4747
6530:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
14350 .loc 1 6530 7 is_stmt 0 view .LVU4748
14351 0004 2268 ldr r2, [r4]
ARM GAS /tmp/ccuRhBPx.s page 459
6530:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
14352 .loc 1 6530 17 view .LVU4749
14353 0006 1368 ldr r3, [r2]
6530:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
14354 .loc 1 6530 23 view .LVU4750
14355 0008 1549 ldr r1, .L879
14356 000a 0B40 ands r3, r1
14357 000c 1360 str r3, [r2]
6533:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
14358 .loc 1 6533 3 is_stmt 1 view .LVU4751
6533:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
14359 .loc 1 6533 11 is_stmt 0 view .LVU4752
14360 000e 638D ldrh r3, [r4, #42]
14361 0010 9BB2 uxth r3, r3
6533:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
14362 .loc 1 6533 6 view .LVU4753
14363 0012 002B cmp r3, #0
14364 0014 16D0 beq .L878
6542:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
14365 .loc 1 6542 5 is_stmt 1 view .LVU4754
6542:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
14366 .loc 1 6542 9 is_stmt 0 view .LVU4755
14367 0016 616A ldr r1, [r4, #36]
6542:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
14368 .loc 1 6542 27 view .LVU4756
14369 0018 238D ldrh r3, [r4, #40]
6542:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
14370 .loc 1 6542 20 view .LVU4757
14371 001a C918 adds r1, r1, r3
14372 001c 6162 str r1, [r4, #36]
6545:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
14373 .loc 1 6545 5 is_stmt 1 view .LVU4758
6545:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
14374 .loc 1 6545 13 is_stmt 0 view .LVU4759
14375 001e 638D ldrh r3, [r4, #42]
14376 0020 9BB2 uxth r3, r3
6545:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
14377 .loc 1 6545 8 view .LVU4760
14378 0022 FF2B cmp r3, #255
14379 0024 13D9 bls .L875
6547:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
14380 .loc 1 6547 7 is_stmt 1 view .LVU4761
6547:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
14381 .loc 1 6547 22 is_stmt 0 view .LVU4762
14382 0026 FF23 movs r3, #255
14383 0028 2385 strh r3, [r4, #40]
14384 .L876:
6555:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize) != HAL_OK)
14385 .loc 1 6555 5 is_stmt 1 view .LVU4763
6555:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize) != HAL_OK)
14386 .loc 1 6555 81 is_stmt 0 view .LVU4764
14387 002a 2268 ldr r2, [r4]
6555:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize) != HAL_OK)
14388 .loc 1 6555 76 view .LVU4765
14389 002c 2832 adds r2, r2, #40
6556:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
14390 .loc 1 6556 30 view .LVU4766
ARM GAS /tmp/ccuRhBPx.s page 460
14391 002e 238D ldrh r3, [r4, #40]
6555:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize) != HAL_OK)
14392 .loc 1 6555 9 view .LVU4767
14393 0030 A06B ldr r0, [r4, #56]
14394 .LVL1084:
6555:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize) != HAL_OK)
14395 .loc 1 6555 9 view .LVU4768
14396 0032 FFF7FEFF bl HAL_DMA_Start_IT
14397 .LVL1085:
6555:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize) != HAL_OK)
14398 .loc 1 6555 8 discriminator 1 view .LVU4769
14399 0036 0028 cmp r0, #0
14400 0038 0CD0 beq .L877
6559:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
14401 .loc 1 6559 7 is_stmt 1 view .LVU4770
14402 003a 1021 movs r1, #16
14403 003c 2000 movs r0, r4
14404 003e FFF7FEFF bl I2C_ITError
14405 .LVL1086:
14406 .L872:
6567:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
14407 .loc 1 6567 1 is_stmt 0 view .LVU4771
14408 @ sp needed
14409 .LVL1087:
6567:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
14410 .loc 1 6567 1 view .LVU4772
14411 0042 10BD pop {r4, pc}
14412 .LVL1088:
14413 .L878:
6536:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
14414 .loc 1 6536 5 is_stmt 1 view .LVU4773
14415 0044 2021 movs r1, #32
14416 0046 2000 movs r0, r4
14417 .LVL1089:
6536:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
14418 .loc 1 6536 5 is_stmt 0 view .LVU4774
14419 0048 FFF7FEFF bl I2C_Enable_IRQ
14420 .LVL1090:
14421 004c F9E7 b .L872
14422 .LVL1091:
14423 .L875:
6551:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
14424 .loc 1 6551 7 is_stmt 1 view .LVU4775
6551:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
14425 .loc 1 6551 28 is_stmt 0 view .LVU4776
14426 004e 638D ldrh r3, [r4, #42]
6551:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
14427 .loc 1 6551 22 view .LVU4777
14428 0050 2385 strh r3, [r4, #40]
14429 0052 EAE7 b .L876
14430 .LVL1092:
14431 .L877:
6564:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
14432 .loc 1 6564 7 is_stmt 1 view .LVU4778
14433 0054 4021 movs r1, #64
14434 0056 2000 movs r0, r4
14435 0058 FFF7FEFF bl I2C_Enable_IRQ
ARM GAS /tmp/ccuRhBPx.s page 461
14436 .LVL1093:
6567:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
14437 .loc 1 6567 1 is_stmt 0 view .LVU4779
14438 005c F1E7 b .L872
14439 .L880:
14440 005e C046 .align 2
14441 .L879:
14442 0060 FFBFFFFF .word -16385
14443 .cfi_endproc
14444 .LFE106:
14446 .section .text.I2C_DMAMasterReceiveCplt,"ax",%progbits
14447 .align 1
14448 .syntax unified
14449 .code 16
14450 .thumb_func
14452 I2C_DMAMasterReceiveCplt:
14453 .LVL1094:
14454 .LFB108:
6605:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Derogation MISRAC2012-Rule-11.5 */
14455 .loc 1 6605 1 is_stmt 1 view -0
14456 .cfi_startproc
14457 @ args = 0, pretend = 0, frame = 0
14458 @ frame_needed = 0, uses_anonymous_args = 0
6605:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Derogation MISRAC2012-Rule-11.5 */
14459 .loc 1 6605 1 is_stmt 0 view .LVU4781
14460 0000 10B5 push {r4, lr}
14461 .cfi_def_cfa_offset 8
14462 .cfi_offset 4, -8
14463 .cfi_offset 14, -4
6607:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
14464 .loc 1 6607 3 is_stmt 1 view .LVU4782
6607:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
14465 .loc 1 6607 22 is_stmt 0 view .LVU4783
14466 0002 446A ldr r4, [r0, #36]
14467 .LVL1095:
6610:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
14468 .loc 1 6610 3 is_stmt 1 view .LVU4784
6610:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
14469 .loc 1 6610 7 is_stmt 0 view .LVU4785
14470 0004 2268 ldr r2, [r4]
6610:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
14471 .loc 1 6610 17 view .LVU4786
14472 0006 1368 ldr r3, [r2]
6610:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
14473 .loc 1 6610 23 view .LVU4787
14474 0008 1549 ldr r1, .L888
14475 000a 0B40 ands r3, r1
14476 000c 1360 str r3, [r2]
6613:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
14477 .loc 1 6613 3 is_stmt 1 view .LVU4788
6613:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
14478 .loc 1 6613 11 is_stmt 0 view .LVU4789
14479 000e 638D ldrh r3, [r4, #42]
14480 0010 9BB2 uxth r3, r3
6613:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
14481 .loc 1 6613 6 view .LVU4790
14482 0012 002B cmp r3, #0
ARM GAS /tmp/ccuRhBPx.s page 462
14483 0014 16D0 beq .L887
6622:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
14484 .loc 1 6622 5 is_stmt 1 view .LVU4791
6622:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
14485 .loc 1 6622 9 is_stmt 0 view .LVU4792
14486 0016 626A ldr r2, [r4, #36]
6622:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
14487 .loc 1 6622 27 view .LVU4793
14488 0018 238D ldrh r3, [r4, #40]
6622:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
14489 .loc 1 6622 20 view .LVU4794
14490 001a D218 adds r2, r2, r3
14491 001c 6262 str r2, [r4, #36]
6625:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
14492 .loc 1 6625 5 is_stmt 1 view .LVU4795
6625:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
14493 .loc 1 6625 13 is_stmt 0 view .LVU4796
14494 001e 638D ldrh r3, [r4, #42]
14495 0020 9BB2 uxth r3, r3
6625:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
14496 .loc 1 6625 8 view .LVU4797
14497 0022 FF2B cmp r3, #255
14498 0024 13D9 bls .L884
6627:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
14499 .loc 1 6627 7 is_stmt 1 view .LVU4798
6627:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
14500 .loc 1 6627 22 is_stmt 0 view .LVU4799
14501 0026 FF23 movs r3, #255
14502 0028 2385 strh r3, [r4, #40]
14503 .L885:
6635:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize) != HAL_OK)
14504 .loc 1 6635 5 is_stmt 1 view .LVU4800
6635:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize) != HAL_OK)
14505 .loc 1 6635 55 is_stmt 0 view .LVU4801
14506 002a 2168 ldr r1, [r4]
6635:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize) != HAL_OK)
14507 .loc 1 6635 50 view .LVU4802
14508 002c 2431 adds r1, r1, #36
6636:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
14509 .loc 1 6636 30 view .LVU4803
14510 002e 238D ldrh r3, [r4, #40]
6635:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize) != HAL_OK)
14511 .loc 1 6635 9 view .LVU4804
14512 0030 E06B ldr r0, [r4, #60]
14513 .LVL1096:
6635:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize) != HAL_OK)
14514 .loc 1 6635 9 view .LVU4805
14515 0032 FFF7FEFF bl HAL_DMA_Start_IT
14516 .LVL1097:
6635:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize) != HAL_OK)
14517 .loc 1 6635 8 discriminator 1 view .LVU4806
14518 0036 0028 cmp r0, #0
14519 0038 0CD0 beq .L886
6639:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
14520 .loc 1 6639 7 is_stmt 1 view .LVU4807
14521 003a 1021 movs r1, #16
14522 003c 2000 movs r0, r4
ARM GAS /tmp/ccuRhBPx.s page 463
14523 003e FFF7FEFF bl I2C_ITError
14524 .LVL1098:
14525 .L881:
6647:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
14526 .loc 1 6647 1 is_stmt 0 view .LVU4808
14527 @ sp needed
14528 .LVL1099:
6647:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
14529 .loc 1 6647 1 view .LVU4809
14530 0042 10BD pop {r4, pc}
14531 .LVL1100:
14532 .L887:
6616:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
14533 .loc 1 6616 5 is_stmt 1 view .LVU4810
14534 0044 2021 movs r1, #32
14535 0046 2000 movs r0, r4
14536 .LVL1101:
6616:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
14537 .loc 1 6616 5 is_stmt 0 view .LVU4811
14538 0048 FFF7FEFF bl I2C_Enable_IRQ
14539 .LVL1102:
14540 004c F9E7 b .L881
14541 .LVL1103:
14542 .L884:
6631:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
14543 .loc 1 6631 7 is_stmt 1 view .LVU4812
6631:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
14544 .loc 1 6631 28 is_stmt 0 view .LVU4813
14545 004e 638D ldrh r3, [r4, #42]
6631:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
14546 .loc 1 6631 22 view .LVU4814
14547 0050 2385 strh r3, [r4, #40]
14548 0052 EAE7 b .L885
14549 .LVL1104:
14550 .L886:
6644:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
14551 .loc 1 6644 7 is_stmt 1 view .LVU4815
14552 0054 4021 movs r1, #64
14553 0056 2000 movs r0, r4
14554 0058 FFF7FEFF bl I2C_Enable_IRQ
14555 .LVL1105:
6647:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
14556 .loc 1 6647 1 is_stmt 0 view .LVU4816
14557 005c F1E7 b .L881
14558 .L889:
14559 005e C046 .align 2
14560 .L888:
14561 0060 FF7FFFFF .word -32769
14562 .cfi_endproc
14563 .LFE108:
14565 .section .text.I2C_Mem_ISR_IT,"ax",%progbits
14566 .align 1
14567 .syntax unified
14568 .code 16
14569 .thumb_func
14571 I2C_Mem_ISR_IT:
14572 .LVL1106:
ARM GAS /tmp/ccuRhBPx.s page 464
14573 .LFB90:
4955:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t direction = I2C_GENERATE_START_WRITE;
14574 .loc 1 4955 1 is_stmt 1 view -0
14575 .cfi_startproc
14576 @ args = 0, pretend = 0, frame = 0
14577 @ frame_needed = 0, uses_anonymous_args = 0
4955:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t direction = I2C_GENERATE_START_WRITE;
14578 .loc 1 4955 1 is_stmt 0 view .LVU4818
14579 0000 70B5 push {r4, r5, r6, lr}
14580 .cfi_def_cfa_offset 16
14581 .cfi_offset 4, -16
14582 .cfi_offset 5, -12
14583 .cfi_offset 6, -8
14584 .cfi_offset 14, -4
14585 0002 82B0 sub sp, sp, #8
14586 .cfi_def_cfa_offset 24
14587 0004 0400 movs r4, r0
14588 0006 0D00 movs r5, r1
14589 0008 1600 movs r6, r2
4956:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmpITFlags = ITFlags;
14590 .loc 1 4956 3 is_stmt 1 view .LVU4819
14591 .LVL1107:
4957:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
14592 .loc 1 4957 3 view .LVU4820
4960:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
14593 .loc 1 4960 3 view .LVU4821
4960:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
14594 .loc 1 4960 3 view .LVU4822
14595 000a 4023 movs r3, #64
14596 000c C35C ldrb r3, [r0, r3]
14597 000e 012B cmp r3, #1
14598 0010 00D1 bne .LCB13694
14599 0012 AAE0 b .L903 @long jump
14600 .LCB13694:
4960:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
14601 .loc 1 4960 3 discriminator 2 view .LVU4823
14602 0014 0123 movs r3, #1
14603 0016 4022 movs r2, #64
14604 .LVL1108:
4960:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
14605 .loc 1 4960 3 is_stmt 0 discriminator 2 view .LVU4824
14606 0018 8354 strb r3, [r0, r2]
4960:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
14607 .loc 1 4960 3 is_stmt 1 discriminator 2 view .LVU4825
4962:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
14608 .loc 1 4962 3 view .LVU4826
4962:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
14609 .loc 1 4962 8 is_stmt 0 view .LVU4827
14610 001a 0A09 lsrs r2, r1, #4
4962:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
14611 .loc 1 4962 6 view .LVU4828
14612 001c 1342 tst r3, r2
14613 001e 01D0 beq .L892
4962:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
14614 .loc 1 4962 58 discriminator 1 view .LVU4829
14615 0020 F306 lsls r3, r6, #27
14616 0022 1ED4 bmi .L916
ARM GAS /tmp/ccuRhBPx.s page 465
14617 .L892:
4976:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_RXI) != RESET))
14618 .loc 1 4976 8 is_stmt 1 view .LVU4830
4976:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_RXI) != RESET))
14619 .loc 1 4976 11 is_stmt 0 view .LVU4831
14620 0024 6B07 lsls r3, r5, #29
14621 0026 26D5 bpl .L894
4976:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_RXI) != RESET))
14622 .loc 1 4976 65 discriminator 1 view .LVU4832
14623 0028 7307 lsls r3, r6, #29
14624 002a 24D5 bpl .L894
4980:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
14625 .loc 1 4980 5 is_stmt 1 view .LVU4833
4980:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
14626 .loc 1 4980 16 is_stmt 0 view .LVU4834
14627 002c 0423 movs r3, #4
14628 002e 9D43 bics r5, r3
14629 .LVL1109:
4983:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
14630 .loc 1 4983 5 is_stmt 1 view .LVU4835
4983:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
14631 .loc 1 4983 36 is_stmt 0 view .LVU4836
14632 0030 2368 ldr r3, [r4]
4983:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
14633 .loc 1 4983 46 view .LVU4837
14634 0032 5A6A ldr r2, [r3, #36]
4983:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
14635 .loc 1 4983 10 view .LVU4838
14636 0034 636A ldr r3, [r4, #36]
4983:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
14637 .loc 1 4983 21 view .LVU4839
14638 0036 1A70 strb r2, [r3]
4986:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
14639 .loc 1 4986 5 is_stmt 1 view .LVU4840
4986:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
14640 .loc 1 4986 9 is_stmt 0 view .LVU4841
14641 0038 636A ldr r3, [r4, #36]
4986:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
14642 .loc 1 4986 19 view .LVU4842
14643 003a 0133 adds r3, r3, #1
14644 003c 6362 str r3, [r4, #36]
4988:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--;
14645 .loc 1 4988 5 is_stmt 1 view .LVU4843
4988:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--;
14646 .loc 1 4988 9 is_stmt 0 view .LVU4844
14647 003e 238D ldrh r3, [r4, #40]
4988:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--;
14648 .loc 1 4988 19 view .LVU4845
14649 0040 013B subs r3, r3, #1
14650 0042 2385 strh r3, [r4, #40]
4989:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
14651 .loc 1 4989 5 is_stmt 1 view .LVU4846
4989:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
14652 .loc 1 4989 9 is_stmt 0 view .LVU4847
14653 0044 638D ldrh r3, [r4, #42]
4989:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
14654 .loc 1 4989 20 view .LVU4848
ARM GAS /tmp/ccuRhBPx.s page 466
14655 0046 013B subs r3, r3, #1
14656 0048 9BB2 uxth r3, r3
14657 004a 6385 strh r3, [r4, #42]
14658 .LVL1110:
14659 .L893:
5067:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
14660 .loc 1 5067 3 is_stmt 1 view .LVU4849
5069:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
14661 .loc 1 5069 3 view .LVU4850
5069:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
14662 .loc 1 5069 6 is_stmt 0 view .LVU4851
14663 004c AB06 lsls r3, r5, #26
14664 004e 02D5 bpl .L902
5069:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
14665 .loc 1 5069 61 discriminator 1 view .LVU4852
14666 0050 B606 lsls r6, r6, #26
14667 0052 00D5 bpl .LCB13766
14668 0054 84E0 b .L917 @long jump
14669 .LCB13766:
14670 .LVL1111:
14671 .L902:
5077:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
14672 .loc 1 5077 3 is_stmt 1 view .LVU4853
5077:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
14673 .loc 1 5077 3 view .LVU4854
14674 0056 4023 movs r3, #64
14675 0058 0022 movs r2, #0
14676 005a E254 strb r2, [r4, r3]
5077:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
14677 .loc 1 5077 3 view .LVU4855
5079:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
14678 .loc 1 5079 3 view .LVU4856
5079:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
14679 .loc 1 5079 10 is_stmt 0 view .LVU4857
14680 005c 0020 movs r0, #0
14681 .L891:
5080:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
14682 .loc 1 5080 1 view .LVU4858
14683 005e 02B0 add sp, sp, #8
14684 @ sp needed
14685 .LVL1112:
14686 .LVL1113:
5080:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
14687 .loc 1 5080 1 view .LVU4859
14688 0060 70BD pop {r4, r5, r6, pc}
14689 .LVL1114:
14690 .L916:
4966:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
14691 .loc 1 4966 5 is_stmt 1 view .LVU4860
14692 0062 0368 ldr r3, [r0]
14693 0064 1022 movs r2, #16
14694 0066 DA61 str r2, [r3, #28]
4971:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
14695 .loc 1 4971 5 view .LVU4861
4971:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
14696 .loc 1 4971 9 is_stmt 0 view .LVU4862
14697 0068 436C ldr r3, [r0, #68]
ARM GAS /tmp/ccuRhBPx.s page 467
4971:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
14698 .loc 1 4971 21 view .LVU4863
14699 006a 0C3A subs r2, r2, #12
14700 006c 1343 orrs r3, r2
14701 006e 4364 str r3, [r0, #68]
4974:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
14702 .loc 1 4974 5 is_stmt 1 view .LVU4864
14703 0070 FFF7FEFF bl I2C_Flush_TXDR
14704 .LVL1115:
4974:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
14705 .loc 1 4974 5 is_stmt 0 view .LVU4865
14706 0074 EAE7 b .L893
14707 .LVL1116:
14708 .L894:
4991:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TXI) != RESET))
14709 .loc 1 4991 8 is_stmt 1 view .LVU4866
4991:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TXI) != RESET))
14710 .loc 1 4991 11 is_stmt 0 view .LVU4867
14711 0076 AB07 lsls r3, r5, #30
14712 0078 1AD5 bpl .L895
4991:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TXI) != RESET))
14713 .loc 1 4991 65 discriminator 1 view .LVU4868
14714 007a B307 lsls r3, r6, #30
14715 007c 18D5 bpl .L895
4994:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
14716 .loc 1 4994 5 is_stmt 1 view .LVU4869
4994:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
14717 .loc 1 4994 13 is_stmt 0 view .LVU4870
14718 007e 236D ldr r3, [r4, #80]
4994:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
14719 .loc 1 4994 8 view .LVU4871
14720 0080 0133 adds r3, r3, #1
14721 0082 06D0 beq .L918
5008:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
14722 .loc 1 5008 7 is_stmt 1 view .LVU4872
5008:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
14723 .loc 1 5008 11 is_stmt 0 view .LVU4873
14724 0084 2368 ldr r3, [r4]
5008:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
14725 .loc 1 5008 34 view .LVU4874
14726 0086 226D ldr r2, [r4, #80]
5008:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
14727 .loc 1 5008 28 view .LVU4875
14728 0088 9A62 str r2, [r3, #40]
5011:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
14729 .loc 1 5011 7 is_stmt 1 view .LVU4876
5011:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
14730 .loc 1 5011 24 is_stmt 0 view .LVU4877
14731 008a 0123 movs r3, #1
14732 008c 5B42 rsbs r3, r3, #0
14733 008e 2365 str r3, [r4, #80]
14734 0090 DCE7 b .L893
14735 .L918:
4997:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
14736 .loc 1 4997 7 is_stmt 1 view .LVU4878
4997:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
14737 .loc 1 4997 35 is_stmt 0 view .LVU4879
ARM GAS /tmp/ccuRhBPx.s page 468
14738 0092 626A ldr r2, [r4, #36]
4997:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
14739 .loc 1 4997 11 view .LVU4880
14740 0094 2368 ldr r3, [r4]
4997:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
14741 .loc 1 4997 30 view .LVU4881
14742 0096 1278 ldrb r2, [r2]
4997:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
14743 .loc 1 4997 28 view .LVU4882
14744 0098 9A62 str r2, [r3, #40]
5000:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
14745 .loc 1 5000 7 is_stmt 1 view .LVU4883
5000:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
14746 .loc 1 5000 11 is_stmt 0 view .LVU4884
14747 009a 636A ldr r3, [r4, #36]
5000:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
14748 .loc 1 5000 21 view .LVU4885
14749 009c 0133 adds r3, r3, #1
14750 009e 6362 str r3, [r4, #36]
5002:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--;
14751 .loc 1 5002 7 is_stmt 1 view .LVU4886
5002:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--;
14752 .loc 1 5002 11 is_stmt 0 view .LVU4887
14753 00a0 238D ldrh r3, [r4, #40]
5002:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--;
14754 .loc 1 5002 21 view .LVU4888
14755 00a2 013B subs r3, r3, #1
14756 00a4 2385 strh r3, [r4, #40]
5003:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
14757 .loc 1 5003 7 is_stmt 1 view .LVU4889
5003:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
14758 .loc 1 5003 11 is_stmt 0 view .LVU4890
14759 00a6 638D ldrh r3, [r4, #42]
5003:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
14760 .loc 1 5003 22 view .LVU4891
14761 00a8 013B subs r3, r3, #1
14762 00aa 9BB2 uxth r3, r3
14763 00ac 6385 strh r3, [r4, #42]
14764 00ae CDE7 b .L893
14765 .L895:
5014:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
14766 .loc 1 5014 8 is_stmt 1 view .LVU4892
5014:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
14767 .loc 1 5014 11 is_stmt 0 view .LVU4893
14768 00b0 2B06 lsls r3, r5, #24
14769 00b2 2CD5 bpl .L897
5014:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
14770 .loc 1 5014 64 discriminator 1 view .LVU4894
14771 00b4 7306 lsls r3, r6, #25
14772 00b6 2AD5 bpl .L897
5017:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
14773 .loc 1 5017 5 is_stmt 1 view .LVU4895
5017:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
14774 .loc 1 5017 14 is_stmt 0 view .LVU4896
14775 00b8 638D ldrh r3, [r4, #42]
14776 00ba 9BB2 uxth r3, r3
5017:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
ARM GAS /tmp/ccuRhBPx.s page 469
14777 .loc 1 5017 8 view .LVU4897
14778 00bc 002B cmp r3, #0
14779 00be 21D0 beq .L898
5017:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
14780 .loc 1 5017 41 discriminator 1 view .LVU4898
14781 00c0 238D ldrh r3, [r4, #40]
5017:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
14782 .loc 1 5017 33 discriminator 1 view .LVU4899
14783 00c2 002B cmp r3, #0
14784 00c4 1ED1 bne .L898
5019:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
14785 .loc 1 5019 7 is_stmt 1 view .LVU4900
5019:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
14786 .loc 1 5019 15 is_stmt 0 view .LVU4901
14787 00c6 638D ldrh r3, [r4, #42]
14788 00c8 9BB2 uxth r3, r3
5019:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
14789 .loc 1 5019 10 view .LVU4902
14790 00ca FF2B cmp r3, #255
14791 00cc 0CD9 bls .L899
5021:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, (uint16_t)hi2c->Devaddress, (uint8_t)hi2c->XferSize,
14792 .loc 1 5021 9 is_stmt 1 view .LVU4903
5021:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, (uint16_t)hi2c->Devaddress, (uint8_t)hi2c->XferSize,
14793 .loc 1 5021 24 is_stmt 0 view .LVU4904
14794 00ce FF23 movs r3, #255
14795 00d0 2385 strh r3, [r4, #40]
5022:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_RELOAD_MODE, I2C_NO_STARTSTOP);
14796 .loc 1 5022 9 is_stmt 1 view .LVU4905
5022:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_RELOAD_MODE, I2C_NO_STARTSTOP);
14797 .loc 1 5022 48 is_stmt 0 view .LVU4906
14798 00d2 E16C ldr r1, [r4, #76]
14799 .LVL1117:
5022:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_RELOAD_MODE, I2C_NO_STARTSTOP);
14800 .loc 1 5022 9 view .LVU4907
14801 00d4 7F3B subs r3, r3, #127
14802 00d6 89B2 uxth r1, r1
14803 00d8 0022 movs r2, #0
14804 00da 0092 str r2, [sp]
14805 00dc 5B04 lsls r3, r3, #17
14806 00de FF32 adds r2, r2, #255
14807 00e0 2000 movs r0, r4
14808 .LVL1118:
5022:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_RELOAD_MODE, I2C_NO_STARTSTOP);
14809 .loc 1 5022 9 view .LVU4908
14810 00e2 FFF7FEFF bl I2C_TransferConfig
14811 .LVL1119:
14812 00e6 B1E7 b .L893
14813 .LVL1120:
14814 .L899:
5027:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, (uint16_t)hi2c->Devaddress, (uint8_t)hi2c->XferSize,
14815 .loc 1 5027 9 is_stmt 1 view .LVU4909
5027:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, (uint16_t)hi2c->Devaddress, (uint8_t)hi2c->XferSize,
14816 .loc 1 5027 30 is_stmt 0 view .LVU4910
14817 00e8 628D ldrh r2, [r4, #42]
14818 00ea 92B2 uxth r2, r2
5027:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, (uint16_t)hi2c->Devaddress, (uint8_t)hi2c->XferSize,
14819 .loc 1 5027 24 view .LVU4911
ARM GAS /tmp/ccuRhBPx.s page 470
14820 00ec 2285 strh r2, [r4, #40]
5028:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_AUTOEND_MODE, I2C_NO_STARTSTOP);
14821 .loc 1 5028 9 is_stmt 1 view .LVU4912
5028:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_AUTOEND_MODE, I2C_NO_STARTSTOP);
14822 .loc 1 5028 48 is_stmt 0 view .LVU4913
14823 00ee E16C ldr r1, [r4, #76]
14824 .LVL1121:
5028:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_AUTOEND_MODE, I2C_NO_STARTSTOP);
14825 .loc 1 5028 9 view .LVU4914
14826 00f0 8023 movs r3, #128
14827 00f2 D2B2 uxtb r2, r2
14828 00f4 89B2 uxth r1, r1
14829 00f6 0020 movs r0, #0
14830 .LVL1122:
5028:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_AUTOEND_MODE, I2C_NO_STARTSTOP);
14831 .loc 1 5028 9 view .LVU4915
14832 00f8 0090 str r0, [sp]
14833 00fa 9B04 lsls r3, r3, #18
14834 00fc 2000 movs r0, r4
14835 00fe FFF7FEFF bl I2C_TransferConfig
14836 .LVL1123:
14837 0102 A3E7 b .L893
14838 .LVL1124:
14839 .L898:
5036:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
14840 .loc 1 5036 7 is_stmt 1 view .LVU4916
14841 0104 4021 movs r1, #64
14842 .LVL1125:
5036:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
14843 .loc 1 5036 7 is_stmt 0 view .LVU4917
14844 0106 2000 movs r0, r4
14845 .LVL1126:
5036:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
14846 .loc 1 5036 7 view .LVU4918
14847 0108 FFF7FEFF bl I2C_ITError
14848 .LVL1127:
14849 010c 9EE7 b .L893
14850 .LVL1128:
14851 .L897:
5039:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
14852 .loc 1 5039 8 is_stmt 1 view .LVU4919
5039:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
14853 .loc 1 5039 11 is_stmt 0 view .LVU4920
14854 010e 6B06 lsls r3, r5, #25
14855 0110 9CD5 bpl .L893
5039:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
14856 .loc 1 5039 63 discriminator 1 view .LVU4921
14857 0112 7306 lsls r3, r6, #25
14858 0114 00D4 bmi .LCB13968
14859 0116 99E7 b .L893 @long jump
14860 .LCB13968:
5042:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
14861 .loc 1 5042 5 is_stmt 1 view .LVU4922
5042:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
14862 .loc 1 5042 13 is_stmt 0 view .LVU4923
14863 0118 4123 movs r3, #65
14864 011a E35C ldrb r3, [r4, r3]
ARM GAS /tmp/ccuRhBPx.s page 471
5042:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
14865 .loc 1 5042 8 view .LVU4924
14866 011c 222B cmp r3, #34
14867 011e 10D0 beq .L904
4956:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmpITFlags = ITFlags;
14868 .loc 1 4956 12 view .LVU4925
14869 0120 1348 ldr r0, .L919
14870 .LVL1129:
14871 .L900:
5047:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
14872 .loc 1 5047 5 is_stmt 1 view .LVU4926
5047:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
14873 .loc 1 5047 13 is_stmt 0 view .LVU4927
14874 0122 638D ldrh r3, [r4, #42]
14875 0124 9BB2 uxth r3, r3
5047:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
14876 .loc 1 5047 8 view .LVU4928
14877 0126 FF2B cmp r3, #255
14878 0128 0DD9 bls .L901
5049:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
14879 .loc 1 5049 7 is_stmt 1 view .LVU4929
5049:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
14880 .loc 1 5049 22 is_stmt 0 view .LVU4930
14881 012a FF23 movs r3, #255
14882 012c 2385 strh r3, [r4, #40]
5052:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_RELOAD_MODE, direction);
14883 .loc 1 5052 7 is_stmt 1 view .LVU4931
5052:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_RELOAD_MODE, direction);
14884 .loc 1 5052 46 is_stmt 0 view .LVU4932
14885 012e E16C ldr r1, [r4, #76]
14886 .LVL1130:
5052:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_RELOAD_MODE, direction);
14887 .loc 1 5052 7 view .LVU4933
14888 0130 7F3B subs r3, r3, #127
14889 0132 89B2 uxth r1, r1
14890 0134 0090 str r0, [sp]
14891 0136 5B04 lsls r3, r3, #17
14892 0138 FF22 movs r2, #255
14893 013a 2000 movs r0, r4
14894 .LVL1131:
5052:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_RELOAD_MODE, direction);
14895 .loc 1 5052 7 view .LVU4934
14896 013c FFF7FEFF bl I2C_TransferConfig
14897 .LVL1132:
5052:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_RELOAD_MODE, direction);
14898 .loc 1 5052 7 view .LVU4935
14899 0140 84E7 b .L893
14900 .LVL1133:
14901 .L904:
5044:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
14902 .loc 1 5044 17 view .LVU4936
14903 0142 0C48 ldr r0, .L919+4
14904 .LVL1134:
5044:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
14905 .loc 1 5044 17 view .LVU4937
14906 0144 EDE7 b .L900
14907 .LVL1135:
ARM GAS /tmp/ccuRhBPx.s page 472
14908 .L901:
5057:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
14909 .loc 1 5057 7 is_stmt 1 view .LVU4938
5057:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
14910 .loc 1 5057 28 is_stmt 0 view .LVU4939
14911 0146 628D ldrh r2, [r4, #42]
14912 0148 92B2 uxth r2, r2
5057:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
14913 .loc 1 5057 22 view .LVU4940
14914 014a 2285 strh r2, [r4, #40]
5060:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_AUTOEND_MODE, direction);
14915 .loc 1 5060 7 is_stmt 1 view .LVU4941
5060:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_AUTOEND_MODE, direction);
14916 .loc 1 5060 46 is_stmt 0 view .LVU4942
14917 014c E16C ldr r1, [r4, #76]
14918 .LVL1136:
5060:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_AUTOEND_MODE, direction);
14919 .loc 1 5060 7 view .LVU4943
14920 014e 8023 movs r3, #128
14921 0150 D2B2 uxtb r2, r2
14922 0152 89B2 uxth r1, r1
14923 0154 0090 str r0, [sp]
14924 0156 9B04 lsls r3, r3, #18
14925 0158 2000 movs r0, r4
14926 .LVL1137:
5060:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_AUTOEND_MODE, direction);
14927 .loc 1 5060 7 view .LVU4944
14928 015a FFF7FEFF bl I2C_TransferConfig
14929 .LVL1138:
5060:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_AUTOEND_MODE, direction);
14930 .loc 1 5060 7 view .LVU4945
14931 015e 75E7 b .L893
14932 .LVL1139:
14933 .L917:
5073:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
14934 .loc 1 5073 5 is_stmt 1 view .LVU4946
14935 0160 2900 movs r1, r5
14936 0162 2000 movs r0, r4
14937 0164 FFF7FEFF bl I2C_ITMasterCplt
14938 .LVL1140:
14939 0168 75E7 b .L902
14940 .LVL1141:
14941 .L903:
4960:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
14942 .loc 1 4960 3 is_stmt 0 discriminator 1 view .LVU4947
14943 016a 0220 movs r0, #2
14944 .LVL1142:
4960:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
14945 .loc 1 4960 3 discriminator 1 view .LVU4948
14946 016c 77E7 b .L891
14947 .L920:
14948 016e C046 .align 2
14949 .L919:
14950 0170 00200080 .word -2147475456
14951 0174 00240080 .word -2147474432
14952 .cfi_endproc
14953 .LFE90:
ARM GAS /tmp/ccuRhBPx.s page 473
14955 .section .text.HAL_I2C_ER_IRQHandler,"ax",%progbits
14956 .align 1
14957 .global HAL_I2C_ER_IRQHandler
14958 .syntax unified
14959 .code 16
14960 .thumb_func
14962 HAL_I2C_ER_IRQHandler:
14963 .LVL1143:
14964 .LFB75:
4526:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t itflags = READ_REG(hi2c->Instance->ISR);
14965 .loc 1 4526 1 is_stmt 1 view -0
14966 .cfi_startproc
14967 @ args = 0, pretend = 0, frame = 0
14968 @ frame_needed = 0, uses_anonymous_args = 0
4526:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t itflags = READ_REG(hi2c->Instance->ISR);
14969 .loc 1 4526 1 is_stmt 0 view .LVU4950
14970 0000 70B5 push {r4, r5, r6, lr}
14971 .cfi_def_cfa_offset 16
14972 .cfi_offset 4, -16
14973 .cfi_offset 5, -12
14974 .cfi_offset 6, -8
14975 .cfi_offset 14, -4
4527:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t itsources = READ_REG(hi2c->Instance->CR1);
14976 .loc 1 4527 3 is_stmt 1 view .LVU4951
4527:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t itsources = READ_REG(hi2c->Instance->CR1);
14977 .loc 1 4527 24 is_stmt 0 view .LVU4952
14978 0002 0268 ldr r2, [r0]
4527:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t itsources = READ_REG(hi2c->Instance->CR1);
14979 .loc 1 4527 12 view .LVU4953
14980 0004 9369 ldr r3, [r2, #24]
14981 .LVL1144:
4528:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmperror;
14982 .loc 1 4528 3 is_stmt 1 view .LVU4954
4528:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmperror;
14983 .loc 1 4528 12 is_stmt 0 view .LVU4955
14984 0006 1168 ldr r1, [r2]
14985 .LVL1145:
4529:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
14986 .loc 1 4529 3 is_stmt 1 view .LVU4956
4532:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ERRI) != RESET))
14987 .loc 1 4532 3 view .LVU4957
4532:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ERRI) != RESET))
14988 .loc 1 4532 6 is_stmt 0 view .LVU4958
14989 0008 DC05 lsls r4, r3, #23
14990 000a 08D5 bpl .L922
4532:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ERRI) != RESET))
14991 .loc 1 4532 57 discriminator 1 view .LVU4959
14992 000c 0C06 lsls r4, r1, #24
14993 000e 06D5 bpl .L922
4535:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
14994 .loc 1 4535 5 is_stmt 1 view .LVU4960
4535:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
14995 .loc 1 4535 9 is_stmt 0 view .LVU4961
14996 0010 446C ldr r4, [r0, #68]
4535:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
14997 .loc 1 4535 21 view .LVU4962
14998 0012 0125 movs r5, #1
ARM GAS /tmp/ccuRhBPx.s page 474
14999 0014 2C43 orrs r4, r5
15000 0016 4464 str r4, [r0, #68]
4538:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
15001 .loc 1 4538 5 is_stmt 1 view .LVU4963
15002 0018 8024 movs r4, #128
15003 001a 6400 lsls r4, r4, #1
15004 001c D461 str r4, [r2, #28]
15005 .L922:
4542:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ERRI) != RESET))
15006 .loc 1 4542 3 view .LVU4964
4542:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ERRI) != RESET))
15007 .loc 1 4542 6 is_stmt 0 view .LVU4965
15008 001e 5A05 lsls r2, r3, #21
15009 0020 09D5 bpl .L923
4542:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ERRI) != RESET))
15010 .loc 1 4542 56 discriminator 1 view .LVU4966
15011 0022 0A06 lsls r2, r1, #24
15012 0024 07D5 bpl .L923
4545:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
15013 .loc 1 4545 5 is_stmt 1 view .LVU4967
4545:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
15014 .loc 1 4545 9 is_stmt 0 view .LVU4968
15015 0026 426C ldr r2, [r0, #68]
4545:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
15016 .loc 1 4545 21 view .LVU4969
15017 0028 0824 movs r4, #8
15018 002a 2243 orrs r2, r4
15019 002c 4264 str r2, [r0, #68]
4548:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
15020 .loc 1 4548 5 is_stmt 1 view .LVU4970
15021 002e 0268 ldr r2, [r0]
15022 0030 8024 movs r4, #128
15023 0032 E400 lsls r4, r4, #3
15024 0034 D461 str r4, [r2, #28]
15025 .L923:
4552:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ERRI) != RESET))
15026 .loc 1 4552 3 view .LVU4971
4552:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ERRI) != RESET))
15027 .loc 1 4552 6 is_stmt 0 view .LVU4972
15028 0036 9B05 lsls r3, r3, #22
15029 0038 09D5 bpl .L924
15030 .LVL1146:
4552:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ERRI) != RESET))
15031 .loc 1 4552 57 discriminator 1 view .LVU4973
15032 003a 0906 lsls r1, r1, #24
15033 003c 07D5 bpl .L924
15034 .LVL1147:
4555:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
15035 .loc 1 4555 5 is_stmt 1 view .LVU4974
4555:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
15036 .loc 1 4555 9 is_stmt 0 view .LVU4975
15037 003e 436C ldr r3, [r0, #68]
4555:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
15038 .loc 1 4555 21 view .LVU4976
15039 0040 0222 movs r2, #2
15040 0042 1343 orrs r3, r2
15041 0044 4364 str r3, [r0, #68]
ARM GAS /tmp/ccuRhBPx.s page 475
4558:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
15042 .loc 1 4558 5 is_stmt 1 view .LVU4977
15043 0046 0368 ldr r3, [r0]
15044 0048 FF32 adds r2, r2, #255
15045 004a FF32 adds r2, r2, #255
15046 004c DA61 str r2, [r3, #28]
15047 .L924:
4562:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
15048 .loc 1 4562 3 view .LVU4978
4562:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
15049 .loc 1 4562 12 is_stmt 0 view .LVU4979
15050 004e 416C ldr r1, [r0, #68]
15051 .LVL1148:
4565:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
15052 .loc 1 4565 3 is_stmt 1 view .LVU4980
4565:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
15053 .loc 1 4565 17 is_stmt 0 view .LVU4981
15054 0050 0B23 movs r3, #11
4565:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
15055 .loc 1 4565 6 view .LVU4982
15056 0052 0B42 tst r3, r1
15057 0054 00D1 bne .L932
15058 .LVL1149:
15059 .L921:
4569:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
15060 .loc 1 4569 1 view .LVU4983
15061 @ sp needed
15062 0056 70BD pop {r4, r5, r6, pc}
15063 .LVL1150:
15064 .L932:
4567:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
15065 .loc 1 4567 5 is_stmt 1 view .LVU4984
15066 0058 FFF7FEFF bl I2C_ITError
15067 .LVL1151:
4569:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
15068 .loc 1 4569 1 is_stmt 0 view .LVU4985
15069 005c FBE7 b .L921
15070 .cfi_endproc
15071 .LFE75:
15073 .section .text.I2C_DMAAbort,"ax",%progbits
15074 .align 1
15075 .syntax unified
15076 .code 16
15077 .thumb_func
15079 I2C_DMAAbort:
15080 .LVL1152:
15081 .LFB111:
6704:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Derogation MISRAC2012-Rule-11.5 */
15082 .loc 1 6704 1 is_stmt 1 view -0
15083 .cfi_startproc
15084 @ args = 0, pretend = 0, frame = 0
15085 @ frame_needed = 0, uses_anonymous_args = 0
6704:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Derogation MISRAC2012-Rule-11.5 */
15086 .loc 1 6704 1 is_stmt 0 view .LVU4987
15087 0000 10B5 push {r4, lr}
15088 .cfi_def_cfa_offset 8
15089 .cfi_offset 4, -8
ARM GAS /tmp/ccuRhBPx.s page 476
15090 .cfi_offset 14, -4
6706:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
15091 .loc 1 6706 3 is_stmt 1 view .LVU4988
6706:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
15092 .loc 1 6706 22 is_stmt 0 view .LVU4989
15093 0002 406A ldr r0, [r0, #36]
15094 .LVL1153:
6709:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
15095 .loc 1 6709 3 is_stmt 1 view .LVU4990
6709:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
15096 .loc 1 6709 11 is_stmt 0 view .LVU4991
15097 0004 836B ldr r3, [r0, #56]
6709:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
15098 .loc 1 6709 6 view .LVU4992
15099 0006 002B cmp r3, #0
15100 0008 01D0 beq .L934
6711:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
15101 .loc 1 6711 5 is_stmt 1 view .LVU4993
6711:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
15102 .loc 1 6711 37 is_stmt 0 view .LVU4994
15103 000a 0022 movs r2, #0
15104 000c 5A63 str r2, [r3, #52]
15105 .L934:
6713:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
15106 .loc 1 6713 3 is_stmt 1 view .LVU4995
6713:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
15107 .loc 1 6713 11 is_stmt 0 view .LVU4996
15108 000e C36B ldr r3, [r0, #60]
6713:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
15109 .loc 1 6713 6 view .LVU4997
15110 0010 002B cmp r3, #0
15111 0012 01D0 beq .L935
6715:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
15112 .loc 1 6715 5 is_stmt 1 view .LVU4998
6715:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
15113 .loc 1 6715 37 is_stmt 0 view .LVU4999
15114 0014 0022 movs r2, #0
15115 0016 5A63 str r2, [r3, #52]
15116 .L935:
6718:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
15117 .loc 1 6718 3 is_stmt 1 view .LVU5000
15118 0018 FFF7FEFF bl I2C_TreatErrorCallback
15119 .LVL1154:
6719:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
15120 .loc 1 6719 1 is_stmt 0 view .LVU5001
15121 @ sp needed
15122 001c 10BD pop {r4, pc}
15123 .cfi_endproc
15124 .LFE111:
15126 .section .text.HAL_I2C_GetState,"ax",%progbits
15127 .align 1
15128 .global HAL_I2C_GetState
15129 .syntax unified
15130 .code 16
15131 .thumb_func
15133 HAL_I2C_GetState:
15134 .LVL1155:
ARM GAS /tmp/ccuRhBPx.s page 477
15135 .LFB86:
4760:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Return I2C handle state */
15136 .loc 1 4760 1 is_stmt 1 view -0
15137 .cfi_startproc
15138 @ args = 0, pretend = 0, frame = 0
15139 @ frame_needed = 0, uses_anonymous_args = 0
15140 @ link register save eliminated.
4762:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
15141 .loc 1 4762 3 view .LVU5003
4762:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
15142 .loc 1 4762 14 is_stmt 0 view .LVU5004
15143 0000 4123 movs r3, #65
15144 0002 C05C ldrb r0, [r0, r3]
15145 .LVL1156:
4762:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
15146 .loc 1 4762 14 view .LVU5005
15147 0004 C0B2 uxtb r0, r0
4763:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
15148 .loc 1 4763 1 view .LVU5006
15149 @ sp needed
15150 0006 7047 bx lr
15151 .cfi_endproc
15152 .LFE86:
15154 .section .text.HAL_I2C_GetMode,"ax",%progbits
15155 .align 1
15156 .global HAL_I2C_GetMode
15157 .syntax unified
15158 .code 16
15159 .thumb_func
15161 HAL_I2C_GetMode:
15162 .LVL1157:
15163 .LFB87:
4772:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return hi2c->Mode;
15164 .loc 1 4772 1 is_stmt 1 view -0
15165 .cfi_startproc
15166 @ args = 0, pretend = 0, frame = 0
15167 @ frame_needed = 0, uses_anonymous_args = 0
15168 @ link register save eliminated.
4773:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
15169 .loc 1 4773 3 view .LVU5008
4773:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
15170 .loc 1 4773 14 is_stmt 0 view .LVU5009
15171 0000 4223 movs r3, #66
15172 0002 C05C ldrb r0, [r0, r3]
15173 .LVL1158:
4773:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
15174 .loc 1 4773 14 view .LVU5010
15175 0004 C0B2 uxtb r0, r0
4774:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
15176 .loc 1 4774 1 view .LVU5011
15177 @ sp needed
15178 0006 7047 bx lr
15179 .cfi_endproc
15180 .LFE87:
15182 .section .text.HAL_I2C_GetError,"ax",%progbits
15183 .align 1
15184 .global HAL_I2C_GetError
ARM GAS /tmp/ccuRhBPx.s page 478
15185 .syntax unified
15186 .code 16
15187 .thumb_func
15189 HAL_I2C_GetError:
15190 .LVL1159:
15191 .LFB88:
4783:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return hi2c->ErrorCode;
15192 .loc 1 4783 1 is_stmt 1 view -0
15193 .cfi_startproc
15194 @ args = 0, pretend = 0, frame = 0
15195 @ frame_needed = 0, uses_anonymous_args = 0
15196 @ link register save eliminated.
4784:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
15197 .loc 1 4784 3 view .LVU5013
4784:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
15198 .loc 1 4784 14 is_stmt 0 view .LVU5014
15199 0000 406C ldr r0, [r0, #68]
15200 .LVL1160:
4785:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
15201 .loc 1 4785 1 view .LVU5015
15202 @ sp needed
15203 0002 7047 bx lr
15204 .cfi_endproc
15205 .LFE88:
15207 .text
15208 .Letext0:
15209 .file 2 "/home/chiangni/.config/VSCodium/User/globalStorage/bmd.stm32-for-vscode/@xpack-dev-tools/
15210 .file 3 "/home/chiangni/.config/VSCodium/User/globalStorage/bmd.stm32-for-vscode/@xpack-dev-tools/
15211 .file 4 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f042x6.h"
15212 .file 5 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h"
15213 .file 6 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h"
15214 .file 7 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h"
15215 .file 8 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h"
15216 .file 9 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h"
ARM GAS /tmp/ccuRhBPx.s page 479
DEFINED SYMBOLS
*ABS*:00000000 stm32f0xx_hal_i2c.c
/tmp/ccuRhBPx.s:19 .text.I2C_Flush_TXDR:00000000 $t
/tmp/ccuRhBPx.s:24 .text.I2C_Flush_TXDR:00000000 I2C_Flush_TXDR
/tmp/ccuRhBPx.s:64 .text.I2C_TransferConfig:00000000 $t
/tmp/ccuRhBPx.s:69 .text.I2C_TransferConfig:00000000 I2C_TransferConfig
/tmp/ccuRhBPx.s:127 .text.I2C_TransferConfig:00000030 $d
/tmp/ccuRhBPx.s:132 .text.I2C_Enable_IRQ:00000000 $t
/tmp/ccuRhBPx.s:137 .text.I2C_Enable_IRQ:00000000 I2C_Enable_IRQ
/tmp/ccuRhBPx.s:322 .text.I2C_Enable_IRQ:00000090 $d
/tmp/ccuRhBPx.s:13962 .text.I2C_Master_ISR_DMA:00000000 I2C_Master_ISR_DMA
/tmp/ccuRhBPx.s:13641 .text.I2C_Slave_ISR_DMA:00000000 I2C_Slave_ISR_DMA
/tmp/ccuRhBPx.s:13252 .text.I2C_Mem_ISR_DMA:00000000 I2C_Mem_ISR_DMA
/tmp/ccuRhBPx.s:329 .text.I2C_Disable_IRQ:00000000 $t
/tmp/ccuRhBPx.s:334 .text.I2C_Disable_IRQ:00000000 I2C_Disable_IRQ
/tmp/ccuRhBPx.s:475 .text.I2C_ConvertOtherXferOptions:00000000 $t
/tmp/ccuRhBPx.s:480 .text.I2C_ConvertOtherXferOptions:00000000 I2C_ConvertOtherXferOptions
/tmp/ccuRhBPx.s:525 .text.I2C_IsErrorOccurred:00000000 $t
/tmp/ccuRhBPx.s:530 .text.I2C_IsErrorOccurred:00000000 I2C_IsErrorOccurred
/tmp/ccuRhBPx.s:847 .text.I2C_IsErrorOccurred:00000114 $d
/tmp/ccuRhBPx.s:852 .text.I2C_WaitOnTXISFlagUntilTimeout:00000000 $t
/tmp/ccuRhBPx.s:857 .text.I2C_WaitOnTXISFlagUntilTimeout:00000000 I2C_WaitOnTXISFlagUntilTimeout
/tmp/ccuRhBPx.s:963 .text.I2C_WaitOnFlagUntilTimeout:00000000 $t
/tmp/ccuRhBPx.s:968 .text.I2C_WaitOnFlagUntilTimeout:00000000 I2C_WaitOnFlagUntilTimeout
/tmp/ccuRhBPx.s:1084 .text.I2C_RequestMemoryWrite:00000000 $t
/tmp/ccuRhBPx.s:1089 .text.I2C_RequestMemoryWrite:00000000 I2C_RequestMemoryWrite
/tmp/ccuRhBPx.s:1209 .text.I2C_RequestMemoryWrite:00000074 $d
/tmp/ccuRhBPx.s:1214 .text.I2C_RequestMemoryRead:00000000 $t
/tmp/ccuRhBPx.s:1219 .text.I2C_RequestMemoryRead:00000000 I2C_RequestMemoryRead
/tmp/ccuRhBPx.s:1335 .text.I2C_RequestMemoryRead:00000070 $d
/tmp/ccuRhBPx.s:1340 .text.I2C_WaitOnSTOPFlagUntilTimeout:00000000 $t
/tmp/ccuRhBPx.s:1345 .text.I2C_WaitOnSTOPFlagUntilTimeout:00000000 I2C_WaitOnSTOPFlagUntilTimeout
/tmp/ccuRhBPx.s:1451 .text.I2C_WaitOnRXNEFlagUntilTimeout:00000000 $t
/tmp/ccuRhBPx.s:1456 .text.I2C_WaitOnRXNEFlagUntilTimeout:00000000 I2C_WaitOnRXNEFlagUntilTimeout
/tmp/ccuRhBPx.s:1625 .text.I2C_WaitOnRXNEFlagUntilTimeout:000000a0 $d
/tmp/ccuRhBPx.s:1630 .text.HAL_I2C_MspInit:00000000 $t
/tmp/ccuRhBPx.s:1636 .text.HAL_I2C_MspInit:00000000 HAL_I2C_MspInit
/tmp/ccuRhBPx.s:1652 .text.HAL_I2C_Init:00000000 $t
/tmp/ccuRhBPx.s:1658 .text.HAL_I2C_Init:00000000 HAL_I2C_Init
/tmp/ccuRhBPx.s:1867 .text.HAL_I2C_Init:000000c0 $d
/tmp/ccuRhBPx.s:1874 .text.HAL_I2C_MspDeInit:00000000 $t
/tmp/ccuRhBPx.s:1880 .text.HAL_I2C_MspDeInit:00000000 HAL_I2C_MspDeInit
/tmp/ccuRhBPx.s:1896 .text.HAL_I2C_DeInit:00000000 $t
/tmp/ccuRhBPx.s:1902 .text.HAL_I2C_DeInit:00000000 HAL_I2C_DeInit
/tmp/ccuRhBPx.s:1974 .text.HAL_I2C_Master_Transmit:00000000 $t
/tmp/ccuRhBPx.s:1980 .text.HAL_I2C_Master_Transmit:00000000 HAL_I2C_Master_Transmit
/tmp/ccuRhBPx.s:2304 .text.HAL_I2C_Master_Transmit:0000016c $d
/tmp/ccuRhBPx.s:2310 .text.HAL_I2C_Master_Receive:00000000 $t
/tmp/ccuRhBPx.s:2316 .text.HAL_I2C_Master_Receive:00000000 HAL_I2C_Master_Receive
/tmp/ccuRhBPx.s:2640 .text.HAL_I2C_Master_Receive:0000016c $d
/tmp/ccuRhBPx.s:2646 .text.HAL_I2C_Slave_Transmit:00000000 $t
/tmp/ccuRhBPx.s:2652 .text.HAL_I2C_Slave_Transmit:00000000 HAL_I2C_Slave_Transmit
/tmp/ccuRhBPx.s:3104 .text.HAL_I2C_Slave_Transmit:000001e4 $d
/tmp/ccuRhBPx.s:3109 .text.HAL_I2C_Slave_Receive:00000000 $t
/tmp/ccuRhBPx.s:3115 .text.HAL_I2C_Slave_Receive:00000000 HAL_I2C_Slave_Receive
/tmp/ccuRhBPx.s:3501 .text.HAL_I2C_Slave_Receive:0000018c $d
/tmp/ccuRhBPx.s:3506 .text.HAL_I2C_Master_Transmit_IT:00000000 $t
ARM GAS /tmp/ccuRhBPx.s page 480
/tmp/ccuRhBPx.s:3512 .text.HAL_I2C_Master_Transmit_IT:00000000 HAL_I2C_Master_Transmit_IT
/tmp/ccuRhBPx.s:3669 .text.HAL_I2C_Master_Transmit_IT:00000088 $d
/tmp/ccuRhBPx.s:12860 .text.I2C_Master_ISR_IT:00000000 I2C_Master_ISR_IT
/tmp/ccuRhBPx.s:3676 .text.HAL_I2C_Master_Receive_IT:00000000 $t
/tmp/ccuRhBPx.s:3682 .text.HAL_I2C_Master_Receive_IT:00000000 HAL_I2C_Master_Receive_IT
/tmp/ccuRhBPx.s:3839 .text.HAL_I2C_Master_Receive_IT:00000088 $d
/tmp/ccuRhBPx.s:3846 .text.HAL_I2C_Slave_Transmit_IT:00000000 $t
/tmp/ccuRhBPx.s:3852 .text.HAL_I2C_Slave_Transmit_IT:00000000 HAL_I2C_Slave_Transmit_IT
/tmp/ccuRhBPx.s:4001 .text.HAL_I2C_Slave_Transmit_IT:00000080 $d
/tmp/ccuRhBPx.s:12240 .text.I2C_Slave_ISR_IT:00000000 I2C_Slave_ISR_IT
/tmp/ccuRhBPx.s:4009 .text.HAL_I2C_Slave_Receive_IT:00000000 $t
/tmp/ccuRhBPx.s:4015 .text.HAL_I2C_Slave_Receive_IT:00000000 HAL_I2C_Slave_Receive_IT
/tmp/ccuRhBPx.s:4125 .text.HAL_I2C_Slave_Receive_IT:00000058 $d
/tmp/ccuRhBPx.s:4133 .text.HAL_I2C_Master_Transmit_DMA:00000000 $t
/tmp/ccuRhBPx.s:4139 .text.HAL_I2C_Master_Transmit_DMA:00000000 HAL_I2C_Master_Transmit_DMA
/tmp/ccuRhBPx.s:4479 .text.HAL_I2C_Master_Transmit_DMA:0000013c $d
/tmp/ccuRhBPx.s:14333 .text.I2C_DMAMasterTransmitCplt:00000000 I2C_DMAMasterTransmitCplt
/tmp/ccuRhBPx.s:14291 .text.I2C_DMAError:00000000 I2C_DMAError
/tmp/ccuRhBPx.s:4489 .text.HAL_I2C_Master_Receive_DMA:00000000 $t
/tmp/ccuRhBPx.s:4495 .text.HAL_I2C_Master_Receive_DMA:00000000 HAL_I2C_Master_Receive_DMA
/tmp/ccuRhBPx.s:4832 .text.HAL_I2C_Master_Receive_DMA:00000138 $d
/tmp/ccuRhBPx.s:14452 .text.I2C_DMAMasterReceiveCplt:00000000 I2C_DMAMasterReceiveCplt
/tmp/ccuRhBPx.s:4842 .text.HAL_I2C_Slave_Transmit_DMA:00000000 $t
/tmp/ccuRhBPx.s:4848 .text.HAL_I2C_Slave_Transmit_DMA:00000000 HAL_I2C_Slave_Transmit_DMA
/tmp/ccuRhBPx.s:5174 .text.HAL_I2C_Slave_Transmit_DMA:00000130 $d
/tmp/ccuRhBPx.s:10947 .text.I2C_DMASlaveTransmitCplt:00000000 I2C_DMASlaveTransmitCplt
/tmp/ccuRhBPx.s:5183 .text.HAL_I2C_Slave_Receive_DMA:00000000 $t
/tmp/ccuRhBPx.s:5189 .text.HAL_I2C_Slave_Receive_DMA:00000000 HAL_I2C_Slave_Receive_DMA
/tmp/ccuRhBPx.s:5440 .text.HAL_I2C_Slave_Receive_DMA:000000e4 $d
/tmp/ccuRhBPx.s:11007 .text.I2C_DMASlaveReceiveCplt:00000000 I2C_DMASlaveReceiveCplt
/tmp/ccuRhBPx.s:5449 .text.HAL_I2C_Mem_Write:00000000 $t
/tmp/ccuRhBPx.s:5455 .text.HAL_I2C_Mem_Write:00000000 HAL_I2C_Mem_Write
/tmp/ccuRhBPx.s:5829 .text.HAL_I2C_Mem_Write:0000019c $d
/tmp/ccuRhBPx.s:5834 .text.HAL_I2C_Mem_Read:00000000 $t
/tmp/ccuRhBPx.s:5840 .text.HAL_I2C_Mem_Read:00000000 HAL_I2C_Mem_Read
/tmp/ccuRhBPx.s:6216 .text.HAL_I2C_Mem_Read:000001a0 $d
/tmp/ccuRhBPx.s:6222 .text.HAL_I2C_Mem_Write_IT:00000000 $t
/tmp/ccuRhBPx.s:6228 .text.HAL_I2C_Mem_Write_IT:00000000 HAL_I2C_Mem_Write_IT
/tmp/ccuRhBPx.s:6433 .text.HAL_I2C_Mem_Write_IT:000000c4 $d
/tmp/ccuRhBPx.s:14571 .text.I2C_Mem_ISR_IT:00000000 I2C_Mem_ISR_IT
/tmp/ccuRhBPx.s:6440 .text.HAL_I2C_Mem_Read_IT:00000000 $t
/tmp/ccuRhBPx.s:6446 .text.HAL_I2C_Mem_Read_IT:00000000 HAL_I2C_Mem_Read_IT
/tmp/ccuRhBPx.s:6650 .text.HAL_I2C_Mem_Read_IT:000000c4 $d
/tmp/ccuRhBPx.s:6657 .text.HAL_I2C_Mem_Write_DMA:00000000 $t
/tmp/ccuRhBPx.s:6663 .text.HAL_I2C_Mem_Write_DMA:00000000 HAL_I2C_Mem_Write_DMA
/tmp/ccuRhBPx.s:6995 .text.HAL_I2C_Mem_Write_DMA:00000144 $d
/tmp/ccuRhBPx.s:7004 .text.HAL_I2C_Mem_Read_DMA:00000000 $t
/tmp/ccuRhBPx.s:7010 .text.HAL_I2C_Mem_Read_DMA:00000000 HAL_I2C_Mem_Read_DMA
/tmp/ccuRhBPx.s:7342 .text.HAL_I2C_Mem_Read_DMA:00000144 $d
/tmp/ccuRhBPx.s:7351 .text.HAL_I2C_IsDeviceReady:00000000 $t
/tmp/ccuRhBPx.s:7357 .text.HAL_I2C_IsDeviceReady:00000000 HAL_I2C_IsDeviceReady
/tmp/ccuRhBPx.s:7733 .text.HAL_I2C_IsDeviceReady:00000184 $d
/tmp/ccuRhBPx.s:7739 .text.HAL_I2C_Master_Seq_Transmit_IT:00000000 $t
/tmp/ccuRhBPx.s:7745 .text.HAL_I2C_Master_Seq_Transmit_IT:00000000 HAL_I2C_Master_Seq_Transmit_IT
/tmp/ccuRhBPx.s:7951 .text.HAL_I2C_Master_Seq_Transmit_IT:000000b0 $d
/tmp/ccuRhBPx.s:7957 .text.HAL_I2C_Master_Seq_Transmit_DMA:00000000 $t
/tmp/ccuRhBPx.s:7963 .text.HAL_I2C_Master_Seq_Transmit_DMA:00000000 HAL_I2C_Master_Seq_Transmit_DMA
ARM GAS /tmp/ccuRhBPx.s page 481
/tmp/ccuRhBPx.s:8328 .text.HAL_I2C_Master_Seq_Transmit_DMA:0000015c $d
/tmp/ccuRhBPx.s:8337 .text.HAL_I2C_Master_Seq_Receive_IT:00000000 $t
/tmp/ccuRhBPx.s:8343 .text.HAL_I2C_Master_Seq_Receive_IT:00000000 HAL_I2C_Master_Seq_Receive_IT
/tmp/ccuRhBPx.s:8549 .text.HAL_I2C_Master_Seq_Receive_IT:000000b0 $d
/tmp/ccuRhBPx.s:8555 .text.HAL_I2C_Master_Seq_Receive_DMA:00000000 $t
/tmp/ccuRhBPx.s:8561 .text.HAL_I2C_Master_Seq_Receive_DMA:00000000 HAL_I2C_Master_Seq_Receive_DMA
/tmp/ccuRhBPx.s:8926 .text.HAL_I2C_Master_Seq_Receive_DMA:0000015c $d
/tmp/ccuRhBPx.s:8935 .text.HAL_I2C_Slave_Seq_Transmit_IT:00000000 $t
/tmp/ccuRhBPx.s:8941 .text.HAL_I2C_Slave_Seq_Transmit_IT:00000000 HAL_I2C_Slave_Seq_Transmit_IT
/tmp/ccuRhBPx.s:9171 .text.HAL_I2C_Slave_Seq_Transmit_IT:000000d0 $d
/tmp/ccuRhBPx.s:15079 .text.I2C_DMAAbort:00000000 I2C_DMAAbort
/tmp/ccuRhBPx.s:9179 .text.HAL_I2C_Slave_Seq_Transmit_DMA:00000000 $t
/tmp/ccuRhBPx.s:9185 .text.HAL_I2C_Slave_Seq_Transmit_DMA:00000000 HAL_I2C_Slave_Seq_Transmit_DMA
/tmp/ccuRhBPx.s:9603 .text.HAL_I2C_Slave_Seq_Transmit_DMA:00000190 $d
/tmp/ccuRhBPx.s:9614 .text.HAL_I2C_Slave_Seq_Receive_IT:00000000 $t
/tmp/ccuRhBPx.s:9620 .text.HAL_I2C_Slave_Seq_Receive_IT:00000000 HAL_I2C_Slave_Seq_Receive_IT
/tmp/ccuRhBPx.s:9850 .text.HAL_I2C_Slave_Seq_Receive_IT:000000d0 $d
/tmp/ccuRhBPx.s:9859 .text.HAL_I2C_Slave_Seq_Receive_DMA:00000000 $t
/tmp/ccuRhBPx.s:9865 .text.HAL_I2C_Slave_Seq_Receive_DMA:00000000 HAL_I2C_Slave_Seq_Receive_DMA
/tmp/ccuRhBPx.s:10278 .text.HAL_I2C_Slave_Seq_Receive_DMA:0000018c $d
/tmp/ccuRhBPx.s:10289 .text.HAL_I2C_EnableListen_IT:00000000 $t
/tmp/ccuRhBPx.s:10295 .text.HAL_I2C_EnableListen_IT:00000000 HAL_I2C_EnableListen_IT
/tmp/ccuRhBPx.s:10344 .text.HAL_I2C_EnableListen_IT:00000024 $d
/tmp/ccuRhBPx.s:10349 .text.HAL_I2C_DisableListen_IT:00000000 $t
/tmp/ccuRhBPx.s:10355 .text.HAL_I2C_DisableListen_IT:00000000 HAL_I2C_DisableListen_IT
/tmp/ccuRhBPx.s:10427 .text.HAL_I2C_Master_Abort_IT:00000000 $t
/tmp/ccuRhBPx.s:10433 .text.HAL_I2C_Master_Abort_IT:00000000 HAL_I2C_Master_Abort_IT
/tmp/ccuRhBPx.s:10564 .text.HAL_I2C_Master_Abort_IT:0000007c $d
/tmp/ccuRhBPx.s:10569 .text.HAL_I2C_EV_IRQHandler:00000000 $t
/tmp/ccuRhBPx.s:10575 .text.HAL_I2C_EV_IRQHandler:00000000 HAL_I2C_EV_IRQHandler
/tmp/ccuRhBPx.s:10614 .text.HAL_I2C_MasterTxCpltCallback:00000000 $t
/tmp/ccuRhBPx.s:10620 .text.HAL_I2C_MasterTxCpltCallback:00000000 HAL_I2C_MasterTxCpltCallback
/tmp/ccuRhBPx.s:10636 .text.HAL_I2C_MasterRxCpltCallback:00000000 $t
/tmp/ccuRhBPx.s:10642 .text.HAL_I2C_MasterRxCpltCallback:00000000 HAL_I2C_MasterRxCpltCallback
/tmp/ccuRhBPx.s:10658 .text.I2C_ITMasterSeqCplt:00000000 $t
/tmp/ccuRhBPx.s:10663 .text.I2C_ITMasterSeqCplt:00000000 I2C_ITMasterSeqCplt
/tmp/ccuRhBPx.s:10755 .text.HAL_I2C_SlaveTxCpltCallback:00000000 $t
/tmp/ccuRhBPx.s:10761 .text.HAL_I2C_SlaveTxCpltCallback:00000000 HAL_I2C_SlaveTxCpltCallback
/tmp/ccuRhBPx.s:10777 .text.HAL_I2C_SlaveRxCpltCallback:00000000 $t
/tmp/ccuRhBPx.s:10783 .text.HAL_I2C_SlaveRxCpltCallback:00000000 HAL_I2C_SlaveRxCpltCallback
/tmp/ccuRhBPx.s:10799 .text.I2C_ITSlaveSeqCplt:00000000 $t
/tmp/ccuRhBPx.s:10804 .text.I2C_ITSlaveSeqCplt:00000000 I2C_ITSlaveSeqCplt
/tmp/ccuRhBPx.s:10936 .text.I2C_ITSlaveSeqCplt:0000007c $d
/tmp/ccuRhBPx.s:10942 .text.I2C_DMASlaveTransmitCplt:00000000 $t
/tmp/ccuRhBPx.s:10997 .text.I2C_DMASlaveTransmitCplt:00000024 $d
/tmp/ccuRhBPx.s:11002 .text.I2C_DMASlaveReceiveCplt:00000000 $t
/tmp/ccuRhBPx.s:11065 .text.I2C_DMASlaveReceiveCplt:00000028 $d
/tmp/ccuRhBPx.s:11071 .text.HAL_I2C_AddrCallback:00000000 $t
/tmp/ccuRhBPx.s:11077 .text.HAL_I2C_AddrCallback:00000000 HAL_I2C_AddrCallback
/tmp/ccuRhBPx.s:11095 .text.I2C_ITAddrCplt:00000000 $t
/tmp/ccuRhBPx.s:11100 .text.I2C_ITAddrCplt:00000000 I2C_ITAddrCplt
/tmp/ccuRhBPx.s:11279 .text.HAL_I2C_ListenCpltCallback:00000000 $t
/tmp/ccuRhBPx.s:11285 .text.HAL_I2C_ListenCpltCallback:00000000 HAL_I2C_ListenCpltCallback
/tmp/ccuRhBPx.s:11301 .text.I2C_ITListenCplt:00000000 $t
/tmp/ccuRhBPx.s:11306 .text.I2C_ITListenCplt:00000000 I2C_ITListenCplt
/tmp/ccuRhBPx.s:11413 .text.I2C_ITListenCplt:00000060 $d
/tmp/ccuRhBPx.s:11419 .text.HAL_I2C_MemTxCpltCallback:00000000 $t
ARM GAS /tmp/ccuRhBPx.s page 482
/tmp/ccuRhBPx.s:11425 .text.HAL_I2C_MemTxCpltCallback:00000000 HAL_I2C_MemTxCpltCallback
/tmp/ccuRhBPx.s:11441 .text.HAL_I2C_MemRxCpltCallback:00000000 $t
/tmp/ccuRhBPx.s:11447 .text.HAL_I2C_MemRxCpltCallback:00000000 HAL_I2C_MemRxCpltCallback
/tmp/ccuRhBPx.s:11463 .text.HAL_I2C_ErrorCallback:00000000 $t
/tmp/ccuRhBPx.s:11469 .text.HAL_I2C_ErrorCallback:00000000 HAL_I2C_ErrorCallback
/tmp/ccuRhBPx.s:11485 .text.HAL_I2C_AbortCpltCallback:00000000 $t
/tmp/ccuRhBPx.s:11491 .text.HAL_I2C_AbortCpltCallback:00000000 HAL_I2C_AbortCpltCallback
/tmp/ccuRhBPx.s:11507 .text.I2C_TreatErrorCallback:00000000 $t
/tmp/ccuRhBPx.s:11512 .text.I2C_TreatErrorCallback:00000000 I2C_TreatErrorCallback
/tmp/ccuRhBPx.s:11572 .text.I2C_ITError:00000000 $t
/tmp/ccuRhBPx.s:11577 .text.I2C_ITError:00000000 I2C_ITError
/tmp/ccuRhBPx.s:11869 .text.I2C_ITError:0000011c $d
/tmp/ccuRhBPx.s:11879 .text.I2C_ITSlaveCplt:00000000 $t
/tmp/ccuRhBPx.s:11884 .text.I2C_ITSlaveCplt:00000000 I2C_ITSlaveCplt
/tmp/ccuRhBPx.s:12225 .text.I2C_ITSlaveCplt:00000150 $d
/tmp/ccuRhBPx.s:12235 .text.I2C_Slave_ISR_IT:00000000 $t
/tmp/ccuRhBPx.s:12561 .text.I2C_Slave_ISR_IT:00000148 $d
/tmp/ccuRhBPx.s:12566 .text.I2C_ITMasterCplt:00000000 $t
/tmp/ccuRhBPx.s:12571 .text.I2C_ITMasterCplt:00000000 I2C_ITMasterCplt
/tmp/ccuRhBPx.s:12849 .text.I2C_ITMasterCplt:00000110 $d
/tmp/ccuRhBPx.s:12855 .text.I2C_Master_ISR_IT:00000000 $t
/tmp/ccuRhBPx.s:13242 .text.I2C_Master_ISR_IT:00000174 $d
/tmp/ccuRhBPx.s:13247 .text.I2C_Mem_ISR_DMA:00000000 $t
/tmp/ccuRhBPx.s:13630 .text.I2C_Mem_ISR_DMA:00000184 $d
/tmp/ccuRhBPx.s:13636 .text.I2C_Slave_ISR_DMA:00000000 $t
/tmp/ccuRhBPx.s:13952 .text.I2C_Slave_ISR_DMA:0000012c $d
/tmp/ccuRhBPx.s:13957 .text.I2C_Master_ISR_DMA:00000000 $t
/tmp/ccuRhBPx.s:14281 .text.I2C_Master_ISR_DMA:00000138 $d
/tmp/ccuRhBPx.s:14286 .text.I2C_DMAError:00000000 $t
/tmp/ccuRhBPx.s:14328 .text.I2C_DMAMasterTransmitCplt:00000000 $t
/tmp/ccuRhBPx.s:14442 .text.I2C_DMAMasterTransmitCplt:00000060 $d
/tmp/ccuRhBPx.s:14447 .text.I2C_DMAMasterReceiveCplt:00000000 $t
/tmp/ccuRhBPx.s:14561 .text.I2C_DMAMasterReceiveCplt:00000060 $d
/tmp/ccuRhBPx.s:14566 .text.I2C_Mem_ISR_IT:00000000 $t
/tmp/ccuRhBPx.s:14950 .text.I2C_Mem_ISR_IT:00000170 $d
/tmp/ccuRhBPx.s:14956 .text.HAL_I2C_ER_IRQHandler:00000000 $t
/tmp/ccuRhBPx.s:14962 .text.HAL_I2C_ER_IRQHandler:00000000 HAL_I2C_ER_IRQHandler
/tmp/ccuRhBPx.s:15074 .text.I2C_DMAAbort:00000000 $t
/tmp/ccuRhBPx.s:15127 .text.HAL_I2C_GetState:00000000 $t
/tmp/ccuRhBPx.s:15133 .text.HAL_I2C_GetState:00000000 HAL_I2C_GetState
/tmp/ccuRhBPx.s:15155 .text.HAL_I2C_GetMode:00000000 $t
/tmp/ccuRhBPx.s:15161 .text.HAL_I2C_GetMode:00000000 HAL_I2C_GetMode
/tmp/ccuRhBPx.s:15183 .text.HAL_I2C_GetError:00000000 $t
/tmp/ccuRhBPx.s:15189 .text.HAL_I2C_GetError:00000000 HAL_I2C_GetError
UNDEFINED SYMBOLS
HAL_GetTick
HAL_DMA_Start_IT
HAL_DMA_Abort_IT
HAL_DMA_GetState