mv-bms/build/stm32f3xx_hal_i2c.lst
2024-05-09 23:38:13 +03:00

27415 lines
1.6 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/ccNVyn8W.s page 1
1 .cpu cortex-m4
2 .arch armv7e-m
3 .fpu fpv4-sp-d16
4 .eabi_attribute 27, 1
5 .eabi_attribute 28, 1
6 .eabi_attribute 20, 1
7 .eabi_attribute 21, 1
8 .eabi_attribute 23, 3
9 .eabi_attribute 24, 1
10 .eabi_attribute 25, 1
11 .eabi_attribute 26, 1
12 .eabi_attribute 30, 1
13 .eabi_attribute 34, 1
14 .eabi_attribute 18, 4
15 .file "stm32f3xx_hal_i2c.c"
16 .text
17 .Ltext0:
18 .cfi_sections .debug_frame
19 .file 1 "Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c"
20 .section .text.I2C_Flush_TXDR,"ax",%progbits
21 .align 1
22 .syntax unified
23 .thumb
24 .thumb_func
26 I2C_Flush_TXDR:
27 .LVL0:
28 .LFB195:
1:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
2:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ******************************************************************************
3:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @file stm32f3xx_hal_i2c.c
4:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @author MCD Application Team
5:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief I2C HAL module driver.
6:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * This file provides firmware functions to manage the following
7:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * functionalities of the Inter Integrated Circuit (I2C) peripheral:
8:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * + Initialization and de-initialization functions
9:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * + IO operation functions
10:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * + Peripheral State and Errors functions
11:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** *
12:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ******************************************************************************
13:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @attention
14:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** *
15:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * Copyright (c) 2016 STMicroelectronics.
16:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * All rights reserved.
17:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** *
18:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * This software is licensed under terms that can be found in the LICENSE file
19:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * in the root directory of this software component.
20:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * If no LICENSE file comes with this software, it is provided AS-IS.
21:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** *
22:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ******************************************************************************
23:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** @verbatim
24:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ==============================================================================
25:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ##### How to use this driver #####
26:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ==============================================================================
27:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** [..]
28:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** The I2C HAL driver can be used as follows:
29:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
30:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (#) Declare a I2C_HandleTypeDef handle structure, for example:
ARM GAS /tmp/ccNVyn8W.s page 2
31:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_HandleTypeDef hi2c;
32:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
33:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (#)Initialize the I2C low level resources by implementing the HAL_I2C_MspInit() API:
34:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (##) Enable the I2Cx interface clock
35:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (##) I2C pins configuration
36:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+++) Enable the clock for the I2C GPIOs
37:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+++) Configure I2C pins as alternate function open-drain
38:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (##) NVIC configuration if you need to use interrupt process
39:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+++) Configure the I2Cx interrupt priority
40:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+++) Enable the NVIC I2C IRQ Channel
41:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (##) DMA Configuration if you need to use DMA process
42:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+++) Declare a DMA_HandleTypeDef handle structure for
43:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** the transmit or receive channel
44:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+++) Enable the DMAx interface clock using
45:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+++) Configure the DMA handle parameters
46:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+++) Configure the DMA Tx or Rx channel
47:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+++) Associate the initialized DMA handle to the hi2c DMA Tx or Rx handle
48:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+++) Configure the priority and enable the NVIC for the transfer complete interrupt on
49:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** the DMA Tx or Rx channel
50:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
51:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (#) Configure the Communication Clock Timing, Own Address1, Master Addressing mode, Dual Addres
52:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** Own Address2, Own Address2 Mask, General call and Nostretch mode in the hi2c Init structure
53:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
54:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (#) Initialize the I2C registers by calling the HAL_I2C_Init(), configures also the low level H
55:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (GPIO, CLOCK, NVIC...etc) by calling the customized HAL_I2C_MspInit(&hi2c) API.
56:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
57:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (#) To check if target device is ready for communication, use the function HAL_I2C_IsDeviceRead
58:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
59:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (#) For I2C IO and IO MEM operations, three operation modes are available within this driver :
60:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
61:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** *** Polling mode IO operation ***
62:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** =================================
63:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** [..]
64:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) Transmit in master mode an amount of data in blocking mode using HAL_I2C_Master_Transmit(
65:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) Receive in master mode an amount of data in blocking mode using HAL_I2C_Master_Receive()
66:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) Transmit in slave mode an amount of data in blocking mode using HAL_I2C_Slave_Transmit()
67:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) Receive in slave mode an amount of data in blocking mode using HAL_I2C_Slave_Receive()
68:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
69:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** *** Polling mode IO MEM operation ***
70:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** =====================================
71:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** [..]
72:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) Write an amount of data in blocking mode to a specific memory address using HAL_I2C_Mem_W
73:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) Read an amount of data in blocking mode from a specific memory address using HAL_I2C_Mem_
74:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
75:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
76:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** *** Interrupt mode IO operation ***
77:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ===================================
78:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** [..]
79:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) Transmit in master mode an amount of data in non-blocking mode using HAL_I2C_Master_Trans
80:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) At transmission end of transfer, HAL_I2C_MasterTxCpltCallback() is executed and users can
81:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_MasterTxCpltCallback()
82:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) Receive in master mode an amount of data in non-blocking mode using HAL_I2C_Master_Receiv
83:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) At reception end of transfer, HAL_I2C_MasterRxCpltCallback() is executed and users can
84:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_MasterRxCpltCallback()
85:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) Transmit in slave mode an amount of data in non-blocking mode using HAL_I2C_Slave_Transmi
86:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) At transmission end of transfer, HAL_I2C_SlaveTxCpltCallback() is executed and users can
87:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_SlaveTxCpltCallback()
ARM GAS /tmp/ccNVyn8W.s page 3
88:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) Receive in slave mode an amount of data in non-blocking mode using HAL_I2C_Slave_Receive_
89:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) At reception end of transfer, HAL_I2C_SlaveRxCpltCallback() is executed and users can
90:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_SlaveRxCpltCallback()
91:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) In case of transfer Error, HAL_I2C_ErrorCallback() function is executed and users can
92:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_ErrorCallback()
93:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) Abort a master I2C process communication with Interrupt using HAL_I2C_Master_Abort_IT()
94:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) End of abort process, HAL_I2C_AbortCpltCallback() is executed and users can
95:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_AbortCpltCallback()
96:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) Discard a slave I2C process communication using __HAL_I2C_GENERATE_NACK() macro.
97:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** This action will inform Master to generate a Stop condition to discard the communication
98:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
99:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** *** Interrupt mode or DMA mode IO sequential operation ***
101:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ==========================================================
102:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** [..]
103:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (@) These interfaces allow to manage a sequential transfer with a repeated start condition
104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** when a direction change during transfer
105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** [..]
106:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) A specific option field manage the different steps of a sequential transfer
107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) Option field values are defined through I2C_XFEROPTIONS and are listed below:
108:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) I2C_FIRST_AND_LAST_FRAME: No sequential usage, functional is same as associated interfac
109:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** no sequential mode
110:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) I2C_FIRST_FRAME: Sequential usage, this option allow to manage a sequence with start con
111:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** and data to transfer without a final stop condition
112:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) I2C_FIRST_AND_NEXT_FRAME: Sequential usage (Master only), this option allow to manage a
113:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** start condition, address and data to transfer without a final stop cond
114:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** an then permit a call the same master sequential interface several time
115:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (like HAL_I2C_Master_Seq_Transmit_IT() then HAL_I2C_Master_Seq_Transmit
116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** or HAL_I2C_Master_Seq_Transmit_DMA() then HAL_I2C_Master_Seq_Transmit_D
117:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) I2C_NEXT_FRAME: Sequential usage, this option allow to manage a sequence with a restart
118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** and with new data to transfer if the direction change or manage only th
119:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** transfer
120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if no direction change and without a final stop condition in both cases
121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) I2C_LAST_FRAME: Sequential usage, this option allow to manage a sequance with a restart
122:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** and with new data to transfer if the direction change or manage only th
123:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** transfer
124:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if no direction change and with a final stop condition in both cases
125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) I2C_LAST_FRAME_NO_STOP: Sequential usage (Master only), this option allow to manage a re
126:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** after several call of the same master sequential interface several time
127:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (link with option I2C_FIRST_AND_NEXT_FRAME).
128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** Usage can, transfer several bytes one by one using
129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_Master_Seq_Transmit_IT
130:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** or HAL_I2C_Master_Seq_Receive_IT
131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** or HAL_I2C_Master_Seq_Transmit_DMA
132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** or HAL_I2C_Master_Seq_Receive_DMA
133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** with option I2C_FIRST_AND_NEXT_FRAME then I2C_NEXT_FRAME.
134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** Then usage of this option I2C_LAST_FRAME_NO_STOP at the last Transmit
135:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** Receive sequence permit to call the opposite interface Receive or Tra
136:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** without stopping the communication and so generate a restart conditio
137:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) I2C_OTHER_FRAME: Sequential usage (Master only), this option allow to manage a restart c
138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** each call of the same master sequential
139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** interface.
140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** Usage can, transfer several bytes one by one with a restart with slave
141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** each bytes using
142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_Master_Seq_Transmit_IT
143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** or HAL_I2C_Master_Seq_Receive_IT
144:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** or HAL_I2C_Master_Seq_Transmit_DMA
ARM GAS /tmp/ccNVyn8W.s page 4
145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** or HAL_I2C_Master_Seq_Receive_DMA
146:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** with option I2C_FIRST_FRAME then I2C_OTHER_FRAME.
147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** Then usage of this option I2C_OTHER_AND_LAST_FRAME at the last frame to
148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** generation of STOP condition.
149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
150:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) Different sequential I2C interfaces are listed below:
151:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) Sequential transmit in master I2C mode an amount of data in non-blocking mode using
152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_Master_Seq_Transmit_IT() or using HAL_I2C_Master_Seq_Transmit_DMA()
153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+++) At transmission end of current frame transfer, HAL_I2C_MasterTxCpltCallback() is execut
154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** users can add their own code by customization of function pointer HAL_I2C_MasterTxCpltC
155:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) Sequential receive in master I2C mode an amount of data in non-blocking mode using
156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_Master_Seq_Receive_IT() or using HAL_I2C_Master_Seq_Receive_DMA()
157:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+++) At reception end of current frame transfer, HAL_I2C_MasterRxCpltCallback() is executed
158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_MasterRxCpltCallback()
159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) Abort a master IT or DMA I2C process communication with Interrupt using HAL_I2C_Master_A
160:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+++) End of abort process, HAL_I2C_AbortCpltCallback() is executed and users can
161:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_AbortCpltCallback()
162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) Enable/disable the Address listen mode in slave I2C mode using HAL_I2C_EnableListen_IT()
163:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_DisableListen_IT()
164:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+++) When address slave I2C match, HAL_I2C_AddrCallback() is executed and users can
165:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** add their own code to check the Address Match Code and the transmission direction reques
166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (Write/Read).
167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+++) At Listen mode end HAL_I2C_ListenCpltCallback() is executed and users can
168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_ListenCpltCallback()
169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) Sequential transmit in slave I2C mode an amount of data in non-blocking mode using
170:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_Slave_Seq_Transmit_IT() or using HAL_I2C_Slave_Seq_Transmit_DMA()
171:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+++) At transmission end of current frame transfer, HAL_I2C_SlaveTxCpltCallback() is execute
172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** users can add their own code by customization of function pointer HAL_I2C_SlaveTxCpltCa
173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) Sequential receive in slave I2C mode an amount of data in non-blocking mode using
174:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_Slave_Seq_Receive_IT() or using HAL_I2C_Slave_Seq_Receive_DMA()
175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+++) At reception end of current frame transfer, HAL_I2C_SlaveRxCpltCallback() is executed a
176:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_SlaveRxCpltCallback()
177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) In case of transfer Error, HAL_I2C_ErrorCallback() function is executed and users can
178:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_ErrorCallback()
179:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) Discard a slave I2C process communication using __HAL_I2C_GENERATE_NACK() macro.
180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** This action will inform Master to generate a Stop condition to discard the communication
181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** *** Interrupt mode IO MEM operation ***
183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** =======================================
184:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** [..]
185:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) Write an amount of data in non-blocking mode with Interrupt to a specific memory address
186:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_Mem_Write_IT()
187:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) At Memory end of write transfer, HAL_I2C_MemTxCpltCallback() is executed and users can
188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_MemTxCpltCallback()
189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) Read an amount of data in non-blocking mode with Interrupt from a specific memory address
190:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_Mem_Read_IT()
191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) At Memory end of read transfer, HAL_I2C_MemRxCpltCallback() is executed and users can
192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_MemRxCpltCallback()
193:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) In case of transfer Error, HAL_I2C_ErrorCallback() function is executed and users can
194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_ErrorCallback()
195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
196:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** *** DMA mode IO operation ***
197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ==============================
198:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** [..]
199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) Transmit in master mode an amount of data in non-blocking mode (DMA) using
200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_Master_Transmit_DMA()
201:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) At transmission end of transfer, HAL_I2C_MasterTxCpltCallback() is executed and users can
ARM GAS /tmp/ccNVyn8W.s page 5
202:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_MasterTxCpltCallback()
203:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) Receive in master mode an amount of data in non-blocking mode (DMA) using
204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_Master_Receive_DMA()
205:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) At reception end of transfer, HAL_I2C_MasterRxCpltCallback() is executed and users can
206:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_MasterRxCpltCallback()
207:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) Transmit in slave mode an amount of data in non-blocking mode (DMA) using
208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_Slave_Transmit_DMA()
209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) At transmission end of transfer, HAL_I2C_SlaveTxCpltCallback() is executed and users can
210:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_SlaveTxCpltCallback()
211:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) Receive in slave mode an amount of data in non-blocking mode (DMA) using
212:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_Slave_Receive_DMA()
213:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) At reception end of transfer, HAL_I2C_SlaveRxCpltCallback() is executed and users can
214:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_SlaveRxCpltCallback()
215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) In case of transfer Error, HAL_I2C_ErrorCallback() function is executed and users can
216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_ErrorCallback()
217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) Abort a master I2C process communication with Interrupt using HAL_I2C_Master_Abort_IT()
218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) End of abort process, HAL_I2C_AbortCpltCallback() is executed and users can
219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_AbortCpltCallback()
220:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) Discard a slave I2C process communication using __HAL_I2C_GENERATE_NACK() macro.
221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** This action will inform Master to generate a Stop condition to discard the communication
222:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
223:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** *** DMA mode IO MEM operation ***
224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** =================================
225:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** [..]
226:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) Write an amount of data in non-blocking mode with DMA to a specific memory address using
227:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_Mem_Write_DMA()
228:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) At Memory end of write transfer, HAL_I2C_MemTxCpltCallback() is executed and users can
229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_MemTxCpltCallback()
230:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) Read an amount of data in non-blocking mode with DMA from a specific memory address using
231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_Mem_Read_DMA()
232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) At Memory end of read transfer, HAL_I2C_MemRxCpltCallback() is executed and users can
233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_MemRxCpltCallback()
234:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) In case of transfer Error, HAL_I2C_ErrorCallback() function is executed and users can
235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_ErrorCallback()
236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
237:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** *** I2C HAL driver macros list ***
239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ==================================
240:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** [..]
241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** Below the list of most used macros in I2C HAL driver.
242:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
243:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) __HAL_I2C_ENABLE: Enable the I2C peripheral
244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) __HAL_I2C_DISABLE: Disable the I2C peripheral
245:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) __HAL_I2C_GENERATE_NACK: Generate a Non-Acknowledge I2C peripheral in Slave mode
246:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) __HAL_I2C_GET_FLAG: Check whether the specified I2C flag is set or not
247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) __HAL_I2C_CLEAR_FLAG: Clear the specified I2C pending flag
248:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) __HAL_I2C_ENABLE_IT: Enable the specified I2C interrupt
249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) __HAL_I2C_DISABLE_IT: Disable the specified I2C interrupt
250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** *** Callback registration ***
252:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** =============================================
253:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** [..]
254:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** The compilation flag USE_HAL_I2C_REGISTER_CALLBACKS when set to 1
255:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** allows the user to configure dynamically the driver callbacks.
256:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** Use Functions HAL_I2C_RegisterCallback() or HAL_I2C_RegisterAddrCallback()
257:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** to register an interrupt callback.
258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** [..]
ARM GAS /tmp/ccNVyn8W.s page 6
259:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** Function HAL_I2C_RegisterCallback() allows to register following callbacks:
260:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) MasterTxCpltCallback : callback for Master transmission end of transfer.
261:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) MasterRxCpltCallback : callback for Master reception end of transfer.
262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) SlaveTxCpltCallback : callback for Slave transmission end of transfer.
263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) SlaveRxCpltCallback : callback for Slave reception end of transfer.
264:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) ListenCpltCallback : callback for end of listen mode.
265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) MemTxCpltCallback : callback for Memory transmission end of transfer.
266:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) MemRxCpltCallback : callback for Memory reception end of transfer.
267:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) ErrorCallback : callback for error detection.
268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) AbortCpltCallback : callback for abort completion process.
269:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) MspInitCallback : callback for Msp Init.
270:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) MspDeInitCallback : callback for Msp DeInit.
271:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** This function takes as parameters the HAL peripheral handle, the Callback ID
272:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** and a pointer to the user callback function.
273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** [..]
274:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** For specific callback AddrCallback use dedicated register callbacks : HAL_I2C_RegisterAddrCall
275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** [..]
276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** Use function HAL_I2C_UnRegisterCallback to reset a callback to the default
277:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** weak function.
278:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_UnRegisterCallback takes as parameters the HAL peripheral handle,
279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** and the Callback ID.
280:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** This function allows to reset following callbacks:
281:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) MasterTxCpltCallback : callback for Master transmission end of transfer.
282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) MasterRxCpltCallback : callback for Master reception end of transfer.
283:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) SlaveTxCpltCallback : callback for Slave transmission end of transfer.
284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) SlaveRxCpltCallback : callback for Slave reception end of transfer.
285:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) ListenCpltCallback : callback for end of listen mode.
286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) MemTxCpltCallback : callback for Memory transmission end of transfer.
287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) MemRxCpltCallback : callback for Memory reception end of transfer.
288:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) ErrorCallback : callback for error detection.
289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) AbortCpltCallback : callback for abort completion process.
290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) MspInitCallback : callback for Msp Init.
291:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) MspDeInitCallback : callback for Msp DeInit.
292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** [..]
293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** For callback AddrCallback use dedicated register callbacks : HAL_I2C_UnRegisterAddrCallback().
294:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** [..]
295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** By default, after the HAL_I2C_Init() and when the state is HAL_I2C_STATE_RESET
296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** all callbacks are set to the corresponding weak functions:
297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** examples HAL_I2C_MasterTxCpltCallback(), HAL_I2C_MasterRxCpltCallback().
298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** Exception done for MspInit and MspDeInit functions that are
299:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** reset to the legacy weak functions in the HAL_I2C_Init()/ HAL_I2C_DeInit() only when
300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** these callbacks are null (not registered beforehand).
301:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** If MspInit or MspDeInit are not null, the HAL_I2C_Init()/ HAL_I2C_DeInit()
302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** keep and use the user MspInit/MspDeInit callbacks (registered beforehand) whatever the state.
303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** [..]
304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** Callbacks can be registered/unregistered in HAL_I2C_STATE_READY state only.
305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** Exception done MspInit/MspDeInit functions that can be registered/unregistered
306:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** in HAL_I2C_STATE_READY or HAL_I2C_STATE_RESET state,
307:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** thus registered (user) MspInit/DeInit callbacks can be used during the Init/DeInit.
308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** Then, the user first registers the MspInit/MspDeInit user callbacks
309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** using HAL_I2C_RegisterCallback() before calling HAL_I2C_DeInit()
310:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** or HAL_I2C_Init() function.
311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** [..]
312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** When the compilation flag USE_HAL_I2C_REGISTER_CALLBACKS is set to 0 or
313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** not defined, the callback registration feature is not available and all callbacks
314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** are set to the corresponding weak functions.
315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
ARM GAS /tmp/ccNVyn8W.s page 7
316:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** [..]
317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (@) You can refer to the I2C HAL driver header file for more useful macros
318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** @endverbatim
320:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
321:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Includes ------------------------------------------------------------------*/
323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #include "stm32f3xx_hal.h"
324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** @addtogroup STM32F3xx_HAL_Driver
326:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @{
327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
328:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** @defgroup I2C I2C
330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief I2C HAL module driver
331:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @{
332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
334:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #ifdef HAL_I2C_MODULE_ENABLED
335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Private typedef -----------------------------------------------------------*/
337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Private define ------------------------------------------------------------*/
338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** @defgroup I2C_Private_Define I2C Private Define
340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @{
341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #define TIMING_CLEAR_MASK (0xF0FFFFFFU) /*!< I2C TIMING clear register Mask */
343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #define I2C_TIMEOUT_ADDR (10000U) /*!< 10 s */
344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #define I2C_TIMEOUT_BUSY (25U) /*!< 25 ms */
345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #define I2C_TIMEOUT_DIR (25U) /*!< 25 ms */
346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #define I2C_TIMEOUT_RXNE (25U) /*!< 25 ms */
347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #define I2C_TIMEOUT_STOPF (25U) /*!< 25 ms */
348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #define I2C_TIMEOUT_TC (25U) /*!< 25 ms */
349:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #define I2C_TIMEOUT_TCR (25U) /*!< 25 ms */
350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #define I2C_TIMEOUT_TXIS (25U) /*!< 25 ms */
351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #define I2C_TIMEOUT_FLAG (25U) /*!< 25 ms */
352:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
353:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #define MAX_NBYTE_SIZE 255U
354:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #define SLAVE_ADDR_SHIFT 7U
355:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #define SLAVE_ADDR_MSK 0x06U
356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
357:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Private define for @ref PreviousState usage */
358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #define I2C_STATE_MSK ((uint32_t)((uint32_t)((uint32_t)HAL_I2C_STATE_BUSY_TX | \
359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (uint32_t)HAL_I2C_STATE_BUSY_RX) & \
360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (uint32_t)(~((uint32_t)HAL_I2C_STATE_READY))))
361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /*!< Mask State define, keep only RX and TX bits */
362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #define I2C_STATE_NONE ((uint32_t)(HAL_I2C_MODE_NONE))
363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /*!< Default Value */
364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #define I2C_STATE_MASTER_BUSY_TX ((uint32_t)(((uint32_t)HAL_I2C_STATE_BUSY_TX & I2C_STATE_MSK) | \
365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (uint32_t)HAL_I2C_MODE_MASTER))
366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /*!< Master Busy TX, combinaison of State LSB and Mode enum */
367:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #define I2C_STATE_MASTER_BUSY_RX ((uint32_t)(((uint32_t)HAL_I2C_STATE_BUSY_RX & I2C_STATE_MSK) | \
368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (uint32_t)HAL_I2C_MODE_MASTER))
369:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /*!< Master Busy RX, combinaison of State LSB and Mode enum */
370:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #define I2C_STATE_SLAVE_BUSY_TX ((uint32_t)(((uint32_t)HAL_I2C_STATE_BUSY_TX & I2C_STATE_MSK) | \
371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (uint32_t)HAL_I2C_MODE_SLAVE))
372:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /*!< Slave Busy TX, combinaison of State LSB and Mode enum */
ARM GAS /tmp/ccNVyn8W.s page 8
373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #define I2C_STATE_SLAVE_BUSY_RX ((uint32_t)(((uint32_t)HAL_I2C_STATE_BUSY_RX & I2C_STATE_MSK) | \
374:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (uint32_t)HAL_I2C_MODE_SLAVE))
375:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /*!< Slave Busy RX, combinaison of State LSB and Mode enum */
376:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #define I2C_STATE_MEM_BUSY_TX ((uint32_t)(((uint32_t)HAL_I2C_STATE_BUSY_TX & I2C_STATE_MSK) | \
377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (uint32_t)HAL_I2C_MODE_MEM))
378:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /*!< Memory Busy TX, combinaison of State LSB and Mode enum */
379:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #define I2C_STATE_MEM_BUSY_RX ((uint32_t)(((uint32_t)HAL_I2C_STATE_BUSY_RX & I2C_STATE_MSK) | \
380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (uint32_t)HAL_I2C_MODE_MEM))
381:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /*!< Memory Busy RX, combinaison of State LSB and Mode enum */
382:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
383:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
384:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Private define to centralize the enable/disable of Interrupts */
385:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #define I2C_XFER_TX_IT (uint16_t)(0x0001U) /*!< Bit field can be combinated with
386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** @ref I2C_XFER_LISTEN_IT */
387:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #define I2C_XFER_RX_IT (uint16_t)(0x0002U) /*!< Bit field can be combinated with
388:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** @ref I2C_XFER_LISTEN_IT */
389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #define I2C_XFER_LISTEN_IT (uint16_t)(0x8000U) /*!< Bit field can be combinated with @ref I2
390:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** and @ref I2C_XFER_RX_IT */
391:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #define I2C_XFER_ERROR_IT (uint16_t)(0x0010U) /*!< Bit definition to manage addition of glo
393:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** and NACK treatment */
394:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #define I2C_XFER_CPLT_IT (uint16_t)(0x0020U) /*!< Bit definition to manage only STOP evene
395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #define I2C_XFER_RELOAD_IT (uint16_t)(0x0040U) /*!< Bit definition to manage only Reload of
396:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Private define Sequential Transfer Options default/reset value */
398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #define I2C_NO_OPTION_FRAME (0xFFFF0000U)
399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
400:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @}
401:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
402:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
403:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Private macros ------------------------------------------------------------*/
404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** @addtogroup I2C_Private_Macro
405:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @{
406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
407:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Macro to get remaining data to transfer on DMA side */
408:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #define I2C_GET_DMA_REMAIN_DATA(__HANDLE__) __HAL_DMA_GET_COUNTER(__HANDLE__)
409:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
410:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @}
411:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
412:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
413:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Private variables ---------------------------------------------------------*/
414:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Private function prototypes -----------------------------------------------*/
415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
416:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** @defgroup I2C_Private_Functions I2C Private Functions
417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @{
418:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
419:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Private functions to handle DMA transfer */
420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_DMAMasterTransmitCplt(DMA_HandleTypeDef *hdma);
421:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_DMAMasterReceiveCplt(DMA_HandleTypeDef *hdma);
422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_DMASlaveTransmitCplt(DMA_HandleTypeDef *hdma);
423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_DMASlaveReceiveCplt(DMA_HandleTypeDef *hdma);
424:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_DMAError(DMA_HandleTypeDef *hdma);
425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_DMAAbort(DMA_HandleTypeDef *hdma);
426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
427:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Private functions to handle IT transfer */
429:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_ITAddrCplt(I2C_HandleTypeDef *hi2c, uint32_t ITFlags);
ARM GAS /tmp/ccNVyn8W.s page 9
430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_ITMasterSeqCplt(I2C_HandleTypeDef *hi2c);
431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_ITSlaveSeqCplt(I2C_HandleTypeDef *hi2c);
432:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_ITMasterCplt(I2C_HandleTypeDef *hi2c, uint32_t ITFlags);
433:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_ITSlaveCplt(I2C_HandleTypeDef *hi2c, uint32_t ITFlags);
434:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_ITListenCplt(I2C_HandleTypeDef *hi2c, uint32_t ITFlags);
435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_ITError(I2C_HandleTypeDef *hi2c, uint32_t ErrorCode);
436:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
437:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Private functions to handle IT transfer */
438:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_RequestMemoryWrite(I2C_HandleTypeDef *hi2c, uint16_t DevAddress,
439:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t MemAddress, uint16_t MemAddSize, uint32_t
440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t Tickstart);
441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_RequestMemoryRead(I2C_HandleTypeDef *hi2c, uint16_t DevAddress,
442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t MemAddress, uint16_t MemAddSize, uint32_t T
443:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t Tickstart);
444:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
445:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Private functions for I2C transfer IRQ handler */
446:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_Master_ISR_IT(struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags,
447:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t ITSources);
448:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_Mem_ISR_IT(struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags,
449:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t ITSources);
450:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_Slave_ISR_IT(struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags,
451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t ITSources);
452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_Master_ISR_DMA(struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags,
453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t ITSources);
454:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_Mem_ISR_DMA(struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags,
455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t ITSources);
456:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_Slave_ISR_DMA(struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags,
457:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t ITSources);
458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
459:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Private functions to handle flags during polling transfer */
460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_WaitOnFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t Flag, FlagSta
461:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t Timeout, uint32_t Tickstart);
462:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_WaitOnTXISFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t Timeout,
463:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t Tickstart);
464:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_WaitOnRXNEFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t Timeout,
465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t Tickstart);
466:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_WaitOnSTOPFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t Timeout,
467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t Tickstart);
468:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_IsErrorOccurred(I2C_HandleTypeDef *hi2c, uint32_t Timeout,
469:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t Tickstart);
470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
471:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Private functions to centralize the enable/disable of Interrupts */
472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_Enable_IRQ(I2C_HandleTypeDef *hi2c, uint16_t InterruptRequest);
473:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_Disable_IRQ(I2C_HandleTypeDef *hi2c, uint16_t InterruptRequest);
474:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
475:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Private function to treat different error callback */
476:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_TreatErrorCallback(I2C_HandleTypeDef *hi2c);
477:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
478:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Private function to flush TXDR register */
479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_Flush_TXDR(I2C_HandleTypeDef *hi2c);
480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
481:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Private function to handle start, restart or stop a transfer */
482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_TransferConfig(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t Size, uint32_t
483:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t Request);
484:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Private function to Convert Specific options */
486:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_ConvertOtherXferOptions(I2C_HandleTypeDef *hi2c);
ARM GAS /tmp/ccNVyn8W.s page 10
487:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
488:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @}
489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
490:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Exported functions --------------------------------------------------------*/
492:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
493:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** @defgroup I2C_Exported_Functions I2C Exported Functions
494:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @{
495:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
496:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** @defgroup I2C_Exported_Functions_Group1 Initialization and de-initialization functions
498:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Initialization and Configuration functions
499:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** *
500:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** @verbatim
501:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ===============================================================================
502:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ##### Initialization and de-initialization functions #####
503:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ===============================================================================
504:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** [..] This subsection provides a set of functions allowing to initialize and
505:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** deinitialize the I2Cx peripheral:
506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
507:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) User must Implement HAL_I2C_MspInit() function in which he configures
508:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** all related peripherals resources (CLOCK, GPIO, DMA, IT and NVIC ).
509:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
510:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) Call the function HAL_I2C_Init() to configure the selected device with
511:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** the selected configuration:
512:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) Clock Timing
513:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) Own Address 1
514:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) Addressing mode (Master, Slave)
515:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) Dual Addressing mode
516:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) Own Address 2
517:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) Own Address 2 Mask
518:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) General call mode
519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) Nostretch mode
520:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) Call the function HAL_I2C_DeInit() to restore the default configuration
522:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** of the selected I2Cx peripheral.
523:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
524:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** @endverbatim
525:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @{
526:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
528:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
529:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Initializes the I2C according to the specified parameters
530:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * in the I2C_InitTypeDef and initialize the associated handle.
531:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
532:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
533:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status
534:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
535:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Init(I2C_HandleTypeDef *hi2c)
536:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
537:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check the I2C handle allocation */
538:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c == NULL)
539:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
540:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
541:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
543:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check the parameters */
ARM GAS /tmp/ccNVyn8W.s page 11
544:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_ALL_INSTANCE(hi2c->Instance));
545:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_OWN_ADDRESS1(hi2c->Init.OwnAddress1));
546:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_ADDRESSING_MODE(hi2c->Init.AddressingMode));
547:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_DUAL_ADDRESS(hi2c->Init.DualAddressMode));
548:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_OWN_ADDRESS2(hi2c->Init.OwnAddress2));
549:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_OWN_ADDRESS2_MASK(hi2c->Init.OwnAddress2Masks));
550:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_GENERAL_CALL(hi2c->Init.GeneralCallMode));
551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_NO_STRETCH(hi2c->Init.NoStretchMode));
552:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_RESET)
554:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
555:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Allocate lock resource and initialize it */
556:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Lock = HAL_UNLOCKED;
557:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
558:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
559:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Init the I2C Callback settings */
560:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->MasterTxCpltCallback = HAL_I2C_MasterTxCpltCallback; /* Legacy weak MasterTxCpltCallback
561:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->MasterRxCpltCallback = HAL_I2C_MasterRxCpltCallback; /* Legacy weak MasterRxCpltCallback
562:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->SlaveTxCpltCallback = HAL_I2C_SlaveTxCpltCallback; /* Legacy weak SlaveTxCpltCallback
563:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->SlaveRxCpltCallback = HAL_I2C_SlaveRxCpltCallback; /* Legacy weak SlaveRxCpltCallback
564:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ListenCpltCallback = HAL_I2C_ListenCpltCallback; /* Legacy weak ListenCpltCallback
565:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->MemTxCpltCallback = HAL_I2C_MemTxCpltCallback; /* Legacy weak MemTxCpltCallback
566:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->MemRxCpltCallback = HAL_I2C_MemRxCpltCallback; /* Legacy weak MemRxCpltCallback
567:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCallback = HAL_I2C_ErrorCallback; /* Legacy weak ErrorCallback
568:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->AbortCpltCallback = HAL_I2C_AbortCpltCallback; /* Legacy weak AbortCpltCallback
569:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->AddrCallback = HAL_I2C_AddrCallback; /* Legacy weak AddrCallback
570:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
571:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->MspInitCallback == NULL)
572:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
573:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->MspInitCallback = HAL_I2C_MspInit; /* Legacy weak MspInit */
574:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
575:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
576:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Init the low level hardware : GPIO, CLOCK, CORTEX...etc */
577:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->MspInitCallback(hi2c);
578:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #else
579:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Init the low level hardware : GPIO, CLOCK, CORTEX...etc */
580:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_MspInit(hi2c);
581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
582:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
583:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY;
585:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
586:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable the selected I2C peripheral */
587:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_DISABLE(hi2c);
588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
589:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /*---------------------------- I2Cx TIMINGR Configuration ------------------*/
590:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Configure I2Cx: Frequency range */
591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->TIMINGR = hi2c->Init.Timing & TIMING_CLEAR_MASK;
592:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
593:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /*---------------------------- I2Cx OAR1 Configuration ---------------------*/
594:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable Own Address1 before set the Own Address1 configuration */
595:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->OAR1 &= ~I2C_OAR1_OA1EN;
596:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
597:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Configure I2Cx: Own Address1 and ack own address1 mode */
598:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->Init.AddressingMode == I2C_ADDRESSINGMODE_7BIT)
599:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
600:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->OAR1 = (I2C_OAR1_OA1EN | hi2c->Init.OwnAddress1);
ARM GAS /tmp/ccNVyn8W.s page 12
601:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
602:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else /* I2C_ADDRESSINGMODE_10BIT */
603:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
604:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->OAR1 = (I2C_OAR1_OA1EN | I2C_OAR1_OA1MODE | hi2c->Init.OwnAddress1);
605:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
606:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
607:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /*---------------------------- I2Cx CR2 Configuration ----------------------*/
608:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Configure I2Cx: Addressing Master mode */
609:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->Init.AddressingMode == I2C_ADDRESSINGMODE_10BIT)
610:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
611:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 = (I2C_CR2_ADD10);
612:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
613:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable the AUTOEND by default, and enable NACK (should be disable only during Slave process */
614:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 |= (I2C_CR2_AUTOEND | I2C_CR2_NACK);
615:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
616:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /*---------------------------- I2Cx OAR2 Configuration ---------------------*/
617:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable Own Address2 before set the Own Address2 configuration */
618:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->OAR2 &= ~I2C_DUALADDRESS_ENABLE;
619:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
620:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Configure I2Cx: Dual mode and Own Address2 */
621:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->OAR2 = (hi2c->Init.DualAddressMode | hi2c->Init.OwnAddress2 | \
622:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->Init.OwnAddress2Masks << 8));
623:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
624:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /*---------------------------- I2Cx CR1 Configuration ----------------------*/
625:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Configure I2Cx: Generalcall and NoStretch mode */
626:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR1 = (hi2c->Init.GeneralCallMode | hi2c->Init.NoStretchMode);
627:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
628:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable the selected I2C peripheral */
629:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_ENABLE(hi2c);
630:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
632:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
633:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
634:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
635:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
636:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK;
637:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
638:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
639:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
640:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief DeInitialize the I2C peripheral.
641:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
642:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
643:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status
644:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
645:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_DeInit(I2C_HandleTypeDef *hi2c)
646:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
647:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check the I2C handle allocation */
648:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c == NULL)
649:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
650:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
651:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
652:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
653:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check the parameters */
654:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_ALL_INSTANCE(hi2c->Instance));
655:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
656:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY;
657:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
ARM GAS /tmp/ccNVyn8W.s page 13
658:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable the I2C Peripheral Clock */
659:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_DISABLE(hi2c);
660:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
661:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
662:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->MspDeInitCallback == NULL)
663:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
664:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->MspDeInitCallback = HAL_I2C_MspDeInit; /* Legacy weak MspDeInit */
665:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
666:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
667:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* DeInit the low level hardware: GPIO, CLOCK, NVIC */
668:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->MspDeInitCallback(hi2c);
669:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #else
670:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* DeInit the low level hardware: GPIO, CLOCK, NVIC */
671:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_MspDeInit(hi2c);
672:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
673:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
674:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
675:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_RESET;
676:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
677:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
678:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
679:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Release Lock */
680:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
681:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
682:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK;
683:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
684:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
685:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
686:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Initialize the I2C MSP.
687:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
688:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
689:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None
690:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
691:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __weak void HAL_I2C_MspInit(I2C_HandleTypeDef *hi2c)
692:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
693:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
694:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** UNUSED(hi2c);
695:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
696:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed,
697:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** the HAL_I2C_MspInit could be implemented in the user file
698:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
699:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
700:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
701:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
702:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief DeInitialize the I2C MSP.
703:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
704:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
705:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None
706:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
707:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __weak void HAL_I2C_MspDeInit(I2C_HandleTypeDef *hi2c)
708:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
709:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
710:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** UNUSED(hi2c);
711:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
712:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed,
713:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** the HAL_I2C_MspDeInit could be implemented in the user file
714:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
ARM GAS /tmp/ccNVyn8W.s page 14
715:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
716:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
717:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
718:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
719:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Register a User I2C Callback
720:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * To be used instead of the weak predefined callback
721:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @note The HAL_I2C_RegisterCallback() may be called before HAL_I2C_Init() in HAL_I2C_STATE_RES
722:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * to register callbacks for HAL_I2C_MSPINIT_CB_ID and HAL_I2C_MSPDEINIT_CB_ID.
723:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
724:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
725:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param CallbackID ID of the callback to be registered
726:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * This parameter can be one of the following values:
727:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @arg @ref HAL_I2C_MASTER_TX_COMPLETE_CB_ID Master Tx Transfer completed callback ID
728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @arg @ref HAL_I2C_MASTER_RX_COMPLETE_CB_ID Master Rx Transfer completed callback ID
729:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @arg @ref HAL_I2C_SLAVE_TX_COMPLETE_CB_ID Slave Tx Transfer completed callback ID
730:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @arg @ref HAL_I2C_SLAVE_RX_COMPLETE_CB_ID Slave Rx Transfer completed callback ID
731:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @arg @ref HAL_I2C_LISTEN_COMPLETE_CB_ID Listen Complete callback ID
732:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @arg @ref HAL_I2C_MEM_TX_COMPLETE_CB_ID Memory Tx Transfer callback ID
733:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @arg @ref HAL_I2C_MEM_RX_COMPLETE_CB_ID Memory Rx Transfer completed callback ID
734:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @arg @ref HAL_I2C_ERROR_CB_ID Error callback ID
735:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @arg @ref HAL_I2C_ABORT_CB_ID Abort callback ID
736:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @arg @ref HAL_I2C_MSPINIT_CB_ID MspInit callback ID
737:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @arg @ref HAL_I2C_MSPDEINIT_CB_ID MspDeInit callback ID
738:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param pCallback pointer to the Callback function
739:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status
740:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
741:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_RegisterCallback(I2C_HandleTypeDef *hi2c, HAL_I2C_CallbackIDTypeDef Callb
742:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** pI2C_CallbackTypeDef pCallback)
743:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
744:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef status = HAL_OK;
745:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
746:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (pCallback == NULL)
747:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
748:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update the error code */
749:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK;
750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
751:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
752:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
753:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
754:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (HAL_I2C_STATE_READY == hi2c->State)
755:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
756:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** switch (CallbackID)
757:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
758:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** case HAL_I2C_MASTER_TX_COMPLETE_CB_ID :
759:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->MasterTxCpltCallback = pCallback;
760:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** break;
761:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** case HAL_I2C_MASTER_RX_COMPLETE_CB_ID :
763:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->MasterRxCpltCallback = pCallback;
764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** break;
765:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
766:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** case HAL_I2C_SLAVE_TX_COMPLETE_CB_ID :
767:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->SlaveTxCpltCallback = pCallback;
768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** break;
769:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** case HAL_I2C_SLAVE_RX_COMPLETE_CB_ID :
771:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->SlaveRxCpltCallback = pCallback;
ARM GAS /tmp/ccNVyn8W.s page 15
772:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** break;
773:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
774:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** case HAL_I2C_LISTEN_COMPLETE_CB_ID :
775:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ListenCpltCallback = pCallback;
776:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** break;
777:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
778:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** case HAL_I2C_MEM_TX_COMPLETE_CB_ID :
779:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->MemTxCpltCallback = pCallback;
780:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** break;
781:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
782:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** case HAL_I2C_MEM_RX_COMPLETE_CB_ID :
783:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->MemRxCpltCallback = pCallback;
784:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** break;
785:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
786:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** case HAL_I2C_ERROR_CB_ID :
787:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCallback = pCallback;
788:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** break;
789:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
790:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** case HAL_I2C_ABORT_CB_ID :
791:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->AbortCpltCallback = pCallback;
792:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** break;
793:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
794:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** case HAL_I2C_MSPINIT_CB_ID :
795:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->MspInitCallback = pCallback;
796:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** break;
797:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
798:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** case HAL_I2C_MSPDEINIT_CB_ID :
799:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->MspDeInitCallback = pCallback;
800:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** break;
801:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
802:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** default :
803:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update the error code */
804:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK;
805:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
806:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Return error status */
807:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** status = HAL_ERROR;
808:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** break;
809:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
810:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
811:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if (HAL_I2C_STATE_RESET == hi2c->State)
812:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
813:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** switch (CallbackID)
814:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
815:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** case HAL_I2C_MSPINIT_CB_ID :
816:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->MspInitCallback = pCallback;
817:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** break;
818:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
819:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** case HAL_I2C_MSPDEINIT_CB_ID :
820:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->MspDeInitCallback = pCallback;
821:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** break;
822:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
823:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** default :
824:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update the error code */
825:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK;
826:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
827:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Return error status */
828:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** status = HAL_ERROR;
ARM GAS /tmp/ccNVyn8W.s page 16
829:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** break;
830:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
831:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
832:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
833:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
834:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update the error code */
835:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK;
836:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
837:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Return error status */
838:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** status = HAL_ERROR;
839:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
840:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
841:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return status;
842:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
843:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
844:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
845:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Unregister an I2C Callback
846:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * I2C callback is redirected to the weak predefined callback
847:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @note The HAL_I2C_UnRegisterCallback() may be called before HAL_I2C_Init() in HAL_I2C_STATE_R
848:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * to un-register callbacks for HAL_I2C_MSPINIT_CB_ID and HAL_I2C_MSPDEINIT_CB_ID.
849:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
850:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
851:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param CallbackID ID of the callback to be unregistered
852:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * This parameter can be one of the following values:
853:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * This parameter can be one of the following values:
854:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @arg @ref HAL_I2C_MASTER_TX_COMPLETE_CB_ID Master Tx Transfer completed callback ID
855:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @arg @ref HAL_I2C_MASTER_RX_COMPLETE_CB_ID Master Rx Transfer completed callback ID
856:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @arg @ref HAL_I2C_SLAVE_TX_COMPLETE_CB_ID Slave Tx Transfer completed callback ID
857:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @arg @ref HAL_I2C_SLAVE_RX_COMPLETE_CB_ID Slave Rx Transfer completed callback ID
858:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @arg @ref HAL_I2C_LISTEN_COMPLETE_CB_ID Listen Complete callback ID
859:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @arg @ref HAL_I2C_MEM_TX_COMPLETE_CB_ID Memory Tx Transfer callback ID
860:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @arg @ref HAL_I2C_MEM_RX_COMPLETE_CB_ID Memory Rx Transfer completed callback ID
861:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @arg @ref HAL_I2C_ERROR_CB_ID Error callback ID
862:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @arg @ref HAL_I2C_ABORT_CB_ID Abort callback ID
863:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @arg @ref HAL_I2C_MSPINIT_CB_ID MspInit callback ID
864:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @arg @ref HAL_I2C_MSPDEINIT_CB_ID MspDeInit callback ID
865:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status
866:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
867:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_UnRegisterCallback(I2C_HandleTypeDef *hi2c, HAL_I2C_CallbackIDTypeDef Cal
868:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
869:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef status = HAL_OK;
870:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
871:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (HAL_I2C_STATE_READY == hi2c->State)
872:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
873:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** switch (CallbackID)
874:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
875:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** case HAL_I2C_MASTER_TX_COMPLETE_CB_ID :
876:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->MasterTxCpltCallback = HAL_I2C_MasterTxCpltCallback; /* Legacy weak MasterTxCpltCallb
877:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** break;
878:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
879:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** case HAL_I2C_MASTER_RX_COMPLETE_CB_ID :
880:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->MasterRxCpltCallback = HAL_I2C_MasterRxCpltCallback; /* Legacy weak MasterRxCpltCallb
881:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** break;
882:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
883:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** case HAL_I2C_SLAVE_TX_COMPLETE_CB_ID :
884:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->SlaveTxCpltCallback = HAL_I2C_SlaveTxCpltCallback; /* Legacy weak SlaveTxCpltCallba
885:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** break;
ARM GAS /tmp/ccNVyn8W.s page 17
886:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
887:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** case HAL_I2C_SLAVE_RX_COMPLETE_CB_ID :
888:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->SlaveRxCpltCallback = HAL_I2C_SlaveRxCpltCallback; /* Legacy weak SlaveRxCpltCallba
889:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** break;
890:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
891:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** case HAL_I2C_LISTEN_COMPLETE_CB_ID :
892:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ListenCpltCallback = HAL_I2C_ListenCpltCallback; /* Legacy weak ListenCpltCallbac
893:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** break;
894:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
895:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** case HAL_I2C_MEM_TX_COMPLETE_CB_ID :
896:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->MemTxCpltCallback = HAL_I2C_MemTxCpltCallback; /* Legacy weak MemTxCpltCallback
897:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** break;
898:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
899:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** case HAL_I2C_MEM_RX_COMPLETE_CB_ID :
900:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->MemRxCpltCallback = HAL_I2C_MemRxCpltCallback; /* Legacy weak MemRxCpltCallback
901:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** break;
902:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
903:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** case HAL_I2C_ERROR_CB_ID :
904:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCallback = HAL_I2C_ErrorCallback; /* Legacy weak ErrorCallback
905:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** break;
906:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
907:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** case HAL_I2C_ABORT_CB_ID :
908:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->AbortCpltCallback = HAL_I2C_AbortCpltCallback; /* Legacy weak AbortCpltCallback
909:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** break;
910:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** case HAL_I2C_MSPINIT_CB_ID :
912:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->MspInitCallback = HAL_I2C_MspInit; /* Legacy weak MspInit
913:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** break;
914:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
915:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** case HAL_I2C_MSPDEINIT_CB_ID :
916:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->MspDeInitCallback = HAL_I2C_MspDeInit; /* Legacy weak MspDeInit
917:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** break;
918:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
919:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** default :
920:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update the error code */
921:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK;
922:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
923:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Return error status */
924:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** status = HAL_ERROR;
925:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** break;
926:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
927:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
928:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if (HAL_I2C_STATE_RESET == hi2c->State)
929:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
930:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** switch (CallbackID)
931:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
932:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** case HAL_I2C_MSPINIT_CB_ID :
933:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->MspInitCallback = HAL_I2C_MspInit; /* Legacy weak MspInit
934:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** break;
935:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
936:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** case HAL_I2C_MSPDEINIT_CB_ID :
937:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->MspDeInitCallback = HAL_I2C_MspDeInit; /* Legacy weak MspDeInit
938:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** break;
939:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
940:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** default :
941:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update the error code */
942:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK;
ARM GAS /tmp/ccNVyn8W.s page 18
943:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
944:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Return error status */
945:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** status = HAL_ERROR;
946:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** break;
947:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
948:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
949:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
950:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
951:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update the error code */
952:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK;
953:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
954:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Return error status */
955:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** status = HAL_ERROR;
956:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
957:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
958:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return status;
959:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
961:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
962:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Register the Slave Address Match I2C Callback
963:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * To be used instead of the weak HAL_I2C_AddrCallback() predefined callback
964:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
965:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
966:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param pCallback pointer to the Address Match Callback function
967:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status
968:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
969:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_RegisterAddrCallback(I2C_HandleTypeDef *hi2c, pI2C_AddrCallbackTypeDef pC
970:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
971:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef status = HAL_OK;
972:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
973:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (pCallback == NULL)
974:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
975:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update the error code */
976:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK;
977:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
978:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
979:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
980:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
981:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (HAL_I2C_STATE_READY == hi2c->State)
982:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
983:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->AddrCallback = pCallback;
984:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
985:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
986:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
987:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update the error code */
988:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK;
989:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
990:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Return error status */
991:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** status = HAL_ERROR;
992:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
993:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
994:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return status;
995:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
996:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
997:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
998:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief UnRegister the Slave Address Match I2C Callback
999:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * Info Ready I2C Callback is redirected to the weak HAL_I2C_AddrCallback() predefined cal
ARM GAS /tmp/ccNVyn8W.s page 19
1000:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
1001:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
1002:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status
1003:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
1004:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_UnRegisterAddrCallback(I2C_HandleTypeDef *hi2c)
1005:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1006:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef status = HAL_OK;
1007:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1008:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (HAL_I2C_STATE_READY == hi2c->State)
1009:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1010:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->AddrCallback = HAL_I2C_AddrCallback; /* Legacy weak AddrCallback */
1011:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1012:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
1013:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1014:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update the error code */
1015:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK;
1016:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1017:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Return error status */
1018:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** status = HAL_ERROR;
1019:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1020:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1021:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return status;
1022:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1023:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1024:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
1025:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1026:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
1027:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @}
1028:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
1029:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1030:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** @defgroup I2C_Exported_Functions_Group2 Input and Output operation functions
1031:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Data transfers functions
1032:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** *
1033:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** @verbatim
1034:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ===============================================================================
1035:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ##### IO operation functions #####
1036:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ===============================================================================
1037:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** [..]
1038:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** This subsection provides a set of functions allowing to manage the I2C data
1039:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** transfers.
1040:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1041:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (#) There are two modes of transfer:
1042:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) Blocking mode : The communication is performed in the polling mode.
1043:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** The status of all data processing is returned by the same function
1044:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** after finishing transfer.
1045:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) No-Blocking mode : The communication is performed using Interrupts
1046:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** or DMA. These functions return the status of the transfer startup.
1047:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** The end of the data processing will be indicated through the
1048:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** dedicated I2C IRQ when using Interrupt mode or the DMA IRQ when
1049:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** using DMA mode.
1050:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1051:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (#) Blocking mode functions are :
1052:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_Master_Transmit()
1053:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_Master_Receive()
1054:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_Slave_Transmit()
1055:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_Slave_Receive()
1056:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_Mem_Write()
ARM GAS /tmp/ccNVyn8W.s page 20
1057:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_Mem_Read()
1058:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_IsDeviceReady()
1059:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1060:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (#) No-Blocking mode functions with Interrupt are :
1061:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_Master_Transmit_IT()
1062:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_Master_Receive_IT()
1063:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_Slave_Transmit_IT()
1064:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_Slave_Receive_IT()
1065:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_Mem_Write_IT()
1066:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_Mem_Read_IT()
1067:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_Master_Seq_Transmit_IT()
1068:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_Master_Seq_Receive_IT()
1069:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_Slave_Seq_Transmit_IT()
1070:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_Slave_Seq_Receive_IT()
1071:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_EnableListen_IT()
1072:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_DisableListen_IT()
1073:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_Master_Abort_IT()
1074:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1075:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (#) No-Blocking mode functions with DMA are :
1076:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_Master_Transmit_DMA()
1077:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_Master_Receive_DMA()
1078:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_Slave_Transmit_DMA()
1079:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_Slave_Receive_DMA()
1080:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_Mem_Write_DMA()
1081:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_Mem_Read_DMA()
1082:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_Master_Seq_Transmit_DMA()
1083:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_Master_Seq_Receive_DMA()
1084:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_Slave_Seq_Transmit_DMA()
1085:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_Slave_Seq_Receive_DMA()
1086:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1087:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (#) A set of Transfer Complete Callbacks are provided in non Blocking mode:
1088:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_MasterTxCpltCallback()
1089:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_MasterRxCpltCallback()
1090:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_SlaveTxCpltCallback()
1091:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_SlaveRxCpltCallback()
1092:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_MemTxCpltCallback()
1093:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_MemRxCpltCallback()
1094:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_AddrCallback()
1095:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_ListenCpltCallback()
1096:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_ErrorCallback()
1097:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_AbortCpltCallback()
1098:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1099:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** @endverbatim
1100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @{
1101:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
1102:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1103:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
1104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Transmits in master mode an amount of data in blocking mode.
1105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
1106:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
1107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
1108:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
1109:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param pData Pointer to data buffer
1110:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Size Amount of data to be sent
1111:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Timeout Timeout duration
1112:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status
1113:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
ARM GAS /tmp/ccNVyn8W.s page 21
1114:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Transmit(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t *pD
1115:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t Size, uint32_t Timeout)
1116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1117:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tickstart;
1118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1119:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
1120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Locked */
1122:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c);
1123:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1124:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Init tickstart for timeout management*/
1125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tickstart = HAL_GetTick();
1126:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1127:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_BUSY, SET, I2C_TIMEOUT_BUSY, tickstart) != HAL_OK
1128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
1130:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX;
1133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
1134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
1135:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1136:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prepare transfer parameters */
1137:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
1138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
1139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL;
1140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Send Slave Address */
1142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE and generate RESTART */
1143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
1144:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
1146:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE,
1147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_GENERATE_START_WRITE);
1148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
1150:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1151:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
1152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
1153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_GENERATE_START_WRITE);
1154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1155:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** while (hi2c->XferCount > 0U)
1157:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until TXIS flag is set */
1159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnTXISFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK)
1160:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1161:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
1162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1163:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Write data to TXDR */
1164:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->TXDR = *hi2c->pBuffPtr;
1165:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Increment Buffer pointer */
1167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr++;
1168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--;
1170:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--;
ARM GAS /tmp/ccNVyn8W.s page 22
1171:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((hi2c->XferCount != 0U) && (hi2c->XferSize == 0U))
1173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1174:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until TCR flag is set */
1175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_TCR, RESET, Timeout, tickstart) != HAL_OK)
1176:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
1178:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1179:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
1181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
1183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE,
1184:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_NO_STARTSTOP);
1185:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1186:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
1187:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
1189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
1190:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_NO_STARTSTOP);
1191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1193:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* No need to Check TC flag, with AUTOEND mode the stop is automatically generated */
1196:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until STOPF flag is set */
1197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnSTOPFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK)
1198:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
1200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1201:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1202:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear STOP Flag */
1203:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF);
1204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1205:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear Configuration Register 2 */
1206:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_RESET_CR2(hi2c);
1207:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
1209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
1210:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1211:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
1212:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
1213:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1214:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK;
1215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
1217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY;
1219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1220:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1222:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
1223:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Receives in master mode an amount of data in blocking mode.
1224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
1225:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
1226:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
1227:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
ARM GAS /tmp/ccNVyn8W.s page 23
1228:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param pData Pointer to data buffer
1229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Size Amount of data to be sent
1230:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Timeout Timeout duration
1231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status
1232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
1233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Receive(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t *pDa
1234:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t Size, uint32_t Timeout)
1235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tickstart;
1237:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
1239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1240:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Locked */
1241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c);
1242:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1243:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Init tickstart for timeout management*/
1244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tickstart = HAL_GetTick();
1245:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1246:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_BUSY, SET, I2C_TIMEOUT_BUSY, tickstart) != HAL_OK
1247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1248:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
1249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX;
1252:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
1253:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
1254:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1255:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prepare transfer parameters */
1256:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
1257:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
1258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL;
1259:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1260:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Send Slave Address */
1261:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE and generate RESTART */
1262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
1263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1264:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
1265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE,
1266:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_GENERATE_START_READ);
1267:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
1269:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1270:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
1271:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
1272:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_GENERATE_START_READ);
1273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1274:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** while (hi2c->XferCount > 0U)
1276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1277:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until RXNE flag is set */
1278:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnRXNEFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK)
1279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1280:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
1281:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1283:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Read data from RXDR */
1284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->RXDR;
ARM GAS /tmp/ccNVyn8W.s page 24
1285:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Increment Buffer pointer */
1287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr++;
1288:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--;
1290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--;
1291:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((hi2c->XferCount != 0U) && (hi2c->XferSize == 0U))
1293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1294:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until TCR flag is set */
1295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_TCR, RESET, Timeout, tickstart) != HAL_OK)
1296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
1298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1299:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
1301:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
1303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE,
1304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_NO_STARTSTOP);
1305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1306:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
1307:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
1309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
1310:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_NO_STARTSTOP);
1311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* No need to Check TC flag, with AUTOEND mode the stop is automatically generated */
1316:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until STOPF flag is set */
1317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnSTOPFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK)
1318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
1320:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1321:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear STOP Flag */
1323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF);
1324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear Configuration Register 2 */
1326:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_RESET_CR2(hi2c);
1327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1328:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
1329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
1330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1331:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
1332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
1333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1334:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK;
1335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
1337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY;
1339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
ARM GAS /tmp/ccNVyn8W.s page 25
1342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
1343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Transmits in slave mode an amount of data in blocking mode.
1344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
1345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
1346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param pData Pointer to data buffer
1347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Size Amount of data to be sent
1348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Timeout Timeout duration
1349:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status
1350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
1351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Transmit(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size,
1352:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t Timeout)
1353:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1354:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tickstart;
1355:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
1357:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U))
1359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM;
1361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
1362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Locked */
1364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c);
1365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Init tickstart for timeout management*/
1367:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tickstart = HAL_GetTick();
1368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1369:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX;
1370:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
1371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
1372:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prepare transfer parameters */
1374:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
1375:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
1376:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL;
1377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1378:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable Address Acknowledge */
1379:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 &= ~I2C_CR2_NACK;
1380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1381:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until ADDR flag is set */
1382:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_ADDR, RESET, Timeout, tickstart) != HAL_OK)
1383:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1384:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable Address Acknowledge */
1385:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK;
1386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
1387:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1388:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Preload TX data if no stretch enable */
1390:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->Init.NoStretchMode == I2C_NOSTRETCH_ENABLE)
1391:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Preload TX register */
1393:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Write data to TXDR */
1394:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->TXDR = *hi2c->pBuffPtr;
1395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1396:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Increment Buffer pointer */
1397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr++;
1398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
ARM GAS /tmp/ccNVyn8W.s page 26
1399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--;
1400:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1401:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1402:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear ADDR flag */
1403:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ADDR);
1404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1405:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* If 10bit addressing mode is selected */
1406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->Init.AddressingMode == I2C_ADDRESSINGMODE_10BIT)
1407:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1408:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until ADDR flag is set */
1409:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_ADDR, RESET, Timeout, tickstart) != HAL_OK)
1410:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1411:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable Address Acknowledge */
1412:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK;
1413:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
1414:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1416:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear ADDR flag */
1417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ADDR);
1418:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1419:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until DIR flag is set Transmitter mode */
1421:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_DIR, RESET, Timeout, tickstart) != HAL_OK)
1422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable Address Acknowledge */
1424:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK;
1425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
1426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1427:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** while (hi2c->XferCount > 0U)
1429:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until TXIS flag is set */
1431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnTXISFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK)
1432:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1433:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable Address Acknowledge */
1434:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK;
1435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
1436:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1437:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1438:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Write data to TXDR */
1439:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->TXDR = *hi2c->pBuffPtr;
1440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Increment Buffer pointer */
1442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr++;
1443:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1444:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--;
1445:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1446:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1447:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until AF flag is set */
1448:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_AF, RESET, Timeout, tickstart) != HAL_OK)
1449:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1450:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable Address Acknowledge */
1451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK;
1452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
1453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1454:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Flush TX register */
ARM GAS /tmp/ccNVyn8W.s page 27
1456:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Flush_TXDR(hi2c);
1457:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear AF flag */
1459:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
1460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1461:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until STOP flag is set */
1462:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnSTOPFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK)
1463:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1464:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable Address Acknowledge */
1465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK;
1466:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
1468:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1469:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear STOP flag */
1471:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF);
1472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1473:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until BUSY flag is reset */
1474:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_BUSY, SET, Timeout, tickstart) != HAL_OK)
1475:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1476:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable Address Acknowledge */
1477:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK;
1478:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
1479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1481:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable Address Acknowledge */
1482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK;
1483:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1484:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
1485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
1486:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1487:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
1488:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
1489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1490:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK;
1491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1492:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
1493:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1494:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY;
1495:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1496:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1498:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
1499:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Receive in slave mode an amount of data in blocking mode
1500:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
1501:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
1502:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param pData Pointer to data buffer
1503:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Size Amount of data to be sent
1504:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Timeout Timeout duration
1505:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status
1506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
1507:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Receive(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size,
1508:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t Timeout)
1509:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1510:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tickstart;
1511:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1512:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
ARM GAS /tmp/ccNVyn8W.s page 28
1513:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1514:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U))
1515:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1516:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM;
1517:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
1518:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Locked */
1520:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c);
1521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1522:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Init tickstart for timeout management*/
1523:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tickstart = HAL_GetTick();
1524:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1525:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX;
1526:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
1527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
1528:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1529:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prepare transfer parameters */
1530:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
1531:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
1532:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
1533:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL;
1534:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1535:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable Address Acknowledge */
1536:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 &= ~I2C_CR2_NACK;
1537:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1538:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until ADDR flag is set */
1539:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_ADDR, RESET, Timeout, tickstart) != HAL_OK)
1540:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1541:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable Address Acknowledge */
1542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK;
1543:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
1544:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1545:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1546:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear ADDR flag */
1547:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ADDR);
1548:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1549:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until DIR flag is reset Receiver mode */
1550:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_DIR, SET, Timeout, tickstart) != HAL_OK)
1551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1552:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable Address Acknowledge */
1553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK;
1554:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
1555:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1556:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1557:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** while (hi2c->XferCount > 0U)
1558:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1559:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until RXNE flag is set */
1560:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnRXNEFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK)
1561:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1562:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable Address Acknowledge */
1563:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK;
1564:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1565:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Store Last receive data if any */
1566:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_RXNE) == SET)
1567:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1568:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Read data from RXDR */
1569:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->RXDR;
ARM GAS /tmp/ccNVyn8W.s page 29
1570:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1571:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Increment Buffer pointer */
1572:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr++;
1573:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1574:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--;
1575:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--;
1576:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1577:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1578:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
1579:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1580:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Read data from RXDR */
1582:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->RXDR;
1583:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Increment Buffer pointer */
1585:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr++;
1586:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1587:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--;
1588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--;
1589:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1590:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until STOP flag is set */
1592:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnSTOPFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK)
1593:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1594:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable Address Acknowledge */
1595:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK;
1596:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
1597:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1598:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1599:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear STOP flag */
1600:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF);
1601:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1602:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until BUSY flag is reset */
1603:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_BUSY, SET, Timeout, tickstart) != HAL_OK)
1604:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1605:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable Address Acknowledge */
1606:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK;
1607:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
1608:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1609:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1610:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable Address Acknowledge */
1611:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK;
1612:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1613:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
1614:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
1615:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1616:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
1617:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
1618:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1619:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK;
1620:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1621:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
1622:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1623:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY;
1624:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1625:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1626:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
ARM GAS /tmp/ccNVyn8W.s page 30
1627:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
1628:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Transmit in master mode an amount of data in non-blocking mode with Interrupt
1629:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
1630:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
1631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
1632:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
1633:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param pData Pointer to data buffer
1634:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Size Amount of data to be sent
1635:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status
1636:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
1637:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Transmit_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t
1638:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t Size)
1639:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1640:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode;
1641:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1642:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
1643:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1644:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) == SET)
1645:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1646:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY;
1647:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1648:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1649:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Locked */
1650:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c);
1651:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1652:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX;
1653:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
1654:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
1655:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1656:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prepare transfer parameters */
1657:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
1658:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
1659:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
1660:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
1661:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1662:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
1663:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1664:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
1665:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
1666:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1667:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
1668:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1669:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
1670:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
1671:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1672:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1673:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Send Slave Address */
1674:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE */
1675:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, xfermode, I2C_GENERATE_START_WRIT
1676:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1677:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
1678:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
1679:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1680:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
1681:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
1682:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** process unlock */
1683:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
ARM GAS /tmp/ccNVyn8W.s page 31
1684:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK, TXI interrupt */
1685:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* possible to enable all of these */
1686:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI |
1687:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TXI */
1688:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_TX_IT);
1689:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1690:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK;
1691:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1692:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
1693:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1694:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY;
1695:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1696:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1697:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1698:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
1699:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Receive in master mode an amount of data in non-blocking mode with Interrupt
1700:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
1701:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
1702:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
1703:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
1704:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param pData Pointer to data buffer
1705:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Size Amount of data to be sent
1706:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status
1707:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
1708:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Receive_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t *
1709:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t Size)
1710:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1711:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode;
1712:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1713:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
1714:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1715:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) == SET)
1716:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1717:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY;
1718:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1719:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1720:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Locked */
1721:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c);
1722:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1723:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX;
1724:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
1725:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
1726:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1727:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prepare transfer parameters */
1728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
1729:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
1730:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
1731:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
1732:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1733:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
1734:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1735:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
1736:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
1737:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1738:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
1739:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1740:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
ARM GAS /tmp/ccNVyn8W.s page 32
1741:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
1742:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1743:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1744:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Send Slave Address */
1745:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE */
1746:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, xfermode, I2C_GENERATE_START_READ
1747:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1748:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
1749:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
1750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1751:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
1752:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
1753:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** process unlock */
1754:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1755:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK, RXI interrupt */
1756:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* possible to enable all of these */
1757:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI |
1758:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TXI */
1759:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_RX_IT);
1760:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1761:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK;
1762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1763:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
1764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1765:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY;
1766:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1767:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1769:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
1770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Transmit in slave mode an amount of data in non-blocking mode with Interrupt
1771:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
1772:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
1773:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param pData Pointer to data buffer
1774:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Size Amount of data to be sent
1775:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status
1776:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
1777:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Transmit_IT(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size)
1778:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1779:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
1780:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1781:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Locked */
1782:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c);
1783:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1784:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX;
1785:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
1786:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
1787:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1788:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable Address Acknowledge */
1789:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 &= ~I2C_CR2_NACK;
1790:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1791:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prepare transfer parameters */
1792:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
1793:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
1794:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
1795:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
1796:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
1797:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
ARM GAS /tmp/ccNVyn8W.s page 33
1798:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Preload TX data if no stretch enable */
1799:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->Init.NoStretchMode == I2C_NOSTRETCH_ENABLE)
1800:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1801:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Preload TX register */
1802:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Write data to TXDR */
1803:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->TXDR = *hi2c->pBuffPtr;
1804:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1805:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Increment Buffer pointer */
1806:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr++;
1807:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1808:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--;
1809:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--;
1810:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1811:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1812:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
1813:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
1814:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1815:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
1816:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
1817:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** process unlock */
1818:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1819:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK, TXI interrupt */
1820:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* possible to enable all of these */
1821:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI |
1822:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TXI */
1823:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_TX_IT | I2C_XFER_LISTEN_IT);
1824:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1825:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK;
1826:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1827:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
1828:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1829:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY;
1830:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1831:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1832:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1833:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
1834:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Receive in slave mode an amount of data in non-blocking mode with Interrupt
1835:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
1836:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
1837:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param pData Pointer to data buffer
1838:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Size Amount of data to be sent
1839:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status
1840:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
1841:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Receive_IT(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size)
1842:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1843:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
1844:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1845:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Locked */
1846:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c);
1847:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1848:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX;
1849:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
1850:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
1851:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1852:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable Address Acknowledge */
1853:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 &= ~I2C_CR2_NACK;
1854:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
ARM GAS /tmp/ccNVyn8W.s page 34
1855:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prepare transfer parameters */
1856:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
1857:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
1858:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
1859:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
1860:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
1861:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1862:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
1863:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
1864:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1865:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
1866:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
1867:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** process unlock */
1868:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1869:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK, RXI interrupt */
1870:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* possible to enable all of these */
1871:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI |
1872:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TXI */
1873:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_RX_IT | I2C_XFER_LISTEN_IT);
1874:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1875:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK;
1876:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1877:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
1878:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1879:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY;
1880:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1881:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1882:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1883:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
1884:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Transmit in master mode an amount of data in non-blocking mode with DMA
1885:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
1886:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
1887:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
1888:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
1889:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param pData Pointer to data buffer
1890:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Size Amount of data to be sent
1891:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status
1892:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
1893:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Transmit_DMA(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t
1894:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t Size)
1895:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1896:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode;
1897:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
1898:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1899:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
1900:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1901:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) == SET)
1902:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1903:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY;
1904:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1905:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1906:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Locked */
1907:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c);
1908:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1909:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX;
1910:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
1911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
ARM GAS /tmp/ccNVyn8W.s page 35
1912:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1913:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prepare transfer parameters */
1914:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
1915:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
1916:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
1917:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA;
1918:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1919:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
1920:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1921:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
1922:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
1923:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1924:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
1925:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1926:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
1927:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
1928:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1929:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1930:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferSize > 0U)
1931:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1932:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->hdmatx != NULL)
1933:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1934:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the I2C DMA transfer complete callback */
1935:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferCpltCallback = I2C_DMAMasterTransmitCplt;
1936:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1937:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the DMA error callback */
1938:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferErrorCallback = I2C_DMAError;
1939:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1940:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the unused DMA callbacks to NULL */
1941:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferHalfCpltCallback = NULL;
1942:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
1943:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1944:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable the DMA channel */
1945:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmatx, (uint32_t)pData, (uint32_t)&hi2c->Instance->
1946:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize);
1947:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1948:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
1949:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1950:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C state */
1951:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
1952:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
1953:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1954:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C error code */
1955:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA_PARAM;
1956:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1957:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
1958:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
1959:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
1961:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1962:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1963:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (dmaxferstatus == HAL_OK)
1964:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1965:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Send Slave Address */
1966:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE and generate RESTART
1967:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, xfermode, I2C_GENERATE_START_
1968:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
ARM GAS /tmp/ccNVyn8W.s page 36
1969:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update XferCount value */
1970:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount -= hi2c->XferSize;
1971:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1972:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
1973:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
1974:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1975:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
1976:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
1977:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** process unlock */
1978:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable ERR and NACK interrupts */
1979:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_ERROR_IT);
1980:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1981:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable DMA Request */
1982:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_TXDMAEN;
1983:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1984:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
1985:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1986:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C state */
1987:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
1988:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
1989:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1990:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C error code */
1991:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA;
1992:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1993:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
1994:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
1995:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1996:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
1997:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1998:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1999:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
2000:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2001:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update Transfer ISR function pointer */
2002:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
2003:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2004:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Send Slave Address */
2005:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set NBYTES to write and generate START condition */
2006:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
2007:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_GENERATE_START_WRITE);
2008:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2009:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
2010:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
2011:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2012:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
2013:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
2014:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** process unlock */
2015:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK, TXI interrupt */
2016:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* possible to enable all of these */
2017:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI |
2018:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TXI */
2019:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_TX_IT);
2020:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2021:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2022:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK;
2023:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2024:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
2025:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
ARM GAS /tmp/ccNVyn8W.s page 37
2026:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY;
2027:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2028:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2029:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2030:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
2031:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Receive in master mode an amount of data in non-blocking mode with DMA
2032:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
2033:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
2034:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
2035:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
2036:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param pData Pointer to data buffer
2037:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Size Amount of data to be sent
2038:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status
2039:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
2040:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Receive_DMA(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t
2041:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t Size)
2042:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2043:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode;
2044:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
2045:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2046:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
2047:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2048:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) == SET)
2049:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2050:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY;
2051:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2052:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2053:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Locked */
2054:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c);
2055:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2056:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX;
2057:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
2058:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
2059:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2060:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prepare transfer parameters */
2061:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
2062:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
2063:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
2064:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA;
2065:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2066:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
2067:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2068:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
2069:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
2070:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2071:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
2072:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2073:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
2074:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
2075:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2076:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2077:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferSize > 0U)
2078:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2079:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->hdmarx != NULL)
2080:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2081:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the I2C DMA transfer complete callback */
2082:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferCpltCallback = I2C_DMAMasterReceiveCplt;
ARM GAS /tmp/ccNVyn8W.s page 38
2083:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2084:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the DMA error callback */
2085:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferErrorCallback = I2C_DMAError;
2086:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2087:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the unused DMA callbacks to NULL */
2088:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferHalfCpltCallback = NULL;
2089:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
2090:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2091:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable the DMA channel */
2092:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmarx, (uint32_t)&hi2c->Instance->RXDR, (uint32_t)p
2093:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize);
2094:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2095:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
2096:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2097:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C state */
2098:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
2099:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
2100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2101:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C error code */
2102:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA_PARAM;
2103:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
2105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
2106:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
2108:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2109:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2110:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (dmaxferstatus == HAL_OK)
2111:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2112:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Send Slave Address */
2113:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set NBYTES to read and reload if hi2c->XferCount > MAX_NBYTE_SIZE and generate RESTART *
2114:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, xfermode, I2C_GENERATE_START_
2115:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update XferCount value */
2117:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount -= hi2c->XferSize;
2118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2119:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
2120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
2121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2122:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
2123:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
2124:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** process unlock */
2125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable ERR and NACK interrupts */
2126:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_ERROR_IT);
2127:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable DMA Request */
2129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_RXDMAEN;
2130:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
2132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C state */
2134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
2135:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
2136:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2137:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C error code */
2138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA;
2139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
ARM GAS /tmp/ccNVyn8W.s page 39
2140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
2141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
2142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
2144:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2146:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
2147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update Transfer ISR function pointer */
2149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
2150:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2151:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Send Slave Address */
2152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set NBYTES to read and generate START condition */
2153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
2154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_GENERATE_START_READ);
2155:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
2157:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
2158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
2160:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
2161:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** process unlock */
2162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK, TXI interrupt */
2163:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* possible to enable all of these */
2164:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI |
2165:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TXI */
2166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_TX_IT);
2167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK;
2170:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2171:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
2172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY;
2174:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2176:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
2178:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Transmit in slave mode an amount of data in non-blocking mode with DMA
2179:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
2180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
2181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param pData Pointer to data buffer
2182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Size Amount of data to be sent
2183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status
2184:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
2185:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Transmit_DMA(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size
2186:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2187:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
2188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
2190:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U))
2192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2193:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM;
2194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
2195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2196:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Locked */
ARM GAS /tmp/ccNVyn8W.s page 40
2197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c);
2198:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX;
2200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
2201:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
2202:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2203:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prepare transfer parameters */
2204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
2205:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
2206:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
2207:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
2208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_DMA;
2209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2210:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Preload TX data if no stretch enable */
2211:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->Init.NoStretchMode == I2C_NOSTRETCH_ENABLE)
2212:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2213:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Preload TX register */
2214:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Write data to TXDR */
2215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->TXDR = *hi2c->pBuffPtr;
2216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Increment Buffer pointer */
2218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr++;
2219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2220:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--;
2221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--;
2222:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2223:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount != 0U)
2225:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2226:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->hdmatx != NULL)
2227:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2228:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the I2C DMA transfer complete callback */
2229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferCpltCallback = I2C_DMASlaveTransmitCplt;
2230:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the DMA error callback */
2232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferErrorCallback = I2C_DMAError;
2233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2234:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the unused DMA callbacks to NULL */
2235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferHalfCpltCallback = NULL;
2236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
2237:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable the DMA channel */
2239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmatx,
2240:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (uint32_t)hi2c->pBuffPtr, (uint32_t)&hi2c->Instance->TXDR,
2241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize);
2242:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2243:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
2244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2245:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C state */
2246:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN;
2247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
2248:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C error code */
2250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA_PARAM;
2251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2252:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
2253:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
ARM GAS /tmp/ccNVyn8W.s page 41
2254:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2255:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
2256:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2257:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (dmaxferstatus == HAL_OK)
2259:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2260:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable Address Acknowledge */
2261:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 &= ~I2C_CR2_NACK;
2262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
2264:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
2265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2266:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
2267:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
2268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** process unlock */
2269:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable ERR, STOP, NACK, ADDR interrupts */
2270:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_LISTEN_IT);
2271:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2272:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable DMA Request */
2273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_TXDMAEN;
2274:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
2276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2277:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C state */
2278:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN;
2279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
2280:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2281:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C error code */
2282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA;
2283:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
2285:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
2286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
2288:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
2291:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable Address Acknowledge */
2293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 &= ~I2C_CR2_NACK;
2294:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
2296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
2297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
2299:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
2300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** process unlock */
2301:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable ERR, STOP, NACK, ADDR interrupts */
2302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_LISTEN_IT);
2303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK;
2306:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2307:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
2308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY;
2310:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
ARM GAS /tmp/ccNVyn8W.s page 42
2311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
2314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Receive in slave mode an amount of data in non-blocking mode with DMA
2315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
2316:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
2317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param pData Pointer to data buffer
2318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Size Amount of data to be sent
2319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status
2320:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
2321:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Receive_DMA(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size)
2322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
2324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
2326:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U))
2328:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM;
2330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
2331:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Locked */
2333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c);
2334:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX;
2336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
2337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
2338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prepare transfer parameters */
2340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
2341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
2342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
2343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
2344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_DMA;
2345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->hdmarx != NULL)
2347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the I2C DMA transfer complete callback */
2349:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferCpltCallback = I2C_DMASlaveReceiveCplt;
2350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the DMA error callback */
2352:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferErrorCallback = I2C_DMAError;
2353:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2354:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the unused DMA callbacks to NULL */
2355:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferHalfCpltCallback = NULL;
2356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
2357:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable the DMA channel */
2359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmarx, (uint32_t)&hi2c->Instance->RXDR, (uint32_t)pDa
2360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize);
2361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
2363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C state */
2365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN;
2366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
2367:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
ARM GAS /tmp/ccNVyn8W.s page 43
2368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C error code */
2369:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA_PARAM;
2370:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
2372:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
2373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2374:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
2375:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2376:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (dmaxferstatus == HAL_OK)
2378:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2379:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable Address Acknowledge */
2380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 &= ~I2C_CR2_NACK;
2381:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2382:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
2383:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
2384:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2385:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
2386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
2387:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** process unlock */
2388:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable ERR, STOP, NACK, ADDR interrupts */
2389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_LISTEN_IT);
2390:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2391:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable DMA Request */
2392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_RXDMAEN;
2393:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2394:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
2395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2396:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C state */
2397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN;
2398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
2399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2400:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C error code */
2401:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA;
2402:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2403:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
2404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
2405:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
2407:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2408:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2409:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK;
2410:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2411:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
2412:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2413:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY;
2414:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2416:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
2418:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Write an amount of data in blocking mode to a specific memory address
2419:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
2420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
2421:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
2422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
2423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param MemAddress Internal memory address
2424:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param MemAddSize Size of internal memory address
ARM GAS /tmp/ccNVyn8W.s page 44
2425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param pData Pointer to data buffer
2426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Size Amount of data to be sent
2427:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Timeout Timeout duration
2428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status
2429:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
2430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Mem_Write(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemAddre
2431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t MemAddSize, uint8_t *pData, uint16_t Size, uint32_t Ti
2432:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2433:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tickstart;
2434:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check the parameters */
2436:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_MEMADD_SIZE(MemAddSize));
2437:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2438:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
2439:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U))
2441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM;
2443:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
2444:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2445:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2446:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Locked */
2447:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c);
2448:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2449:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Init tickstart for timeout management*/
2450:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tickstart = HAL_GetTick();
2451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_BUSY, SET, I2C_TIMEOUT_BUSY, tickstart) != HAL_OK
2453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2454:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
2455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2456:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2457:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX;
2458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
2459:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
2460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2461:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prepare transfer parameters */
2462:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
2463:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
2464:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL;
2465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2466:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Send Slave Address and Memory Address */
2467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_RequestMemoryWrite(hi2c, DevAddress, MemAddress, MemAddSize, Timeout, tickstart) != HAL
2468:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2469:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
2470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
2471:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
2472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2473:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2474:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE */
2475:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
2476:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2477:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
2478:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, I2C_NO_STARTST
2479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
2481:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
ARM GAS /tmp/ccNVyn8W.s page 45
2482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
2483:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, I2C_NO_STARTS
2484:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2486:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** do
2487:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2488:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until TXIS flag is set */
2489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnTXISFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK)
2490:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
2492:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2493:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2494:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Write data to TXDR */
2495:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->TXDR = *hi2c->pBuffPtr;
2496:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Increment Buffer pointer */
2498:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr++;
2499:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2500:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--;
2501:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--;
2502:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2503:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((hi2c->XferCount != 0U) && (hi2c->XferSize == 0U))
2504:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2505:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until TCR flag is set */
2506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_TCR, RESET, Timeout, tickstart) != HAL_OK)
2507:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2508:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
2509:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2510:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2511:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
2512:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2513:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
2514:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE,
2515:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_NO_STARTSTOP);
2516:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2517:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
2518:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
2520:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
2521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_NO_STARTSTOP);
2522:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2523:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2524:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2525:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } while (hi2c->XferCount > 0U);
2526:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* No need to Check TC flag, with AUTOEND mode the stop is automatically generated */
2528:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until STOPF flag is reset */
2529:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnSTOPFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK)
2530:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2531:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
2532:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2533:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2534:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear STOP Flag */
2535:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF);
2536:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2537:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear Configuration Register 2 */
2538:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_RESET_CR2(hi2c);
ARM GAS /tmp/ccNVyn8W.s page 46
2539:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2540:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
2541:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
2542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2543:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
2544:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
2545:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2546:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK;
2547:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2548:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
2549:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2550:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY;
2551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2552:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2554:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
2555:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Read an amount of data in blocking mode from a specific memory address
2556:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
2557:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
2558:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
2559:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
2560:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param MemAddress Internal memory address
2561:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param MemAddSize Size of internal memory address
2562:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param pData Pointer to data buffer
2563:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Size Amount of data to be sent
2564:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Timeout Timeout duration
2565:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status
2566:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
2567:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Mem_Read(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemAddres
2568:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t MemAddSize, uint8_t *pData, uint16_t Size, uint32_t Tim
2569:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2570:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tickstart;
2571:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2572:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check the parameters */
2573:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_MEMADD_SIZE(MemAddSize));
2574:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2575:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
2576:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2577:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U))
2578:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2579:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM;
2580:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
2581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2582:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2583:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Locked */
2584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c);
2585:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2586:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Init tickstart for timeout management*/
2587:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tickstart = HAL_GetTick();
2588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2589:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_BUSY, SET, I2C_TIMEOUT_BUSY, tickstart) != HAL_OK
2590:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
2592:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2593:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2594:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX;
2595:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
ARM GAS /tmp/ccNVyn8W.s page 47
2596:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
2597:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2598:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prepare transfer parameters */
2599:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
2600:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
2601:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL;
2602:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2603:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Send Slave Address and Memory Address */
2604:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_RequestMemoryRead(hi2c, DevAddress, MemAddress, MemAddSize, Timeout, tickstart) != HAL_
2605:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2606:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
2607:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
2608:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
2609:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2610:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2611:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Send Slave Address */
2612:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE and generate RESTART */
2613:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
2614:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2615:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
2616:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE,
2617:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_GENERATE_START_READ);
2618:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2619:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
2620:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2621:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
2622:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
2623:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_GENERATE_START_READ);
2624:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2625:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2626:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** do
2627:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2628:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until RXNE flag is set */
2629:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_RXNE, RESET, Timeout, tickstart) != HAL_OK)
2630:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
2632:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2633:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2634:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Read data from RXDR */
2635:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->RXDR;
2636:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2637:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Increment Buffer pointer */
2638:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr++;
2639:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2640:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--;
2641:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--;
2642:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2643:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((hi2c->XferCount != 0U) && (hi2c->XferSize == 0U))
2644:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2645:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until TCR flag is set */
2646:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_TCR, RESET, Timeout, tickstart) != HAL_OK)
2647:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2648:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
2649:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2650:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2651:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
2652:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
ARM GAS /tmp/ccNVyn8W.s page 48
2653:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
2654:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t) hi2c->XferSize, I2C_RELOAD_MODE,
2655:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_NO_STARTSTOP);
2656:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2657:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
2658:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2659:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
2660:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
2661:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_NO_STARTSTOP);
2662:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2663:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2664:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } while (hi2c->XferCount > 0U);
2665:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2666:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* No need to Check TC flag, with AUTOEND mode the stop is automatically generated */
2667:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until STOPF flag is reset */
2668:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnSTOPFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK)
2669:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2670:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
2671:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2672:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2673:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear STOP Flag */
2674:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF);
2675:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2676:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear Configuration Register 2 */
2677:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_RESET_CR2(hi2c);
2678:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2679:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
2680:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
2681:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2682:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
2683:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
2684:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2685:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK;
2686:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2687:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
2688:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2689:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY;
2690:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2691:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2692:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
2693:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Write an amount of data in non-blocking mode with Interrupt to a specific memory addres
2694:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
2695:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
2696:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
2697:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
2698:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param MemAddress Internal memory address
2699:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param MemAddSize Size of internal memory address
2700:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param pData Pointer to data buffer
2701:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Size Amount of data to be sent
2702:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status
2703:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
2704:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Mem_Write_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemAd
2705:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t MemAddSize, uint8_t *pData, uint16_t Size)
2706:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2707:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check the parameters */
2708:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_MEMADD_SIZE(MemAddSize));
2709:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
ARM GAS /tmp/ccNVyn8W.s page 49
2710:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
2711:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2712:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U))
2713:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2714:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM;
2715:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
2716:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2717:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2718:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) == SET)
2719:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2720:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY;
2721:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2722:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2723:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Locked */
2724:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c);
2725:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2726:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX;
2727:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
2728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
2729:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2730:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prepare transfer parameters */
2731:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
2732:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
2733:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
2734:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Mem_ISR_IT;
2735:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Devaddress = DevAddress;
2736:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2737:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* If Memory address size is 8Bit */
2738:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (MemAddSize == I2C_MEMADD_SIZE_8BIT)
2739:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2740:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prefetch Memory Address */
2741:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->TXDR = I2C_MEM_ADD_LSB(MemAddress);
2742:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2743:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Reset Memaddress content */
2744:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Memaddress = 0xFFFFFFFFU;
2745:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2746:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* If Memory address size is 16Bit */
2747:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
2748:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2749:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prefetch Memory Address (MSB part, LSB will be manage through interrupt) */
2750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->TXDR = I2C_MEM_ADD_MSB(MemAddress);
2751:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2752:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prepare Memaddress buffer for LSB part */
2753:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Memaddress = I2C_MEM_ADD_LSB(MemAddress);
2754:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2755:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Send Slave Address and Memory Address */
2756:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)MemAddSize, I2C_RELOAD_MODE, I2C_GENERATE_START_W
2757:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2758:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
2759:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
2760:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2761:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
2762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
2763:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** process unlock */
2764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2765:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK, TXI interrupt */
2766:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* possible to enable all of these */
ARM GAS /tmp/ccNVyn8W.s page 50
2767:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI |
2768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TXI */
2769:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_TX_IT);
2770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2771:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK;
2772:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2773:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
2774:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2775:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY;
2776:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2777:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2778:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2779:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
2780:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Read an amount of data in non-blocking mode with Interrupt from a specific memory addre
2781:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
2782:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
2783:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
2784:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
2785:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param MemAddress Internal memory address
2786:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param MemAddSize Size of internal memory address
2787:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param pData Pointer to data buffer
2788:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Size Amount of data to be sent
2789:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status
2790:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
2791:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Mem_Read_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemAdd
2792:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t MemAddSize, uint8_t *pData, uint16_t Size)
2793:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2794:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check the parameters */
2795:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_MEMADD_SIZE(MemAddSize));
2796:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2797:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
2798:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2799:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U))
2800:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2801:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM;
2802:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
2803:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2804:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2805:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) == SET)
2806:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2807:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY;
2808:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2809:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2810:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Locked */
2811:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c);
2812:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2813:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX;
2814:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
2815:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
2816:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2817:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prepare transfer parameters */
2818:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
2819:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
2820:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
2821:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Mem_ISR_IT;
2822:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Devaddress = DevAddress;
2823:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
ARM GAS /tmp/ccNVyn8W.s page 51
2824:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* If Memory address size is 8Bit */
2825:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (MemAddSize == I2C_MEMADD_SIZE_8BIT)
2826:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2827:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prefetch Memory Address */
2828:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->TXDR = I2C_MEM_ADD_LSB(MemAddress);
2829:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2830:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Reset Memaddress content */
2831:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Memaddress = 0xFFFFFFFFU;
2832:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2833:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* If Memory address size is 16Bit */
2834:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
2835:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2836:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prefetch Memory Address (MSB part, LSB will be manage through interrupt) */
2837:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->TXDR = I2C_MEM_ADD_MSB(MemAddress);
2838:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2839:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prepare Memaddress buffer for LSB part */
2840:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Memaddress = I2C_MEM_ADD_LSB(MemAddress);
2841:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2842:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Send Slave Address and Memory Address */
2843:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)MemAddSize, I2C_SOFTEND_MODE, I2C_GENERATE_START_
2844:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2845:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
2846:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
2847:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2848:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
2849:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
2850:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** process unlock */
2851:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2852:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK, RXI interrupt */
2853:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* possible to enable all of these */
2854:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI |
2855:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TXI */
2856:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, (I2C_XFER_TX_IT | I2C_XFER_RX_IT));
2857:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2858:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK;
2859:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2860:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
2861:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2862:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY;
2863:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2864:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2865:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2866:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
2867:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Write an amount of data in non-blocking mode with DMA to a specific memory address
2868:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
2869:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
2870:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
2871:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
2872:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param MemAddress Internal memory address
2873:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param MemAddSize Size of internal memory address
2874:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param pData Pointer to data buffer
2875:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Size Amount of data to be sent
2876:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status
2877:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
2878:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Mem_Write_DMA(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemA
2879:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t MemAddSize, uint8_t *pData, uint16_t Size)
2880:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
ARM GAS /tmp/ccNVyn8W.s page 52
2881:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
2882:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2883:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check the parameters */
2884:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_MEMADD_SIZE(MemAddSize));
2885:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2886:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
2887:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2888:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U))
2889:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2890:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM;
2891:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
2892:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2893:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2894:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) == SET)
2895:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2896:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY;
2897:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2898:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2899:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Locked */
2900:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c);
2901:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2902:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX;
2903:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
2904:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
2905:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2906:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prepare transfer parameters */
2907:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
2908:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
2909:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
2910:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Mem_ISR_DMA;
2911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Devaddress = DevAddress;
2912:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2913:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
2914:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2915:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
2916:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2917:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
2918:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2919:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
2920:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2921:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2922:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* If Memory address size is 8Bit */
2923:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (MemAddSize == I2C_MEMADD_SIZE_8BIT)
2924:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2925:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prefetch Memory Address */
2926:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->TXDR = I2C_MEM_ADD_LSB(MemAddress);
2927:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2928:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Reset Memaddress content */
2929:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Memaddress = 0xFFFFFFFFU;
2930:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2931:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* If Memory address size is 16Bit */
2932:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
2933:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2934:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prefetch Memory Address (MSB part, LSB will be manage through interrupt) */
2935:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->TXDR = I2C_MEM_ADD_MSB(MemAddress);
2936:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2937:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prepare Memaddress buffer for LSB part */
ARM GAS /tmp/ccNVyn8W.s page 53
2938:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Memaddress = I2C_MEM_ADD_LSB(MemAddress);
2939:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2940:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2941:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->hdmatx != NULL)
2942:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2943:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the I2C DMA transfer complete callback */
2944:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferCpltCallback = I2C_DMAMasterTransmitCplt;
2945:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2946:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the DMA error callback */
2947:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferErrorCallback = I2C_DMAError;
2948:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2949:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the unused DMA callbacks to NULL */
2950:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferHalfCpltCallback = NULL;
2951:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
2952:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2953:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable the DMA channel */
2954:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmatx, (uint32_t)pData, (uint32_t)&hi2c->Instance->TX
2955:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize);
2956:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2957:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
2958:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2959:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C state */
2960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
2961:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
2962:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2963:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C error code */
2964:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA_PARAM;
2965:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2966:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
2967:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
2968:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2969:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
2970:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2971:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2972:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (dmaxferstatus == HAL_OK)
2973:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2974:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Send Slave Address and Memory Address */
2975:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)MemAddSize, I2C_RELOAD_MODE, I2C_GENERATE_START
2976:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2977:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
2978:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
2979:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2980:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
2981:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
2982:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** process unlock */
2983:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK, TXI interrupt */
2984:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* possible to enable all of these */
2985:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI |
2986:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TXI */
2987:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_TX_IT);
2988:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2989:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
2990:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2991:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C state */
2992:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
2993:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
2994:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
ARM GAS /tmp/ccNVyn8W.s page 54
2995:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C error code */
2996:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA;
2997:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2998:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
2999:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
3000:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3001:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
3002:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3003:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3004:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK;
3005:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3006:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
3007:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3008:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY;
3009:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3010:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3011:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3012:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
3013:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Reads an amount of data in non-blocking mode with DMA from a specific memory address.
3014:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
3015:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
3016:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
3017:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
3018:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param MemAddress Internal memory address
3019:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param MemAddSize Size of internal memory address
3020:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param pData Pointer to data buffer
3021:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Size Amount of data to be read
3022:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status
3023:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
3024:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Mem_Read_DMA(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemAd
3025:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t MemAddSize, uint8_t *pData, uint16_t Size)
3026:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3027:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
3028:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3029:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check the parameters */
3030:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_MEMADD_SIZE(MemAddSize));
3031:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3032:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
3033:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3034:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U))
3035:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3036:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM;
3037:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
3038:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3039:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3040:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) == SET)
3041:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3042:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY;
3043:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3044:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3045:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Locked */
3046:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c);
3047:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3048:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX;
3049:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
3050:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
3051:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
ARM GAS /tmp/ccNVyn8W.s page 55
3052:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prepare transfer parameters */
3053:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
3054:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
3055:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
3056:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Mem_ISR_DMA;
3057:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Devaddress = DevAddress;
3058:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3059:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
3060:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3061:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
3062:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3063:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
3064:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3065:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
3066:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3067:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3068:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* If Memory address size is 8Bit */
3069:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (MemAddSize == I2C_MEMADD_SIZE_8BIT)
3070:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3071:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prefetch Memory Address */
3072:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->TXDR = I2C_MEM_ADD_LSB(MemAddress);
3073:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3074:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Reset Memaddress content */
3075:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Memaddress = 0xFFFFFFFFU;
3076:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3077:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* If Memory address size is 16Bit */
3078:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
3079:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3080:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prefetch Memory Address (MSB part, LSB will be manage through interrupt) */
3081:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->TXDR = I2C_MEM_ADD_MSB(MemAddress);
3082:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3083:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prepare Memaddress buffer for LSB part */
3084:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Memaddress = I2C_MEM_ADD_LSB(MemAddress);
3085:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3086:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3087:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->hdmarx != NULL)
3088:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3089:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the I2C DMA transfer complete callback */
3090:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferCpltCallback = I2C_DMAMasterReceiveCplt;
3091:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3092:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the DMA error callback */
3093:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferErrorCallback = I2C_DMAError;
3094:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3095:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the unused DMA callbacks to NULL */
3096:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferHalfCpltCallback = NULL;
3097:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
3098:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3099:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable the DMA channel */
3100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmarx, (uint32_t)&hi2c->Instance->RXDR, (uint32_t)pDa
3101:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize);
3102:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3103:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
3104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C state */
3106:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
3107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
3108:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
ARM GAS /tmp/ccNVyn8W.s page 56
3109:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C error code */
3110:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA_PARAM;
3111:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3112:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
3113:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
3114:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3115:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
3116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3117:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (dmaxferstatus == HAL_OK)
3119:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Send Slave Address and Memory Address */
3121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)MemAddSize, I2C_SOFTEND_MODE, I2C_GENERATE_STAR
3122:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3123:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
3124:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
3125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3126:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
3127:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
3128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** process unlock */
3129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK, TXI interrupt */
3130:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* possible to enable all of these */
3131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI |
3132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TXI */
3133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_TX_IT);
3134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3135:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
3136:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3137:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C state */
3138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
3139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
3140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C error code */
3142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA;
3143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3144:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
3145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
3146:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
3148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3150:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK;
3151:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
3153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY;
3155:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3157:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
3159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Checks if target device is ready for communication.
3160:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @note This function is used with Memory devices
3161:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
3162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
3163:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
3164:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
3165:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Trials Number of trials
ARM GAS /tmp/ccNVyn8W.s page 57
3166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Timeout Timeout duration
3167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status
3168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
3169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_IsDeviceReady(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint32_t Tria
3170:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t Timeout)
3171:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tickstart;
3173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3174:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __IO uint32_t I2C_Trials = 0UL;
3175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3176:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** FlagStatus tmp1;
3177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** FlagStatus tmp2;
3178:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3179:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
3180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) == SET)
3182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY;
3184:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3185:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3186:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Locked */
3187:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c);
3188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY;
3190:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
3191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** do
3193:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Generate Start */
3195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 = I2C_GENERATE_START(hi2c->Init.AddressingMode, DevAddress);
3196:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* No need to Check TC flag, with AUTOEND mode the stop is automatically generated */
3198:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until STOPF flag is set or a NACK flag is set*/
3199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tickstart = HAL_GetTick();
3200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3201:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmp1 = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_STOPF);
3202:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmp2 = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF);
3203:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** while ((tmp1 == RESET) && (tmp2 == RESET))
3205:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3206:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (Timeout != HAL_MAX_DELAY)
3207:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (((HAL_GetTick() - tickstart) > Timeout) || (Timeout == 0U))
3209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3210:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C state */
3211:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
3212:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3213:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C error code */
3214:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT;
3215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
3217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
3218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
3220:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3222:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
ARM GAS /tmp/ccNVyn8W.s page 58
3223:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmp1 = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_STOPF);
3224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmp2 = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF);
3225:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3226:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3227:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check if the NACKF flag has not been set */
3228:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF) == RESET)
3229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3230:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until STOPF flag is reset */
3231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_STOPF, RESET, Timeout, tickstart) != HAL_OK)
3232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
3234:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear STOP Flag */
3237:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF);
3238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Device is ready */
3240:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
3241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3242:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
3243:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
3244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3245:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK;
3246:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
3248:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until STOPF flag is reset */
3250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_STOPF, RESET, Timeout, tickstart) != HAL_OK)
3251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3252:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
3253:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3254:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3255:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear NACK Flag */
3256:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
3257:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear STOP Flag, auto generated with autoend*/
3259:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF);
3260:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3261:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check if the maximum allowed number of trials has been reached */
3263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_Trials == Trials)
3264:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Generate Stop */
3266:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_STOP;
3267:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until STOPF flag is reset */
3269:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_STOPF, RESET, Timeout, tickstart) != HAL_OK)
3270:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3271:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
3272:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3274:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear STOP Flag */
3275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF);
3276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3277:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3278:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Increment Trials */
3279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Trials++;
ARM GAS /tmp/ccNVyn8W.s page 59
3280:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } while (I2C_Trials < Trials);
3281:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C state */
3283:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
3284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3285:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C error code */
3286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT;
3287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3288:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
3289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
3290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3291:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
3292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
3294:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY;
3296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3299:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
3300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Sequential transmit in master I2C mode an amount of data in non-blocking mode with Inte
3301:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @note This interface allow to manage repeated start condition when a direction change during
3302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
3303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
3304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
3305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
3306:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param pData Pointer to data buffer
3307:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Size Amount of data to be sent
3308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param XferOptions Options of Transfer, value of @ref I2C_XFEROPTIONS
3309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status
3310:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
3311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Seq_Transmit_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint
3312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t Size, uint32_t XferOptions)
3313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode;
3315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xferrequest = I2C_GENERATE_START_WRITE;
3316:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check the parameters */
3318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_TRANSFER_OPTIONS_REQUEST(XferOptions));
3319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3320:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
3321:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Locked */
3323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c);
3324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX;
3326:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
3327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
3328:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prepare transfer parameters */
3330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
3331:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
3332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
3333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
3334:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* If hi2c->XferCount > MAX_NBYTE_SIZE, use reload mode */
3336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
ARM GAS /tmp/ccNVyn8W.s page 60
3337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
3339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
3340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
3342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
3344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
3345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* If transfer direction not change and there is no request to start another frame,
3348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** do not generate Restart Condition */
3349:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Mean Previous state is same as current state */
3350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((hi2c->PreviousState == I2C_STATE_MASTER_BUSY_TX) && \
3351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0))
3352:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3353:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xferrequest = I2C_NO_STARTSTOP;
3354:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3355:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
3356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3357:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Convert OTHER_xxx XferOptions if any */
3358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ConvertOtherXferOptions(hi2c);
3359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update xfermode accordingly if no reload is necessary */
3361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount <= MAX_NBYTE_SIZE)
3362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
3364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3367:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Send Slave Address and set NBYTES to write */
3368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, xfermode, xferrequest);
3369:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3370:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
3371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
3372:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
3374:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
3375:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** process unlock */
3376:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK, TXI interrupt */
3377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* possible to enable all of these */
3378:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI |
3379:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TXI */
3380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_TX_IT);
3381:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3382:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK;
3383:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3384:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
3385:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY;
3387:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3388:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3390:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
3391:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Sequential transmit in master I2C mode an amount of data in non-blocking mode with DMA.
3392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @note This interface allow to manage repeated start condition when a direction change during
3393:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
ARM GAS /tmp/ccNVyn8W.s page 61
3394:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
3395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
3396:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
3397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param pData Pointer to data buffer
3398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Size Amount of data to be sent
3399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param XferOptions Options of Transfer, value of @ref I2C_XFEROPTIONS
3400:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status
3401:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
3402:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Seq_Transmit_DMA(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uin
3403:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t Size, uint32_t XferOptions)
3404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3405:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode;
3406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xferrequest = I2C_GENERATE_START_WRITE;
3407:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
3408:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3409:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check the parameters */
3410:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_TRANSFER_OPTIONS_REQUEST(XferOptions));
3411:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3412:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
3413:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3414:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Locked */
3415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c);
3416:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX;
3418:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
3419:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
3420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3421:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prepare transfer parameters */
3422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
3423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
3424:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
3425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA;
3426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3427:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* If hi2c->XferCount > MAX_NBYTE_SIZE, use reload mode */
3428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
3429:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
3431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
3432:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3433:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
3434:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
3436:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
3437:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3438:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3439:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* If transfer direction not change and there is no request to start another frame,
3440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** do not generate Restart Condition */
3441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Mean Previous state is same as current state */
3442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((hi2c->PreviousState == I2C_STATE_MASTER_BUSY_TX) && \
3443:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0))
3444:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3445:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xferrequest = I2C_NO_STARTSTOP;
3446:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3447:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
3448:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3449:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Convert OTHER_xxx XferOptions if any */
3450:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ConvertOtherXferOptions(hi2c);
ARM GAS /tmp/ccNVyn8W.s page 62
3451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update xfermode accordingly if no reload is necessary */
3453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount <= MAX_NBYTE_SIZE)
3454:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
3456:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3457:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3459:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferSize > 0U)
3460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3461:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->hdmatx != NULL)
3462:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3463:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the I2C DMA transfer complete callback */
3464:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferCpltCallback = I2C_DMAMasterTransmitCplt;
3465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3466:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the DMA error callback */
3467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferErrorCallback = I2C_DMAError;
3468:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3469:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the unused DMA callbacks to NULL */
3470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferHalfCpltCallback = NULL;
3471:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
3472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3473:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable the DMA channel */
3474:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmatx, (uint32_t)pData, (uint32_t)&hi2c->Instance->
3475:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize);
3476:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3477:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
3478:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C state */
3480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
3481:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
3482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3483:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C error code */
3484:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA_PARAM;
3485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3486:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
3487:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
3488:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
3490:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3492:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (dmaxferstatus == HAL_OK)
3493:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3494:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Send Slave Address and set NBYTES to write */
3495:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, xfermode, xferrequest);
3496:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update XferCount value */
3498:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount -= hi2c->XferSize;
3499:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3500:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
3501:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
3502:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3503:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
3504:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
3505:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** process unlock */
3506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable ERR and NACK interrupts */
3507:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_ERROR_IT);
ARM GAS /tmp/ccNVyn8W.s page 63
3508:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3509:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable DMA Request */
3510:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_TXDMAEN;
3511:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3512:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
3513:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3514:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C state */
3515:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
3516:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
3517:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3518:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C error code */
3519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA;
3520:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
3522:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
3523:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3524:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
3525:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3526:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
3528:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3529:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update Transfer ISR function pointer */
3530:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
3531:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3532:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Send Slave Address */
3533:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set NBYTES to write and generate START condition */
3534:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
3535:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_GENERATE_START_WRITE);
3536:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3537:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
3538:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
3539:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3540:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
3541:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
3542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** process unlock */
3543:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK, TXI interrupt */
3544:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* possible to enable all of these */
3545:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI |
3546:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TXI */
3547:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_TX_IT);
3548:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3549:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3550:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK;
3551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3552:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
3553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3554:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY;
3555:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3556:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3557:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3558:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
3559:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Sequential receive in master I2C mode an amount of data in non-blocking mode with Inter
3560:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @note This interface allow to manage repeated start condition when a direction change during
3561:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
3562:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
3563:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
3564:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
ARM GAS /tmp/ccNVyn8W.s page 64
3565:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param pData Pointer to data buffer
3566:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Size Amount of data to be sent
3567:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param XferOptions Options of Transfer, value of @ref I2C_XFEROPTIONS
3568:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status
3569:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
3570:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Seq_Receive_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8
3571:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t Size, uint32_t XferOptions)
3572:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3573:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode;
3574:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xferrequest = I2C_GENERATE_START_READ;
3575:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3576:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check the parameters */
3577:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_TRANSFER_OPTIONS_REQUEST(XferOptions));
3578:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3579:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
3580:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Locked */
3582:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c);
3583:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX;
3585:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
3586:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
3587:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prepare transfer parameters */
3589:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
3590:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
3591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
3592:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
3593:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3594:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* If hi2c->XferCount > MAX_NBYTE_SIZE, use reload mode */
3595:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
3596:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3597:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
3598:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
3599:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3600:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
3601:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3602:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
3603:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
3604:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3605:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3606:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* If transfer direction not change and there is no request to start another frame,
3607:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** do not generate Restart Condition */
3608:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Mean Previous state is same as current state */
3609:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((hi2c->PreviousState == I2C_STATE_MASTER_BUSY_RX) && \
3610:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0))
3611:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3612:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xferrequest = I2C_NO_STARTSTOP;
3613:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3614:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
3615:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3616:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Convert OTHER_xxx XferOptions if any */
3617:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ConvertOtherXferOptions(hi2c);
3618:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3619:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update xfermode accordingly if no reload is necessary */
3620:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount <= MAX_NBYTE_SIZE)
3621:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
ARM GAS /tmp/ccNVyn8W.s page 65
3622:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
3623:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3624:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3625:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3626:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Send Slave Address and set NBYTES to read */
3627:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, xfermode, xferrequest);
3628:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3629:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
3630:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
3631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3632:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
3633:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
3634:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** process unlock */
3635:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_RX_IT);
3636:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3637:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK;
3638:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3639:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
3640:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3641:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY;
3642:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3643:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3644:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3645:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
3646:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Sequential receive in master I2C mode an amount of data in non-blocking mode with DMA
3647:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @note This interface allow to manage repeated start condition when a direction change during
3648:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
3649:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
3650:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
3651:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
3652:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param pData Pointer to data buffer
3653:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Size Amount of data to be sent
3654:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param XferOptions Options of Transfer, value of @ref I2C_XFEROPTIONS
3655:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status
3656:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
3657:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Seq_Receive_DMA(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint
3658:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t Size, uint32_t XferOptions)
3659:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3660:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode;
3661:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xferrequest = I2C_GENERATE_START_READ;
3662:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
3663:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3664:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check the parameters */
3665:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_TRANSFER_OPTIONS_REQUEST(XferOptions));
3666:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3667:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
3668:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3669:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Locked */
3670:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c);
3671:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3672:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX;
3673:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
3674:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
3675:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3676:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prepare transfer parameters */
3677:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
3678:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
ARM GAS /tmp/ccNVyn8W.s page 66
3679:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
3680:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA;
3681:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3682:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* If hi2c->XferCount > MAX_NBYTE_SIZE, use reload mode */
3683:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
3684:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3685:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
3686:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
3687:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3688:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
3689:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3690:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
3691:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
3692:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3693:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3694:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* If transfer direction not change and there is no request to start another frame,
3695:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** do not generate Restart Condition */
3696:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Mean Previous state is same as current state */
3697:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((hi2c->PreviousState == I2C_STATE_MASTER_BUSY_RX) && \
3698:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0))
3699:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3700:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xferrequest = I2C_NO_STARTSTOP;
3701:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3702:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
3703:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3704:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Convert OTHER_xxx XferOptions if any */
3705:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ConvertOtherXferOptions(hi2c);
3706:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3707:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update xfermode accordingly if no reload is necessary */
3708:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount <= MAX_NBYTE_SIZE)
3709:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3710:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
3711:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3712:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3713:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3714:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferSize > 0U)
3715:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3716:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->hdmarx != NULL)
3717:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3718:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the I2C DMA transfer complete callback */
3719:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferCpltCallback = I2C_DMAMasterReceiveCplt;
3720:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3721:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the DMA error callback */
3722:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferErrorCallback = I2C_DMAError;
3723:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3724:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the unused DMA callbacks to NULL */
3725:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferHalfCpltCallback = NULL;
3726:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
3727:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable the DMA channel */
3729:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmarx, (uint32_t)&hi2c->Instance->RXDR, (uint32_t)p
3730:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize);
3731:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3732:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
3733:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3734:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C state */
3735:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
ARM GAS /tmp/ccNVyn8W.s page 67
3736:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
3737:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3738:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C error code */
3739:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA_PARAM;
3740:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3741:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
3742:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
3743:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3744:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
3745:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3746:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3747:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (dmaxferstatus == HAL_OK)
3748:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3749:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Send Slave Address and set NBYTES to read */
3750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, xfermode, xferrequest);
3751:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3752:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update XferCount value */
3753:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount -= hi2c->XferSize;
3754:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3755:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
3756:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
3757:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3758:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
3759:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
3760:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** process unlock */
3761:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable ERR and NACK interrupts */
3762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_ERROR_IT);
3763:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable DMA Request */
3765:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_RXDMAEN;
3766:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3767:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
3768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3769:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C state */
3770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
3771:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
3772:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3773:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C error code */
3774:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA;
3775:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3776:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
3777:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
3778:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3779:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
3780:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3781:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3782:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
3783:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3784:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update Transfer ISR function pointer */
3785:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
3786:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3787:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Send Slave Address */
3788:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set NBYTES to read and generate START condition */
3789:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
3790:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_GENERATE_START_READ);
3791:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3792:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
ARM GAS /tmp/ccNVyn8W.s page 68
3793:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
3794:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3795:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
3796:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
3797:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** process unlock */
3798:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK, TXI interrupt */
3799:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* possible to enable all of these */
3800:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI |
3801:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TXI */
3802:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_TX_IT);
3803:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3804:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3805:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK;
3806:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3807:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
3808:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3809:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY;
3810:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3811:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3812:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3813:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
3814:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Sequential transmit in slave/device I2C mode an amount of data in non-blocking mode wit
3815:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @note This interface allow to manage repeated start condition when a direction change during
3816:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
3817:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
3818:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param pData Pointer to data buffer
3819:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Size Amount of data to be sent
3820:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param XferOptions Options of Transfer, value of @ref I2C_XFEROPTIONS
3821:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status
3822:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
3823:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Seq_Transmit_IT(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t S
3824:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t XferOptions)
3825:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3826:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Declaration of tmp to prevent undefined behavior of volatile usage */
3827:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** FlagStatus tmp;
3828:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3829:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check the parameters */
3830:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_TRANSFER_OPTIONS_REQUEST(XferOptions));
3831:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3832:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (((uint32_t)hi2c->State & (uint32_t)HAL_I2C_STATE_LISTEN) == (uint32_t)HAL_I2C_STATE_LISTEN)
3833:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3834:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U))
3835:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3836:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM;
3837:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
3838:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3839:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3840:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable Interrupts, to prevent preemption during treatment in case of multicall */
3841:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT | I2C_XFER_TX_IT);
3842:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3843:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Locked */
3844:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c);
3845:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3846:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* I2C cannot manage full duplex exchange so disable previous IT enabled if any */
3847:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* and then toggle the HAL slave RX state to TX state */
3848:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_BUSY_RX_LISTEN)
3849:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
ARM GAS /tmp/ccNVyn8W.s page 69
3850:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable associated Interrupts */
3851:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_RX_IT);
3852:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3853:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Abort DMA Xfer if any */
3854:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_RXDMAEN) == I2C_CR1_RXDMAEN)
3855:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3856:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_RXDMAEN;
3857:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3858:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->hdmarx != NULL)
3859:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3860:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the I2C DMA Abort callback :
3861:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** will lead to call HAL_I2C_ErrorCallback() at end of DMA abort procedure */
3862:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = I2C_DMAAbort;
3863:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3864:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Abort DMA RX */
3865:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (HAL_DMA_Abort_IT(hi2c->hdmarx) != HAL_OK)
3866:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3867:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call Directly XferAbortCallback function in case of error */
3868:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback(hi2c->hdmarx);
3869:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3870:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3871:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3872:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3873:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3874:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX_LISTEN;
3875:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
3876:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
3877:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3878:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable Address Acknowledge */
3879:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 &= ~I2C_CR2_NACK;
3880:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3881:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prepare transfer parameters */
3882:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
3883:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
3884:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
3885:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
3886:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
3887:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3888:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmp = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_ADDR);
3889:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((I2C_GET_DIR(hi2c) == I2C_DIRECTION_RECEIVE) && (tmp != RESET))
3890:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3891:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear ADDR flag after prepare the transfer parameters */
3892:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* This action will generate an acknowledge to the Master */
3893:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ADDR);
3894:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3895:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3896:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
3897:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
3898:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3899:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
3900:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
3901:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** process unlock */
3902:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* REnable ADDR interrupt */
3903:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_TX_IT | I2C_XFER_LISTEN_IT);
3904:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3905:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK;
3906:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
ARM GAS /tmp/ccNVyn8W.s page 70
3907:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
3908:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3909:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
3910:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3912:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3913:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
3914:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Sequential transmit in slave/device I2C mode an amount of data in non-blocking mode wit
3915:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @note This interface allow to manage repeated start condition when a direction change during
3916:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
3917:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
3918:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param pData Pointer to data buffer
3919:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Size Amount of data to be sent
3920:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param XferOptions Options of Transfer, value of @ref I2C_XFEROPTIONS
3921:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status
3922:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
3923:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Seq_Transmit_DMA(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t
3924:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t XferOptions)
3925:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3926:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Declaration of tmp to prevent undefined behavior of volatile usage */
3927:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** FlagStatus tmp;
3928:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
3929:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3930:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check the parameters */
3931:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_TRANSFER_OPTIONS_REQUEST(XferOptions));
3932:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3933:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (((uint32_t)hi2c->State & (uint32_t)HAL_I2C_STATE_LISTEN) == (uint32_t)HAL_I2C_STATE_LISTEN)
3934:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3935:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U))
3936:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3937:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM;
3938:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
3939:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3940:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3941:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Locked */
3942:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c);
3943:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3944:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable Interrupts, to prevent preemption during treatment in case of multicall */
3945:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT | I2C_XFER_TX_IT);
3946:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3947:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* I2C cannot manage full duplex exchange so disable previous IT enabled if any */
3948:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* and then toggle the HAL slave RX state to TX state */
3949:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_BUSY_RX_LISTEN)
3950:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3951:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable associated Interrupts */
3952:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_RX_IT);
3953:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3954:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_RXDMAEN) == I2C_CR1_RXDMAEN)
3955:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3956:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Abort DMA Xfer if any */
3957:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->hdmarx != NULL)
3958:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3959:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_RXDMAEN;
3960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3961:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the I2C DMA Abort callback :
3962:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** will lead to call HAL_I2C_ErrorCallback() at end of DMA abort procedure */
3963:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = I2C_DMAAbort;
ARM GAS /tmp/ccNVyn8W.s page 71
3964:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3965:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Abort DMA RX */
3966:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (HAL_DMA_Abort_IT(hi2c->hdmarx) != HAL_OK)
3967:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3968:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call Directly XferAbortCallback function in case of error */
3969:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback(hi2c->hdmarx);
3970:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3971:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3972:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3973:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3974:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if (hi2c->State == HAL_I2C_STATE_BUSY_TX_LISTEN)
3975:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3976:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_TXDMAEN) == I2C_CR1_TXDMAEN)
3977:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3978:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_TXDMAEN;
3979:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3980:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Abort DMA Xfer if any */
3981:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->hdmatx != NULL)
3982:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3983:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the I2C DMA Abort callback :
3984:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** will lead to call HAL_I2C_ErrorCallback() at end of DMA abort procedure */
3985:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = I2C_DMAAbort;
3986:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3987:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Abort DMA TX */
3988:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (HAL_DMA_Abort_IT(hi2c->hdmatx) != HAL_OK)
3989:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3990:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call Directly XferAbortCallback function in case of error */
3991:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback(hi2c->hdmatx);
3992:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3993:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3994:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3995:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3996:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
3997:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3998:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Nothing to do */
3999:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4000:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4001:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX_LISTEN;
4002:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
4003:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
4004:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4005:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable Address Acknowledge */
4006:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 &= ~I2C_CR2_NACK;
4007:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4008:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prepare transfer parameters */
4009:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
4010:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
4011:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
4012:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
4013:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_DMA;
4014:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4015:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->hdmatx != NULL)
4016:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4017:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the I2C DMA transfer complete callback */
4018:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferCpltCallback = I2C_DMASlaveTransmitCplt;
4019:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4020:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the DMA error callback */
ARM GAS /tmp/ccNVyn8W.s page 72
4021:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferErrorCallback = I2C_DMAError;
4022:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4023:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the unused DMA callbacks to NULL */
4024:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferHalfCpltCallback = NULL;
4025:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
4026:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4027:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable the DMA channel */
4028:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmatx, (uint32_t)pData, (uint32_t)&hi2c->Instance->TX
4029:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize);
4030:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4031:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
4032:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4033:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C state */
4034:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN;
4035:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
4036:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4037:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C error code */
4038:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA_PARAM;
4039:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4040:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
4041:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
4042:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4043:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
4044:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4045:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4046:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (dmaxferstatus == HAL_OK)
4047:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4048:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update XferCount value */
4049:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount -= hi2c->XferSize;
4050:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4051:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Reset XferSize */
4052:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = 0;
4053:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4054:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
4055:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4056:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C state */
4057:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN;
4058:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
4059:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4060:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C error code */
4061:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA;
4062:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4063:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
4064:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
4065:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4066:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
4067:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4068:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4069:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmp = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_ADDR);
4070:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((I2C_GET_DIR(hi2c) == I2C_DIRECTION_RECEIVE) && (tmp != RESET))
4071:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4072:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear ADDR flag after prepare the transfer parameters */
4073:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* This action will generate an acknowledge to the Master */
4074:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ADDR);
4075:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4076:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4077:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
ARM GAS /tmp/ccNVyn8W.s page 73
4078:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
4079:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4080:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable DMA Request */
4081:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_TXDMAEN;
4082:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4083:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
4084:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
4085:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** process unlock */
4086:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable ERR, STOP, NACK, ADDR interrupts */
4087:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_LISTEN_IT);
4088:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4089:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK;
4090:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4091:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
4092:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4093:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
4094:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4095:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4096:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4097:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
4098:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Sequential receive in slave/device I2C mode an amount of data in non-blocking mode with
4099:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @note This interface allow to manage repeated start condition when a direction change during
4100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
4101:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
4102:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param pData Pointer to data buffer
4103:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Size Amount of data to be sent
4104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param XferOptions Options of Transfer, value of @ref I2C_XFEROPTIONS
4105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status
4106:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
4107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Seq_Receive_IT(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Si
4108:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t XferOptions)
4109:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4110:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Declaration of tmp to prevent undefined behavior of volatile usage */
4111:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** FlagStatus tmp;
4112:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4113:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check the parameters */
4114:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_TRANSFER_OPTIONS_REQUEST(XferOptions));
4115:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (((uint32_t)hi2c->State & (uint32_t)HAL_I2C_STATE_LISTEN) == (uint32_t)HAL_I2C_STATE_LISTEN)
4117:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U))
4119:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM;
4121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
4122:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4123:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4124:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable Interrupts, to prevent preemption during treatment in case of multicall */
4125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT | I2C_XFER_RX_IT);
4126:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4127:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Locked */
4128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c);
4129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4130:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* I2C cannot manage full duplex exchange so disable previous IT enabled if any */
4131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* and then toggle the HAL slave TX state to RX state */
4132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_BUSY_TX_LISTEN)
4133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable associated Interrupts */
ARM GAS /tmp/ccNVyn8W.s page 74
4135:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_TX_IT);
4136:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4137:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_TXDMAEN) == I2C_CR1_TXDMAEN)
4138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_TXDMAEN;
4140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Abort DMA Xfer if any */
4142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->hdmatx != NULL)
4143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4144:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the I2C DMA Abort callback :
4145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** will lead to call HAL_I2C_ErrorCallback() at end of DMA abort procedure */
4146:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = I2C_DMAAbort;
4147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Abort DMA TX */
4149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (HAL_DMA_Abort_IT(hi2c->hdmatx) != HAL_OK)
4150:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4151:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call Directly XferAbortCallback function in case of error */
4152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback(hi2c->hdmatx);
4153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4155:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4157:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX_LISTEN;
4159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
4160:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
4161:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable Address Acknowledge */
4163:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 &= ~I2C_CR2_NACK;
4164:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4165:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prepare transfer parameters */
4166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
4167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
4168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
4169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
4170:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
4171:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmp = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_ADDR);
4173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((I2C_GET_DIR(hi2c) == I2C_DIRECTION_TRANSMIT) && (tmp != RESET))
4174:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear ADDR flag after prepare the transfer parameters */
4176:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* This action will generate an acknowledge to the Master */
4177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ADDR);
4178:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4179:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
4181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
4182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
4184:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
4185:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** process unlock */
4186:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* REnable ADDR interrupt */
4187:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_RX_IT | I2C_XFER_LISTEN_IT);
4188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK;
4190:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
ARM GAS /tmp/ccNVyn8W.s page 75
4192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4193:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
4194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4196:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
4198:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Sequential receive in slave/device I2C mode an amount of data in non-blocking mode with
4199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @note This interface allow to manage repeated start condition when a direction change during
4200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
4201:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
4202:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param pData Pointer to data buffer
4203:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Size Amount of data to be sent
4204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param XferOptions Options of Transfer, value of @ref I2C_XFEROPTIONS
4205:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status
4206:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
4207:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Seq_Receive_DMA(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t S
4208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t XferOptions)
4209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4210:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Declaration of tmp to prevent undefined behavior of volatile usage */
4211:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** FlagStatus tmp;
4212:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
4213:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4214:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check the parameters */
4215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_TRANSFER_OPTIONS_REQUEST(XferOptions));
4216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (((uint32_t)hi2c->State & (uint32_t)HAL_I2C_STATE_LISTEN) == (uint32_t)HAL_I2C_STATE_LISTEN)
4218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U))
4220:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM;
4222:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
4223:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4225:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable Interrupts, to prevent preemption during treatment in case of multicall */
4226:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT | I2C_XFER_RX_IT);
4227:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4228:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Locked */
4229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c);
4230:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* I2C cannot manage full duplex exchange so disable previous IT enabled if any */
4232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* and then toggle the HAL slave TX state to RX state */
4233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_BUSY_TX_LISTEN)
4234:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable associated Interrupts */
4236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_TX_IT);
4237:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_TXDMAEN) == I2C_CR1_TXDMAEN)
4239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4240:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Abort DMA Xfer if any */
4241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->hdmatx != NULL)
4242:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4243:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_TXDMAEN;
4244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4245:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the I2C DMA Abort callback :
4246:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** will lead to call HAL_I2C_ErrorCallback() at end of DMA abort procedure */
4247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = I2C_DMAAbort;
4248:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
ARM GAS /tmp/ccNVyn8W.s page 76
4249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Abort DMA TX */
4250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (HAL_DMA_Abort_IT(hi2c->hdmatx) != HAL_OK)
4251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4252:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call Directly XferAbortCallback function in case of error */
4253:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback(hi2c->hdmatx);
4254:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4255:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4256:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4257:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if (hi2c->State == HAL_I2C_STATE_BUSY_RX_LISTEN)
4259:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4260:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_RXDMAEN) == I2C_CR1_RXDMAEN)
4261:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_RXDMAEN;
4263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4264:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Abort DMA Xfer if any */
4265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->hdmarx != NULL)
4266:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4267:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the I2C DMA Abort callback :
4268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** will lead to call HAL_I2C_ErrorCallback() at end of DMA abort procedure */
4269:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = I2C_DMAAbort;
4270:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4271:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Abort DMA RX */
4272:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (HAL_DMA_Abort_IT(hi2c->hdmarx) != HAL_OK)
4273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4274:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call Directly XferAbortCallback function in case of error */
4275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback(hi2c->hdmarx);
4276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4277:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4278:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4280:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
4281:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Nothing to do */
4283:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4285:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX_LISTEN;
4286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
4287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
4288:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable Address Acknowledge */
4290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 &= ~I2C_CR2_NACK;
4291:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prepare transfer parameters */
4293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
4294:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
4295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
4296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
4297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_DMA;
4298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4299:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->hdmarx != NULL)
4300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4301:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the I2C DMA transfer complete callback */
4302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferCpltCallback = I2C_DMASlaveReceiveCplt;
4303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the DMA error callback */
4305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferErrorCallback = I2C_DMAError;
ARM GAS /tmp/ccNVyn8W.s page 77
4306:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4307:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the unused DMA callbacks to NULL */
4308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferHalfCpltCallback = NULL;
4309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
4310:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable the DMA channel */
4312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmarx, (uint32_t)&hi2c->Instance->RXDR,
4313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (uint32_t)pData, hi2c->XferSize);
4314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
4316:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C state */
4318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN;
4319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
4320:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4321:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C error code */
4322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA_PARAM;
4323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
4325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
4326:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
4328:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (dmaxferstatus == HAL_OK)
4331:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update XferCount value */
4333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount -= hi2c->XferSize;
4334:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Reset XferSize */
4336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = 0;
4337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
4339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C state */
4341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN;
4342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
4343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C error code */
4345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA;
4346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
4348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
4349:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
4351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4352:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4353:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmp = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_ADDR);
4354:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((I2C_GET_DIR(hi2c) == I2C_DIRECTION_TRANSMIT) && (tmp != RESET))
4355:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear ADDR flag after prepare the transfer parameters */
4357:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* This action will generate an acknowledge to the Master */
4358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ADDR);
4359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
4362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
ARM GAS /tmp/ccNVyn8W.s page 78
4363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable DMA Request */
4365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_RXDMAEN;
4366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4367:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
4368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
4369:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** process unlock */
4370:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* REnable ADDR interrupt */
4371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_RX_IT | I2C_XFER_LISTEN_IT);
4372:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK;
4374:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4375:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
4376:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
4378:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4379:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4381:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
4382:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Enable the Address listen mode with Interrupt.
4383:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
4384:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
4385:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status
4386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
4387:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_EnableListen_IT(I2C_HandleTypeDef *hi2c)
4388:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
4390:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4391:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN;
4392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
4393:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4394:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable the Address Match interrupt */
4395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_LISTEN_IT);
4396:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK;
4398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
4400:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4401:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY;
4402:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4403:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4405:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
4406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Disable the Address listen mode with Interrupt.
4407:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
4408:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C
4409:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status
4410:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
4411:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_DisableListen_IT(I2C_HandleTypeDef *hi2c)
4412:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4413:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Declaration of tmp to prevent undefined behavior of volatile usage */
4414:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmp;
4415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4416:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable Address listen mode only if a transfer is not ongoing */
4417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_LISTEN)
4418:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4419:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmp = (uint32_t)(hi2c->State) & I2C_STATE_MSK;
ARM GAS /tmp/ccNVyn8W.s page 79
4420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = tmp | (uint32_t)(hi2c->Mode);
4421:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
4422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
4423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL;
4424:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable the Address Match interrupt */
4426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT);
4427:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK;
4429:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
4431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4432:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY;
4433:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4434:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4436:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
4437:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Abort a master I2C IT or DMA process communication with Interrupt.
4438:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
4439:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
4440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
4441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
4442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status
4443:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
4444:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Abort_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress)
4445:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4446:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->Mode == HAL_I2C_MODE_MASTER)
4447:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4448:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Locked */
4449:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c);
4450:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable Interrupts and Store Previous state */
4452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_BUSY_TX)
4453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4454:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_TX_IT);
4455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_TX;
4456:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4457:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if (hi2c->State == HAL_I2C_STATE_BUSY_RX)
4458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4459:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_RX_IT);
4460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_RX;
4461:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4462:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
4463:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4464:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Do nothing */
4465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4466:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set State at HAL_I2C_STATE_ABORT */
4468:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_ABORT;
4469:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set NBYTES to 1 to generate a dummy read on I2C peripheral */
4471:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set AUTOEND mode, this will generate a NACK then STOP condition to abort the current transfe
4472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, 1, I2C_AUTOEND_MODE, I2C_GENERATE_STOP);
4473:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4474:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
4475:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
4476:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
ARM GAS /tmp/ccNVyn8W.s page 80
4477:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
4478:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
4479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** process unlock */
4480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_CPLT_IT);
4481:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK;
4483:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4484:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
4485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4486:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wrong usage of abort function */
4487:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* This function should be used only in case of abort monitored by master device */
4488:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
4489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4490:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4492:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
4493:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @}
4494:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
4495:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4496:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** @defgroup I2C_IRQ_Handler_and_Callbacks IRQ Handler and Callbacks
4497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @{
4498:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
4499:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4500:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
4501:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief This function handles I2C event interrupt request.
4502:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
4503:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
4504:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None
4505:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
4506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** void HAL_I2C_EV_IRQHandler(I2C_HandleTypeDef *hi2c) /* Derogation MISRAC2012-Rule-8.13 */
4507:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4508:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Get current IT Flags and IT sources value */
4509:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t itflags = READ_REG(hi2c->Instance->ISR);
4510:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t itsources = READ_REG(hi2c->Instance->CR1);
4511:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4512:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* I2C events treatment -------------------------------------*/
4513:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferISR != NULL)
4514:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4515:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR(hi2c, itflags, itsources);
4516:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4517:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4518:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
4520:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief This function handles I2C error interrupt request.
4521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
4522:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
4523:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None
4524:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
4525:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** void HAL_I2C_ER_IRQHandler(I2C_HandleTypeDef *hi2c)
4526:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t itflags = READ_REG(hi2c->Instance->ISR);
4528:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t itsources = READ_REG(hi2c->Instance->CR1);
4529:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmperror;
4530:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4531:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* I2C Bus error interrupt occurred ------------------------------------*/
4532:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(itflags, I2C_FLAG_BERR) != RESET) && \
4533:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ERRI) != RESET))
ARM GAS /tmp/ccNVyn8W.s page 81
4534:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4535:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_BERR;
4536:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4537:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear BERR flag */
4538:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_BERR);
4539:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4540:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4541:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* I2C Over-Run/Under-Run interrupt occurred ----------------------------------------*/
4542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(itflags, I2C_FLAG_OVR) != RESET) && \
4543:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ERRI) != RESET))
4544:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4545:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_OVR;
4546:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4547:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear OVR flag */
4548:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_OVR);
4549:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4550:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* I2C Arbitration Loss error interrupt occurred -------------------------------------*/
4552:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(itflags, I2C_FLAG_ARLO) != RESET) && \
4553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ERRI) != RESET))
4554:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4555:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_ARLO;
4556:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4557:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear ARLO flag */
4558:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ARLO);
4559:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4560:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4561:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Store current volatile hi2c->ErrorCode, misra rule */
4562:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmperror = hi2c->ErrorCode;
4563:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4564:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the Error Callback in case of Error detected */
4565:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((tmperror & (HAL_I2C_ERROR_BERR | HAL_I2C_ERROR_OVR | HAL_I2C_ERROR_ARLO)) != HAL_I2C_ERROR_
4566:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4567:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITError(hi2c, tmperror);
4568:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4569:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4570:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4571:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
4572:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Master Tx Transfer completed callback.
4573:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
4574:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
4575:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None
4576:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
4577:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __weak void HAL_I2C_MasterTxCpltCallback(I2C_HandleTypeDef *hi2c)
4578:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4579:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
4580:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** UNUSED(hi2c);
4581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4582:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed,
4583:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** the HAL_I2C_MasterTxCpltCallback could be implemented in the user file
4584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
4585:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4586:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4587:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
4588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Master Rx Transfer completed callback.
4589:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
4590:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
ARM GAS /tmp/ccNVyn8W.s page 82
4591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None
4592:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
4593:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __weak void HAL_I2C_MasterRxCpltCallback(I2C_HandleTypeDef *hi2c)
4594:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4595:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
4596:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** UNUSED(hi2c);
4597:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4598:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed,
4599:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** the HAL_I2C_MasterRxCpltCallback could be implemented in the user file
4600:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
4601:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4602:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4603:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** @brief Slave Tx Transfer completed callback.
4604:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
4605:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
4606:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None
4607:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
4608:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __weak void HAL_I2C_SlaveTxCpltCallback(I2C_HandleTypeDef *hi2c)
4609:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4610:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
4611:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** UNUSED(hi2c);
4612:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4613:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed,
4614:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** the HAL_I2C_SlaveTxCpltCallback could be implemented in the user file
4615:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
4616:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4617:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4618:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
4619:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Slave Rx Transfer completed callback.
4620:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
4621:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
4622:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None
4623:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
4624:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __weak void HAL_I2C_SlaveRxCpltCallback(I2C_HandleTypeDef *hi2c)
4625:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4626:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
4627:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** UNUSED(hi2c);
4628:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4629:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed,
4630:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** the HAL_I2C_SlaveRxCpltCallback could be implemented in the user file
4631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
4632:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4633:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4634:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
4635:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Slave Address Match callback.
4636:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
4637:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
4638:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param TransferDirection Master request Transfer Direction (Write/Read), value of @ref I2C_XFE
4639:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param AddrMatchCode Address Match Code
4640:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None
4641:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
4642:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __weak void HAL_I2C_AddrCallback(I2C_HandleTypeDef *hi2c, uint8_t TransferDirection, uint16_t AddrM
4643:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4644:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
4645:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** UNUSED(hi2c);
4646:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** UNUSED(TransferDirection);
4647:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** UNUSED(AddrMatchCode);
ARM GAS /tmp/ccNVyn8W.s page 83
4648:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4649:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed,
4650:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** the HAL_I2C_AddrCallback() could be implemented in the user file
4651:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
4652:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4653:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4654:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
4655:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Listen Complete callback.
4656:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
4657:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
4658:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None
4659:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
4660:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __weak void HAL_I2C_ListenCpltCallback(I2C_HandleTypeDef *hi2c)
4661:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4662:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
4663:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** UNUSED(hi2c);
4664:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4665:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed,
4666:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** the HAL_I2C_ListenCpltCallback() could be implemented in the user file
4667:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
4668:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4669:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4670:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
4671:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Memory Tx Transfer completed callback.
4672:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
4673:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
4674:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None
4675:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
4676:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __weak void HAL_I2C_MemTxCpltCallback(I2C_HandleTypeDef *hi2c)
4677:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4678:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
4679:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** UNUSED(hi2c);
4680:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4681:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed,
4682:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** the HAL_I2C_MemTxCpltCallback could be implemented in the user file
4683:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
4684:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4685:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4686:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
4687:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Memory Rx Transfer completed callback.
4688:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
4689:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
4690:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None
4691:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
4692:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __weak void HAL_I2C_MemRxCpltCallback(I2C_HandleTypeDef *hi2c)
4693:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4694:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
4695:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** UNUSED(hi2c);
4696:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4697:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed,
4698:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** the HAL_I2C_MemRxCpltCallback could be implemented in the user file
4699:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
4700:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4701:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4702:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
4703:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief I2C error callback.
4704:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
ARM GAS /tmp/ccNVyn8W.s page 84
4705:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
4706:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None
4707:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
4708:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __weak void HAL_I2C_ErrorCallback(I2C_HandleTypeDef *hi2c)
4709:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4710:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
4711:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** UNUSED(hi2c);
4712:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4713:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed,
4714:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** the HAL_I2C_ErrorCallback could be implemented in the user file
4715:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
4716:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4717:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4718:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
4719:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief I2C abort callback.
4720:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
4721:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
4722:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None
4723:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
4724:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __weak void HAL_I2C_AbortCpltCallback(I2C_HandleTypeDef *hi2c)
4725:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4726:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
4727:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** UNUSED(hi2c);
4728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4729:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed,
4730:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** the HAL_I2C_AbortCpltCallback could be implemented in the user file
4731:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
4732:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4733:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4734:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
4735:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @}
4736:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
4737:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4738:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** @defgroup I2C_Exported_Functions_Group3 Peripheral State, Mode and Error functions
4739:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Peripheral State, Mode and Error functions
4740:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** *
4741:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** @verbatim
4742:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ===============================================================================
4743:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ##### Peripheral State, Mode and Error functions #####
4744:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ===============================================================================
4745:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** [..]
4746:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** This subsection permit to get in run-time the status of the peripheral
4747:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** and the data flow.
4748:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4749:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** @endverbatim
4750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @{
4751:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
4752:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4753:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
4754:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Return the I2C handle state.
4755:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
4756:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
4757:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL state
4758:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
4759:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_StateTypeDef HAL_I2C_GetState(const I2C_HandleTypeDef *hi2c)
4760:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4761:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Return I2C handle state */
ARM GAS /tmp/ccNVyn8W.s page 85
4762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return hi2c->State;
4763:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4765:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
4766:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Returns the I2C Master, Slave, Memory or no mode.
4767:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
4768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for I2C module
4769:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL mode
4770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
4771:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_ModeTypeDef HAL_I2C_GetMode(const I2C_HandleTypeDef *hi2c)
4772:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4773:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return hi2c->Mode;
4774:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4775:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4776:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
4777:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Return the I2C error code.
4778:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
4779:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
4780:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval I2C Error Code
4781:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
4782:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t HAL_I2C_GetError(const I2C_HandleTypeDef *hi2c)
4783:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4784:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return hi2c->ErrorCode;
4785:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4786:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4787:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
4788:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @}
4789:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
4790:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4791:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
4792:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @}
4793:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
4794:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4795:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** @addtogroup I2C_Private_Functions
4796:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @{
4797:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
4798:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4799:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
4800:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Interrupt Sub-Routine which handle the Interrupt Flags Master Mode with Interrupt.
4801:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
4802:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
4803:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param ITFlags Interrupt flags to handle.
4804:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param ITSources Interrupt sources enabled.
4805:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status
4806:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
4807:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_Master_ISR_IT(struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags,
4808:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t ITSources)
4809:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4810:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t devaddress;
4811:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpITFlags = ITFlags;
4812:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4813:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Locked */
4814:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c);
4815:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4816:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_AF) != RESET) && \
4817:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
4818:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
ARM GAS /tmp/ccNVyn8W.s page 86
4819:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear NACK Flag */
4820:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
4821:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4822:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set corresponding Error Code */
4823:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* No need to generate STOP, it is automatically done */
4824:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Error callback will be send during stop flag treatment */
4825:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_AF;
4826:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4827:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Flush TX register */
4828:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Flush_TXDR(hi2c);
4829:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4830:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_RXNE) != RESET) && \
4831:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_RXI) != RESET))
4832:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4833:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Remove RXNE flag on temporary variable as read done */
4834:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmpITFlags &= ~I2C_FLAG_RXNE;
4835:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4836:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Read data from RXDR */
4837:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->RXDR;
4838:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4839:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Increment Buffer pointer */
4840:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr++;
4841:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4842:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--;
4843:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--;
4844:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4845:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_TXIS) != RESET) && \
4846:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TXI) != RESET))
4847:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4848:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Write data to TXDR */
4849:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->TXDR = *hi2c->pBuffPtr;
4850:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4851:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Increment Buffer pointer */
4852:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr++;
4853:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4854:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--;
4855:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--;
4856:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4857:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_TCR) != RESET) && \
4858:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
4859:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4860:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((hi2c->XferCount != 0U) && (hi2c->XferSize == 0U))
4861:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4862:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** devaddress = (uint16_t)(hi2c->Instance->CR2 & I2C_CR2_SADD);
4863:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4864:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
4865:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4866:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
4867:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, devaddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, I2C_NO_START
4868:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4869:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
4870:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4871:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
4872:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferOptions != I2C_NO_OPTION_FRAME)
4873:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4874:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, devaddress, (uint8_t)hi2c->XferSize,
4875:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions, I2C_NO_STARTSTOP);
ARM GAS /tmp/ccNVyn8W.s page 87
4876:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4877:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
4878:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4879:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, devaddress, (uint8_t)hi2c->XferSize,
4880:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_AUTOEND_MODE, I2C_NO_STARTSTOP);
4881:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4882:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4883:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4884:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
4885:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4886:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call TxCpltCallback() if no stop mode is set */
4887:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_GET_STOP_MODE(hi2c) != I2C_AUTOEND_MODE)
4888:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4889:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call I2C Master Sequential complete process */
4890:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITMasterSeqCplt(hi2c);
4891:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4892:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
4893:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4894:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wrong size Status regarding TCR flag event */
4895:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
4896:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITError(hi2c, HAL_I2C_ERROR_SIZE);
4897:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4898:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4899:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4900:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_TC) != RESET) && \
4901:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
4902:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4903:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount == 0U)
4904:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4905:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_GET_STOP_MODE(hi2c) != I2C_AUTOEND_MODE)
4906:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4907:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Generate a stop condition in case of no transfer option */
4908:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferOptions == I2C_NO_OPTION_FRAME)
4909:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4910:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Generate Stop */
4911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_STOP;
4912:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4913:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
4914:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4915:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call I2C Master Sequential complete process */
4916:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITMasterSeqCplt(hi2c);
4917:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4918:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4919:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4920:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
4921:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4922:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wrong size Status regarding TC flag event */
4923:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
4924:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITError(hi2c, HAL_I2C_ERROR_SIZE);
4925:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4926:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4927:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
4928:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4929:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Nothing to do */
4930:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4931:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4932:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_STOPF) != RESET) && \
ARM GAS /tmp/ccNVyn8W.s page 88
4933:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
4934:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4935:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call I2C Master complete process */
4936:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITMasterCplt(hi2c, tmpITFlags);
4937:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4938:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4939:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
4940:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
4941:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4942:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK;
4943:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4944:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4945:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
4946:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Interrupt Sub-Routine which handle the Interrupt Flags Memory Mode with Interrupt.
4947:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
4948:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
4949:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param ITFlags Interrupt flags to handle.
4950:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param ITSources Interrupt sources enabled.
4951:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status
4952:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
4953:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_Mem_ISR_IT(struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags,
4954:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t ITSources)
4955:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4956:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t direction = I2C_GENERATE_START_WRITE;
4957:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpITFlags = ITFlags;
4958:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4959:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Locked */
4960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c);
4961:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4962:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_AF) != RESET) && \
4963:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
4964:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4965:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear NACK Flag */
4966:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
4967:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4968:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set corresponding Error Code */
4969:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* No need to generate STOP, it is automatically done */
4970:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Error callback will be send during stop flag treatment */
4971:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_AF;
4972:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4973:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Flush TX register */
4974:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Flush_TXDR(hi2c);
4975:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4976:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_RXNE) != RESET) && \
4977:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_RXI) != RESET))
4978:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4979:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Remove RXNE flag on temporary variable as read done */
4980:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmpITFlags &= ~I2C_FLAG_RXNE;
4981:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4982:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Read data from RXDR */
4983:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->RXDR;
4984:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4985:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Increment Buffer pointer */
4986:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr++;
4987:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4988:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--;
4989:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--;
ARM GAS /tmp/ccNVyn8W.s page 89
4990:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4991:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_TXIS) != RESET) && \
4992:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TXI) != RESET))
4993:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4994:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->Memaddress == 0xFFFFFFFFU)
4995:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4996:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Write data to TXDR */
4997:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->TXDR = *hi2c->pBuffPtr;
4998:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4999:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Increment Buffer pointer */
5000:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr++;
5001:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5002:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--;
5003:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--;
5004:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5005:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
5006:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5007:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Write LSB part of Memory Address */
5008:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->TXDR = hi2c->Memaddress;
5009:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5010:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Reset Memaddress content */
5011:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Memaddress = 0xFFFFFFFFU;
5012:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5013:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5014:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_TCR) != RESET) && \
5015:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
5016:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5017:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((hi2c->XferCount != 0U) && (hi2c->XferSize == 0U))
5018:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5019:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
5020:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5021:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
5022:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, (uint16_t)hi2c->Devaddress, (uint8_t)hi2c->XferSize,
5023:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_RELOAD_MODE, I2C_NO_STARTSTOP);
5024:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5025:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
5026:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5027:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
5028:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, (uint16_t)hi2c->Devaddress, (uint8_t)hi2c->XferSize,
5029:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_AUTOEND_MODE, I2C_NO_STARTSTOP);
5030:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5031:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5032:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
5033:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5034:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wrong size Status regarding TCR flag event */
5035:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
5036:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITError(hi2c, HAL_I2C_ERROR_SIZE);
5037:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5038:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5039:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_TC) != RESET) && \
5040:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
5041:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5042:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_BUSY_RX)
5043:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5044:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** direction = I2C_GENERATE_START_READ;
5045:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5046:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
ARM GAS /tmp/ccNVyn8W.s page 90
5047:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
5048:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5049:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
5050:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5051:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE and generate RESTART */
5052:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, (uint16_t)hi2c->Devaddress, (uint8_t)hi2c->XferSize,
5053:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_RELOAD_MODE, direction);
5054:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5055:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
5056:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5057:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
5058:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5059:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set NBYTES to write and generate RESTART */
5060:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, (uint16_t)hi2c->Devaddress, (uint8_t)hi2c->XferSize,
5061:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_AUTOEND_MODE, direction);
5062:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5063:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5064:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
5065:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5066:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Nothing to do */
5067:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5068:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5069:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_STOPF) != RESET) && \
5070:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
5071:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5072:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call I2C Master complete process */
5073:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITMasterCplt(hi2c, tmpITFlags);
5074:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5075:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5076:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
5077:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
5078:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5079:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK;
5080:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5081:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5082:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
5083:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Interrupt Sub-Routine which handle the Interrupt Flags Slave Mode with Interrupt.
5084:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
5085:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
5086:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param ITFlags Interrupt flags to handle.
5087:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param ITSources Interrupt sources enabled.
5088:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status
5089:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
5090:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_Slave_ISR_IT(struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags,
5091:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t ITSources)
5092:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5093:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpoptions = hi2c->XferOptions;
5094:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpITFlags = ITFlags;
5095:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5096:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process locked */
5097:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c);
5098:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5099:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check if STOPF is set */
5100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_STOPF) != RESET) && \
5101:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
5102:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5103:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call I2C Slave complete process */
ARM GAS /tmp/ccNVyn8W.s page 91
5104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITSlaveCplt(hi2c, tmpITFlags);
5105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5106:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_AF) != RESET) && \
5108:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
5109:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5110:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check that I2C transfer finished */
5111:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* if yes, normal use case, a NACK is sent by the MASTER when Transfer is finished */
5112:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Mean XferCount == 0*/
5113:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* So clear Flag NACKF only */
5114:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount == 0U)
5115:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((hi2c->State == HAL_I2C_STATE_LISTEN) && (tmpoptions == I2C_FIRST_AND_LAST_FRAME))
5117:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Same action must be done for (tmpoptions == I2C_LAST_FRAME) which removed for
5118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** Warning[Pa134]: left and right operands are identical */
5119:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call I2C Listen complete process */
5121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITListenCplt(hi2c, tmpITFlags);
5122:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5123:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if ((hi2c->State == HAL_I2C_STATE_BUSY_TX_LISTEN) && (tmpoptions != I2C_NO_OPTION_FRAME)
5124:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear NACK Flag */
5126:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
5127:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Flush TX register */
5129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Flush_TXDR(hi2c);
5130:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Last Byte is Transmitted */
5132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call I2C Slave Sequential complete process */
5133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITSlaveSeqCplt(hi2c);
5134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5135:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
5136:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5137:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear NACK Flag */
5138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
5139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
5142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* if no, error use case, a Non-Acknowledge of last Data is generated by the MASTER*/
5144:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear NACK Flag */
5145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
5146:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set ErrorCode corresponding to a Non-Acknowledge */
5148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_AF;
5149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5150:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((tmpoptions == I2C_FIRST_FRAME) || (tmpoptions == I2C_NEXT_FRAME))
5151:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
5153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITError(hi2c, hi2c->ErrorCode);
5154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5155:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5157:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_RXNE) != RESET) && \
5158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_RXI) != RESET))
5159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5160:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount > 0U)
ARM GAS /tmp/ccNVyn8W.s page 92
5161:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Read data from RXDR */
5163:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->RXDR;
5164:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5165:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Increment Buffer pointer */
5166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr++;
5167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--;
5169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--;
5170:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5171:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((hi2c->XferCount == 0U) && \
5173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmpoptions != I2C_NO_OPTION_FRAME))
5174:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call I2C Slave Sequential complete process */
5176:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITSlaveSeqCplt(hi2c);
5177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5178:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5179:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_ADDR) != RESET) && \
5180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_ADDRI) != RESET))
5181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITAddrCplt(hi2c, tmpITFlags);
5183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5184:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_TXIS) != RESET) && \
5185:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TXI) != RESET))
5186:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5187:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Write data to TXDR only if XferCount not reach "0" */
5188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* A TXIS flag can be set, during STOP treatment */
5189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check if all Data have already been sent */
5190:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* If it is the case, this last write in TXDR is not sent, correspond to a dummy TXIS event */
5191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount > 0U)
5192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5193:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Write data to TXDR */
5194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->TXDR = *hi2c->pBuffPtr;
5195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5196:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Increment Buffer pointer */
5197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr++;
5198:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--;
5200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--;
5201:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5202:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
5203:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((tmpoptions == I2C_NEXT_FRAME) || (tmpoptions == I2C_FIRST_FRAME))
5205:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5206:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Last Byte is Transmitted */
5207:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call I2C Slave Sequential complete process */
5208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITSlaveSeqCplt(hi2c);
5209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5210:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5211:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5212:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
5213:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5214:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Nothing to do */
5215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
ARM GAS /tmp/ccNVyn8W.s page 93
5218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
5219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5220:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK;
5221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5222:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5223:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
5224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Interrupt Sub-Routine which handle the Interrupt Flags Master Mode with DMA.
5225:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
5226:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
5227:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param ITFlags Interrupt flags to handle.
5228:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param ITSources Interrupt sources enabled.
5229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status
5230:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
5231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_Master_ISR_DMA(struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags,
5232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t ITSources)
5233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5234:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t devaddress;
5235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode;
5236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5237:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Locked */
5238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c);
5239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5240:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_AF) != RESET) && \
5241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
5242:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5243:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear NACK Flag */
5244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
5245:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5246:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set corresponding Error Code */
5247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_AF;
5248:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* No need to generate STOP, it is automatically done */
5250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* But enable STOP interrupt, to treat it */
5251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Error callback will be send during stop flag treatment */
5252:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_CPLT_IT);
5253:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5254:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Flush TX register */
5255:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Flush_TXDR(hi2c);
5256:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5257:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_TCR) != RESET) && \
5258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
5259:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5260:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable TC interrupt */
5261:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_DISABLE_IT(hi2c, I2C_IT_TCI);
5262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount != 0U)
5264:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Recover Slave address */
5266:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** devaddress = (uint16_t)(hi2c->Instance->CR2 & I2C_CR2_SADD);
5267:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prepare the new XferSize to transfer */
5269:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
5270:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5271:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
5272:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
5273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5274:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
ARM GAS /tmp/ccNVyn8W.s page 94
5275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
5277:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferOptions != I2C_NO_OPTION_FRAME)
5278:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
5280:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5281:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
5282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5283:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
5284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5285:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the new XferSize in Nbytes register */
5288:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, devaddress, (uint8_t)hi2c->XferSize, xfermode, I2C_NO_STARTSTOP);
5289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update XferCount value */
5291:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount -= hi2c->XferSize;
5292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable DMA Request */
5294:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_BUSY_RX)
5295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_RXDMAEN;
5297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
5299:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_TXDMAEN;
5301:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
5304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call TxCpltCallback() if no stop mode is set */
5306:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_GET_STOP_MODE(hi2c) != I2C_AUTOEND_MODE)
5307:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call I2C Master Sequential complete process */
5309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITMasterSeqCplt(hi2c);
5310:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
5312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wrong size Status regarding TCR flag event */
5314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
5315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITError(hi2c, HAL_I2C_ERROR_SIZE);
5316:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_TC) != RESET) && \
5320:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
5321:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount == 0U)
5323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_GET_STOP_MODE(hi2c) != I2C_AUTOEND_MODE)
5325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5326:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Generate a stop condition in case of no transfer option */
5327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferOptions == I2C_NO_OPTION_FRAME)
5328:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Generate Stop */
5330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_STOP;
5331:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
ARM GAS /tmp/ccNVyn8W.s page 95
5332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
5333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5334:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call I2C Master Sequential complete process */
5335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITMasterSeqCplt(hi2c);
5336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
5340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wrong size Status regarding TC flag event */
5342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
5343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITError(hi2c, HAL_I2C_ERROR_SIZE);
5344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_STOPF) != RESET) && \
5347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
5348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5349:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call I2C Master complete process */
5350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITMasterCplt(hi2c, ITFlags);
5351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5352:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
5353:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5354:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Nothing to do */
5355:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5357:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
5358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
5359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK;
5361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
5364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Interrupt Sub-Routine which handle the Interrupt Flags Memory Mode with DMA.
5365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
5366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
5367:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param ITFlags Interrupt flags to handle.
5368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param ITSources Interrupt sources enabled.
5369:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status
5370:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
5371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_Mem_ISR_DMA(struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags,
5372:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t ITSources)
5373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5374:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t direction = I2C_GENERATE_START_WRITE;
5375:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5376:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Locked */
5377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c);
5378:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5379:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_AF) != RESET) && \
5380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
5381:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5382:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear NACK Flag */
5383:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
5384:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5385:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set corresponding Error Code */
5386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_AF;
5387:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5388:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* No need to generate STOP, it is automatically done */
ARM GAS /tmp/ccNVyn8W.s page 96
5389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* But enable STOP interrupt, to treat it */
5390:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Error callback will be send during stop flag treatment */
5391:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_CPLT_IT);
5392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5393:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Flush TX register */
5394:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Flush_TXDR(hi2c);
5395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5396:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_TXIS) != RESET) && \
5397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TXI) != RESET))
5398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Write LSB part of Memory Address */
5400:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->TXDR = hi2c->Memaddress;
5401:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5402:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Reset Memaddress content */
5403:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Memaddress = 0xFFFFFFFFU;
5404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5405:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_TCR) != RESET) && \
5406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
5407:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5408:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable only Error interrupt */
5409:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_ERROR_IT);
5410:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5411:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount != 0U)
5412:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5413:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prepare the new XferSize to transfer */
5414:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
5415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5416:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
5417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, (uint16_t)hi2c->Devaddress, (uint8_t)hi2c->XferSize,
5418:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_RELOAD_MODE, I2C_NO_STARTSTOP);
5419:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
5421:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
5423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, (uint16_t)hi2c->Devaddress, (uint8_t)hi2c->XferSize,
5424:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_AUTOEND_MODE, I2C_NO_STARTSTOP);
5425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5427:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update XferCount value */
5428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount -= hi2c->XferSize;
5429:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable DMA Request */
5431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_BUSY_RX)
5432:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5433:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_RXDMAEN;
5434:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
5436:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5437:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_TXDMAEN;
5438:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5439:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
5441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wrong size Status regarding TCR flag event */
5443:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
5444:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITError(hi2c, HAL_I2C_ERROR_SIZE);
5445:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
ARM GAS /tmp/ccNVyn8W.s page 97
5446:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5447:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_TC) != RESET) && \
5448:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
5449:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5450:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_BUSY_RX)
5451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** direction = I2C_GENERATE_START_READ;
5453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5454:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
5456:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5457:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
5458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5459:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE and generate RESTART */
5460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, (uint16_t)hi2c->Devaddress, (uint8_t)hi2c->XferSize,
5461:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_RELOAD_MODE, direction);
5462:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5463:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
5464:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
5466:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set NBYTES to write and generate RESTART */
5468:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, (uint16_t)hi2c->Devaddress, (uint8_t)hi2c->XferSize,
5469:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_AUTOEND_MODE, direction);
5470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5471:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update XferCount value */
5473:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount -= hi2c->XferSize;
5474:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5475:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable DMA Request */
5476:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_BUSY_RX)
5477:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5478:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_RXDMAEN;
5479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
5481:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_TXDMAEN;
5483:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5484:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_STOPF) != RESET) && \
5486:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
5487:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5488:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call I2C Master complete process */
5489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITMasterCplt(hi2c, ITFlags);
5490:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
5492:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5493:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Nothing to do */
5494:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5495:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5496:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
5497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
5498:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5499:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK;
5500:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5501:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5502:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
ARM GAS /tmp/ccNVyn8W.s page 98
5503:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Interrupt Sub-Routine which handle the Interrupt Flags Slave Mode with DMA.
5504:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
5505:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
5506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param ITFlags Interrupt flags to handle.
5507:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param ITSources Interrupt sources enabled.
5508:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status
5509:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
5510:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_Slave_ISR_DMA(struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags,
5511:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t ITSources)
5512:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5513:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpoptions = hi2c->XferOptions;
5514:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t treatdmanack = 0U;
5515:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_StateTypeDef tmpstate;
5516:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5517:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process locked */
5518:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c);
5519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5520:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check if STOPF is set */
5521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_STOPF) != RESET) && \
5522:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
5523:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5524:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call I2C Slave complete process */
5525:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITSlaveCplt(hi2c, ITFlags);
5526:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5528:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_AF) != RESET) && \
5529:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
5530:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5531:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check that I2C transfer finished */
5532:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* if yes, normal use case, a NACK is sent by the MASTER when Transfer is finished */
5533:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Mean XferCount == 0 */
5534:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* So clear Flag NACKF only */
5535:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((I2C_CHECK_IT_SOURCE(ITSources, I2C_CR1_TXDMAEN) != RESET) ||
5536:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_CR1_RXDMAEN) != RESET))
5537:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5538:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Split check of hdmarx, for MISRA compliance */
5539:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->hdmarx != NULL)
5540:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5541:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_CHECK_IT_SOURCE(ITSources, I2C_CR1_RXDMAEN) != RESET)
5542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5543:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_GET_DMA_REMAIN_DATA(hi2c->hdmarx) == 0U)
5544:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5545:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** treatdmanack = 1U;
5546:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5547:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5548:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5549:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5550:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Split check of hdmatx, for MISRA compliance */
5551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->hdmatx != NULL)
5552:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_CHECK_IT_SOURCE(ITSources, I2C_CR1_TXDMAEN) != RESET)
5554:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5555:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_GET_DMA_REMAIN_DATA(hi2c->hdmatx) == 0U)
5556:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5557:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** treatdmanack = 1U;
5558:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5559:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
ARM GAS /tmp/ccNVyn8W.s page 99
5560:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5561:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5562:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (treatdmanack == 1U)
5563:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5564:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((hi2c->State == HAL_I2C_STATE_LISTEN) && (tmpoptions == I2C_FIRST_AND_LAST_FRAME))
5565:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Same action must be done for (tmpoptions == I2C_LAST_FRAME) which removed for
5566:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** Warning[Pa134]: left and right operands are identical */
5567:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5568:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call I2C Listen complete process */
5569:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITListenCplt(hi2c, ITFlags);
5570:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5571:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if ((hi2c->State == HAL_I2C_STATE_BUSY_TX_LISTEN) && (tmpoptions != I2C_NO_OPTION_FRAM
5572:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5573:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear NACK Flag */
5574:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
5575:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5576:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Flush TX register */
5577:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Flush_TXDR(hi2c);
5578:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5579:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Last Byte is Transmitted */
5580:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call I2C Slave Sequential complete process */
5581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITSlaveSeqCplt(hi2c);
5582:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5583:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
5584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5585:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear NACK Flag */
5586:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
5587:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5589:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
5590:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* if no, error use case, a Non-Acknowledge of last Data is generated by the MASTER*/
5592:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear NACK Flag */
5593:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
5594:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5595:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set ErrorCode corresponding to a Non-Acknowledge */
5596:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_AF;
5597:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5598:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Store current hi2c->State, solve MISRA2012-Rule-13.5 */
5599:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmpstate = hi2c->State;
5600:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5601:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((tmpoptions == I2C_FIRST_FRAME) || (tmpoptions == I2C_NEXT_FRAME))
5602:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5603:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((tmpstate == HAL_I2C_STATE_BUSY_TX) || (tmpstate == HAL_I2C_STATE_BUSY_TX_LISTEN))
5604:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5605:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_TX;
5606:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5607:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if ((tmpstate == HAL_I2C_STATE_BUSY_RX) || (tmpstate == HAL_I2C_STATE_BUSY_RX_LISTEN
5608:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5609:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_RX;
5610:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5611:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
5612:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5613:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Do nothing */
5614:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5615:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5616:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
ARM GAS /tmp/ccNVyn8W.s page 100
5617:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITError(hi2c, hi2c->ErrorCode);
5618:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5619:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5620:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5621:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
5622:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5623:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Only Clear NACK Flag, no DMA treatment is pending */
5624:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
5625:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5626:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5627:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_ADDR) != RESET) && \
5628:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_ADDRI) != RESET))
5629:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5630:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITAddrCplt(hi2c, ITFlags);
5631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5632:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
5633:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5634:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Nothing to do */
5635:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5636:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5637:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
5638:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
5639:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5640:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK;
5641:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5642:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5643:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
5644:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Master sends target device address followed by internal memory address for write reques
5645:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
5646:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
5647:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
5648:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
5649:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param MemAddress Internal memory address
5650:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param MemAddSize Size of internal memory address
5651:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Timeout Timeout duration
5652:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Tickstart Tick start value
5653:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status
5654:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
5655:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_RequestMemoryWrite(I2C_HandleTypeDef *hi2c, uint16_t DevAddress,
5656:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t MemAddress, uint16_t MemAddSize, uint32_t
5657:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t Tickstart)
5658:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5659:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)MemAddSize, I2C_RELOAD_MODE, I2C_GENERATE_START_WRI
5660:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5661:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until TXIS flag is set */
5662:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnTXISFlagUntilTimeout(hi2c, Timeout, Tickstart) != HAL_OK)
5663:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5664:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
5665:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5666:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5667:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* If Memory address size is 8Bit */
5668:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (MemAddSize == I2C_MEMADD_SIZE_8BIT)
5669:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5670:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Send Memory Address */
5671:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->TXDR = I2C_MEM_ADD_LSB(MemAddress);
5672:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5673:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* If Memory address size is 16Bit */
ARM GAS /tmp/ccNVyn8W.s page 101
5674:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
5675:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5676:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Send MSB of Memory Address */
5677:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->TXDR = I2C_MEM_ADD_MSB(MemAddress);
5678:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5679:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until TXIS flag is set */
5680:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnTXISFlagUntilTimeout(hi2c, Timeout, Tickstart) != HAL_OK)
5681:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5682:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
5683:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5684:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5685:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Send LSB of Memory Address */
5686:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->TXDR = I2C_MEM_ADD_LSB(MemAddress);
5687:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5688:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5689:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until TCR flag is set */
5690:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_TCR, RESET, Timeout, Tickstart) != HAL_OK)
5691:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5692:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
5693:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5694:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5695:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK;
5696:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5697:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5698:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
5699:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Master sends target device address followed by internal memory address for read request
5700:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
5701:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
5702:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
5703:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
5704:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param MemAddress Internal memory address
5705:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param MemAddSize Size of internal memory address
5706:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Timeout Timeout duration
5707:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Tickstart Tick start value
5708:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status
5709:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
5710:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_RequestMemoryRead(I2C_HandleTypeDef *hi2c, uint16_t DevAddress,
5711:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t MemAddress, uint16_t MemAddSize, uint32_t T
5712:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t Tickstart)
5713:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5714:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)MemAddSize, I2C_SOFTEND_MODE, I2C_GENERATE_START_WR
5715:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5716:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until TXIS flag is set */
5717:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnTXISFlagUntilTimeout(hi2c, Timeout, Tickstart) != HAL_OK)
5718:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5719:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
5720:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5721:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5722:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* If Memory address size is 8Bit */
5723:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (MemAddSize == I2C_MEMADD_SIZE_8BIT)
5724:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5725:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Send Memory Address */
5726:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->TXDR = I2C_MEM_ADD_LSB(MemAddress);
5727:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* If Memory address size is 16Bit */
5729:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
5730:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
ARM GAS /tmp/ccNVyn8W.s page 102
5731:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Send MSB of Memory Address */
5732:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->TXDR = I2C_MEM_ADD_MSB(MemAddress);
5733:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5734:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until TXIS flag is set */
5735:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnTXISFlagUntilTimeout(hi2c, Timeout, Tickstart) != HAL_OK)
5736:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5737:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
5738:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5739:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5740:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Send LSB of Memory Address */
5741:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->TXDR = I2C_MEM_ADD_LSB(MemAddress);
5742:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5743:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5744:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until TC flag is set */
5745:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_TC, RESET, Timeout, Tickstart) != HAL_OK)
5746:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5747:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
5748:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5749:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK;
5751:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5752:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5753:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
5754:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief I2C Address complete process callback.
5755:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c I2C handle.
5756:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param ITFlags Interrupt flags to handle.
5757:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None
5758:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
5759:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_ITAddrCplt(I2C_HandleTypeDef *hi2c, uint32_t ITFlags)
5760:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5761:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint8_t transferdirection;
5762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t slaveaddrcode;
5763:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t ownadd1code;
5764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t ownadd2code;
5765:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5766:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
5767:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** UNUSED(ITFlags);
5768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5769:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* In case of Listen state, need to inform upper layer of address match code event */
5770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (((uint32_t)hi2c->State & (uint32_t)HAL_I2C_STATE_LISTEN) == (uint32_t)HAL_I2C_STATE_LISTEN)
5771:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5772:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** transferdirection = I2C_GET_DIR(hi2c);
5773:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** slaveaddrcode = I2C_GET_ADDR_MATCH(hi2c);
5774:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ownadd1code = I2C_GET_OWN_ADDRESS1(hi2c);
5775:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ownadd2code = I2C_GET_OWN_ADDRESS2(hi2c);
5776:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5777:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* If 10bits addressing mode is selected */
5778:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->Init.AddressingMode == I2C_ADDRESSINGMODE_10BIT)
5779:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5780:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((slaveaddrcode & SLAVE_ADDR_MSK) == ((ownadd1code >> SLAVE_ADDR_SHIFT) & SLAVE_ADDR_MSK))
5781:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5782:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** slaveaddrcode = ownadd1code;
5783:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->AddrEventCount++;
5784:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->AddrEventCount == 2U)
5785:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5786:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Reset Address Event counter */
5787:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->AddrEventCount = 0U;
ARM GAS /tmp/ccNVyn8W.s page 103
5788:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5789:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear ADDR flag */
5790:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ADDR);
5791:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5792:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
5793:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
5794:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5795:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call Slave Addr callback */
5796:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
5797:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->AddrCallback(hi2c, transferdirection, slaveaddrcode);
5798:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #else
5799:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_AddrCallback(hi2c, transferdirection, slaveaddrcode);
5800:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
5801:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5802:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5803:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
5804:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5805:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** slaveaddrcode = ownadd2code;
5806:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5807:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable ADDR Interrupts */
5808:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT);
5809:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5810:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
5811:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
5812:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5813:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call Slave Addr callback */
5814:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
5815:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->AddrCallback(hi2c, transferdirection, slaveaddrcode);
5816:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #else
5817:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_AddrCallback(hi2c, transferdirection, slaveaddrcode);
5818:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
5819:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5820:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5821:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* else 7 bits addressing mode is selected */
5822:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
5823:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5824:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable ADDR Interrupts */
5825:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT);
5826:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5827:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
5828:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
5829:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5830:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call Slave Addr callback */
5831:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
5832:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->AddrCallback(hi2c, transferdirection, slaveaddrcode);
5833:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #else
5834:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_AddrCallback(hi2c, transferdirection, slaveaddrcode);
5835:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
5836:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5837:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5838:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Else clear address flag only */
5839:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
5840:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5841:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear ADDR flag */
5842:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ADDR);
5843:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5844:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
ARM GAS /tmp/ccNVyn8W.s page 104
5845:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
5846:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5847:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5848:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5849:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
5850:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief I2C Master sequential complete process.
5851:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c I2C handle.
5852:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None
5853:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
5854:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_ITMasterSeqCplt(I2C_HandleTypeDef *hi2c)
5855:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5856:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Reset I2C handle mode */
5857:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
5858:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5859:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* No Generate Stop, to permit restart mode */
5860:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* The stop will be done at the end of transfer, when I2C_AUTOEND_MODE enable */
5861:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_BUSY_TX)
5862:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5863:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
5864:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_TX;
5865:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL;
5866:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5867:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable Interrupts */
5868:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_TX_IT);
5869:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5870:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
5871:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
5872:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5873:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
5874:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
5875:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->MasterTxCpltCallback(hi2c);
5876:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #else
5877:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_MasterTxCpltCallback(hi2c);
5878:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
5879:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5880:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* hi2c->State == HAL_I2C_STATE_BUSY_RX */
5881:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
5882:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5883:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
5884:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_RX;
5885:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL;
5886:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5887:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable Interrupts */
5888:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_RX_IT);
5889:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5890:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
5891:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
5892:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5893:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
5894:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
5895:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->MasterRxCpltCallback(hi2c);
5896:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #else
5897:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_MasterRxCpltCallback(hi2c);
5898:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
5899:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5900:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5901:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
ARM GAS /tmp/ccNVyn8W.s page 105
5902:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
5903:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief I2C Slave sequential complete process.
5904:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c I2C handle.
5905:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None
5906:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
5907:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_ITSlaveSeqCplt(I2C_HandleTypeDef *hi2c)
5908:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5909:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpcr1value = READ_REG(hi2c->Instance->CR1);
5910:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Reset I2C handle mode */
5912:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
5913:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5914:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* If a DMA is ongoing, Update handle size context */
5915:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_CHECK_IT_SOURCE(tmpcr1value, I2C_CR1_TXDMAEN) != RESET)
5916:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5917:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable DMA Request */
5918:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_TXDMAEN;
5919:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5920:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if (I2C_CHECK_IT_SOURCE(tmpcr1value, I2C_CR1_RXDMAEN) != RESET)
5921:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5922:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable DMA Request */
5923:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_RXDMAEN;
5924:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5925:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
5926:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5927:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Do nothing */
5928:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5929:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5930:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_BUSY_TX_LISTEN)
5931:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5932:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Remove HAL_I2C_STATE_SLAVE_BUSY_TX, keep only HAL_I2C_STATE_LISTEN */
5933:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN;
5934:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_TX;
5935:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5936:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable Interrupts */
5937:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_TX_IT);
5938:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5939:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
5940:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
5941:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5942:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
5943:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
5944:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->SlaveTxCpltCallback(hi2c);
5945:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #else
5946:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_SlaveTxCpltCallback(hi2c);
5947:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
5948:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5949:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5950:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if (hi2c->State == HAL_I2C_STATE_BUSY_RX_LISTEN)
5951:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5952:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Remove HAL_I2C_STATE_SLAVE_BUSY_RX, keep only HAL_I2C_STATE_LISTEN */
5953:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN;
5954:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_RX;
5955:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5956:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable Interrupts */
5957:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_RX_IT);
5958:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
ARM GAS /tmp/ccNVyn8W.s page 106
5959:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
5960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
5961:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5962:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
5963:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
5964:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->SlaveRxCpltCallback(hi2c);
5965:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #else
5966:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_SlaveRxCpltCallback(hi2c);
5967:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
5968:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5969:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
5970:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5971:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Nothing to do */
5972:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5973:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5974:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5975:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
5976:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief I2C Master complete process.
5977:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c I2C handle.
5978:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param ITFlags Interrupt flags to handle.
5979:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None
5980:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
5981:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_ITMasterCplt(I2C_HandleTypeDef *hi2c, uint32_t ITFlags)
5982:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5983:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmperror;
5984:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpITFlags = ITFlags;
5985:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __IO uint32_t tmpreg;
5986:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5987:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear STOP Flag */
5988:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF);
5989:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5990:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable Interrupts and Store Previous state */
5991:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_BUSY_TX)
5992:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5993:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_TX_IT);
5994:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_TX;
5995:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5996:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if (hi2c->State == HAL_I2C_STATE_BUSY_RX)
5997:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5998:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_RX_IT);
5999:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_RX;
6000:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6001:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
6002:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6003:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Do nothing */
6004:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6005:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6006:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear Configuration Register 2 */
6007:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_RESET_CR2(hi2c);
6008:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6009:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Reset handle parameters */
6010:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL;
6011:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
6012:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6013:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_AF) != RESET)
6014:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6015:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear NACK Flag */
ARM GAS /tmp/ccNVyn8W.s page 107
6016:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
6017:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6018:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set acknowledge error code */
6019:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_AF;
6020:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6021:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6022:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Fetch Last receive data if any */
6023:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((hi2c->State == HAL_I2C_STATE_ABORT) && (I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_RXNE) != RESET))
6024:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6025:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Read data from RXDR */
6026:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmpreg = (uint8_t)hi2c->Instance->RXDR;
6027:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** UNUSED(tmpreg);
6028:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6029:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6030:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Flush TX register */
6031:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Flush_TXDR(hi2c);
6032:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6033:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Store current volatile hi2c->ErrorCode, misra rule */
6034:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmperror = hi2c->ErrorCode;
6035:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6036:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
6037:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((hi2c->State == HAL_I2C_STATE_ABORT) || (tmperror != HAL_I2C_ERROR_NONE))
6038:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6039:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
6040:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITError(hi2c, hi2c->ErrorCode);
6041:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6042:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* hi2c->State == HAL_I2C_STATE_BUSY_TX */
6043:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if (hi2c->State == HAL_I2C_STATE_BUSY_TX)
6044:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6045:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
6046:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
6047:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6048:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->Mode == HAL_I2C_MODE_MEM)
6049:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6050:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
6051:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6052:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
6053:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
6054:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6055:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
6056:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
6057:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->MemTxCpltCallback(hi2c);
6058:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #else
6059:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_MemTxCpltCallback(hi2c);
6060:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
6061:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6062:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
6063:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6064:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
6065:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6066:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
6067:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
6068:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6069:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
6070:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
6071:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->MasterTxCpltCallback(hi2c);
6072:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #else
ARM GAS /tmp/ccNVyn8W.s page 108
6073:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_MasterTxCpltCallback(hi2c);
6074:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
6075:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6076:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6077:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* hi2c->State == HAL_I2C_STATE_BUSY_RX */
6078:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if (hi2c->State == HAL_I2C_STATE_BUSY_RX)
6079:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6080:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
6081:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
6082:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6083:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->Mode == HAL_I2C_MODE_MEM)
6084:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6085:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
6086:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6087:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
6088:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
6089:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6090:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
6091:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
6092:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->MemRxCpltCallback(hi2c);
6093:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #else
6094:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_MemRxCpltCallback(hi2c);
6095:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
6096:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6097:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
6098:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6099:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
6100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6101:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
6102:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
6103:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
6105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
6106:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->MasterRxCpltCallback(hi2c);
6107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #else
6108:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_MasterRxCpltCallback(hi2c);
6109:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
6110:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6111:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6112:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
6113:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6114:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Nothing to do */
6115:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6117:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
6119:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief I2C Slave complete process.
6120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c I2C handle.
6121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param ITFlags Interrupt flags to handle.
6122:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None
6123:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
6124:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_ITSlaveCplt(I2C_HandleTypeDef *hi2c, uint32_t ITFlags)
6125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6126:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpcr1value = READ_REG(hi2c->Instance->CR1);
6127:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpITFlags = ITFlags;
6128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_StateTypeDef tmpstate = hi2c->State;
6129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
ARM GAS /tmp/ccNVyn8W.s page 109
6130:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear STOP Flag */
6131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF);
6132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable Interrupts and Store Previous state */
6134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((tmpstate == HAL_I2C_STATE_BUSY_TX) || (tmpstate == HAL_I2C_STATE_BUSY_TX_LISTEN))
6135:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6136:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT | I2C_XFER_TX_IT);
6137:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_TX;
6138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if ((tmpstate == HAL_I2C_STATE_BUSY_RX) || (tmpstate == HAL_I2C_STATE_BUSY_RX_LISTEN))
6140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT | I2C_XFER_RX_IT);
6142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_RX;
6143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6144:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
6145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6146:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Do nothing */
6147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable Address Acknowledge */
6150:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK;
6151:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear Configuration Register 2 */
6153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_RESET_CR2(hi2c);
6154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6155:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Flush TX register */
6156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Flush_TXDR(hi2c);
6157:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* If a DMA is ongoing, Update handle size context */
6159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_CHECK_IT_SOURCE(tmpcr1value, I2C_CR1_TXDMAEN) != RESET)
6160:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6161:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable DMA Request */
6162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_TXDMAEN;
6163:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6164:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->hdmatx != NULL)
6165:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = (uint16_t)I2C_GET_DMA_REMAIN_DATA(hi2c->hdmatx);
6167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if (I2C_CHECK_IT_SOURCE(tmpcr1value, I2C_CR1_RXDMAEN) != RESET)
6170:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6171:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable DMA Request */
6172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_RXDMAEN;
6173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6174:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->hdmarx != NULL)
6175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6176:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = (uint16_t)I2C_GET_DMA_REMAIN_DATA(hi2c->hdmarx);
6177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6178:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6179:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
6180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Do nothing */
6182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6184:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Store Last receive data if any */
6185:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_RXNE) != RESET)
6186:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
ARM GAS /tmp/ccNVyn8W.s page 110
6187:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Remove RXNE flag on temporary variable as read done */
6188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmpITFlags &= ~I2C_FLAG_RXNE;
6189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6190:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Read data from RXDR */
6191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->RXDR;
6192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6193:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Increment Buffer pointer */
6194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr++;
6195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6196:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((hi2c->XferSize > 0U))
6197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6198:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--;
6199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--;
6200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6201:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6202:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6203:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* All data are not transferred, so set error code accordingly */
6204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount != 0U)
6205:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6206:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set ErrorCode corresponding to a Non-Acknowledge */
6207:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_AF;
6208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6210:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
6211:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL;
6212:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6213:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->ErrorCode != HAL_I2C_ERROR_NONE)
6214:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
6216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITError(hi2c, hi2c->ErrorCode);
6217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the Listen Complete callback, to inform upper layer of the end of Listen usecase */
6219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_LISTEN)
6220:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call I2C Listen complete process */
6222:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITListenCplt(hi2c, tmpITFlags);
6223:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6225:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if (hi2c->XferOptions != I2C_NO_OPTION_FRAME)
6226:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6227:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the Sequential Complete callback, to inform upper layer of the end of Transfer */
6228:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITSlaveSeqCplt(hi2c);
6229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6230:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
6231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
6232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
6233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6234:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
6235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
6236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6237:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the Listen Complete callback, to inform upper layer of the end of Listen usecase */
6238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
6239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ListenCpltCallback(hi2c);
6240:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #else
6241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_ListenCpltCallback(hi2c);
6242:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
6243:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
ARM GAS /tmp/ccNVyn8W.s page 111
6244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
6245:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if (hi2c->State == HAL_I2C_STATE_BUSY_RX)
6246:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
6248:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
6249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
6251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
6252:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6253:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
6254:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
6255:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->SlaveRxCpltCallback(hi2c);
6256:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #else
6257:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_SlaveRxCpltCallback(hi2c);
6258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
6259:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6260:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
6261:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
6263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
6264:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
6266:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
6267:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
6269:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
6270:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->SlaveTxCpltCallback(hi2c);
6271:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #else
6272:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_SlaveTxCpltCallback(hi2c);
6273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
6274:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6277:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
6278:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief I2C Listen complete process.
6279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c I2C handle.
6280:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param ITFlags Interrupt flags to handle.
6281:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None
6282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
6283:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_ITListenCplt(I2C_HandleTypeDef *hi2c, uint32_t ITFlags)
6284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6285:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Reset handle parameters */
6286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
6287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
6288:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
6289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
6290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL;
6291:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Store Last receive data if any */
6293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_CHECK_FLAG(ITFlags, I2C_FLAG_RXNE) != RESET)
6294:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Read data from RXDR */
6296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->RXDR;
6297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Increment Buffer pointer */
6299:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr++;
6300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
ARM GAS /tmp/ccNVyn8W.s page 112
6301:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((hi2c->XferSize > 0U))
6302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--;
6304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--;
6305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6306:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set ErrorCode corresponding to a Non-Acknowledge */
6307:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_AF;
6308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6310:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable all Interrupts*/
6312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT | I2C_XFER_RX_IT | I2C_XFER_TX_IT);
6313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear NACK Flag */
6315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
6316:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
6318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
6319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6320:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the Listen Complete callback, to inform upper layer of the end of Listen usecase */
6321:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
6322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ListenCpltCallback(hi2c);
6323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #else
6324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_ListenCpltCallback(hi2c);
6325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
6326:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6328:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
6329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief I2C interrupts error process.
6330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c I2C handle.
6331:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param ErrorCode Error code to handle.
6332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None
6333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
6334:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_ITError(I2C_HandleTypeDef *hi2c, uint32_t ErrorCode)
6335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_StateTypeDef tmpstate = hi2c->State;
6337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmppreviousstate;
6339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Reset handle parameters */
6341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
6342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
6343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = 0U;
6344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set new error code */
6346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= ErrorCode;
6347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable Interrupts */
6349:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((tmpstate == HAL_I2C_STATE_LISTEN) ||
6350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmpstate == HAL_I2C_STATE_BUSY_TX_LISTEN) ||
6351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmpstate == HAL_I2C_STATE_BUSY_RX_LISTEN))
6352:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6353:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable all interrupts, except interrupts related to LISTEN state */
6354:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_RX_IT | I2C_XFER_TX_IT);
6355:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* keep HAL_I2C_STATE_LISTEN if set */
6357:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN;
ARM GAS /tmp/ccNVyn8W.s page 113
6358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
6359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
6361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable all interrupts */
6363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT | I2C_XFER_RX_IT | I2C_XFER_TX_IT);
6364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Flush TX register */
6366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Flush_TXDR(hi2c);
6367:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* If state is an abort treatment on going, don't change state */
6369:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* This change will be do later */
6370:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State != HAL_I2C_STATE_ABORT)
6371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6372:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set HAL_I2C_STATE_READY */
6373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
6374:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6375:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check if a STOPF is detected */
6376:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_STOPF) == SET)
6377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6378:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF) == SET)
6379:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
6381:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_AF;
6382:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6383:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6384:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear STOP Flag */
6385:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF);
6386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6387:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6388:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL;
6390:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6391:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Abort DMA TX transfer if any */
6393:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmppreviousstate = hi2c->PreviousState;
6394:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((hi2c->hdmatx != NULL) && ((tmppreviousstate == I2C_STATE_MASTER_BUSY_TX) || \
6396:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmppreviousstate == I2C_STATE_SLAVE_BUSY_TX)))
6397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_TXDMAEN) == I2C_CR1_TXDMAEN)
6399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6400:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_TXDMAEN;
6401:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6402:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6403:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (HAL_DMA_GetState(hi2c->hdmatx) != HAL_DMA_STATE_READY)
6404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6405:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the I2C DMA Abort callback :
6406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** will lead to call HAL_I2C_ErrorCallback() at end of DMA abort procedure */
6407:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = I2C_DMAAbort;
6408:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6409:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
6410:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
6411:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6412:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Abort DMA TX */
6413:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (HAL_DMA_Abort_IT(hi2c->hdmatx) != HAL_OK)
6414:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
ARM GAS /tmp/ccNVyn8W.s page 114
6415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call Directly XferAbortCallback function in case of error */
6416:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback(hi2c->hdmatx);
6417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6418:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6419:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
6420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6421:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TreatErrorCallback(hi2c);
6422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6424:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Abort DMA RX transfer if any */
6425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if ((hi2c->hdmarx != NULL) && ((tmppreviousstate == I2C_STATE_MASTER_BUSY_RX) || \
6426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmppreviousstate == I2C_STATE_SLAVE_BUSY_RX)))
6427:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_RXDMAEN) == I2C_CR1_RXDMAEN)
6429:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_RXDMAEN;
6431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6432:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6433:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (HAL_DMA_GetState(hi2c->hdmarx) != HAL_DMA_STATE_READY)
6434:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the I2C DMA Abort callback :
6436:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** will lead to call HAL_I2C_ErrorCallback() at end of DMA abort procedure */
6437:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = I2C_DMAAbort;
6438:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6439:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
6440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
6441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Abort DMA RX */
6443:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (HAL_DMA_Abort_IT(hi2c->hdmarx) != HAL_OK)
6444:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6445:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call Directly hi2c->hdmarx->XferAbortCallback function in case of error */
6446:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback(hi2c->hdmarx);
6447:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6448:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6449:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
6450:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TreatErrorCallback(hi2c);
6452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6454:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
6455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6456:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TreatErrorCallback(hi2c);
6457:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6459:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
6461:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief I2C Error callback treatment.
6462:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c I2C handle.
6463:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None
6464:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
6465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_TreatErrorCallback(I2C_HandleTypeDef *hi2c)
6466:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_ABORT)
6468:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6469:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
6470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
6471:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
ARM GAS /tmp/ccNVyn8W.s page 115
6472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
6473:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
6474:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6475:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
6476:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
6477:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->AbortCpltCallback(hi2c);
6478:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #else
6479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_AbortCpltCallback(hi2c);
6480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
6481:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
6483:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6484:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
6485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6486:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
6487:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
6488:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
6490:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
6491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCallback(hi2c);
6492:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #else
6493:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_ErrorCallback(hi2c);
6494:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
6495:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6496:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6498:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
6499:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief I2C Tx data register flush process.
6500:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c I2C handle.
6501:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None
6502:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
6503:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_Flush_TXDR(I2C_HandleTypeDef *hi2c)
6504:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
29 .loc 1 6504 1 view -0
30 .cfi_startproc
31 @ args = 0, pretend = 0, frame = 0
32 @ frame_needed = 0, uses_anonymous_args = 0
33 @ link register save eliminated.
6505:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* If a pending TXIS flag is set */
6506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Write a dummy data in TXDR to clear it */
6507:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_TXIS) != RESET)
34 .loc 1 6507 3 view .LVU1
35 .loc 1 6507 7 is_stmt 0 view .LVU2
36 0000 0368 ldr r3, [r0]
37 0002 9A69 ldr r2, [r3, #24]
38 .loc 1 6507 6 view .LVU3
39 0004 12F0020F tst r2, #2
40 0008 01D0 beq .L2
6508:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6509:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->TXDR = 0x00U;
41 .loc 1 6509 5 is_stmt 1 view .LVU4
42 .loc 1 6509 26 is_stmt 0 view .LVU5
43 000a 0022 movs r2, #0
44 000c 9A62 str r2, [r3, #40]
45 .L2:
6510:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6511:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
ARM GAS /tmp/ccNVyn8W.s page 116
6512:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Flush TX register if not empty */
6513:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_TXE) == RESET)
46 .loc 1 6513 3 is_stmt 1 view .LVU6
47 .loc 1 6513 7 is_stmt 0 view .LVU7
48 000e 0368 ldr r3, [r0]
49 0010 9A69 ldr r2, [r3, #24]
50 .loc 1 6513 6 view .LVU8
51 0012 12F0010F tst r2, #1
52 0016 03D1 bne .L1
6514:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6515:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_TXE);
53 .loc 1 6515 5 is_stmt 1 view .LVU9
54 0018 9A69 ldr r2, [r3, #24]
55 001a 42F00102 orr r2, r2, #1
56 001e 9A61 str r2, [r3, #24]
57 .L1:
6516:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6517:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
58 .loc 1 6517 1 is_stmt 0 view .LVU10
59 0020 7047 bx lr
60 .cfi_endproc
61 .LFE195:
63 .section .text.I2C_TransferConfig,"ax",%progbits
64 .align 1
65 .syntax unified
66 .thumb
67 .thumb_func
69 I2C_TransferConfig:
70 .LVL1:
71 .LFB207:
6518:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
6520:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief DMA I2C master transmit process complete callback.
6521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hdma DMA handle
6522:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None
6523:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
6524:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_DMAMasterTransmitCplt(DMA_HandleTypeDef *hdma)
6525:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6526:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Derogation MISRAC2012-Rule-11.5 */
6527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_HandleTypeDef *hi2c = (I2C_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent);
6528:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6529:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable DMA Request */
6530:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_TXDMAEN;
6531:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6532:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* If last transfer, enable STOP interrupt */
6533:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount == 0U)
6534:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6535:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable STOP interrupt */
6536:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_CPLT_IT);
6537:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6538:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* else prepare a new DMA transfer and enable TCReload interrupt */
6539:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
6540:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6541:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update Buffer pointer */
6542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr += hi2c->XferSize;
6543:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6544:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the XferSize to transfer */
ARM GAS /tmp/ccNVyn8W.s page 117
6545:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
6546:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6547:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
6548:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6549:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
6550:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
6552:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6554:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable the DMA channel */
6555:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (HAL_DMA_Start_IT(hi2c->hdmatx, (uint32_t)hi2c->pBuffPtr, (uint32_t)&hi2c->Instance->TXDR,
6556:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize) != HAL_OK)
6557:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6558:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
6559:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITError(hi2c, HAL_I2C_ERROR_DMA);
6560:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6561:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
6562:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6563:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable TC interrupts */
6564:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_RELOAD_IT);
6565:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6566:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6567:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6568:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6569:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6570:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
6571:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief DMA I2C slave transmit process complete callback.
6572:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hdma DMA handle
6573:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None
6574:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
6575:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_DMASlaveTransmitCplt(DMA_HandleTypeDef *hdma)
6576:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6577:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Derogation MISRAC2012-Rule-11.5 */
6578:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_HandleTypeDef *hi2c = (I2C_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent);
6579:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpoptions = hi2c->XferOptions;
6580:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((tmpoptions == I2C_NEXT_FRAME) || (tmpoptions == I2C_FIRST_FRAME))
6582:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6583:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable DMA Request */
6584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_TXDMAEN;
6585:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6586:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Last Byte is Transmitted */
6587:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call I2C Slave Sequential complete process */
6588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITSlaveSeqCplt(hi2c);
6589:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6590:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
6591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6592:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* No specific action, Master fully manage the generation of STOP condition */
6593:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Mean that this generation can arrive at any time, at the end or during DMA process */
6594:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* So STOP condition should be manage through Interrupt treatment */
6595:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6596:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6597:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6598:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6599:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
6600:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief DMA I2C master receive process complete callback.
6601:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hdma DMA handle
ARM GAS /tmp/ccNVyn8W.s page 118
6602:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None
6603:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
6604:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_DMAMasterReceiveCplt(DMA_HandleTypeDef *hdma)
6605:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6606:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Derogation MISRAC2012-Rule-11.5 */
6607:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_HandleTypeDef *hi2c = (I2C_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent);
6608:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6609:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable DMA Request */
6610:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_RXDMAEN;
6611:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6612:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* If last transfer, enable STOP interrupt */
6613:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount == 0U)
6614:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6615:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable STOP interrupt */
6616:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_CPLT_IT);
6617:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6618:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* else prepare a new DMA transfer and enable TCReload interrupt */
6619:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
6620:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6621:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update Buffer pointer */
6622:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr += hi2c->XferSize;
6623:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6624:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the XferSize to transfer */
6625:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
6626:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6627:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
6628:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6629:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
6630:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
6632:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6633:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6634:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable the DMA channel */
6635:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (HAL_DMA_Start_IT(hi2c->hdmarx, (uint32_t)&hi2c->Instance->RXDR, (uint32_t)hi2c->pBuffPtr,
6636:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize) != HAL_OK)
6637:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6638:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
6639:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITError(hi2c, HAL_I2C_ERROR_DMA);
6640:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6641:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
6642:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6643:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable TC interrupts */
6644:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_RELOAD_IT);
6645:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6646:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6647:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6648:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6649:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6650:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
6651:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief DMA I2C slave receive process complete callback.
6652:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hdma DMA handle
6653:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None
6654:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
6655:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_DMASlaveReceiveCplt(DMA_HandleTypeDef *hdma)
6656:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6657:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Derogation MISRAC2012-Rule-11.5 */
6658:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_HandleTypeDef *hi2c = (I2C_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent);
ARM GAS /tmp/ccNVyn8W.s page 119
6659:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpoptions = hi2c->XferOptions;
6660:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6661:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((I2C_GET_DMA_REMAIN_DATA(hi2c->hdmarx) == 0U) && \
6662:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmpoptions != I2C_NO_OPTION_FRAME))
6663:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6664:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable DMA Request */
6665:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_RXDMAEN;
6666:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6667:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call I2C Slave Sequential complete process */
6668:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITSlaveSeqCplt(hi2c);
6669:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6670:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
6671:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6672:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* No specific action, Master fully manage the generation of STOP condition */
6673:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Mean that this generation can arrive at any time, at the end or during DMA process */
6674:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* So STOP condition should be manage through Interrupt treatment */
6675:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6676:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6677:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6678:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6679:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
6680:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief DMA I2C communication error callback.
6681:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hdma DMA handle
6682:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None
6683:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
6684:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_DMAError(DMA_HandleTypeDef *hdma)
6685:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6686:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Derogation MISRAC2012-Rule-11.5 */
6687:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_HandleTypeDef *hi2c = (I2C_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent);
6688:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6689:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable Acknowledge */
6690:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK;
6691:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6692:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
6693:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITError(hi2c, HAL_I2C_ERROR_DMA);
6694:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6695:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6696:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6697:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
6698:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief DMA I2C communication abort callback
6699:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * (To be called at end of DMA Abort procedure).
6700:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hdma DMA handle.
6701:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None
6702:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
6703:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_DMAAbort(DMA_HandleTypeDef *hdma)
6704:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6705:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Derogation MISRAC2012-Rule-11.5 */
6706:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_HandleTypeDef *hi2c = (I2C_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent);
6707:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6708:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Reset AbortCpltCallback */
6709:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->hdmatx != NULL)
6710:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6711:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
6712:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6713:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->hdmarx != NULL)
6714:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6715:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
ARM GAS /tmp/ccNVyn8W.s page 120
6716:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6717:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6718:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TreatErrorCallback(hi2c);
6719:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6720:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6721:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6722:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
6723:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief This function handles I2C Communication Timeout. It waits
6724:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * until a flag is no longer in the specified status.
6725:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
6726:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
6727:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Flag Specifies the I2C flag to check.
6728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Status The actual Flag status (SET or RESET).
6729:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Timeout Timeout duration
6730:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Tickstart Tick start value
6731:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status
6732:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
6733:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_WaitOnFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t Flag, FlagSta
6734:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t Timeout, uint32_t Tickstart)
6735:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6736:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, Flag) == Status)
6737:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6738:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check for the Timeout */
6739:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (Timeout != HAL_MAX_DELAY)
6740:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6741:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (((HAL_GetTick() - Tickstart) > Timeout) || (Timeout == 0U))
6742:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6743:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((__HAL_I2C_GET_FLAG(hi2c, Flag) == Status))
6744:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6745:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT;
6746:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
6747:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
6748:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6749:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
6750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
6751:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
6752:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6753:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6754:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6755:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6756:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK;
6757:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6758:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6759:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
6760:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief This function handles I2C Communication Timeout for specific usage of TXIS flag.
6761:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
6762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
6763:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Timeout Timeout duration
6764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Tickstart Tick start value
6765:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status
6766:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
6767:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_WaitOnTXISFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t Timeout,
6768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t Tickstart)
6769:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_TXIS) == RESET)
6771:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6772:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check if an error is detected */
ARM GAS /tmp/ccNVyn8W.s page 121
6773:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_IsErrorOccurred(hi2c, Timeout, Tickstart) != HAL_OK)
6774:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6775:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
6776:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6777:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6778:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check for the Timeout */
6779:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (Timeout != HAL_MAX_DELAY)
6780:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6781:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (((HAL_GetTick() - Tickstart) > Timeout) || (Timeout == 0U))
6782:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6783:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_TXIS) == RESET))
6784:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6785:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT;
6786:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
6787:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
6788:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6789:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
6790:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
6791:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6792:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
6793:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6794:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6795:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6796:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6797:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK;
6798:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6799:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6800:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
6801:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief This function handles I2C Communication Timeout for specific usage of STOP flag.
6802:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
6803:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
6804:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Timeout Timeout duration
6805:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Tickstart Tick start value
6806:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status
6807:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
6808:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_WaitOnSTOPFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t Timeout,
6809:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t Tickstart)
6810:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6811:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_STOPF) == RESET)
6812:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6813:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check if an error is detected */
6814:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_IsErrorOccurred(hi2c, Timeout, Tickstart) != HAL_OK)
6815:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6816:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
6817:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6818:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6819:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check for the Timeout */
6820:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (((HAL_GetTick() - Tickstart) > Timeout) || (Timeout == 0U))
6821:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6822:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_STOPF) == RESET))
6823:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6824:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT;
6825:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
6826:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
6827:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6828:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
6829:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
ARM GAS /tmp/ccNVyn8W.s page 122
6830:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6831:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
6832:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6833:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6834:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6835:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK;
6836:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6837:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6838:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
6839:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief This function handles I2C Communication Timeout for specific usage of RXNE flag.
6840:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
6841:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
6842:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Timeout Timeout duration
6843:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Tickstart Tick start value
6844:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status
6845:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
6846:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_WaitOnRXNEFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t Timeout,
6847:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t Tickstart)
6848:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6849:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_RXNE) == RESET)
6850:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6851:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check if an error is detected */
6852:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_IsErrorOccurred(hi2c, Timeout, Tickstart) != HAL_OK)
6853:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6854:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
6855:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6856:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6857:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check if a STOPF is detected */
6858:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_STOPF) == SET)
6859:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6860:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check if an RXNE is pending */
6861:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Store Last receive data if any */
6862:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_RXNE) == SET) && (hi2c->XferSize > 0U))
6863:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6864:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Return HAL_OK */
6865:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* The Reading of data from RXDR will be done in caller function */
6866:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK;
6867:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6868:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
6869:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6870:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF) == SET)
6871:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6872:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
6873:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_AF;
6874:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6875:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
6876:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6877:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
6878:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6879:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6880:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear STOP Flag */
6881:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF);
6882:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6883:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear Configuration Register 2 */
6884:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_RESET_CR2(hi2c);
6885:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6886:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
ARM GAS /tmp/ccNVyn8W.s page 123
6887:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
6888:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6889:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
6890:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
6891:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6892:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
6893:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6894:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6895:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6896:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check for the Timeout */
6897:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (((HAL_GetTick() - Tickstart) > Timeout) || (Timeout == 0U))
6898:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6899:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_RXNE) == RESET))
6900:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6901:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT;
6902:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
6903:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6904:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
6905:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
6906:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6907:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
6908:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6909:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6910:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK;
6912:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6913:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6914:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
6915:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief This function handles errors detection during an I2C Communication.
6916:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
6917:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
6918:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Timeout Timeout duration
6919:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Tickstart Tick start value
6920:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status
6921:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
6922:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_IsErrorOccurred(I2C_HandleTypeDef *hi2c, uint32_t Timeout, uint32_t Ti
6923:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6924:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef status = HAL_OK;
6925:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t itflag = hi2c->Instance->ISR;
6926:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t error_code = 0;
6927:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tickstart = Tickstart;
6928:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmp1;
6929:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_ModeTypeDef tmp2;
6930:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6931:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (HAL_IS_BIT_SET(itflag, I2C_FLAG_AF))
6932:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6933:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear NACKF Flag */
6934:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
6935:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6936:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until STOP Flag is set or timeout occurred */
6937:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* AutoEnd should be initiate after AF */
6938:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** while ((__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_STOPF) == RESET) && (status == HAL_OK))
6939:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6940:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check for the Timeout */
6941:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (Timeout != HAL_MAX_DELAY)
6942:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6943:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (((HAL_GetTick() - tickstart) > Timeout) || (Timeout == 0U))
ARM GAS /tmp/ccNVyn8W.s page 124
6944:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6945:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmp1 = (uint32_t)(hi2c->Instance->CR2 & I2C_CR2_STOP);
6946:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmp2 = hi2c->Mode;
6947:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6948:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* In case of I2C still busy, try to regenerate a STOP manually */
6949:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) != RESET) && \
6950:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmp1 != I2C_CR2_STOP) && \
6951:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmp2 != HAL_I2C_MODE_SLAVE))
6952:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6953:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Generate Stop */
6954:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_STOP;
6955:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6956:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update Tick with new reference */
6957:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tickstart = HAL_GetTick();
6958:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6959:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_STOPF) == RESET)
6961:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6962:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check for the Timeout */
6963:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((HAL_GetTick() - tickstart) > I2C_TIMEOUT_STOPF)
6964:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6965:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** error_code |= HAL_I2C_ERROR_TIMEOUT;
6966:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6967:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** status = HAL_ERROR;
6968:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6969:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** break;
6970:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6971:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6972:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6973:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6974:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6975:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6976:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* In case STOP Flag is detected, clear it */
6977:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (status == HAL_OK)
6978:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6979:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear STOP Flag */
6980:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF);
6981:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6982:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6983:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** error_code |= HAL_I2C_ERROR_AF;
6984:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6985:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** status = HAL_ERROR;
6986:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6987:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6988:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Refresh Content of Status register */
6989:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** itflag = hi2c->Instance->ISR;
6990:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6991:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Then verify if an additional errors occurs */
6992:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check if a Bus error occurred */
6993:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (HAL_IS_BIT_SET(itflag, I2C_FLAG_BERR))
6994:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6995:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** error_code |= HAL_I2C_ERROR_BERR;
6996:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6997:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear BERR flag */
6998:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_BERR);
6999:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7000:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** status = HAL_ERROR;
ARM GAS /tmp/ccNVyn8W.s page 125
7001:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
7002:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7003:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check if an Over-Run/Under-Run error occurred */
7004:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (HAL_IS_BIT_SET(itflag, I2C_FLAG_OVR))
7005:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
7006:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** error_code |= HAL_I2C_ERROR_OVR;
7007:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7008:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear OVR flag */
7009:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_OVR);
7010:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7011:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** status = HAL_ERROR;
7012:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
7013:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7014:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check if an Arbitration Loss error occurred */
7015:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (HAL_IS_BIT_SET(itflag, I2C_FLAG_ARLO))
7016:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
7017:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** error_code |= HAL_I2C_ERROR_ARLO;
7018:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7019:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear ARLO flag */
7020:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ARLO);
7021:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7022:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** status = HAL_ERROR;
7023:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
7024:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7025:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (status != HAL_OK)
7026:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
7027:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Flush TX register */
7028:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Flush_TXDR(hi2c);
7029:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7030:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear Configuration Register 2 */
7031:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_RESET_CR2(hi2c);
7032:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7033:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= error_code;
7034:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
7035:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
7036:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7037:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
7038:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
7039:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
7040:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7041:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return status;
7042:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
7043:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7044:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
7045:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Handles I2Cx communication when starting transfer or during transfer (TC or TCR flag ar
7046:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c I2C handle.
7047:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param DevAddress Specifies the slave address to be programmed.
7048:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Size Specifies the number of bytes to be programmed.
7049:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * This parameter must be a value between 0 and 255.
7050:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Mode New state of the I2C START condition generation.
7051:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * This parameter can be one of the following values:
7052:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @arg @ref I2C_RELOAD_MODE Enable Reload mode .
7053:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @arg @ref I2C_AUTOEND_MODE Enable Automatic end mode.
7054:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @arg @ref I2C_SOFTEND_MODE Enable Software end mode.
7055:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Request New state of the I2C START condition generation.
7056:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * This parameter can be one of the following values:
7057:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @arg @ref I2C_NO_STARTSTOP Don't Generate stop and start condition.
ARM GAS /tmp/ccNVyn8W.s page 126
7058:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @arg @ref I2C_GENERATE_STOP Generate stop condition (Size should be set to 0).
7059:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @arg @ref I2C_GENERATE_START_READ Generate Restart for read request.
7060:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @arg @ref I2C_GENERATE_START_WRITE Generate Restart for write request.
7061:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None
7062:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
7063:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_TransferConfig(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t Size, uint32_t
7064:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t Request)
7065:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_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 @ link register save eliminated.
77 .loc 1 7065 1 is_stmt 0 view .LVU12
78 0000 10B4 push {r4}
79 .cfi_def_cfa_offset 4
80 .cfi_offset 4, -4
81 0002 019C ldr r4, [sp, #4]
7066:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check the parameters */
7067:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_ALL_INSTANCE(hi2c->Instance));
82 .loc 1 7067 3 is_stmt 1 view .LVU13
7068:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode));
83 .loc 1 7068 3 view .LVU14
7069:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_REQUEST(Request));
84 .loc 1 7069 3 view .LVU15
7070:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7071:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Declaration of tmp to prevent undefined behavior of volatile usage */
7072:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmp = ((uint32_t)(((uint32_t)DevAddress & I2C_CR2_SADD) | \
85 .loc 1 7072 3 view .LVU16
86 .loc 1 7072 52 is_stmt 0 view .LVU17
87 0004 C1F30901 ubfx r1, r1, #0, #10
88 .LVL2:
89 .loc 1 7072 68 view .LVU18
90 0008 41EA0241 orr r1, r1, r2, lsl #16
7073:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \
91 .loc 1 7073 88 view .LVU19
92 000c 1943 orrs r1, r1, r3
7072:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \
93 .loc 1 7072 19 view .LVU20
94 000e 2143 orrs r1, r1, r4
7072:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \
95 .loc 1 7072 12 view .LVU21
96 0010 21F00041 bic r1, r1, #-2147483648
97 .LVL3:
7074:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (uint32_t)Mode | (uint32_t)Request) & (~0x80000000U));
7075:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7076:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* update CR2 register */
7077:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** MODIFY_REG(hi2c->Instance->CR2, \
98 .loc 1 7077 3 is_stmt 1 view .LVU22
99 0014 0268 ldr r2, [r0]
100 .LVL4:
101 .loc 1 7077 3 is_stmt 0 view .LVU23
102 0016 5368 ldr r3, [r2, #4]
103 .LVL5:
104 .loc 1 7077 3 view .LVU24
105 0018 640D lsrs r4, r4, #21
106 001a 04F48064 and r4, r4, #1024
ARM GAS /tmp/ccNVyn8W.s page 127
107 001e 44F07F74 orr r4, r4, #66846720
108 0022 44F45834 orr r4, r4, #221184
109 0026 44F47F74 orr r4, r4, #1020
110 002a 44F00304 orr r4, r4, #3
111 002e 23EA0403 bic r3, r3, r4
112 0032 0B43 orrs r3, r3, r1
113 0034 5360 str r3, [r2, #4]
7078:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \
7079:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CR2_RD_WRN & (uint32_t)(Request >> (31U - I2C_CR2_RD_WRN_Pos))) | \
7080:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_CR2_START | I2C_CR2_STOP)), tmp);
7081:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
114 .loc 1 7081 1 view .LVU25
115 0036 5DF8044B ldr r4, [sp], #4
116 .cfi_restore 4
117 .cfi_def_cfa_offset 0
118 .LVL6:
119 .loc 1 7081 1 view .LVU26
120 003a 7047 bx lr
121 .cfi_endproc
122 .LFE207:
124 .section .text.I2C_Enable_IRQ,"ax",%progbits
125 .align 1
126 .syntax unified
127 .thumb
128 .thumb_func
130 I2C_Enable_IRQ:
131 .LVL7:
132 .LFB208:
7082:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7083:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
7084:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Manage the enabling of Interrupts.
7085:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
7086:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
7087:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param InterruptRequest Value of @ref I2C_Interrupt_configuration_definition.
7088:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None
7089:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
7090:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_Enable_IRQ(I2C_HandleTypeDef *hi2c, uint16_t InterruptRequest)
7091:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
133 .loc 1 7091 1 is_stmt 1 view -0
134 .cfi_startproc
135 @ args = 0, pretend = 0, frame = 0
136 @ frame_needed = 0, uses_anonymous_args = 0
137 @ link register save eliminated.
7092:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpisr = 0U;
138 .loc 1 7092 3 view .LVU28
7093:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7094:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((hi2c->XferISR != I2C_Master_ISR_DMA) && \
139 .loc 1 7094 3 view .LVU29
140 .loc 1 7094 12 is_stmt 0 view .LVU30
141 0000 426B ldr r2, [r0, #52]
142 .loc 1 7094 6 view .LVU31
143 0002 294B ldr r3, .L28
144 0004 9A42 cmp r2, r3
145 0006 24D0 beq .L7
146 .loc 1 7094 45 discriminator 1 view .LVU32
147 0008 284B ldr r3, .L28+4
148 000a 9A42 cmp r2, r3
ARM GAS /tmp/ccNVyn8W.s page 128
149 000c 21D0 beq .L7
7095:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \
150 .loc 1 7095 44 view .LVU33
151 000e 284B ldr r3, .L28+8
152 0010 9A42 cmp r2, r3
153 0012 1ED0 beq .L7
7096:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Mem_ISR_DMA))
7097:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
7098:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((InterruptRequest & I2C_XFER_LISTEN_IT) == I2C_XFER_LISTEN_IT)
154 .loc 1 7098 5 is_stmt 1 view .LVU34
155 .loc 1 7098 8 is_stmt 0 view .LVU35
156 0014 11F4004F tst r1, #32768
157 0018 13D1 bne .L18
7092:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
158 .loc 1 7092 12 view .LVU36
159 001a 0023 movs r3, #0
160 .L8:
161 .LVL8:
7099:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
7100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable ERR, STOP, NACK and ADDR interrupts */
7101:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmpisr |= I2C_IT_ADDRI | I2C_IT_STOPI | I2C_IT_NACKI | I2C_IT_ERRI;
7102:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
7103:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((InterruptRequest & I2C_XFER_TX_IT) == I2C_XFER_TX_IT)
162 .loc 1 7104 5 is_stmt 1 view .LVU37
163 .loc 1 7104 8 is_stmt 0 view .LVU38
164 001c 11F0010F tst r1, #1
165 0020 01D0 beq .L9
7105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
7106:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK and RXI interrupts */
7107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmpisr |= I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI | I2C_IT_TXI;
166 .loc 1 7107 7 is_stmt 1 view .LVU39
167 .loc 1 7107 14 is_stmt 0 view .LVU40
168 0022 43F0F203 orr r3, r3, #242
169 .LVL9:
170 .L9:
7108:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
7109:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7110:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((InterruptRequest & I2C_XFER_RX_IT) == I2C_XFER_RX_IT)
171 .loc 1 7110 5 is_stmt 1 view .LVU41
172 .loc 1 7110 8 is_stmt 0 view .LVU42
173 0026 11F0020F tst r1, #2
174 002a 01D0 beq .L10
7111:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
7112:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK and TXI interrupts */
7113:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmpisr |= I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI | I2C_IT_RXI;
175 .loc 1 7113 7 is_stmt 1 view .LVU43
176 .loc 1 7113 14 is_stmt 0 view .LVU44
177 002c 43F0F403 orr r3, r3, #244
178 .LVL10:
179 .L10:
7114:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
7115:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (InterruptRequest == I2C_XFER_ERROR_IT)
180 .loc 1 7116 5 is_stmt 1 view .LVU45
181 .loc 1 7116 8 is_stmt 0 view .LVU46
182 0030 1029 cmp r1, #16
ARM GAS /tmp/ccNVyn8W.s page 129
183 0032 08D0 beq .L23
184 .L11:
7117:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
7118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable ERR and NACK interrupts */
7119:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmpisr |= I2C_IT_ERRI | I2C_IT_NACKI;
7120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
7121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7122:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (InterruptRequest == I2C_XFER_CPLT_IT)
185 .loc 1 7122 5 is_stmt 1 view .LVU47
186 .loc 1 7122 8 is_stmt 0 view .LVU48
187 0034 2029 cmp r1, #32
188 0036 09D0 beq .L24
189 .L21:
7123:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
7124:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable STOP interrupts */
7125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmpisr |= I2C_IT_STOPI;
7126:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
7127:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
7128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
7130:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
7131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((InterruptRequest & I2C_XFER_LISTEN_IT) == I2C_XFER_LISTEN_IT)
7132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
7133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable ERR, STOP, NACK and ADDR interrupts */
7134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmpisr |= I2C_IT_ADDRI | I2C_IT_STOPI | I2C_IT_NACKI | I2C_IT_ERRI;
7135:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
7136:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7137:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((InterruptRequest & I2C_XFER_TX_IT) == I2C_XFER_TX_IT)
7138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
7139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK and RXI interrupts */
7140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmpisr |= I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI | I2C_IT_TXI;
7141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
7142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((InterruptRequest & I2C_XFER_RX_IT) == I2C_XFER_RX_IT)
7144:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
7145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK and TXI interrupts */
7146:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmpisr |= I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI | I2C_IT_RXI;
7147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
7148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (InterruptRequest == I2C_XFER_ERROR_IT)
7150:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
7151:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable ERR and NACK interrupts */
7152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmpisr |= I2C_IT_ERRI | I2C_IT_NACKI;
7153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
7154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7155:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (InterruptRequest == I2C_XFER_CPLT_IT)
7156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
7157:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable STOP interrupts */
7158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmpisr |= (I2C_IT_STOPI | I2C_IT_TCI);
7159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
7160:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7161:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((hi2c->XferISR != I2C_Mem_ISR_DMA) && (InterruptRequest == I2C_XFER_RELOAD_IT))
7162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
7163:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable TC interrupts */
7164:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmpisr |= I2C_IT_TCI;
7165:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
7166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
ARM GAS /tmp/ccNVyn8W.s page 130
7167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable interrupts only at the end */
7169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* to avoid the risk of I2C interrupt handle execution before */
7170:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* all interrupts requested done */
7171:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_ENABLE_IT(hi2c, tmpisr);
190 .loc 1 7171 3 is_stmt 1 view .LVU49
191 0038 0168 ldr r1, [r0]
192 .LVL11:
193 .loc 1 7171 3 is_stmt 0 view .LVU50
194 003a 0A68 ldr r2, [r1]
195 003c 1343 orrs r3, r3, r2
196 .LVL12:
197 .loc 1 7171 3 view .LVU51
198 003e 0B60 str r3, [r1]
199 0040 7047 bx lr
200 .LVL13:
201 .L18:
7101:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
202 .loc 1 7101 14 view .LVU52
203 0042 B823 movs r3, #184
204 0044 EAE7 b .L8
205 .LVL14:
206 .L23:
7119:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
207 .loc 1 7119 7 is_stmt 1 view .LVU53
7119:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
208 .loc 1 7119 14 is_stmt 0 view .LVU54
209 0046 43F09003 orr r3, r3, #144
210 .LVL15:
7119:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
211 .loc 1 7119 14 view .LVU55
212 004a F3E7 b .L11
213 .L24:
7125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
214 .loc 1 7125 7 is_stmt 1 view .LVU56
7125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
215 .loc 1 7125 14 is_stmt 0 view .LVU57
216 004c 43F02003 orr r3, r3, #32
217 .LVL16:
7125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
218 .loc 1 7125 14 view .LVU58
219 0050 F2E7 b .L21
220 .LVL17:
221 .L7:
7091:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpisr = 0U;
222 .loc 1 7091 1 view .LVU59
223 0052 10B4 push {r4}
224 .cfi_def_cfa_offset 4
225 .cfi_offset 4, -4
7131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
226 .loc 1 7131 5 is_stmt 1 view .LVU60
7131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
227 .loc 1 7131 8 is_stmt 0 view .LVU61
228 0054 11F4004F tst r1, #32768
229 0058 1AD1 bne .L19
7092:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
230 .loc 1 7092 12 view .LVU62
ARM GAS /tmp/ccNVyn8W.s page 131
231 005a 0023 movs r3, #0
232 .L13:
233 .LVL18:
7137:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
234 .loc 1 7137 5 is_stmt 1 view .LVU63
7137:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
235 .loc 1 7137 8 is_stmt 0 view .LVU64
236 005c 11F0010F tst r1, #1
237 0060 01D0 beq .L14
7140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
238 .loc 1 7140 7 is_stmt 1 view .LVU65
7140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
239 .loc 1 7140 14 is_stmt 0 view .LVU66
240 0062 43F0F203 orr r3, r3, #242
241 .LVL19:
242 .L14:
7143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
243 .loc 1 7143 5 is_stmt 1 view .LVU67
7143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
244 .loc 1 7143 8 is_stmt 0 view .LVU68
245 0066 11F0020F tst r1, #2
246 006a 01D0 beq .L15
7146:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
247 .loc 1 7146 7 is_stmt 1 view .LVU69
7146:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
248 .loc 1 7146 14 is_stmt 0 view .LVU70
249 006c 43F0F403 orr r3, r3, #244
250 .LVL20:
251 .L15:
7149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
252 .loc 1 7149 5 is_stmt 1 view .LVU71
7149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
253 .loc 1 7149 8 is_stmt 0 view .LVU72
254 0070 1029 cmp r1, #16
255 0072 0FD0 beq .L25
256 .L16:
7155:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
257 .loc 1 7155 5 is_stmt 1 view .LVU73
7155:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
258 .loc 1 7155 8 is_stmt 0 view .LVU74
259 0074 2029 cmp r1, #32
260 0076 10D0 beq .L26
261 .L17:
7161:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
262 .loc 1 7161 5 is_stmt 1 view .LVU75
7161:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
263 .loc 1 7161 8 is_stmt 0 view .LVU76
264 0078 0D4C ldr r4, .L28+8
265 007a A242 cmp r2, r4
266 007c 01D0 beq .L12
7161:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
267 .loc 1 7161 44 discriminator 1 view .LVU77
268 007e 4029 cmp r1, #64
269 0080 0ED0 beq .L27
270 .L12:
271 .loc 1 7171 3 is_stmt 1 view .LVU78
272 0082 0168 ldr r1, [r0]
ARM GAS /tmp/ccNVyn8W.s page 132
273 .LVL21:
274 .loc 1 7171 3 is_stmt 0 view .LVU79
275 0084 0A68 ldr r2, [r1]
276 0086 1343 orrs r3, r3, r2
277 .LVL22:
278 .loc 1 7171 3 view .LVU80
279 0088 0B60 str r3, [r1]
7172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
280 .loc 1 7172 1 view .LVU81
281 008a 5DF8044B ldr r4, [sp], #4
282 .cfi_remember_state
283 .cfi_restore 4
284 .cfi_def_cfa_offset 0
285 008e 7047 bx lr
286 .LVL23:
287 .L19:
288 .cfi_restore_state
7134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
289 .loc 1 7134 14 view .LVU82
290 0090 B823 movs r3, #184
291 0092 E3E7 b .L13
292 .LVL24:
293 .L25:
7152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
294 .loc 1 7152 7 is_stmt 1 view .LVU83
7152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
295 .loc 1 7152 14 is_stmt 0 view .LVU84
296 0094 43F09003 orr r3, r3, #144
297 .LVL25:
7152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
298 .loc 1 7152 14 view .LVU85
299 0098 ECE7 b .L16
300 .L26:
7158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
301 .loc 1 7158 7 is_stmt 1 view .LVU86
7158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
302 .loc 1 7158 14 is_stmt 0 view .LVU87
303 009a 43F06003 orr r3, r3, #96
304 .LVL26:
7158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
305 .loc 1 7158 14 view .LVU88
306 009e EBE7 b .L17
307 .L27:
7164:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
308 .loc 1 7164 7 is_stmt 1 view .LVU89
7164:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
309 .loc 1 7164 14 is_stmt 0 view .LVU90
310 00a0 43F04003 orr r3, r3, #64
311 .LVL27:
7164:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
312 .loc 1 7164 14 view .LVU91
313 00a4 EDE7 b .L12
314 .L29:
315 00a6 00BF .align 2
316 .L28:
317 00a8 00000000 .word I2C_Master_ISR_DMA
318 00ac 00000000 .word I2C_Slave_ISR_DMA
ARM GAS /tmp/ccNVyn8W.s page 133
319 00b0 00000000 .word I2C_Mem_ISR_DMA
320 .cfi_endproc
321 .LFE208:
323 .section .text.I2C_Disable_IRQ,"ax",%progbits
324 .align 1
325 .syntax unified
326 .thumb
327 .thumb_func
329 I2C_Disable_IRQ:
330 .LVL28:
331 .LFB209:
7173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7174:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
7175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Manage the disabling of Interrupts.
7176:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
7177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
7178:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param InterruptRequest Value of @ref I2C_Interrupt_configuration_definition.
7179:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None
7180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
7181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_Disable_IRQ(I2C_HandleTypeDef *hi2c, uint16_t InterruptRequest)
7182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
332 .loc 1 7182 1 is_stmt 1 view -0
333 .cfi_startproc
334 @ args = 0, pretend = 0, frame = 0
335 @ frame_needed = 0, uses_anonymous_args = 0
336 @ link register save eliminated.
7183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpisr = 0U;
337 .loc 1 7183 3 view .LVU93
7184:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7185:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((InterruptRequest & I2C_XFER_TX_IT) == I2C_XFER_TX_IT)
338 .loc 1 7185 3 view .LVU94
339 .loc 1 7185 6 is_stmt 0 view .LVU95
340 0000 11F0010F tst r1, #1
341 0004 09D0 beq .L37
7186:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
7187:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable TC and TXI interrupts */
7188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmpisr |= I2C_IT_TCI | I2C_IT_TXI;
342 .loc 1 7188 5 is_stmt 1 view .LVU96
343 .LVL29:
7189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7190:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (((uint32_t)hi2c->State & (uint32_t)HAL_I2C_STATE_LISTEN) != (uint32_t)HAL_I2C_STATE_LISTEN)
344 .loc 1 7190 5 view .LVU97
345 .loc 1 7190 24 is_stmt 0 view .LVU98
346 0006 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2
347 .loc 1 7190 8 view .LVU99
348 000a 03F02803 and r3, r3, #40
349 000e 282B cmp r3, #40
350 0010 01D0 beq .L40
7191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
7192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable NACK and STOP interrupts */
7193:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmpisr |= I2C_IT_STOPI | I2C_IT_NACKI | I2C_IT_ERRI;
351 .loc 1 7193 14 view .LVU100
352 0012 F223 movs r3, #242
353 0014 02E0 b .L31
354 .L40:
7188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
355 .loc 1 7188 12 view .LVU101
ARM GAS /tmp/ccNVyn8W.s page 134
356 0016 4223 movs r3, #66
357 0018 00E0 b .L31
358 .LVL30:
359 .L37:
7183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
360 .loc 1 7183 12 view .LVU102
361 001a 0023 movs r3, #0
362 .LVL31:
363 .L31:
7194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
7195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
7196:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((InterruptRequest & I2C_XFER_RX_IT) == I2C_XFER_RX_IT)
364 .loc 1 7197 3 is_stmt 1 view .LVU103
365 .loc 1 7197 6 is_stmt 0 view .LVU104
366 001c 11F0020F tst r1, #2
367 0020 09D0 beq .L32
7198:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
7199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable TC and RXI interrupts */
7200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmpisr |= I2C_IT_TCI | I2C_IT_RXI;
368 .loc 1 7200 5 is_stmt 1 view .LVU105
369 .loc 1 7200 12 is_stmt 0 view .LVU106
370 0022 43F0440C orr ip, r3, #68
371 .LVL32:
7201:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7202:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (((uint32_t)hi2c->State & (uint32_t)HAL_I2C_STATE_LISTEN) != (uint32_t)HAL_I2C_STATE_LISTEN)
372 .loc 1 7202 5 is_stmt 1 view .LVU107
373 .loc 1 7202 24 is_stmt 0 view .LVU108
374 0026 90F84120 ldrb r2, [r0, #65] @ zero_extendqisi2
375 .loc 1 7202 8 view .LVU109
376 002a 02F02802 and r2, r2, #40
377 002e 282A cmp r2, #40
378 0030 10D0 beq .L39
7203:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
7204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable NACK and STOP interrupts */
7205:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmpisr |= I2C_IT_STOPI | I2C_IT_NACKI | I2C_IT_ERRI;
379 .loc 1 7205 7 is_stmt 1 view .LVU110
380 .loc 1 7205 14 is_stmt 0 view .LVU111
381 0032 43F0F403 orr r3, r3, #244
382 .LVL33:
383 .L32:
7206:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
7207:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
7208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((InterruptRequest & I2C_XFER_LISTEN_IT) == I2C_XFER_LISTEN_IT)
384 .loc 1 7209 3 is_stmt 1 view .LVU112
385 .loc 1 7209 6 is_stmt 0 view .LVU113
386 0036 11F4004F tst r1, #32768
387 003a 0DD1 bne .L41
388 .L33:
7210:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
7211:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable ADDR, NACK and STOP interrupts */
7212:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmpisr |= I2C_IT_ADDRI | I2C_IT_STOPI | I2C_IT_NACKI | I2C_IT_ERRI;
7213:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
7214:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (InterruptRequest == I2C_XFER_ERROR_IT)
389 .loc 1 7215 3 is_stmt 1 view .LVU114
ARM GAS /tmp/ccNVyn8W.s page 135
390 .loc 1 7215 6 is_stmt 0 view .LVU115
391 003c 1029 cmp r1, #16
392 003e 0ED0 beq .L42
393 .L34:
7216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
7217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable ERR and NACK interrupts */
7218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmpisr |= I2C_IT_ERRI | I2C_IT_NACKI;
7219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
7220:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (InterruptRequest == I2C_XFER_CPLT_IT)
394 .loc 1 7221 3 is_stmt 1 view .LVU116
395 .loc 1 7221 6 is_stmt 0 view .LVU117
396 0040 2029 cmp r1, #32
397 0042 0FD0 beq .L43
398 .L35:
7222:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
7223:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable STOP interrupts */
7224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmpisr |= I2C_IT_STOPI;
7225:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
7226:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7227:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (InterruptRequest == I2C_XFER_RELOAD_IT)
399 .loc 1 7227 3 is_stmt 1 view .LVU118
400 .loc 1 7227 6 is_stmt 0 view .LVU119
401 0044 4029 cmp r1, #64
402 0046 10D0 beq .L44
403 .L36:
7228:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
7229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable TC interrupts */
7230:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmpisr |= I2C_IT_TCI;
7231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
7232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable interrupts only at the end */
7234:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* to avoid a breaking situation like at "t" time */
7235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* all disable interrupts request are not done */
7236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_DISABLE_IT(hi2c, tmpisr);
404 .loc 1 7236 3 is_stmt 1 view .LVU120
405 0048 0168 ldr r1, [r0]
406 .LVL34:
407 .loc 1 7236 3 is_stmt 0 view .LVU121
408 004a 0A68 ldr r2, [r1]
409 004c 22EA0303 bic r3, r2, r3
410 .LVL35:
411 .loc 1 7236 3 view .LVU122
412 0050 0B60 str r3, [r1]
7237:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
413 .loc 1 7237 1 view .LVU123
414 0052 7047 bx lr
415 .LVL36:
416 .L39:
7200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
417 .loc 1 7200 12 view .LVU124
418 0054 6346 mov r3, ip
419 0056 EEE7 b .L32
420 .LVL37:
421 .L41:
7212:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
422 .loc 1 7212 5 is_stmt 1 view .LVU125
ARM GAS /tmp/ccNVyn8W.s page 136
7212:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
423 .loc 1 7212 12 is_stmt 0 view .LVU126
424 0058 43F0B803 orr r3, r3, #184
425 .LVL38:
7212:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
426 .loc 1 7212 12 view .LVU127
427 005c EEE7 b .L33
428 .L42:
7218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
429 .loc 1 7218 5 is_stmt 1 view .LVU128
7218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
430 .loc 1 7218 12 is_stmt 0 view .LVU129
431 005e 43F09003 orr r3, r3, #144
432 .LVL39:
7218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
433 .loc 1 7218 12 view .LVU130
434 0062 EDE7 b .L34
435 .L43:
7224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
436 .loc 1 7224 5 is_stmt 1 view .LVU131
7224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
437 .loc 1 7224 12 is_stmt 0 view .LVU132
438 0064 43F02003 orr r3, r3, #32
439 .LVL40:
7224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
440 .loc 1 7224 12 view .LVU133
441 0068 ECE7 b .L35
442 .L44:
7230:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
443 .loc 1 7230 5 is_stmt 1 view .LVU134
7230:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
444 .loc 1 7230 12 is_stmt 0 view .LVU135
445 006a 43F04003 orr r3, r3, #64
446 .LVL41:
7230:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
447 .loc 1 7230 12 view .LVU136
448 006e EBE7 b .L36
449 .cfi_endproc
450 .LFE209:
452 .section .text.I2C_ConvertOtherXferOptions,"ax",%progbits
453 .align 1
454 .syntax unified
455 .thumb
456 .thumb_func
458 I2C_ConvertOtherXferOptions:
459 .LVL42:
460 .LFB210:
7238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
7240:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Convert I2Cx OTHER_xxx XferOptions to functional XferOptions.
7241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c I2C handle.
7242:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None
7243:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
7244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_ConvertOtherXferOptions(I2C_HandleTypeDef *hi2c)
7245:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
461 .loc 1 7245 1 is_stmt 1 view -0
462 .cfi_startproc
ARM GAS /tmp/ccNVyn8W.s page 137
463 @ args = 0, pretend = 0, frame = 0
464 @ frame_needed = 0, uses_anonymous_args = 0
465 @ link register save eliminated.
7246:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* if user set XferOptions to I2C_OTHER_FRAME */
7247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* it request implicitly to generate a restart condition */
7248:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* set XferOptions to I2C_FIRST_FRAME */
7249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferOptions == I2C_OTHER_FRAME)
466 .loc 1 7249 3 view .LVU138
467 .loc 1 7249 11 is_stmt 0 view .LVU139
468 0000 C36A ldr r3, [r0, #44]
469 .loc 1 7249 6 view .LVU140
470 0002 AA2B cmp r3, #170
471 0004 04D0 beq .L48
7250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
7251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_FIRST_FRAME;
7252:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
7253:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* else if user set XferOptions to I2C_OTHER_AND_LAST_FRAME */
7254:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* it request implicitly to generate a restart condition */
7255:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* then generate a stop condition at the end of transfer */
7256:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* set XferOptions to I2C_FIRST_AND_LAST_FRAME */
7257:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if (hi2c->XferOptions == I2C_OTHER_AND_LAST_FRAME)
472 .loc 1 7257 8 is_stmt 1 view .LVU141
473 .loc 1 7257 16 is_stmt 0 view .LVU142
474 0006 C36A ldr r3, [r0, #44]
475 .loc 1 7257 11 view .LVU143
476 0008 B3F52A4F cmp r3, #43520
477 000c 03D0 beq .L49
478 .L45:
7258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
7259:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_FIRST_AND_LAST_FRAME;
7260:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
7261:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
7262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
7263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Nothing to do */
7264:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
7265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
479 .loc 1 7265 1 view .LVU144
480 000e 7047 bx lr
481 .L48:
7251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
482 .loc 1 7251 5 is_stmt 1 view .LVU145
7251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
483 .loc 1 7251 23 is_stmt 0 view .LVU146
484 0010 0023 movs r3, #0
485 0012 C362 str r3, [r0, #44]
486 0014 7047 bx lr
487 .L49:
7259:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
488 .loc 1 7259 5 is_stmt 1 view .LVU147
7259:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
489 .loc 1 7259 23 is_stmt 0 view .LVU148
490 0016 4FF00073 mov r3, #33554432
491 001a C362 str r3, [r0, #44]
7264:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
492 .loc 1 7264 3 is_stmt 1 view .LVU149
493 .loc 1 7265 1 is_stmt 0 view .LVU150
494 001c F7E7 b .L45
ARM GAS /tmp/ccNVyn8W.s page 138
495 .cfi_endproc
496 .LFE210:
498 .section .text.I2C_IsErrorOccurred,"ax",%progbits
499 .align 1
500 .syntax unified
501 .thumb
502 .thumb_func
504 I2C_IsErrorOccurred:
505 .LVL43:
506 .LFB206:
6923:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef status = HAL_OK;
507 .loc 1 6923 1 is_stmt 1 view -0
508 .cfi_startproc
509 @ args = 0, pretend = 0, frame = 0
510 @ frame_needed = 0, uses_anonymous_args = 0
6923:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef status = HAL_OK;
511 .loc 1 6923 1 is_stmt 0 view .LVU152
512 0000 2DE9F041 push {r4, r5, r6, r7, r8, lr}
513 .cfi_def_cfa_offset 24
514 .cfi_offset 4, -24
515 .cfi_offset 5, -20
516 .cfi_offset 6, -16
517 .cfi_offset 7, -12
518 .cfi_offset 8, -8
519 .cfi_offset 14, -4
520 0004 0446 mov r4, r0
6924:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t itflag = hi2c->Instance->ISR;
521 .loc 1 6924 3 is_stmt 1 view .LVU153
522 .LVL44:
6925:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t error_code = 0;
523 .loc 1 6925 3 view .LVU154
6925:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t error_code = 0;
524 .loc 1 6925 27 is_stmt 0 view .LVU155
525 0006 0368 ldr r3, [r0]
6925:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t error_code = 0;
526 .loc 1 6925 12 view .LVU156
527 0008 9E69 ldr r6, [r3, #24]
528 .LVL45:
6926:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tickstart = Tickstart;
529 .loc 1 6926 3 is_stmt 1 view .LVU157
6927:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmp1;
530 .loc 1 6927 3 view .LVU158
6928:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_ModeTypeDef tmp2;
531 .loc 1 6928 3 view .LVU159
6929:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
532 .loc 1 6929 3 view .LVU160
6931:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
533 .loc 1 6931 3 view .LVU161
6931:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
534 .loc 1 6931 6 is_stmt 0 view .LVU162
535 000a 16F01006 ands r6, r6, #16
536 .LVL46:
6931:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
537 .loc 1 6931 6 view .LVU163
538 000e 7CD0 beq .L67
539 0010 0D46 mov r5, r1
540 0012 9046 mov r8, r2
ARM GAS /tmp/ccNVyn8W.s page 139
6934:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
541 .loc 1 6934 5 is_stmt 1 view .LVU164
542 0014 1022 movs r2, #16
543 .LVL47:
6934:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
544 .loc 1 6934 5 is_stmt 0 view .LVU165
545 0016 DA61 str r2, [r3, #28]
6938:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
546 .loc 1 6938 5 is_stmt 1 view .LVU166
6926:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tickstart = Tickstart;
547 .loc 1 6926 12 is_stmt 0 view .LVU167
548 0018 0026 movs r6, #0
6924:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t itflag = hi2c->Instance->ISR;
549 .loc 1 6924 21 view .LVU168
550 001a 3746 mov r7, r6
551 .LVL48:
552 .L53:
6938:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
553 .loc 1 6938 64 is_stmt 1 view .LVU169
6938:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
554 .loc 1 6938 13 is_stmt 0 view .LVU170
555 001c 2368 ldr r3, [r4]
556 001e 9869 ldr r0, [r3, #24]
6938:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
557 .loc 1 6938 64 view .LVU171
558 0020 10F0200F tst r0, #32
559 0024 30D1 bne .L59
6938:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
560 .loc 1 6938 64 discriminator 1 view .LVU172
561 0026 7FBB cbnz r7, .L59
6941:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
562 .loc 1 6941 7 is_stmt 1 view .LVU173
6941:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
563 .loc 1 6941 10 is_stmt 0 view .LVU174
564 0028 B5F1FF3F cmp r5, #-1
565 002c F6D0 beq .L53
6943:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
566 .loc 1 6943 9 is_stmt 1 view .LVU175
6943:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
567 .loc 1 6943 15 is_stmt 0 view .LVU176
568 002e FFF7FEFF bl HAL_GetTick
569 .LVL49:
6943:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
570 .loc 1 6943 29 discriminator 1 view .LVU177
571 0032 A0EB0800 sub r0, r0, r8
6943:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
572 .loc 1 6943 12 discriminator 1 view .LVU178
573 0036 A842 cmp r0, r5
574 0038 01D8 bhi .L54
6943:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
575 .loc 1 6943 53 discriminator 1 view .LVU179
576 003a 002D cmp r5, #0
577 003c EED1 bne .L53
578 .L54:
6945:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmp2 = hi2c->Mode;
579 .loc 1 6945 11 is_stmt 1 view .LVU180
6945:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmp2 = hi2c->Mode;
ARM GAS /tmp/ccNVyn8W.s page 140
580 .loc 1 6945 33 is_stmt 0 view .LVU181
581 003e 2168 ldr r1, [r4]
6945:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmp2 = hi2c->Mode;
582 .loc 1 6945 43 view .LVU182
583 0040 4B68 ldr r3, [r1, #4]
6945:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmp2 = hi2c->Mode;
584 .loc 1 6945 16 view .LVU183
585 0042 03F48043 and r3, r3, #16384
586 .LVL50:
6946:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
587 .loc 1 6946 11 is_stmt 1 view .LVU184
6946:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
588 .loc 1 6946 16 is_stmt 0 view .LVU185
589 0046 94F84220 ldrb r2, [r4, #66] @ zero_extendqisi2
590 004a D2B2 uxtb r2, r2
591 .LVL51:
6949:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmp1 != I2C_CR2_STOP) && \
592 .loc 1 6949 11 is_stmt 1 view .LVU186
6949:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmp1 != I2C_CR2_STOP) && \
593 .loc 1 6949 16 is_stmt 0 view .LVU187
594 004c 8869 ldr r0, [r1, #24]
6949:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmp1 != I2C_CR2_STOP) && \
595 .loc 1 6949 14 view .LVU188
596 004e 10F4004F tst r0, #32768
597 0052 02D0 beq .L57
6949:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmp1 != I2C_CR2_STOP) && \
598 .loc 1 6949 66 discriminator 1 view .LVU189
599 0054 0BB9 cbnz r3, .L57
6950:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmp2 != HAL_I2C_MODE_SLAVE))
600 .loc 1 6950 38 view .LVU190
601 0056 202A cmp r2, #32
602 0058 0ED1 bne .L69
603 .LVL52:
604 .L57:
6960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
605 .loc 1 6960 59 is_stmt 1 view .LVU191
6960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
606 .loc 1 6960 18 is_stmt 0 view .LVU192
607 005a 2368 ldr r3, [r4]
608 005c 9B69 ldr r3, [r3, #24]
6960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
609 .loc 1 6960 59 view .LVU193
610 005e 13F0200F tst r3, #32
611 0062 DBD1 bne .L53
6963:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
612 .loc 1 6963 13 is_stmt 1 view .LVU194
6963:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
613 .loc 1 6963 18 is_stmt 0 view .LVU195
614 0064 FFF7FEFF bl HAL_GetTick
615 .LVL53:
6963:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
616 .loc 1 6963 32 discriminator 1 view .LVU196
617 0068 A0EB0800 sub r0, r0, r8
6963:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
618 .loc 1 6963 16 discriminator 1 view .LVU197
619 006c 1928 cmp r0, #25
620 006e F4D9 bls .L57
ARM GAS /tmp/ccNVyn8W.s page 141
6965:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
621 .loc 1 6965 15 is_stmt 1 view .LVU198
6965:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
622 .loc 1 6965 26 is_stmt 0 view .LVU199
623 0070 46F02006 orr r6, r6, #32
624 .LVL54:
6967:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
625 .loc 1 6967 15 is_stmt 1 view .LVU200
6969:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
626 .loc 1 6969 15 view .LVU201
6967:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
627 .loc 1 6967 22 is_stmt 0 view .LVU202
628 0074 0127 movs r7, #1
6969:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
629 .loc 1 6969 15 view .LVU203
630 0076 D1E7 b .L53
631 .LVL55:
632 .L69:
6954:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
633 .loc 1 6954 13 is_stmt 1 view .LVU204
6954:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
634 .loc 1 6954 27 is_stmt 0 view .LVU205
635 0078 4B68 ldr r3, [r1, #4]
636 .LVL56:
6954:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
637 .loc 1 6954 33 view .LVU206
638 007a 43F48043 orr r3, r3, #16384
639 007e 4B60 str r3, [r1, #4]
6957:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
640 .loc 1 6957 13 is_stmt 1 view .LVU207
6957:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
641 .loc 1 6957 25 is_stmt 0 view .LVU208
642 0080 FFF7FEFF bl HAL_GetTick
643 .LVL57:
6957:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
644 .loc 1 6957 25 view .LVU209
645 0084 8046 mov r8, r0
646 .LVL58:
6957:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
647 .loc 1 6957 25 view .LVU210
648 0086 E8E7 b .L57
649 .LVL59:
650 .L59:
6977:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
651 .loc 1 6977 5 is_stmt 1 view .LVU211
6977:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
652 .loc 1 6977 8 is_stmt 0 view .LVU212
653 0088 0FB9 cbnz r7, .L61
6980:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
654 .loc 1 6980 7 is_stmt 1 view .LVU213
655 008a 2022 movs r2, #32
656 008c DA61 str r2, [r3, #28]
657 .L61:
6983:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
658 .loc 1 6983 5 view .LVU214
6983:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
659 .loc 1 6983 16 is_stmt 0 view .LVU215
ARM GAS /tmp/ccNVyn8W.s page 142
660 008e 46F00406 orr r6, r6, #4
661 .LVL60:
6985:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
662 .loc 1 6985 5 is_stmt 1 view .LVU216
6985:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
663 .loc 1 6985 12 is_stmt 0 view .LVU217
664 0092 0125 movs r5, #1
665 .LVL61:
666 .L51:
6989:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
667 .loc 1 6989 3 is_stmt 1 view .LVU218
6989:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
668 .loc 1 6989 16 is_stmt 0 view .LVU219
669 0094 2268 ldr r2, [r4]
6989:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
670 .loc 1 6989 10 view .LVU220
671 0096 9369 ldr r3, [r2, #24]
672 .LVL62:
6993:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
673 .loc 1 6993 3 is_stmt 1 view .LVU221
6993:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
674 .loc 1 6993 6 is_stmt 0 view .LVU222
675 0098 13F4807F tst r3, #256
676 009c 05D0 beq .L62
6995:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
677 .loc 1 6995 5 is_stmt 1 view .LVU223
6995:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
678 .loc 1 6995 16 is_stmt 0 view .LVU224
679 009e 46F00106 orr r6, r6, #1
680 .LVL63:
6998:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
681 .loc 1 6998 5 is_stmt 1 view .LVU225
682 00a2 4FF48071 mov r1, #256
683 00a6 D161 str r1, [r2, #28]
7000:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
684 .loc 1 7000 5 view .LVU226
685 .LVL64:
7000:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
686 .loc 1 7000 12 is_stmt 0 view .LVU227
687 00a8 0125 movs r5, #1
688 .LVL65:
689 .L62:
7004:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
690 .loc 1 7004 3 is_stmt 1 view .LVU228
7004:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
691 .loc 1 7004 6 is_stmt 0 view .LVU229
692 00aa 13F4806F tst r3, #1024
693 00ae 06D0 beq .L63
7006:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
694 .loc 1 7006 5 is_stmt 1 view .LVU230
7006:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
695 .loc 1 7006 16 is_stmt 0 view .LVU231
696 00b0 46F00806 orr r6, r6, #8
697 .LVL66:
7009:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
698 .loc 1 7009 5 is_stmt 1 view .LVU232
699 00b4 2268 ldr r2, [r4]
ARM GAS /tmp/ccNVyn8W.s page 143
700 00b6 4FF48061 mov r1, #1024
701 00ba D161 str r1, [r2, #28]
7011:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
702 .loc 1 7011 5 view .LVU233
703 .LVL67:
7011:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
704 .loc 1 7011 12 is_stmt 0 view .LVU234
705 00bc 0125 movs r5, #1
706 .LVL68:
707 .L63:
7015:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
708 .loc 1 7015 3 is_stmt 1 view .LVU235
7015:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
709 .loc 1 7015 6 is_stmt 0 view .LVU236
710 00be 13F4007F tst r3, #512
711 00c2 24D0 beq .L64
7017:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
712 .loc 1 7017 5 is_stmt 1 view .LVU237
7017:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
713 .loc 1 7017 16 is_stmt 0 view .LVU238
714 00c4 46F00206 orr r6, r6, #2
715 .LVL69:
7020:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
716 .loc 1 7020 5 is_stmt 1 view .LVU239
717 00c8 2368 ldr r3, [r4]
718 .LVL70:
7020:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
719 .loc 1 7020 5 is_stmt 0 view .LVU240
720 00ca 4FF40072 mov r2, #512
721 00ce DA61 str r2, [r3, #28]
7022:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
722 .loc 1 7022 5 is_stmt 1 view .LVU241
723 .LVL71:
7025:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
724 .loc 1 7025 3 view .LVU242
7022:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
725 .loc 1 7022 12 is_stmt 0 view .LVU243
726 00d0 0125 movs r5, #1
727 .LVL72:
728 .L65:
7028:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
729 .loc 1 7028 5 is_stmt 1 view .LVU244
730 00d2 2046 mov r0, r4
731 00d4 FFF7FEFF bl I2C_Flush_TXDR
732 .LVL73:
7031:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
733 .loc 1 7031 5 view .LVU245
734 00d8 2268 ldr r2, [r4]
735 00da 5368 ldr r3, [r2, #4]
736 00dc 23F0FF73 bic r3, r3, #33423360
737 00e0 23F48B33 bic r3, r3, #71168
738 00e4 23F4FF73 bic r3, r3, #510
739 00e8 23F00103 bic r3, r3, #1
740 00ec 5360 str r3, [r2, #4]
7033:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
741 .loc 1 7033 5 view .LVU246
7033:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
ARM GAS /tmp/ccNVyn8W.s page 144
742 .loc 1 7033 9 is_stmt 0 view .LVU247
743 00ee 636C ldr r3, [r4, #68]
7033:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
744 .loc 1 7033 21 view .LVU248
745 00f0 3343 orrs r3, r3, r6
746 00f2 6364 str r3, [r4, #68]
7034:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
747 .loc 1 7034 5 is_stmt 1 view .LVU249
7034:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
748 .loc 1 7034 17 is_stmt 0 view .LVU250
749 00f4 2023 movs r3, #32
750 00f6 84F84130 strb r3, [r4, #65]
7035:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
751 .loc 1 7035 5 is_stmt 1 view .LVU251
7035:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
752 .loc 1 7035 16 is_stmt 0 view .LVU252
753 00fa 0023 movs r3, #0
754 00fc 84F84230 strb r3, [r4, #66]
7038:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
755 .loc 1 7038 5 is_stmt 1 view .LVU253
7038:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
756 .loc 1 7038 5 view .LVU254
757 0100 84F84030 strb r3, [r4, #64]
758 .L66:
7038:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
759 .loc 1 7038 5 discriminator 1 view .LVU255
7041:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
760 .loc 1 7041 3 view .LVU256
7042:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
761 .loc 1 7042 1 is_stmt 0 view .LVU257
762 0104 2846 mov r0, r5
763 0106 BDE8F081 pop {r4, r5, r6, r7, r8, pc}
764 .LVL74:
765 .L67:
6924:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t itflag = hi2c->Instance->ISR;
766 .loc 1 6924 21 view .LVU258
767 010a 0025 movs r5, #0
768 010c C2E7 b .L51
769 .LVL75:
770 .L64:
7025:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
771 .loc 1 7025 3 is_stmt 1 view .LVU259
7025:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
772 .loc 1 7025 6 is_stmt 0 view .LVU260
773 010e 002D cmp r5, #0
774 0110 F8D0 beq .L66
775 0112 DEE7 b .L65
776 .cfi_endproc
777 .LFE206:
779 .section .text.I2C_WaitOnTXISFlagUntilTimeout,"ax",%progbits
780 .align 1
781 .syntax unified
782 .thumb
783 .thumb_func
785 I2C_WaitOnTXISFlagUntilTimeout:
786 .LVL76:
787 .LFB203:
ARM GAS /tmp/ccNVyn8W.s page 145
6769:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_TXIS) == RESET)
788 .loc 1 6769 1 is_stmt 1 view -0
789 .cfi_startproc
790 @ args = 0, pretend = 0, frame = 0
791 @ frame_needed = 0, uses_anonymous_args = 0
6769:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_TXIS) == RESET)
792 .loc 1 6769 1 is_stmt 0 view .LVU262
793 0000 70B5 push {r4, r5, r6, lr}
794 .cfi_def_cfa_offset 16
795 .cfi_offset 4, -16
796 .cfi_offset 5, -12
797 .cfi_offset 6, -8
798 .cfi_offset 14, -4
799 0002 0446 mov r4, r0
800 0004 0D46 mov r5, r1
801 0006 1646 mov r6, r2
6770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
802 .loc 1 6770 3 is_stmt 1 view .LVU263
803 .LVL77:
804 .L73:
6770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
805 .loc 1 6770 50 view .LVU264
6770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
806 .loc 1 6770 10 is_stmt 0 view .LVU265
807 0008 2368 ldr r3, [r4]
808 000a 9B69 ldr r3, [r3, #24]
6770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
809 .loc 1 6770 50 view .LVU266
810 000c 13F0020F tst r3, #2
811 0010 22D1 bne .L78
6773:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
812 .loc 1 6773 5 is_stmt 1 view .LVU267
6773:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
813 .loc 1 6773 9 is_stmt 0 view .LVU268
814 0012 3246 mov r2, r6
815 0014 2946 mov r1, r5
816 0016 2046 mov r0, r4
817 0018 FFF7FEFF bl I2C_IsErrorOccurred
818 .LVL78:
6773:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
819 .loc 1 6773 8 discriminator 1 view .LVU269
820 001c F0B9 cbnz r0, .L76
6779:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
821 .loc 1 6779 5 is_stmt 1 view .LVU270
6779:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
822 .loc 1 6779 8 is_stmt 0 view .LVU271
823 001e B5F1FF3F cmp r5, #-1
824 0022 F1D0 beq .L73
6781:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
825 .loc 1 6781 7 is_stmt 1 view .LVU272
6781:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
826 .loc 1 6781 13 is_stmt 0 view .LVU273
827 0024 FFF7FEFF bl HAL_GetTick
828 .LVL79:
6781:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
829 .loc 1 6781 27 discriminator 1 view .LVU274
830 0028 801B subs r0, r0, r6
ARM GAS /tmp/ccNVyn8W.s page 146
6781:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
831 .loc 1 6781 10 discriminator 1 view .LVU275
832 002a A842 cmp r0, r5
833 002c 01D8 bhi .L74
6781:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
834 .loc 1 6781 51 discriminator 1 view .LVU276
835 002e 002D cmp r5, #0
836 0030 EAD1 bne .L73
837 .L74:
6783:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
838 .loc 1 6783 9 is_stmt 1 view .LVU277
6783:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
839 .loc 1 6783 14 is_stmt 0 view .LVU278
840 0032 2368 ldr r3, [r4]
841 0034 9B69 ldr r3, [r3, #24]
6783:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
842 .loc 1 6783 12 view .LVU279
843 0036 13F0020F tst r3, #2
844 003a E5D1 bne .L73
6785:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
845 .loc 1 6785 11 is_stmt 1 view .LVU280
6785:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
846 .loc 1 6785 15 is_stmt 0 view .LVU281
847 003c 636C ldr r3, [r4, #68]
6785:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
848 .loc 1 6785 27 view .LVU282
849 003e 43F02003 orr r3, r3, #32
850 0042 6364 str r3, [r4, #68]
6786:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
851 .loc 1 6786 11 is_stmt 1 view .LVU283
6786:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
852 .loc 1 6786 23 is_stmt 0 view .LVU284
853 0044 2023 movs r3, #32
854 0046 84F84130 strb r3, [r4, #65]
6787:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
855 .loc 1 6787 11 is_stmt 1 view .LVU285
6787:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
856 .loc 1 6787 22 is_stmt 0 view .LVU286
857 004a 0023 movs r3, #0
858 004c 84F84230 strb r3, [r4, #66]
6790:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
859 .loc 1 6790 11 is_stmt 1 view .LVU287
6790:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
860 .loc 1 6790 11 view .LVU288
861 0050 84F84030 strb r3, [r4, #64]
6790:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
862 .loc 1 6790 11 view .LVU289
6792:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
863 .loc 1 6792 11 view .LVU290
6792:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
864 .loc 1 6792 18 is_stmt 0 view .LVU291
865 0054 0120 movs r0, #1
866 0056 00E0 b .L72
867 .L78:
6797:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
868 .loc 1 6797 10 view .LVU292
869 0058 0020 movs r0, #0
ARM GAS /tmp/ccNVyn8W.s page 147
870 .L72:
6798:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
871 .loc 1 6798 1 view .LVU293
872 005a 70BD pop {r4, r5, r6, pc}
873 .LVL80:
874 .L76:
6775:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
875 .loc 1 6775 14 view .LVU294
876 005c 0120 movs r0, #1
877 005e FCE7 b .L72
878 .cfi_endproc
879 .LFE203:
881 .section .text.I2C_WaitOnFlagUntilTimeout,"ax",%progbits
882 .align 1
883 .syntax unified
884 .thumb
885 .thumb_func
887 I2C_WaitOnFlagUntilTimeout:
888 .LVL81:
889 .LFB202:
6735:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, Flag) == Status)
890 .loc 1 6735 1 is_stmt 1 view -0
891 .cfi_startproc
892 @ args = 4, pretend = 0, frame = 0
893 @ frame_needed = 0, uses_anonymous_args = 0
6735:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, Flag) == Status)
894 .loc 1 6735 1 is_stmt 0 view .LVU296
895 0000 2DE9F041 push {r4, r5, r6, r7, r8, lr}
896 .cfi_def_cfa_offset 24
897 .cfi_offset 4, -24
898 .cfi_offset 5, -20
899 .cfi_offset 6, -16
900 .cfi_offset 7, -12
901 .cfi_offset 8, -8
902 .cfi_offset 14, -4
903 0004 0546 mov r5, r0
904 0006 0F46 mov r7, r1
905 0008 1646 mov r6, r2
906 000a 9846 mov r8, r3
6736:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
907 .loc 1 6736 3 is_stmt 1 view .LVU297
908 .LVL82:
909 .L81:
6736:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
910 .loc 1 6736 41 view .LVU298
6736:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
911 .loc 1 6736 10 is_stmt 0 view .LVU299
912 000c 2C68 ldr r4, [r5]
913 000e A469 ldr r4, [r4, #24]
914 0010 37EA0404 bics r4, r7, r4
915 0014 0CBF ite eq
916 0016 0124 moveq r4, #1
917 0018 0024 movne r4, #0
6736:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
918 .loc 1 6736 41 view .LVU300
919 001a B442 cmp r4, r6
920 001c 22D1 bne .L86
ARM GAS /tmp/ccNVyn8W.s page 148
6739:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
921 .loc 1 6739 5 is_stmt 1 view .LVU301
6739:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
922 .loc 1 6739 8 is_stmt 0 view .LVU302
923 001e B8F1FF3F cmp r8, #-1
924 0022 F3D0 beq .L81
6741:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
925 .loc 1 6741 7 is_stmt 1 view .LVU303
6741:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
926 .loc 1 6741 13 is_stmt 0 view .LVU304
927 0024 FFF7FEFF bl HAL_GetTick
928 .LVL83:
6741:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
929 .loc 1 6741 27 discriminator 1 view .LVU305
930 0028 069B ldr r3, [sp, #24]
931 002a C01A subs r0, r0, r3
6741:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
932 .loc 1 6741 10 discriminator 1 view .LVU306
933 002c 4045 cmp r0, r8
934 002e 02D8 bhi .L82
6741:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
935 .loc 1 6741 51 discriminator 1 view .LVU307
936 0030 B8F1000F cmp r8, #0
937 0034 EAD1 bne .L81
938 .L82:
6743:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
939 .loc 1 6743 9 is_stmt 1 view .LVU308
6743:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
940 .loc 1 6743 14 is_stmt 0 view .LVU309
941 0036 2B68 ldr r3, [r5]
942 0038 9B69 ldr r3, [r3, #24]
943 003a 37EA0303 bics r3, r7, r3
944 003e 0CBF ite eq
945 0040 0123 moveq r3, #1
946 0042 0023 movne r3, #0
6743:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
947 .loc 1 6743 12 view .LVU310
948 0044 B342 cmp r3, r6
949 0046 E1D1 bne .L81
6745:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
950 .loc 1 6745 11 is_stmt 1 view .LVU311
6745:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
951 .loc 1 6745 15 is_stmt 0 view .LVU312
952 0048 6B6C ldr r3, [r5, #68]
6745:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
953 .loc 1 6745 27 view .LVU313
954 004a 43F02003 orr r3, r3, #32
955 004e 6B64 str r3, [r5, #68]
6746:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
956 .loc 1 6746 11 is_stmt 1 view .LVU314
6746:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
957 .loc 1 6746 23 is_stmt 0 view .LVU315
958 0050 2023 movs r3, #32
959 0052 85F84130 strb r3, [r5, #65]
6747:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
960 .loc 1 6747 11 is_stmt 1 view .LVU316
6747:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
ARM GAS /tmp/ccNVyn8W.s page 149
961 .loc 1 6747 22 is_stmt 0 view .LVU317
962 0056 0023 movs r3, #0
963 0058 85F84230 strb r3, [r5, #66]
6750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
964 .loc 1 6750 11 is_stmt 1 view .LVU318
6750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
965 .loc 1 6750 11 view .LVU319
966 005c 85F84030 strb r3, [r5, #64]
6750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
967 .loc 1 6750 11 view .LVU320
6751:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
968 .loc 1 6751 11 view .LVU321
6751:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
969 .loc 1 6751 18 is_stmt 0 view .LVU322
970 0060 0120 movs r0, #1
971 0062 00E0 b .L83
972 .L86:
6756:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
973 .loc 1 6756 10 view .LVU323
974 0064 0020 movs r0, #0
975 .L83:
6757:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
976 .loc 1 6757 1 view .LVU324
977 0066 BDE8F081 pop {r4, r5, r6, r7, r8, pc}
6757:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
978 .loc 1 6757 1 view .LVU325
979 .cfi_endproc
980 .LFE202:
982 .section .text.I2C_RequestMemoryWrite,"ax",%progbits
983 .align 1
984 .syntax unified
985 .thumb
986 .thumb_func
988 I2C_RequestMemoryWrite:
989 .LVL84:
990 .LFB185:
5658:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)MemAddSize, I2C_RELOAD_MODE, I2C_GENERATE_START_WRI
991 .loc 1 5658 1 is_stmt 1 view -0
992 .cfi_startproc
993 @ args = 8, pretend = 0, frame = 0
994 @ frame_needed = 0, uses_anonymous_args = 0
5658:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)MemAddSize, I2C_RELOAD_MODE, I2C_GENERATE_START_WRI
995 .loc 1 5658 1 is_stmt 0 view .LVU327
996 0000 2DE9F041 push {r4, r5, r6, r7, r8, lr}
997 .cfi_def_cfa_offset 24
998 .cfi_offset 4, -24
999 .cfi_offset 5, -20
1000 .cfi_offset 6, -16
1001 .cfi_offset 7, -12
1002 .cfi_offset 8, -8
1003 .cfi_offset 14, -4
1004 0004 82B0 sub sp, sp, #8
1005 .cfi_def_cfa_offset 32
1006 0006 0446 mov r4, r0
1007 0008 9046 mov r8, r2
1008 000a 1D46 mov r5, r3
1009 000c 089E ldr r6, [sp, #32]
ARM GAS /tmp/ccNVyn8W.s page 150
1010 000e 099F ldr r7, [sp, #36]
5659:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1011 .loc 1 5659 3 is_stmt 1 view .LVU328
1012 0010 194B ldr r3, .L96
1013 .LVL85:
5659:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1014 .loc 1 5659 3 is_stmt 0 view .LVU329
1015 0012 0093 str r3, [sp]
1016 0014 4FF08073 mov r3, #16777216
1017 0018 EAB2 uxtb r2, r5
1018 .LVL86:
5659:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1019 .loc 1 5659 3 view .LVU330
1020 001a FFF7FEFF bl I2C_TransferConfig
1021 .LVL87:
5662:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1022 .loc 1 5662 3 is_stmt 1 view .LVU331
5662:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1023 .loc 1 5662 7 is_stmt 0 view .LVU332
1024 001e 3A46 mov r2, r7
1025 0020 3146 mov r1, r6
1026 0022 2046 mov r0, r4
1027 0024 FFF7FEFF bl I2C_WaitOnTXISFlagUntilTimeout
1028 .LVL88:
5662:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1029 .loc 1 5662 6 discriminator 1 view .LVU333
1030 0028 F8B9 cbnz r0, .L91
5668:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1031 .loc 1 5668 3 is_stmt 1 view .LVU334
5668:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1032 .loc 1 5668 6 is_stmt 0 view .LVU335
1033 002a 012D cmp r5, #1
1034 002c 0ED1 bne .L89
5671:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1035 .loc 1 5671 5 is_stmt 1 view .LVU336
5671:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1036 .loc 1 5671 9 is_stmt 0 view .LVU337
1037 002e 2368 ldr r3, [r4]
5671:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1038 .loc 1 5671 28 view .LVU338
1039 0030 5FFA88F2 uxtb r2, r8
5671:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1040 .loc 1 5671 26 view .LVU339
1041 0034 9A62 str r2, [r3, #40]
1042 .L90:
5690:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1043 .loc 1 5690 3 is_stmt 1 view .LVU340
5690:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1044 .loc 1 5690 7 is_stmt 0 view .LVU341
1045 0036 0097 str r7, [sp]
1046 0038 3346 mov r3, r6
1047 003a 0022 movs r2, #0
1048 003c 8021 movs r1, #128
1049 003e 2046 mov r0, r4
1050 0040 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
1051 .LVL89:
5690:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
ARM GAS /tmp/ccNVyn8W.s page 151
1052 .loc 1 5690 6 discriminator 1 view .LVU342
1053 0044 A8B9 cbnz r0, .L95
1054 .L88:
5696:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1055 .loc 1 5696 1 view .LVU343
1056 0046 02B0 add sp, sp, #8
1057 .cfi_remember_state
1058 .cfi_def_cfa_offset 24
1059 @ sp needed
1060 0048 BDE8F081 pop {r4, r5, r6, r7, r8, pc}
1061 .LVL90:
1062 .L89:
1063 .cfi_restore_state
5677:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1064 .loc 1 5677 5 is_stmt 1 view .LVU344
5677:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1065 .loc 1 5677 9 is_stmt 0 view .LVU345
1066 004c 2368 ldr r3, [r4]
5677:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1067 .loc 1 5677 28 view .LVU346
1068 004e 4FEA1822 lsr r2, r8, #8
5677:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1069 .loc 1 5677 26 view .LVU347
1070 0052 9A62 str r2, [r3, #40]
5680:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1071 .loc 1 5680 5 is_stmt 1 view .LVU348
5680:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1072 .loc 1 5680 9 is_stmt 0 view .LVU349
1073 0054 3A46 mov r2, r7
1074 0056 3146 mov r1, r6
1075 0058 2046 mov r0, r4
1076 005a FFF7FEFF bl I2C_WaitOnTXISFlagUntilTimeout
1077 .LVL91:
5680:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1078 .loc 1 5680 8 discriminator 1 view .LVU350
1079 005e 30B9 cbnz r0, .L92
5686:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1080 .loc 1 5686 5 is_stmt 1 view .LVU351
5686:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1081 .loc 1 5686 9 is_stmt 0 view .LVU352
1082 0060 2368 ldr r3, [r4]
5686:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1083 .loc 1 5686 28 view .LVU353
1084 0062 5FFA88F2 uxtb r2, r8
5686:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1085 .loc 1 5686 26 view .LVU354
1086 0066 9A62 str r2, [r3, #40]
1087 0068 E5E7 b .L90
1088 .L91:
5664:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1089 .loc 1 5664 12 view .LVU355
1090 006a 0120 movs r0, #1
1091 006c EBE7 b .L88
1092 .L92:
5682:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1093 .loc 1 5682 14 view .LVU356
1094 006e 0120 movs r0, #1
ARM GAS /tmp/ccNVyn8W.s page 152
1095 0070 E9E7 b .L88
1096 .L95:
5692:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1097 .loc 1 5692 12 view .LVU357
1098 0072 0120 movs r0, #1
1099 0074 E7E7 b .L88
1100 .L97:
1101 0076 00BF .align 2
1102 .L96:
1103 0078 00200080 .word -2147475456
1104 .cfi_endproc
1105 .LFE185:
1107 .section .text.I2C_RequestMemoryRead,"ax",%progbits
1108 .align 1
1109 .syntax unified
1110 .thumb
1111 .thumb_func
1113 I2C_RequestMemoryRead:
1114 .LVL92:
1115 .LFB186:
5713:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)MemAddSize, I2C_SOFTEND_MODE, I2C_GENERATE_START_WR
1116 .loc 1 5713 1 is_stmt 1 view -0
1117 .cfi_startproc
1118 @ args = 8, pretend = 0, frame = 0
1119 @ frame_needed = 0, uses_anonymous_args = 0
5713:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)MemAddSize, I2C_SOFTEND_MODE, I2C_GENERATE_START_WR
1120 .loc 1 5713 1 is_stmt 0 view .LVU359
1121 0000 2DE9F041 push {r4, r5, r6, r7, r8, lr}
1122 .cfi_def_cfa_offset 24
1123 .cfi_offset 4, -24
1124 .cfi_offset 5, -20
1125 .cfi_offset 6, -16
1126 .cfi_offset 7, -12
1127 .cfi_offset 8, -8
1128 .cfi_offset 14, -4
1129 0004 82B0 sub sp, sp, #8
1130 .cfi_def_cfa_offset 32
1131 0006 0446 mov r4, r0
1132 0008 9046 mov r8, r2
1133 000a 1D46 mov r5, r3
1134 000c 089E ldr r6, [sp, #32]
1135 000e 099F ldr r7, [sp, #36]
5714:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1136 .loc 1 5714 3 is_stmt 1 view .LVU360
1137 0010 184B ldr r3, .L107
1138 .LVL93:
5714:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1139 .loc 1 5714 3 is_stmt 0 view .LVU361
1140 0012 0093 str r3, [sp]
1141 0014 0023 movs r3, #0
1142 0016 EAB2 uxtb r2, r5
1143 .LVL94:
5714:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1144 .loc 1 5714 3 view .LVU362
1145 0018 FFF7FEFF bl I2C_TransferConfig
1146 .LVL95:
5717:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
ARM GAS /tmp/ccNVyn8W.s page 153
1147 .loc 1 5717 3 is_stmt 1 view .LVU363
5717:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1148 .loc 1 5717 7 is_stmt 0 view .LVU364
1149 001c 3A46 mov r2, r7
1150 001e 3146 mov r1, r6
1151 0020 2046 mov r0, r4
1152 0022 FFF7FEFF bl I2C_WaitOnTXISFlagUntilTimeout
1153 .LVL96:
5717:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1154 .loc 1 5717 6 discriminator 1 view .LVU365
1155 0026 F8B9 cbnz r0, .L102
5723:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1156 .loc 1 5723 3 is_stmt 1 view .LVU366
5723:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1157 .loc 1 5723 6 is_stmt 0 view .LVU367
1158 0028 012D cmp r5, #1
1159 002a 0ED1 bne .L100
5726:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1160 .loc 1 5726 5 is_stmt 1 view .LVU368
5726:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1161 .loc 1 5726 9 is_stmt 0 view .LVU369
1162 002c 2368 ldr r3, [r4]
5726:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1163 .loc 1 5726 28 view .LVU370
1164 002e 5FFA88F2 uxtb r2, r8
5726:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1165 .loc 1 5726 26 view .LVU371
1166 0032 9A62 str r2, [r3, #40]
1167 .L101:
5745:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1168 .loc 1 5745 3 is_stmt 1 view .LVU372
5745:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1169 .loc 1 5745 7 is_stmt 0 view .LVU373
1170 0034 0097 str r7, [sp]
1171 0036 3346 mov r3, r6
1172 0038 0022 movs r2, #0
1173 003a 4021 movs r1, #64
1174 003c 2046 mov r0, r4
1175 003e FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
1176 .LVL97:
5745:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1177 .loc 1 5745 6 discriminator 1 view .LVU374
1178 0042 A8B9 cbnz r0, .L106
1179 .L99:
5751:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1180 .loc 1 5751 1 view .LVU375
1181 0044 02B0 add sp, sp, #8
1182 .cfi_remember_state
1183 .cfi_def_cfa_offset 24
1184 @ sp needed
1185 0046 BDE8F081 pop {r4, r5, r6, r7, r8, pc}
1186 .LVL98:
1187 .L100:
1188 .cfi_restore_state
5732:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1189 .loc 1 5732 5 is_stmt 1 view .LVU376
5732:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
ARM GAS /tmp/ccNVyn8W.s page 154
1190 .loc 1 5732 9 is_stmt 0 view .LVU377
1191 004a 2368 ldr r3, [r4]
5732:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1192 .loc 1 5732 28 view .LVU378
1193 004c 4FEA1822 lsr r2, r8, #8
5732:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1194 .loc 1 5732 26 view .LVU379
1195 0050 9A62 str r2, [r3, #40]
5735:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1196 .loc 1 5735 5 is_stmt 1 view .LVU380
5735:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1197 .loc 1 5735 9 is_stmt 0 view .LVU381
1198 0052 3A46 mov r2, r7
1199 0054 3146 mov r1, r6
1200 0056 2046 mov r0, r4
1201 0058 FFF7FEFF bl I2C_WaitOnTXISFlagUntilTimeout
1202 .LVL99:
5735:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1203 .loc 1 5735 8 discriminator 1 view .LVU382
1204 005c 30B9 cbnz r0, .L103
5741:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1205 .loc 1 5741 5 is_stmt 1 view .LVU383
5741:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1206 .loc 1 5741 9 is_stmt 0 view .LVU384
1207 005e 2368 ldr r3, [r4]
5741:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1208 .loc 1 5741 28 view .LVU385
1209 0060 5FFA88F2 uxtb r2, r8
5741:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1210 .loc 1 5741 26 view .LVU386
1211 0064 9A62 str r2, [r3, #40]
1212 0066 E5E7 b .L101
1213 .L102:
5719:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1214 .loc 1 5719 12 view .LVU387
1215 0068 0120 movs r0, #1
1216 006a EBE7 b .L99
1217 .L103:
5737:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1218 .loc 1 5737 14 view .LVU388
1219 006c 0120 movs r0, #1
1220 006e E9E7 b .L99
1221 .L106:
5747:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1222 .loc 1 5747 12 view .LVU389
1223 0070 0120 movs r0, #1
1224 0072 E7E7 b .L99
1225 .L108:
1226 .align 2
1227 .L107:
1228 0074 00200080 .word -2147475456
1229 .cfi_endproc
1230 .LFE186:
1232 .section .text.I2C_WaitOnSTOPFlagUntilTimeout,"ax",%progbits
1233 .align 1
1234 .syntax unified
1235 .thumb
ARM GAS /tmp/ccNVyn8W.s page 155
1236 .thumb_func
1238 I2C_WaitOnSTOPFlagUntilTimeout:
1239 .LVL100:
1240 .LFB204:
6810:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_STOPF) == RESET)
1241 .loc 1 6810 1 is_stmt 1 view -0
1242 .cfi_startproc
1243 @ args = 0, pretend = 0, frame = 0
1244 @ frame_needed = 0, uses_anonymous_args = 0
6810:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_STOPF) == RESET)
1245 .loc 1 6810 1 is_stmt 0 view .LVU391
1246 0000 70B5 push {r4, r5, r6, lr}
1247 .cfi_def_cfa_offset 16
1248 .cfi_offset 4, -16
1249 .cfi_offset 5, -12
1250 .cfi_offset 6, -8
1251 .cfi_offset 14, -4
1252 0002 0446 mov r4, r0
1253 0004 0D46 mov r5, r1
1254 0006 1646 mov r6, r2
6811:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1255 .loc 1 6811 3 is_stmt 1 view .LVU392
6811:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1256 .loc 1 6811 9 is_stmt 0 view .LVU393
1257 0008 04E0 b .L110
1258 .LVL101:
1259 .L112:
6822:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1260 .loc 1 6822 7 is_stmt 1 view .LVU394
6822:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1261 .loc 1 6822 12 is_stmt 0 view .LVU395
1262 000a 2368 ldr r3, [r4]
1263 000c 9B69 ldr r3, [r3, #24]
6822:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1264 .loc 1 6822 10 view .LVU396
1265 000e 13F0200F tst r3, #32
1266 0012 12D0 beq .L116
1267 .L110:
6811:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1268 .loc 1 6811 51 is_stmt 1 view .LVU397
6811:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1269 .loc 1 6811 10 is_stmt 0 view .LVU398
1270 0014 2368 ldr r3, [r4]
1271 0016 9B69 ldr r3, [r3, #24]
6811:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1272 .loc 1 6811 51 view .LVU399
1273 0018 13F0200F tst r3, #32
1274 001c 1BD1 bne .L117
6814:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1275 .loc 1 6814 5 is_stmt 1 view .LVU400
6814:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1276 .loc 1 6814 9 is_stmt 0 view .LVU401
1277 001e 3246 mov r2, r6
1278 0020 2946 mov r1, r5
1279 0022 2046 mov r0, r4
1280 0024 FFF7FEFF bl I2C_IsErrorOccurred
1281 .LVL102:
ARM GAS /tmp/ccNVyn8W.s page 156
6814:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1282 .loc 1 6814 8 discriminator 1 view .LVU402
1283 0028 B8B9 cbnz r0, .L114
6820:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1284 .loc 1 6820 5 is_stmt 1 view .LVU403
6820:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1285 .loc 1 6820 11 is_stmt 0 view .LVU404
1286 002a FFF7FEFF bl HAL_GetTick
1287 .LVL103:
6820:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1288 .loc 1 6820 25 discriminator 1 view .LVU405
1289 002e 801B subs r0, r0, r6
6820:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1290 .loc 1 6820 8 discriminator 1 view .LVU406
1291 0030 A842 cmp r0, r5
1292 0032 EAD8 bhi .L112
6820:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1293 .loc 1 6820 49 discriminator 1 view .LVU407
1294 0034 002D cmp r5, #0
1295 0036 EDD1 bne .L110
1296 0038 E7E7 b .L112
1297 .L116:
6824:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
1298 .loc 1 6824 9 is_stmt 1 view .LVU408
6824:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
1299 .loc 1 6824 13 is_stmt 0 view .LVU409
1300 003a 636C ldr r3, [r4, #68]
6824:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
1301 .loc 1 6824 25 view .LVU410
1302 003c 43F02003 orr r3, r3, #32
1303 0040 6364 str r3, [r4, #68]
6825:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
1304 .loc 1 6825 9 is_stmt 1 view .LVU411
6825:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
1305 .loc 1 6825 21 is_stmt 0 view .LVU412
1306 0042 2023 movs r3, #32
1307 0044 84F84130 strb r3, [r4, #65]
6826:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1308 .loc 1 6826 9 is_stmt 1 view .LVU413
6826:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1309 .loc 1 6826 20 is_stmt 0 view .LVU414
1310 0048 0023 movs r3, #0
1311 004a 84F84230 strb r3, [r4, #66]
6829:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1312 .loc 1 6829 9 is_stmt 1 view .LVU415
6829:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1313 .loc 1 6829 9 view .LVU416
1314 004e 84F84030 strb r3, [r4, #64]
6829:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1315 .loc 1 6829 9 view .LVU417
6831:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1316 .loc 1 6831 9 view .LVU418
6831:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1317 .loc 1 6831 16 is_stmt 0 view .LVU419
1318 0052 0120 movs r0, #1
1319 0054 00E0 b .L111
1320 .L117:
ARM GAS /tmp/ccNVyn8W.s page 157
6835:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1321 .loc 1 6835 10 view .LVU420
1322 0056 0020 movs r0, #0
1323 .L111:
6836:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1324 .loc 1 6836 1 view .LVU421
1325 0058 70BD pop {r4, r5, r6, pc}
1326 .LVL104:
1327 .L114:
6816:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1328 .loc 1 6816 14 view .LVU422
1329 005a 0120 movs r0, #1
1330 005c FCE7 b .L111
1331 .cfi_endproc
1332 .LFE204:
1334 .section .text.I2C_WaitOnRXNEFlagUntilTimeout,"ax",%progbits
1335 .align 1
1336 .syntax unified
1337 .thumb
1338 .thumb_func
1340 I2C_WaitOnRXNEFlagUntilTimeout:
1341 .LVL105:
1342 .LFB205:
6848:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_RXNE) == RESET)
1343 .loc 1 6848 1 is_stmt 1 view -0
1344 .cfi_startproc
1345 @ args = 0, pretend = 0, frame = 0
1346 @ frame_needed = 0, uses_anonymous_args = 0
6848:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_RXNE) == RESET)
1347 .loc 1 6848 1 is_stmt 0 view .LVU424
1348 0000 70B5 push {r4, r5, r6, lr}
1349 .cfi_def_cfa_offset 16
1350 .cfi_offset 4, -16
1351 .cfi_offset 5, -12
1352 .cfi_offset 6, -8
1353 .cfi_offset 14, -4
1354 0002 0446 mov r4, r0
1355 0004 0D46 mov r5, r1
1356 0006 1646 mov r6, r2
6849:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1357 .loc 1 6849 3 is_stmt 1 view .LVU425
6849:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1358 .loc 1 6849 9 is_stmt 0 view .LVU426
1359 0008 2DE0 b .L119
1360 .LVL106:
1361 .L131:
6862:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1362 .loc 1 6862 7 is_stmt 1 view .LVU427
6862:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1363 .loc 1 6862 12 is_stmt 0 view .LVU428
1364 000a 9A69 ldr r2, [r3, #24]
6862:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1365 .loc 1 6862 10 view .LVU429
1366 000c 12F0040F tst r2, #4
1367 0010 02D0 beq .L122
6862:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1368 .loc 1 6862 68 discriminator 1 view .LVU430
ARM GAS /tmp/ccNVyn8W.s page 158
1369 0012 228D ldrh r2, [r4, #40]
6862:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1370 .loc 1 6862 60 discriminator 1 view .LVU431
1371 0014 002A cmp r2, #0
1372 0016 4CD1 bne .L120
1373 .L122:
6870:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1374 .loc 1 6870 9 is_stmt 1 view .LVU432
6870:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1375 .loc 1 6870 13 is_stmt 0 view .LVU433
1376 0018 9A69 ldr r2, [r3, #24]
6870:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1377 .loc 1 6870 12 view .LVU434
1378 001a 12F0100F tst r2, #16
1379 001e 1AD0 beq .L123
6872:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_AF;
1380 .loc 1 6872 11 is_stmt 1 view .LVU435
1381 0020 1022 movs r2, #16
1382 0022 DA61 str r2, [r3, #28]
6873:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1383 .loc 1 6873 11 view .LVU436
6873:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1384 .loc 1 6873 27 is_stmt 0 view .LVU437
1385 0024 0423 movs r3, #4
1386 0026 6364 str r3, [r4, #68]
1387 .L124:
6881:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1388 .loc 1 6881 9 is_stmt 1 view .LVU438
1389 0028 2368 ldr r3, [r4]
1390 002a 2022 movs r2, #32
1391 002c DA61 str r2, [r3, #28]
6884:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1392 .loc 1 6884 9 view .LVU439
1393 002e 2168 ldr r1, [r4]
1394 0030 4B68 ldr r3, [r1, #4]
1395 0032 23F0FF73 bic r3, r3, #33423360
1396 0036 23F48B33 bic r3, r3, #71168
1397 003a 23F4FF73 bic r3, r3, #510
1398 003e 23F00103 bic r3, r3, #1
1399 0042 4B60 str r3, [r1, #4]
6886:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
1400 .loc 1 6886 9 view .LVU440
6886:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
1401 .loc 1 6886 21 is_stmt 0 view .LVU441
1402 0044 84F84120 strb r2, [r4, #65]
6887:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1403 .loc 1 6887 9 is_stmt 1 view .LVU442
6887:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1404 .loc 1 6887 20 is_stmt 0 view .LVU443
1405 0048 0023 movs r3, #0
1406 004a 84F84230 strb r3, [r4, #66]
6890:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1407 .loc 1 6890 9 is_stmt 1 view .LVU444
6890:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1408 .loc 1 6890 9 view .LVU445
1409 004e 84F84030 strb r3, [r4, #64]
6890:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
ARM GAS /tmp/ccNVyn8W.s page 159
1410 .loc 1 6890 9 view .LVU446
6892:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1411 .loc 1 6892 9 view .LVU447
6892:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1412 .loc 1 6892 16 is_stmt 0 view .LVU448
1413 0052 0121 movs r1, #1
1414 0054 2DE0 b .L120
1415 .L123:
6877:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1416 .loc 1 6877 11 is_stmt 1 view .LVU449
6877:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1417 .loc 1 6877 27 is_stmt 0 view .LVU450
1418 0056 0023 movs r3, #0
1419 0058 6364 str r3, [r4, #68]
1420 005a E5E7 b .L124
1421 .L125:
6899:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1422 .loc 1 6899 7 is_stmt 1 view .LVU451
6899:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1423 .loc 1 6899 12 is_stmt 0 view .LVU452
1424 005c 2368 ldr r3, [r4]
1425 005e 9B69 ldr r3, [r3, #24]
6899:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1426 .loc 1 6899 10 view .LVU453
1427 0060 13F0040F tst r3, #4
1428 0064 18D0 beq .L129
1429 .L119:
6849:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1430 .loc 1 6849 50 is_stmt 1 view .LVU454
6849:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1431 .loc 1 6849 10 is_stmt 0 view .LVU455
1432 0066 2368 ldr r3, [r4]
1433 0068 9B69 ldr r3, [r3, #24]
6849:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1434 .loc 1 6849 50 view .LVU456
1435 006a 13F0040F tst r3, #4
1436 006e 1FD1 bne .L130
6852:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1437 .loc 1 6852 5 is_stmt 1 view .LVU457
6852:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1438 .loc 1 6852 9 is_stmt 0 view .LVU458
1439 0070 3246 mov r2, r6
1440 0072 2946 mov r1, r5
1441 0074 2046 mov r0, r4
1442 0076 FFF7FEFF bl I2C_IsErrorOccurred
1443 .LVL107:
6852:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1444 .loc 1 6852 8 discriminator 1 view .LVU459
1445 007a 0146 mov r1, r0
1446 007c D8B9 cbnz r0, .L127
6858:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1447 .loc 1 6858 5 is_stmt 1 view .LVU460
6858:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1448 .loc 1 6858 9 is_stmt 0 view .LVU461
1449 007e 2368 ldr r3, [r4]
1450 0080 9A69 ldr r2, [r3, #24]
6858:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
ARM GAS /tmp/ccNVyn8W.s page 160
1451 .loc 1 6858 8 view .LVU462
1452 0082 12F0200F tst r2, #32
1453 0086 C0D1 bne .L131
6897:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1454 .loc 1 6897 5 is_stmt 1 view .LVU463
6897:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1455 .loc 1 6897 11 is_stmt 0 view .LVU464
1456 0088 FFF7FEFF bl HAL_GetTick
1457 .LVL108:
6897:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1458 .loc 1 6897 25 discriminator 1 view .LVU465
1459 008c 801B subs r0, r0, r6
6897:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1460 .loc 1 6897 8 discriminator 1 view .LVU466
1461 008e A842 cmp r0, r5
1462 0090 E4D8 bhi .L125
6897:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1463 .loc 1 6897 49 discriminator 1 view .LVU467
1464 0092 002D cmp r5, #0
1465 0094 E7D1 bne .L119
1466 0096 E1E7 b .L125
1467 .L129:
6901:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
1468 .loc 1 6901 9 is_stmt 1 view .LVU468
6901:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
1469 .loc 1 6901 13 is_stmt 0 view .LVU469
1470 0098 636C ldr r3, [r4, #68]
6901:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
1471 .loc 1 6901 25 view .LVU470
1472 009a 43F02003 orr r3, r3, #32
1473 009e 6364 str r3, [r4, #68]
6902:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1474 .loc 1 6902 9 is_stmt 1 view .LVU471
6902:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1475 .loc 1 6902 21 is_stmt 0 view .LVU472
1476 00a0 2023 movs r3, #32
1477 00a2 84F84130 strb r3, [r4, #65]
6905:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1478 .loc 1 6905 9 is_stmt 1 view .LVU473
6905:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1479 .loc 1 6905 9 view .LVU474
1480 00a6 0023 movs r3, #0
1481 00a8 84F84030 strb r3, [r4, #64]
6905:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1482 .loc 1 6905 9 view .LVU475
6907:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1483 .loc 1 6907 9 view .LVU476
6907:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1484 .loc 1 6907 16 is_stmt 0 view .LVU477
1485 00ac 0121 movs r1, #1
1486 00ae 00E0 b .L120
1487 .L130:
6911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1488 .loc 1 6911 10 view .LVU478
1489 00b0 0021 movs r1, #0
1490 .L120:
6912:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
ARM GAS /tmp/ccNVyn8W.s page 161
1491 .loc 1 6912 1 view .LVU479
1492 00b2 0846 mov r0, r1
1493 00b4 70BD pop {r4, r5, r6, pc}
1494 .LVL109:
1495 .L127:
6854:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1496 .loc 1 6854 14 view .LVU480
1497 00b6 0121 movs r1, #1
1498 00b8 FBE7 b .L120
1499 .cfi_endproc
1500 .LFE205:
1502 .section .text.HAL_I2C_MspInit,"ax",%progbits
1503 .align 1
1504 .weak HAL_I2C_MspInit
1505 .syntax unified
1506 .thumb
1507 .thumb_func
1509 HAL_I2C_MspInit:
1510 .LVL110:
1511 .LFB132:
692:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
1512 .loc 1 692 1 is_stmt 1 view -0
1513 .cfi_startproc
1514 @ args = 0, pretend = 0, frame = 0
1515 @ frame_needed = 0, uses_anonymous_args = 0
1516 @ link register save eliminated.
694:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1517 .loc 1 694 3 view .LVU482
699:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1518 .loc 1 699 1 is_stmt 0 view .LVU483
1519 0000 7047 bx lr
1520 .cfi_endproc
1521 .LFE132:
1523 .section .text.HAL_I2C_Init,"ax",%progbits
1524 .align 1
1525 .global HAL_I2C_Init
1526 .syntax unified
1527 .thumb
1528 .thumb_func
1530 HAL_I2C_Init:
1531 .LVL111:
1532 .LFB130:
536:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check the I2C handle allocation */
1533 .loc 1 536 1 is_stmt 1 view -0
1534 .cfi_startproc
1535 @ args = 0, pretend = 0, frame = 0
1536 @ frame_needed = 0, uses_anonymous_args = 0
538:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1537 .loc 1 538 3 view .LVU485
538:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1538 .loc 1 538 6 is_stmt 0 view .LVU486
1539 0000 0028 cmp r0, #0
1540 0002 59D0 beq .L139
536:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check the I2C handle allocation */
1541 .loc 1 536 1 view .LVU487
1542 0004 10B5 push {r4, lr}
1543 .cfi_def_cfa_offset 8
ARM GAS /tmp/ccNVyn8W.s page 162
1544 .cfi_offset 4, -8
1545 .cfi_offset 14, -4
1546 0006 0446 mov r4, r0
544:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_OWN_ADDRESS1(hi2c->Init.OwnAddress1));
1547 .loc 1 544 3 is_stmt 1 view .LVU488
545:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_ADDRESSING_MODE(hi2c->Init.AddressingMode));
1548 .loc 1 545 3 view .LVU489
546:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_DUAL_ADDRESS(hi2c->Init.DualAddressMode));
1549 .loc 1 546 3 view .LVU490
547:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_OWN_ADDRESS2(hi2c->Init.OwnAddress2));
1550 .loc 1 547 3 view .LVU491
548:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_OWN_ADDRESS2_MASK(hi2c->Init.OwnAddress2Masks));
1551 .loc 1 548 3 view .LVU492
549:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_GENERAL_CALL(hi2c->Init.GeneralCallMode));
1552 .loc 1 549 3 view .LVU493
550:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_NO_STRETCH(hi2c->Init.NoStretchMode));
1553 .loc 1 550 3 view .LVU494
551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1554 .loc 1 551 3 view .LVU495
553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1555 .loc 1 553 3 view .LVU496
553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1556 .loc 1 553 11 is_stmt 0 view .LVU497
1557 0008 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2
553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1558 .loc 1 553 6 view .LVU498
1559 000c 002B cmp r3, #0
1560 000e 43D0 beq .L144
1561 .LVL112:
1562 .L135:
584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1563 .loc 1 584 3 is_stmt 1 view .LVU499
584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1564 .loc 1 584 15 is_stmt 0 view .LVU500
1565 0010 2423 movs r3, #36
1566 0012 84F84130 strb r3, [r4, #65]
587:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1567 .loc 1 587 3 is_stmt 1 view .LVU501
1568 0016 2268 ldr r2, [r4]
1569 0018 1368 ldr r3, [r2]
1570 001a 23F00103 bic r3, r3, #1
1571 001e 1360 str r3, [r2]
591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1572 .loc 1 591 3 view .LVU502
591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1573 .loc 1 591 39 is_stmt 0 view .LVU503
1574 0020 6368 ldr r3, [r4, #4]
591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1575 .loc 1 591 7 view .LVU504
1576 0022 2268 ldr r2, [r4]
591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1577 .loc 1 591 47 view .LVU505
1578 0024 23F07063 bic r3, r3, #251658240
591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1579 .loc 1 591 27 view .LVU506
1580 0028 1361 str r3, [r2, #16]
595:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
ARM GAS /tmp/ccNVyn8W.s page 163
1581 .loc 1 595 3 is_stmt 1 view .LVU507
595:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1582 .loc 1 595 7 is_stmt 0 view .LVU508
1583 002a 2268 ldr r2, [r4]
595:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1584 .loc 1 595 17 view .LVU509
1585 002c 9368 ldr r3, [r2, #8]
595:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1586 .loc 1 595 24 view .LVU510
1587 002e 23F40043 bic r3, r3, #32768
1588 0032 9360 str r3, [r2, #8]
598:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1589 .loc 1 598 3 is_stmt 1 view .LVU511
598:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1590 .loc 1 598 17 is_stmt 0 view .LVU512
1591 0034 E368 ldr r3, [r4, #12]
598:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1592 .loc 1 598 6 view .LVU513
1593 0036 012B cmp r3, #1
1594 0038 33D0 beq .L145
604:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1595 .loc 1 604 5 is_stmt 1 view .LVU514
604:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1596 .loc 1 604 75 is_stmt 0 view .LVU515
1597 003a A368 ldr r3, [r4, #8]
604:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1598 .loc 1 604 9 view .LVU516
1599 003c 2268 ldr r2, [r4]
604:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1600 .loc 1 604 63 view .LVU517
1601 003e 43F40443 orr r3, r3, #33792
604:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1602 .loc 1 604 26 view .LVU518
1603 0042 9360 str r3, [r2, #8]
1604 .L137:
609:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1605 .loc 1 609 3 is_stmt 1 view .LVU519
609:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1606 .loc 1 609 17 is_stmt 0 view .LVU520
1607 0044 E368 ldr r3, [r4, #12]
609:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1608 .loc 1 609 6 view .LVU521
1609 0046 022B cmp r3, #2
1610 0048 31D0 beq .L146
1611 .L138:
614:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1612 .loc 1 614 3 is_stmt 1 view .LVU522
614:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1613 .loc 1 614 7 is_stmt 0 view .LVU523
1614 004a 2268 ldr r2, [r4]
614:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1615 .loc 1 614 17 view .LVU524
1616 004c 5368 ldr r3, [r2, #4]
614:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1617 .loc 1 614 23 view .LVU525
1618 004e 43F00073 orr r3, r3, #33554432
1619 0052 43F40043 orr r3, r3, #32768
ARM GAS /tmp/ccNVyn8W.s page 164
1620 0056 5360 str r3, [r2, #4]
618:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1621 .loc 1 618 3 is_stmt 1 view .LVU526
618:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1622 .loc 1 618 7 is_stmt 0 view .LVU527
1623 0058 2268 ldr r2, [r4]
618:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1624 .loc 1 618 17 view .LVU528
1625 005a D368 ldr r3, [r2, #12]
618:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1626 .loc 1 618 24 view .LVU529
1627 005c 23F40043 bic r3, r3, #32768
1628 0060 D360 str r3, [r2, #12]
621:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->Init.OwnAddress2Masks << 8));
1629 .loc 1 621 3 is_stmt 1 view .LVU530
621:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->Init.OwnAddress2Masks << 8));
1630 .loc 1 621 37 is_stmt 0 view .LVU531
1631 0062 2369 ldr r3, [r4, #16]
621:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->Init.OwnAddress2Masks << 8));
1632 .loc 1 621 66 view .LVU532
1633 0064 6269 ldr r2, [r4, #20]
621:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->Init.OwnAddress2Masks << 8));
1634 .loc 1 621 54 view .LVU533
1635 0066 1343 orrs r3, r3, r2
622:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1636 .loc 1 622 38 view .LVU534
1637 0068 A169 ldr r1, [r4, #24]
621:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->Init.OwnAddress2Masks << 8));
1638 .loc 1 621 7 view .LVU535
1639 006a 2268 ldr r2, [r4]
621:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->Init.OwnAddress2Masks << 8));
1640 .loc 1 621 79 view .LVU536
1641 006c 43EA0123 orr r3, r3, r1, lsl #8
621:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->Init.OwnAddress2Masks << 8));
1642 .loc 1 621 24 view .LVU537
1643 0070 D360 str r3, [r2, #12]
626:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1644 .loc 1 626 3 is_stmt 1 view .LVU538
626:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1645 .loc 1 626 36 is_stmt 0 view .LVU539
1646 0072 E369 ldr r3, [r4, #28]
626:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1647 .loc 1 626 65 view .LVU540
1648 0074 216A ldr r1, [r4, #32]
626:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1649 .loc 1 626 7 view .LVU541
1650 0076 2268 ldr r2, [r4]
626:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1651 .loc 1 626 53 view .LVU542
1652 0078 0B43 orrs r3, r3, r1
626:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1653 .loc 1 626 23 view .LVU543
1654 007a 1360 str r3, [r2]
629:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1655 .loc 1 629 3 is_stmt 1 view .LVU544
1656 007c 2268 ldr r2, [r4]
1657 007e 1368 ldr r3, [r2]
ARM GAS /tmp/ccNVyn8W.s page 165
1658 0080 43F00103 orr r3, r3, #1
1659 0084 1360 str r3, [r2]
631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
1660 .loc 1 631 3 view .LVU545
631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
1661 .loc 1 631 19 is_stmt 0 view .LVU546
1662 0086 0020 movs r0, #0
1663 0088 6064 str r0, [r4, #68]
632:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
1664 .loc 1 632 3 is_stmt 1 view .LVU547
632:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
1665 .loc 1 632 15 is_stmt 0 view .LVU548
1666 008a 2023 movs r3, #32
1667 008c 84F84130 strb r3, [r4, #65]
633:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
1668 .loc 1 633 3 is_stmt 1 view .LVU549
633:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
1669 .loc 1 633 23 is_stmt 0 view .LVU550
1670 0090 2063 str r0, [r4, #48]
634:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1671 .loc 1 634 3 is_stmt 1 view .LVU551
634:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1672 .loc 1 634 14 is_stmt 0 view .LVU552
1673 0092 84F84200 strb r0, [r4, #66]
636:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1674 .loc 1 636 3 is_stmt 1 view .LVU553
637:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1675 .loc 1 637 1 is_stmt 0 view .LVU554
1676 0096 10BD pop {r4, pc}
1677 .LVL113:
1678 .L144:
556:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1679 .loc 1 556 5 is_stmt 1 view .LVU555
556:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1680 .loc 1 556 16 is_stmt 0 view .LVU556
1681 0098 80F84030 strb r3, [r0, #64]
580:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
1682 .loc 1 580 5 is_stmt 1 view .LVU557
1683 009c FFF7FEFF bl HAL_I2C_MspInit
1684 .LVL114:
580:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
1685 .loc 1 580 5 is_stmt 0 view .LVU558
1686 00a0 B6E7 b .L135
1687 .L145:
600:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1688 .loc 1 600 5 is_stmt 1 view .LVU559
600:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1689 .loc 1 600 56 is_stmt 0 view .LVU560
1690 00a2 A368 ldr r3, [r4, #8]
600:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1691 .loc 1 600 9 view .LVU561
1692 00a4 2268 ldr r2, [r4]
600:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1693 .loc 1 600 44 view .LVU562
1694 00a6 43F40043 orr r3, r3, #32768
600:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1695 .loc 1 600 26 view .LVU563
ARM GAS /tmp/ccNVyn8W.s page 166
1696 00aa 9360 str r3, [r2, #8]
1697 00ac CAE7 b .L137
1698 .L146:
611:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1699 .loc 1 611 5 is_stmt 1 view .LVU564
611:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1700 .loc 1 611 9 is_stmt 0 view .LVU565
1701 00ae 2368 ldr r3, [r4]
611:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1702 .loc 1 611 25 view .LVU566
1703 00b0 4FF40062 mov r2, #2048
1704 00b4 5A60 str r2, [r3, #4]
1705 00b6 C8E7 b .L138
1706 .LVL115:
1707 .L139:
1708 .cfi_def_cfa_offset 0
1709 .cfi_restore 4
1710 .cfi_restore 14
540:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1711 .loc 1 540 12 view .LVU567
1712 00b8 0120 movs r0, #1
1713 .LVL116:
637:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1714 .loc 1 637 1 view .LVU568
1715 00ba 7047 bx lr
1716 .cfi_endproc
1717 .LFE130:
1719 .section .text.HAL_I2C_MspDeInit,"ax",%progbits
1720 .align 1
1721 .weak HAL_I2C_MspDeInit
1722 .syntax unified
1723 .thumb
1724 .thumb_func
1726 HAL_I2C_MspDeInit:
1727 .LVL117:
1728 .LFB133:
708:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
1729 .loc 1 708 1 is_stmt 1 view -0
1730 .cfi_startproc
1731 @ args = 0, pretend = 0, frame = 0
1732 @ frame_needed = 0, uses_anonymous_args = 0
1733 @ link register save eliminated.
710:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1734 .loc 1 710 3 view .LVU570
715:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1735 .loc 1 715 1 is_stmt 0 view .LVU571
1736 0000 7047 bx lr
1737 .cfi_endproc
1738 .LFE133:
1740 .section .text.HAL_I2C_DeInit,"ax",%progbits
1741 .align 1
1742 .global HAL_I2C_DeInit
1743 .syntax unified
1744 .thumb
1745 .thumb_func
1747 HAL_I2C_DeInit:
1748 .LVL118:
ARM GAS /tmp/ccNVyn8W.s page 167
1749 .LFB131:
646:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check the I2C handle allocation */
1750 .loc 1 646 1 is_stmt 1 view -0
1751 .cfi_startproc
1752 @ args = 0, pretend = 0, frame = 0
1753 @ frame_needed = 0, uses_anonymous_args = 0
648:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1754 .loc 1 648 3 view .LVU573
648:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1755 .loc 1 648 6 is_stmt 0 view .LVU574
1756 0000 A8B1 cbz r0, .L150
646:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check the I2C handle allocation */
1757 .loc 1 646 1 view .LVU575
1758 0002 10B5 push {r4, lr}
1759 .cfi_def_cfa_offset 8
1760 .cfi_offset 4, -8
1761 .cfi_offset 14, -4
1762 0004 0446 mov r4, r0
654:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1763 .loc 1 654 3 is_stmt 1 view .LVU576
656:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1764 .loc 1 656 3 view .LVU577
656:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1765 .loc 1 656 15 is_stmt 0 view .LVU578
1766 0006 2423 movs r3, #36
1767 0008 80F84130 strb r3, [r0, #65]
659:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1768 .loc 1 659 3 is_stmt 1 view .LVU579
1769 000c 0268 ldr r2, [r0]
1770 000e 1368 ldr r3, [r2]
1771 0010 23F00103 bic r3, r3, #1
1772 0014 1360 str r3, [r2]
671:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
1773 .loc 1 671 3 view .LVU580
1774 0016 FFF7FEFF bl HAL_I2C_MspDeInit
1775 .LVL119:
674:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_RESET;
1776 .loc 1 674 3 view .LVU581
674:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_RESET;
1777 .loc 1 674 19 is_stmt 0 view .LVU582
1778 001a 0020 movs r0, #0
1779 001c 6064 str r0, [r4, #68]
675:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
1780 .loc 1 675 3 is_stmt 1 view .LVU583
675:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
1781 .loc 1 675 15 is_stmt 0 view .LVU584
1782 001e 84F84100 strb r0, [r4, #65]
676:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
1783 .loc 1 676 3 is_stmt 1 view .LVU585
676:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
1784 .loc 1 676 23 is_stmt 0 view .LVU586
1785 0022 2063 str r0, [r4, #48]
677:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1786 .loc 1 677 3 is_stmt 1 view .LVU587
677:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1787 .loc 1 677 14 is_stmt 0 view .LVU588
1788 0024 84F84200 strb r0, [r4, #66]
ARM GAS /tmp/ccNVyn8W.s page 168
680:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1789 .loc 1 680 3 is_stmt 1 view .LVU589
680:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1790 .loc 1 680 3 view .LVU590
1791 0028 84F84000 strb r0, [r4, #64]
680:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1792 .loc 1 680 3 view .LVU591
682:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1793 .loc 1 682 3 view .LVU592
683:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1794 .loc 1 683 1 is_stmt 0 view .LVU593
1795 002c 10BD pop {r4, pc}
1796 .LVL120:
1797 .L150:
1798 .cfi_def_cfa_offset 0
1799 .cfi_restore 4
1800 .cfi_restore 14
650:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
1801 .loc 1 650 12 view .LVU594
1802 002e 0120 movs r0, #1
1803 .LVL121:
683:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1804 .loc 1 683 1 view .LVU595
1805 0030 7047 bx lr
1806 .cfi_endproc
1807 .LFE131:
1809 .section .text.HAL_I2C_Master_Transmit,"ax",%progbits
1810 .align 1
1811 .global HAL_I2C_Master_Transmit
1812 .syntax unified
1813 .thumb
1814 .thumb_func
1816 HAL_I2C_Master_Transmit:
1817 .LVL122:
1818 .LFB134:
1116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tickstart;
1819 .loc 1 1116 1 is_stmt 1 view -0
1820 .cfi_startproc
1821 @ args = 4, pretend = 0, frame = 0
1822 @ frame_needed = 0, uses_anonymous_args = 0
1116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tickstart;
1823 .loc 1 1116 1 is_stmt 0 view .LVU597
1824 0000 2DE9F047 push {r4, r5, r6, r7, r8, r9, r10, lr}
1825 .cfi_def_cfa_offset 32
1826 .cfi_offset 4, -32
1827 .cfi_offset 5, -28
1828 .cfi_offset 6, -24
1829 .cfi_offset 7, -20
1830 .cfi_offset 8, -16
1831 .cfi_offset 9, -12
1832 .cfi_offset 10, -8
1833 .cfi_offset 14, -4
1834 0004 82B0 sub sp, sp, #8
1835 .cfi_def_cfa_offset 40
1836 0006 0F46 mov r7, r1
1837 0008 0A9E ldr r6, [sp, #40]
1117:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
ARM GAS /tmp/ccNVyn8W.s page 169
1838 .loc 1 1117 3 is_stmt 1 view .LVU598
1119:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1839 .loc 1 1119 3 view .LVU599
1119:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1840 .loc 1 1119 11 is_stmt 0 view .LVU600
1841 000a 90F84110 ldrb r1, [r0, #65] @ zero_extendqisi2
1842 .LVL123:
1119:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1843 .loc 1 1119 11 view .LVU601
1844 000e C9B2 uxtb r1, r1
1119:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1845 .loc 1 1119 6 view .LVU602
1846 0010 2029 cmp r1, #32
1847 0012 40F0A380 bne .L163
1848 0016 0446 mov r4, r0
1849 0018 9046 mov r8, r2
1850 001a 9946 mov r9, r3
1122:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1851 .loc 1 1122 5 is_stmt 1 view .LVU603
1122:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1852 .loc 1 1122 5 view .LVU604
1853 001c 90F84030 ldrb r3, [r0, #64] @ zero_extendqisi2
1854 .LVL124:
1122:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1855 .loc 1 1122 5 is_stmt 0 view .LVU605
1856 0020 012B cmp r3, #1
1857 0022 00F09F80 beq .L164
1122:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1858 .loc 1 1122 5 is_stmt 1 discriminator 2 view .LVU606
1859 0026 4FF0010A mov r10, #1
1860 002a 80F840A0 strb r10, [r0, #64]
1122:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1861 .loc 1 1122 5 discriminator 2 view .LVU607
1125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1862 .loc 1 1125 5 view .LVU608
1125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1863 .loc 1 1125 17 is_stmt 0 view .LVU609
1864 002e FFF7FEFF bl HAL_GetTick
1865 .LVL125:
1125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1866 .loc 1 1125 17 view .LVU610
1867 0032 0546 mov r5, r0
1868 .LVL126:
1127:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1869 .loc 1 1127 5 is_stmt 1 view .LVU611
1127:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1870 .loc 1 1127 9 is_stmt 0 view .LVU612
1871 0034 0090 str r0, [sp]
1872 0036 1923 movs r3, #25
1873 0038 5246 mov r2, r10
1874 003a 4FF40041 mov r1, #32768
1875 003e 2046 mov r0, r4
1876 .LVL127:
1127:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1877 .loc 1 1127 9 view .LVU613
1878 0040 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
1879 .LVL128:
ARM GAS /tmp/ccNVyn8W.s page 170
1127:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1880 .loc 1 1127 8 discriminator 1 view .LVU614
1881 0044 0028 cmp r0, #0
1882 0046 40F08F80 bne .L165
1132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
1883 .loc 1 1132 5 is_stmt 1 view .LVU615
1132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
1884 .loc 1 1132 21 is_stmt 0 view .LVU616
1885 004a 2123 movs r3, #33
1886 004c 84F84130 strb r3, [r4, #65]
1133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
1887 .loc 1 1133 5 is_stmt 1 view .LVU617
1133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
1888 .loc 1 1133 21 is_stmt 0 view .LVU618
1889 0050 1023 movs r3, #16
1890 0052 84F84230 strb r3, [r4, #66]
1134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1891 .loc 1 1134 5 is_stmt 1 view .LVU619
1134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1892 .loc 1 1134 21 is_stmt 0 view .LVU620
1893 0056 0023 movs r3, #0
1894 0058 6364 str r3, [r4, #68]
1137:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
1895 .loc 1 1137 5 is_stmt 1 view .LVU621
1137:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
1896 .loc 1 1137 21 is_stmt 0 view .LVU622
1897 005a C4F82480 str r8, [r4, #36]
1138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL;
1898 .loc 1 1138 5 is_stmt 1 view .LVU623
1138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL;
1899 .loc 1 1138 21 is_stmt 0 view .LVU624
1900 005e A4F82A90 strh r9, [r4, #42] @ movhi
1139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1901 .loc 1 1139 5 is_stmt 1 view .LVU625
1139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1902 .loc 1 1139 21 is_stmt 0 view .LVU626
1903 0062 6363 str r3, [r4, #52]
1143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1904 .loc 1 1143 5 is_stmt 1 view .LVU627
1143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1905 .loc 1 1143 13 is_stmt 0 view .LVU628
1906 0064 638D ldrh r3, [r4, #42]
1907 0066 9BB2 uxth r3, r3
1143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1908 .loc 1 1143 8 view .LVU629
1909 0068 FF2B cmp r3, #255
1910 006a 0AD9 bls .L157
1145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE,
1911 .loc 1 1145 7 is_stmt 1 view .LVU630
1145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE,
1912 .loc 1 1145 22 is_stmt 0 view .LVU631
1913 006c FF22 movs r2, #255
1914 006e 2285 strh r2, [r4, #40] @ movhi
1146:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_GENERATE_START_WRITE);
1915 .loc 1 1146 7 is_stmt 1 view .LVU632
1916 0070 414B ldr r3, .L171
1917 0072 0093 str r3, [sp]
ARM GAS /tmp/ccNVyn8W.s page 171
1918 0074 4FF08073 mov r3, #16777216
1919 0078 3946 mov r1, r7
1920 007a 2046 mov r0, r4
1921 007c FFF7FEFF bl I2C_TransferConfig
1922 .LVL129:
1923 0080 18E0 b .L159
1924 .L157:
1151:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
1925 .loc 1 1151 7 view .LVU633
1151:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
1926 .loc 1 1151 28 is_stmt 0 view .LVU634
1927 0082 628D ldrh r2, [r4, #42]
1928 0084 92B2 uxth r2, r2
1151:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
1929 .loc 1 1151 22 view .LVU635
1930 0086 2285 strh r2, [r4, #40] @ movhi
1152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_GENERATE_START_WRITE);
1931 .loc 1 1152 7 is_stmt 1 view .LVU636
1932 0088 3B4B ldr r3, .L171
1933 008a 0093 str r3, [sp]
1934 008c 4FF00073 mov r3, #33554432
1935 0090 D2B2 uxtb r2, r2
1936 0092 3946 mov r1, r7
1937 0094 2046 mov r0, r4
1938 0096 FFF7FEFF bl I2C_TransferConfig
1939 .LVL130:
1940 009a 0BE0 b .L159
1941 .L161:
1188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
1942 .loc 1 1188 11 view .LVU637
1188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
1943 .loc 1 1188 32 is_stmt 0 view .LVU638
1944 009c 628D ldrh r2, [r4, #42]
1945 009e 92B2 uxth r2, r2
1188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
1946 .loc 1 1188 26 view .LVU639
1947 00a0 2285 strh r2, [r4, #40] @ movhi
1189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_NO_STARTSTOP);
1948 .loc 1 1189 11 is_stmt 1 view .LVU640
1949 00a2 0023 movs r3, #0
1950 00a4 0093 str r3, [sp]
1951 00a6 4FF00073 mov r3, #33554432
1952 00aa D2B2 uxtb r2, r2
1953 00ac 3946 mov r1, r7
1954 00ae 2046 mov r0, r4
1955 00b0 FFF7FEFF bl I2C_TransferConfig
1956 .LVL131:
1957 .L159:
1156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1958 .loc 1 1156 28 view .LVU641
1156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1959 .loc 1 1156 16 is_stmt 0 view .LVU642
1960 00b4 638D ldrh r3, [r4, #42]
1961 00b6 9BB2 uxth r3, r3
1156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1962 .loc 1 1156 28 view .LVU643
1963 00b8 002B cmp r3, #0
ARM GAS /tmp/ccNVyn8W.s page 172
1964 00ba 33D0 beq .L170
1159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1965 .loc 1 1159 7 is_stmt 1 view .LVU644
1159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1966 .loc 1 1159 11 is_stmt 0 view .LVU645
1967 00bc 2A46 mov r2, r5
1968 00be 3146 mov r1, r6
1969 00c0 2046 mov r0, r4
1970 00c2 FFF7FEFF bl I2C_WaitOnTXISFlagUntilTimeout
1971 .LVL132:
1159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
1972 .loc 1 1159 10 discriminator 1 view .LVU646
1973 00c6 0028 cmp r0, #0
1974 00c8 50D1 bne .L166
1164:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1975 .loc 1 1164 7 is_stmt 1 view .LVU647
1164:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1976 .loc 1 1164 35 is_stmt 0 view .LVU648
1977 00ca 626A ldr r2, [r4, #36]
1164:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1978 .loc 1 1164 11 view .LVU649
1979 00cc 2368 ldr r3, [r4]
1164:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1980 .loc 1 1164 30 view .LVU650
1981 00ce 1278 ldrb r2, [r2] @ zero_extendqisi2
1164:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1982 .loc 1 1164 28 view .LVU651
1983 00d0 9A62 str r2, [r3, #40]
1167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1984 .loc 1 1167 7 is_stmt 1 view .LVU652
1167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1985 .loc 1 1167 11 is_stmt 0 view .LVU653
1986 00d2 636A ldr r3, [r4, #36]
1167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1987 .loc 1 1167 21 view .LVU654
1988 00d4 0133 adds r3, r3, #1
1989 00d6 6362 str r3, [r4, #36]
1169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--;
1990 .loc 1 1169 7 is_stmt 1 view .LVU655
1169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--;
1991 .loc 1 1169 11 is_stmt 0 view .LVU656
1992 00d8 638D ldrh r3, [r4, #42]
1993 00da 9BB2 uxth r3, r3
1169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--;
1994 .loc 1 1169 22 view .LVU657
1995 00dc 013B subs r3, r3, #1
1996 00de 9BB2 uxth r3, r3
1997 00e0 6385 strh r3, [r4, #42] @ movhi
1170:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1998 .loc 1 1170 7 is_stmt 1 view .LVU658
1170:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
1999 .loc 1 1170 11 is_stmt 0 view .LVU659
2000 00e2 238D ldrh r3, [r4, #40]
1170:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2001 .loc 1 1170 21 view .LVU660
2002 00e4 013B subs r3, r3, #1
2003 00e6 9BB2 uxth r3, r3
ARM GAS /tmp/ccNVyn8W.s page 173
2004 00e8 2385 strh r3, [r4, #40] @ movhi
1172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2005 .loc 1 1172 7 is_stmt 1 view .LVU661
1172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2006 .loc 1 1172 16 is_stmt 0 view .LVU662
2007 00ea 628D ldrh r2, [r4, #42]
2008 00ec 92B2 uxth r2, r2
1172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2009 .loc 1 1172 10 view .LVU663
2010 00ee 002A cmp r2, #0
2011 00f0 E0D0 beq .L159
1172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2012 .loc 1 1172 35 discriminator 1 view .LVU664
2013 00f2 002B cmp r3, #0
2014 00f4 DED1 bne .L159
1175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2015 .loc 1 1175 9 is_stmt 1 view .LVU665
1175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2016 .loc 1 1175 13 is_stmt 0 view .LVU666
2017 00f6 0095 str r5, [sp]
2018 00f8 3346 mov r3, r6
2019 00fa 0022 movs r2, #0
2020 00fc 8021 movs r1, #128
2021 00fe 2046 mov r0, r4
2022 0100 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
2023 .LVL133:
1175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2024 .loc 1 1175 12 discriminator 1 view .LVU667
2025 0104 A0BB cbnz r0, .L167
1180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2026 .loc 1 1180 9 is_stmt 1 view .LVU668
1180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2027 .loc 1 1180 17 is_stmt 0 view .LVU669
2028 0106 638D ldrh r3, [r4, #42]
2029 0108 9BB2 uxth r3, r3
1180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2030 .loc 1 1180 12 view .LVU670
2031 010a FF2B cmp r3, #255
2032 010c C6D9 bls .L161
1182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE,
2033 .loc 1 1182 11 is_stmt 1 view .LVU671
1182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE,
2034 .loc 1 1182 26 is_stmt 0 view .LVU672
2035 010e FF22 movs r2, #255
2036 0110 2285 strh r2, [r4, #40] @ movhi
1183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_NO_STARTSTOP);
2037 .loc 1 1183 11 is_stmt 1 view .LVU673
2038 0112 0023 movs r3, #0
2039 0114 0093 str r3, [sp]
2040 0116 4FF08073 mov r3, #16777216
2041 011a 3946 mov r1, r7
2042 011c 2046 mov r0, r4
2043 011e FFF7FEFF bl I2C_TransferConfig
2044 .LVL134:
2045 0122 C7E7 b .L159
2046 .L170:
1197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
ARM GAS /tmp/ccNVyn8W.s page 174
2047 .loc 1 1197 5 view .LVU674
1197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2048 .loc 1 1197 9 is_stmt 0 view .LVU675
2049 0124 2A46 mov r2, r5
2050 0126 3146 mov r1, r6
2051 0128 2046 mov r0, r4
2052 012a FFF7FEFF bl I2C_WaitOnSTOPFlagUntilTimeout
2053 .LVL135:
1197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2054 .loc 1 1197 8 discriminator 1 view .LVU676
2055 012e 08BB cbnz r0, .L168
1203:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2056 .loc 1 1203 5 is_stmt 1 view .LVU677
2057 0130 2368 ldr r3, [r4]
2058 0132 2022 movs r2, #32
2059 0134 DA61 str r2, [r3, #28]
1206:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2060 .loc 1 1206 5 view .LVU678
2061 0136 2168 ldr r1, [r4]
2062 0138 4B68 ldr r3, [r1, #4]
2063 013a 23F0FF73 bic r3, r3, #33423360
2064 013e 23F48B33 bic r3, r3, #71168
2065 0142 23F4FF73 bic r3, r3, #510
2066 0146 23F00103 bic r3, r3, #1
2067 014a 4B60 str r3, [r1, #4]
1208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
2068 .loc 1 1208 5 view .LVU679
1208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
2069 .loc 1 1208 17 is_stmt 0 view .LVU680
2070 014c 84F84120 strb r2, [r4, #65]
1209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2071 .loc 1 1209 5 is_stmt 1 view .LVU681
1209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2072 .loc 1 1209 17 is_stmt 0 view .LVU682
2073 0150 0023 movs r3, #0
2074 0152 84F84230 strb r3, [r4, #66]
1212:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2075 .loc 1 1212 5 is_stmt 1 view .LVU683
1212:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2076 .loc 1 1212 5 view .LVU684
2077 0156 84F84030 strb r3, [r4, #64]
1212:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2078 .loc 1 1212 5 view .LVU685
1214:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2079 .loc 1 1214 5 view .LVU686
1214:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2080 .loc 1 1214 12 is_stmt 0 view .LVU687
2081 015a 00E0 b .L156
2082 .LVL136:
2083 .L163:
1218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2084 .loc 1 1218 12 view .LVU688
2085 015c 0220 movs r0, #2
2086 .LVL137:
2087 .L156:
1220:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2088 .loc 1 1220 1 view .LVU689
ARM GAS /tmp/ccNVyn8W.s page 175
2089 015e 02B0 add sp, sp, #8
2090 .cfi_remember_state
2091 .cfi_def_cfa_offset 32
2092 @ sp needed
2093 0160 BDE8F087 pop {r4, r5, r6, r7, r8, r9, r10, pc}
2094 .LVL138:
2095 .L164:
2096 .cfi_restore_state
1122:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2097 .loc 1 1122 5 discriminator 1 view .LVU690
2098 0164 0220 movs r0, #2
2099 .LVL139:
1122:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2100 .loc 1 1122 5 discriminator 1 view .LVU691
2101 0166 FAE7 b .L156
2102 .LVL140:
2103 .L165:
1129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2104 .loc 1 1129 14 view .LVU692
2105 0168 0120 movs r0, #1
2106 016a F8E7 b .L156
2107 .L166:
1161:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2108 .loc 1 1161 16 view .LVU693
2109 016c 0120 movs r0, #1
2110 016e F6E7 b .L156
2111 .L167:
1177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2112 .loc 1 1177 18 view .LVU694
2113 0170 0120 movs r0, #1
2114 0172 F4E7 b .L156
2115 .L168:
1199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2116 .loc 1 1199 14 view .LVU695
2117 0174 0120 movs r0, #1
2118 0176 F2E7 b .L156
2119 .L172:
2120 .align 2
2121 .L171:
2122 0178 00200080 .word -2147475456
2123 .cfi_endproc
2124 .LFE134:
2126 .section .text.HAL_I2C_Master_Receive,"ax",%progbits
2127 .align 1
2128 .global HAL_I2C_Master_Receive
2129 .syntax unified
2130 .thumb
2131 .thumb_func
2133 HAL_I2C_Master_Receive:
2134 .LVL141:
2135 .LFB135:
1235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tickstart;
2136 .loc 1 1235 1 is_stmt 1 view -0
2137 .cfi_startproc
2138 @ args = 4, pretend = 0, frame = 0
2139 @ frame_needed = 0, uses_anonymous_args = 0
1235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tickstart;
ARM GAS /tmp/ccNVyn8W.s page 176
2140 .loc 1 1235 1 is_stmt 0 view .LVU697
2141 0000 2DE9F047 push {r4, r5, r6, r7, r8, r9, r10, lr}
2142 .cfi_def_cfa_offset 32
2143 .cfi_offset 4, -32
2144 .cfi_offset 5, -28
2145 .cfi_offset 6, -24
2146 .cfi_offset 7, -20
2147 .cfi_offset 8, -16
2148 .cfi_offset 9, -12
2149 .cfi_offset 10, -8
2150 .cfi_offset 14, -4
2151 0004 82B0 sub sp, sp, #8
2152 .cfi_def_cfa_offset 40
2153 0006 0F46 mov r7, r1
2154 0008 0A9E ldr r6, [sp, #40]
1236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2155 .loc 1 1236 3 is_stmt 1 view .LVU698
1238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2156 .loc 1 1238 3 view .LVU699
1238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2157 .loc 1 1238 11 is_stmt 0 view .LVU700
2158 000a 90F84110 ldrb r1, [r0, #65] @ zero_extendqisi2
2159 .LVL142:
1238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2160 .loc 1 1238 11 view .LVU701
2161 000e C9B2 uxtb r1, r1
1238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2162 .loc 1 1238 6 view .LVU702
2163 0010 2029 cmp r1, #32
2164 0012 40F0A280 bne .L181
2165 0016 0446 mov r4, r0
2166 0018 9046 mov r8, r2
2167 001a 9946 mov r9, r3
1241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2168 .loc 1 1241 5 is_stmt 1 view .LVU703
1241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2169 .loc 1 1241 5 view .LVU704
2170 001c 90F84030 ldrb r3, [r0, #64] @ zero_extendqisi2
2171 .LVL143:
1241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2172 .loc 1 1241 5 is_stmt 0 view .LVU705
2173 0020 012B cmp r3, #1
2174 0022 00F09E80 beq .L182
1241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2175 .loc 1 1241 5 is_stmt 1 discriminator 2 view .LVU706
2176 0026 4FF0010A mov r10, #1
2177 002a 80F840A0 strb r10, [r0, #64]
1241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2178 .loc 1 1241 5 discriminator 2 view .LVU707
1244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2179 .loc 1 1244 5 view .LVU708
1244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2180 .loc 1 1244 17 is_stmt 0 view .LVU709
2181 002e FFF7FEFF bl HAL_GetTick
2182 .LVL144:
1244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2183 .loc 1 1244 17 view .LVU710
ARM GAS /tmp/ccNVyn8W.s page 177
2184 0032 0546 mov r5, r0
2185 .LVL145:
1246:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2186 .loc 1 1246 5 is_stmt 1 view .LVU711
1246:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2187 .loc 1 1246 9 is_stmt 0 view .LVU712
2188 0034 0090 str r0, [sp]
2189 0036 1923 movs r3, #25
2190 0038 5246 mov r2, r10
2191 003a 4FF40041 mov r1, #32768
2192 003e 2046 mov r0, r4
2193 .LVL146:
1246:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2194 .loc 1 1246 9 view .LVU713
2195 0040 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
2196 .LVL147:
1246:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2197 .loc 1 1246 8 discriminator 1 view .LVU714
2198 0044 0028 cmp r0, #0
2199 0046 40F08E80 bne .L183
1251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
2200 .loc 1 1251 5 is_stmt 1 view .LVU715
1251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
2201 .loc 1 1251 21 is_stmt 0 view .LVU716
2202 004a 2223 movs r3, #34
2203 004c 84F84130 strb r3, [r4, #65]
1252:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
2204 .loc 1 1252 5 is_stmt 1 view .LVU717
1252:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
2205 .loc 1 1252 21 is_stmt 0 view .LVU718
2206 0050 1023 movs r3, #16
2207 0052 84F84230 strb r3, [r4, #66]
1253:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2208 .loc 1 1253 5 is_stmt 1 view .LVU719
1253:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2209 .loc 1 1253 21 is_stmt 0 view .LVU720
2210 0056 0023 movs r3, #0
2211 0058 6364 str r3, [r4, #68]
1256:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
2212 .loc 1 1256 5 is_stmt 1 view .LVU721
1256:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
2213 .loc 1 1256 21 is_stmt 0 view .LVU722
2214 005a C4F82480 str r8, [r4, #36]
1257:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL;
2215 .loc 1 1257 5 is_stmt 1 view .LVU723
1257:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL;
2216 .loc 1 1257 21 is_stmt 0 view .LVU724
2217 005e A4F82A90 strh r9, [r4, #42] @ movhi
1258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2218 .loc 1 1258 5 is_stmt 1 view .LVU725
1258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2219 .loc 1 1258 21 is_stmt 0 view .LVU726
2220 0062 6363 str r3, [r4, #52]
1262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2221 .loc 1 1262 5 is_stmt 1 view .LVU727
1262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2222 .loc 1 1262 13 is_stmt 0 view .LVU728
ARM GAS /tmp/ccNVyn8W.s page 178
2223 0064 638D ldrh r3, [r4, #42]
2224 0066 9BB2 uxth r3, r3
1262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2225 .loc 1 1262 8 view .LVU729
2226 0068 FF2B cmp r3, #255
2227 006a 0AD9 bls .L175
1264:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE,
2228 .loc 1 1264 7 is_stmt 1 view .LVU730
1264:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE,
2229 .loc 1 1264 22 is_stmt 0 view .LVU731
2230 006c FF22 movs r2, #255
2231 006e 2285 strh r2, [r4, #40] @ movhi
1265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_GENERATE_START_READ);
2232 .loc 1 1265 7 is_stmt 1 view .LVU732
2233 0070 414B ldr r3, .L189
2234 0072 0093 str r3, [sp]
2235 0074 4FF08073 mov r3, #16777216
2236 0078 3946 mov r1, r7
2237 007a 2046 mov r0, r4
2238 007c FFF7FEFF bl I2C_TransferConfig
2239 .LVL148:
2240 0080 18E0 b .L177
2241 .L175:
1270:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
2242 .loc 1 1270 7 view .LVU733
1270:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
2243 .loc 1 1270 28 is_stmt 0 view .LVU734
2244 0082 628D ldrh r2, [r4, #42]
2245 0084 92B2 uxth r2, r2
1270:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
2246 .loc 1 1270 22 view .LVU735
2247 0086 2285 strh r2, [r4, #40] @ movhi
1271:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_GENERATE_START_READ);
2248 .loc 1 1271 7 is_stmt 1 view .LVU736
2249 0088 3B4B ldr r3, .L189
2250 008a 0093 str r3, [sp]
2251 008c 4FF00073 mov r3, #33554432
2252 0090 D2B2 uxtb r2, r2
2253 0092 3946 mov r1, r7
2254 0094 2046 mov r0, r4
2255 0096 FFF7FEFF bl I2C_TransferConfig
2256 .LVL149:
2257 009a 0BE0 b .L177
2258 .L179:
1308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
2259 .loc 1 1308 11 view .LVU737
1308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
2260 .loc 1 1308 32 is_stmt 0 view .LVU738
2261 009c 628D ldrh r2, [r4, #42]
2262 009e 92B2 uxth r2, r2
1308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
2263 .loc 1 1308 26 view .LVU739
2264 00a0 2285 strh r2, [r4, #40] @ movhi
1309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_NO_STARTSTOP);
2265 .loc 1 1309 11 is_stmt 1 view .LVU740
2266 00a2 0023 movs r3, #0
2267 00a4 0093 str r3, [sp]
ARM GAS /tmp/ccNVyn8W.s page 179
2268 00a6 4FF00073 mov r3, #33554432
2269 00aa D2B2 uxtb r2, r2
2270 00ac 3946 mov r1, r7
2271 00ae 2046 mov r0, r4
2272 00b0 FFF7FEFF bl I2C_TransferConfig
2273 .LVL150:
2274 .L177:
1275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2275 .loc 1 1275 28 view .LVU741
1275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2276 .loc 1 1275 16 is_stmt 0 view .LVU742
2277 00b4 638D ldrh r3, [r4, #42]
2278 00b6 9BB2 uxth r3, r3
1275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2279 .loc 1 1275 28 view .LVU743
2280 00b8 002B cmp r3, #0
2281 00ba 32D0 beq .L188
1278:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2282 .loc 1 1278 7 is_stmt 1 view .LVU744
1278:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2283 .loc 1 1278 11 is_stmt 0 view .LVU745
2284 00bc 2A46 mov r2, r5
2285 00be 3146 mov r1, r6
2286 00c0 2046 mov r0, r4
2287 00c2 FFF7FEFF bl I2C_WaitOnRXNEFlagUntilTimeout
2288 .LVL151:
1278:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2289 .loc 1 1278 10 discriminator 1 view .LVU746
2290 00c6 0028 cmp r0, #0
2291 00c8 4FD1 bne .L184
1284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2292 .loc 1 1284 7 is_stmt 1 view .LVU747
1284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2293 .loc 1 1284 38 is_stmt 0 view .LVU748
2294 00ca 2368 ldr r3, [r4]
1284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2295 .loc 1 1284 48 view .LVU749
2296 00cc 5A6A ldr r2, [r3, #36]
1284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2297 .loc 1 1284 12 view .LVU750
2298 00ce 636A ldr r3, [r4, #36]
1284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2299 .loc 1 1284 23 view .LVU751
2300 00d0 1A70 strb r2, [r3]
1287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2301 .loc 1 1287 7 is_stmt 1 view .LVU752
1287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2302 .loc 1 1287 11 is_stmt 0 view .LVU753
2303 00d2 636A ldr r3, [r4, #36]
1287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2304 .loc 1 1287 21 view .LVU754
2305 00d4 0133 adds r3, r3, #1
2306 00d6 6362 str r3, [r4, #36]
1289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--;
2307 .loc 1 1289 7 is_stmt 1 view .LVU755
1289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--;
2308 .loc 1 1289 11 is_stmt 0 view .LVU756
ARM GAS /tmp/ccNVyn8W.s page 180
2309 00d8 228D ldrh r2, [r4, #40]
1289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--;
2310 .loc 1 1289 21 view .LVU757
2311 00da 013A subs r2, r2, #1
2312 00dc 92B2 uxth r2, r2
2313 00de 2285 strh r2, [r4, #40] @ movhi
1290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2314 .loc 1 1290 7 is_stmt 1 view .LVU758
1290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2315 .loc 1 1290 11 is_stmt 0 view .LVU759
2316 00e0 638D ldrh r3, [r4, #42]
2317 00e2 9BB2 uxth r3, r3
1290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2318 .loc 1 1290 22 view .LVU760
2319 00e4 013B subs r3, r3, #1
2320 00e6 9BB2 uxth r3, r3
2321 00e8 6385 strh r3, [r4, #42] @ movhi
1292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2322 .loc 1 1292 7 is_stmt 1 view .LVU761
1292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2323 .loc 1 1292 16 is_stmt 0 view .LVU762
2324 00ea 638D ldrh r3, [r4, #42]
2325 00ec 9BB2 uxth r3, r3
1292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2326 .loc 1 1292 10 view .LVU763
2327 00ee 002B cmp r3, #0
2328 00f0 E0D0 beq .L177
1292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2329 .loc 1 1292 35 discriminator 1 view .LVU764
2330 00f2 002A cmp r2, #0
2331 00f4 DED1 bne .L177
1295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2332 .loc 1 1295 9 is_stmt 1 view .LVU765
1295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2333 .loc 1 1295 13 is_stmt 0 view .LVU766
2334 00f6 0095 str r5, [sp]
2335 00f8 3346 mov r3, r6
2336 00fa 8021 movs r1, #128
2337 00fc 2046 mov r0, r4
2338 00fe FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
2339 .LVL152:
1295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2340 .loc 1 1295 12 discriminator 1 view .LVU767
2341 0102 A0BB cbnz r0, .L185
1300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2342 .loc 1 1300 9 is_stmt 1 view .LVU768
1300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2343 .loc 1 1300 17 is_stmt 0 view .LVU769
2344 0104 638D ldrh r3, [r4, #42]
2345 0106 9BB2 uxth r3, r3
1300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2346 .loc 1 1300 12 view .LVU770
2347 0108 FF2B cmp r3, #255
2348 010a C7D9 bls .L179
1302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE,
2349 .loc 1 1302 11 is_stmt 1 view .LVU771
1302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE,
ARM GAS /tmp/ccNVyn8W.s page 181
2350 .loc 1 1302 26 is_stmt 0 view .LVU772
2351 010c FF22 movs r2, #255
2352 010e 2285 strh r2, [r4, #40] @ movhi
1303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_NO_STARTSTOP);
2353 .loc 1 1303 11 is_stmt 1 view .LVU773
2354 0110 0023 movs r3, #0
2355 0112 0093 str r3, [sp]
2356 0114 4FF08073 mov r3, #16777216
2357 0118 3946 mov r1, r7
2358 011a 2046 mov r0, r4
2359 011c FFF7FEFF bl I2C_TransferConfig
2360 .LVL153:
2361 0120 C8E7 b .L177
2362 .L188:
1317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2363 .loc 1 1317 5 view .LVU774
1317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2364 .loc 1 1317 9 is_stmt 0 view .LVU775
2365 0122 2A46 mov r2, r5
2366 0124 3146 mov r1, r6
2367 0126 2046 mov r0, r4
2368 0128 FFF7FEFF bl I2C_WaitOnSTOPFlagUntilTimeout
2369 .LVL154:
1317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2370 .loc 1 1317 8 discriminator 1 view .LVU776
2371 012c 08BB cbnz r0, .L186
1323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2372 .loc 1 1323 5 is_stmt 1 view .LVU777
2373 012e 2368 ldr r3, [r4]
2374 0130 2022 movs r2, #32
2375 0132 DA61 str r2, [r3, #28]
1326:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2376 .loc 1 1326 5 view .LVU778
2377 0134 2168 ldr r1, [r4]
2378 0136 4B68 ldr r3, [r1, #4]
2379 0138 23F0FF73 bic r3, r3, #33423360
2380 013c 23F48B33 bic r3, r3, #71168
2381 0140 23F4FF73 bic r3, r3, #510
2382 0144 23F00103 bic r3, r3, #1
2383 0148 4B60 str r3, [r1, #4]
1328:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
2384 .loc 1 1328 5 view .LVU779
1328:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
2385 .loc 1 1328 17 is_stmt 0 view .LVU780
2386 014a 84F84120 strb r2, [r4, #65]
1329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2387 .loc 1 1329 5 is_stmt 1 view .LVU781
1329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2388 .loc 1 1329 17 is_stmt 0 view .LVU782
2389 014e 0023 movs r3, #0
2390 0150 84F84230 strb r3, [r4, #66]
1332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2391 .loc 1 1332 5 is_stmt 1 view .LVU783
1332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2392 .loc 1 1332 5 view .LVU784
2393 0154 84F84030 strb r3, [r4, #64]
1332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
ARM GAS /tmp/ccNVyn8W.s page 182
2394 .loc 1 1332 5 view .LVU785
1334:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2395 .loc 1 1334 5 view .LVU786
1334:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2396 .loc 1 1334 12 is_stmt 0 view .LVU787
2397 0158 00E0 b .L174
2398 .LVL155:
2399 .L181:
1338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2400 .loc 1 1338 12 view .LVU788
2401 015a 0220 movs r0, #2
2402 .LVL156:
2403 .L174:
1340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2404 .loc 1 1340 1 view .LVU789
2405 015c 02B0 add sp, sp, #8
2406 .cfi_remember_state
2407 .cfi_def_cfa_offset 32
2408 @ sp needed
2409 015e BDE8F087 pop {r4, r5, r6, r7, r8, r9, r10, pc}
2410 .LVL157:
2411 .L182:
2412 .cfi_restore_state
1241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2413 .loc 1 1241 5 discriminator 1 view .LVU790
2414 0162 0220 movs r0, #2
2415 .LVL158:
1241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2416 .loc 1 1241 5 discriminator 1 view .LVU791
2417 0164 FAE7 b .L174
2418 .LVL159:
2419 .L183:
1248:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2420 .loc 1 1248 14 view .LVU792
2421 0166 0120 movs r0, #1
2422 0168 F8E7 b .L174
2423 .L184:
1280:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2424 .loc 1 1280 16 view .LVU793
2425 016a 0120 movs r0, #1
2426 016c F6E7 b .L174
2427 .L185:
1297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2428 .loc 1 1297 18 view .LVU794
2429 016e 0120 movs r0, #1
2430 0170 F4E7 b .L174
2431 .L186:
1319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2432 .loc 1 1319 14 view .LVU795
2433 0172 0120 movs r0, #1
2434 0174 F2E7 b .L174
2435 .L190:
2436 0176 00BF .align 2
2437 .L189:
2438 0178 00240080 .word -2147474432
2439 .cfi_endproc
2440 .LFE135:
ARM GAS /tmp/ccNVyn8W.s page 183
2442 .section .text.HAL_I2C_Slave_Transmit,"ax",%progbits
2443 .align 1
2444 .global HAL_I2C_Slave_Transmit
2445 .syntax unified
2446 .thumb
2447 .thumb_func
2449 HAL_I2C_Slave_Transmit:
2450 .LVL160:
2451 .LFB136:
1353:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tickstart;
2452 .loc 1 1353 1 is_stmt 1 view -0
2453 .cfi_startproc
2454 @ args = 0, pretend = 0, frame = 0
2455 @ frame_needed = 0, uses_anonymous_args = 0
1353:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tickstart;
2456 .loc 1 1353 1 is_stmt 0 view .LVU797
2457 0000 2DE9F041 push {r4, r5, r6, r7, r8, lr}
2458 .cfi_def_cfa_offset 24
2459 .cfi_offset 4, -24
2460 .cfi_offset 5, -20
2461 .cfi_offset 6, -16
2462 .cfi_offset 7, -12
2463 .cfi_offset 8, -8
2464 .cfi_offset 14, -4
2465 0004 82B0 sub sp, sp, #8
2466 .cfi_def_cfa_offset 32
2467 0006 1D46 mov r5, r3
1354:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2468 .loc 1 1354 3 is_stmt 1 view .LVU798
1356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2469 .loc 1 1356 3 view .LVU799
1356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2470 .loc 1 1356 11 is_stmt 0 view .LVU800
2471 0008 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2
2472 .LVL161:
1356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2473 .loc 1 1356 11 view .LVU801
2474 000c DBB2 uxtb r3, r3
1356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2475 .loc 1 1356 6 view .LVU802
2476 000e 202B cmp r3, #32
2477 0010 40F0D980 bne .L205
2478 0014 0446 mov r4, r0
2479 0016 0F46 mov r7, r1
2480 0018 9046 mov r8, r2
1358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2481 .loc 1 1358 5 is_stmt 1 view .LVU803
1358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2482 .loc 1 1358 8 is_stmt 0 view .LVU804
2483 001a 0029 cmp r1, #0
2484 001c 56D0 beq .L193
1358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2485 .loc 1 1358 25 discriminator 1 view .LVU805
2486 001e 002A cmp r2, #0
2487 0020 54D0 beq .L193
1364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2488 .loc 1 1364 5 is_stmt 1 view .LVU806
ARM GAS /tmp/ccNVyn8W.s page 184
1364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2489 .loc 1 1364 5 view .LVU807
2490 0022 90F84030 ldrb r3, [r0, #64] @ zero_extendqisi2
2491 0026 012B cmp r3, #1
2492 0028 00F0D180 beq .L206
1364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2493 .loc 1 1364 5 discriminator 2 view .LVU808
2494 002c 0123 movs r3, #1
2495 002e 80F84030 strb r3, [r0, #64]
1364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2496 .loc 1 1364 5 discriminator 2 view .LVU809
1367:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2497 .loc 1 1367 5 view .LVU810
1367:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2498 .loc 1 1367 17 is_stmt 0 view .LVU811
2499 0032 FFF7FEFF bl HAL_GetTick
2500 .LVL162:
1367:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2501 .loc 1 1367 17 view .LVU812
2502 0036 0646 mov r6, r0
2503 .LVL163:
1369:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
2504 .loc 1 1369 5 is_stmt 1 view .LVU813
1369:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
2505 .loc 1 1369 21 is_stmt 0 view .LVU814
2506 0038 2123 movs r3, #33
2507 003a 84F84130 strb r3, [r4, #65]
1370:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
2508 .loc 1 1370 5 is_stmt 1 view .LVU815
1370:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
2509 .loc 1 1370 21 is_stmt 0 view .LVU816
2510 003e 2023 movs r3, #32
2511 0040 84F84230 strb r3, [r4, #66]
1371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2512 .loc 1 1371 5 is_stmt 1 view .LVU817
1371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2513 .loc 1 1371 21 is_stmt 0 view .LVU818
2514 0044 0022 movs r2, #0
2515 0046 6264 str r2, [r4, #68]
1374:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
2516 .loc 1 1374 5 is_stmt 1 view .LVU819
1374:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
2517 .loc 1 1374 21 is_stmt 0 view .LVU820
2518 0048 6762 str r7, [r4, #36]
1375:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL;
2519 .loc 1 1375 5 is_stmt 1 view .LVU821
1375:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL;
2520 .loc 1 1375 21 is_stmt 0 view .LVU822
2521 004a A4F82A80 strh r8, [r4, #42] @ movhi
1376:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2522 .loc 1 1376 5 is_stmt 1 view .LVU823
1376:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2523 .loc 1 1376 21 is_stmt 0 view .LVU824
2524 004e 6263 str r2, [r4, #52]
1379:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2525 .loc 1 1379 5 is_stmt 1 view .LVU825
1379:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
ARM GAS /tmp/ccNVyn8W.s page 185
2526 .loc 1 1379 9 is_stmt 0 view .LVU826
2527 0050 2168 ldr r1, [r4]
1379:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2528 .loc 1 1379 19 view .LVU827
2529 0052 4B68 ldr r3, [r1, #4]
1379:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2530 .loc 1 1379 25 view .LVU828
2531 0054 23F40043 bic r3, r3, #32768
2532 0058 4B60 str r3, [r1, #4]
1382:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2533 .loc 1 1382 5 is_stmt 1 view .LVU829
1382:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2534 .loc 1 1382 9 is_stmt 0 view .LVU830
2535 005a 0090 str r0, [sp]
2536 005c 2B46 mov r3, r5
2537 005e 0821 movs r1, #8
2538 0060 2046 mov r0, r4
2539 .LVL164:
1382:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2540 .loc 1 1382 9 view .LVU831
2541 0062 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
2542 .LVL165:
1382:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2543 .loc 1 1382 8 discriminator 1 view .LVU832
2544 0066 0028 cmp r0, #0
2545 0068 35D1 bne .L208
1390:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2546 .loc 1 1390 5 is_stmt 1 view .LVU833
1390:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2547 .loc 1 1390 19 is_stmt 0 view .LVU834
2548 006a 236A ldr r3, [r4, #32]
1390:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2549 .loc 1 1390 8 view .LVU835
2550 006c B3F5003F cmp r3, #131072
2551 0070 38D0 beq .L209
2552 .L196:
1403:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2553 .loc 1 1403 5 is_stmt 1 view .LVU836
2554 0072 2368 ldr r3, [r4]
2555 0074 0822 movs r2, #8
2556 0076 DA61 str r2, [r3, #28]
1406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2557 .loc 1 1406 5 view .LVU837
1406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2558 .loc 1 1406 19 is_stmt 0 view .LVU838
2559 0078 E368 ldr r3, [r4, #12]
1406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2560 .loc 1 1406 8 view .LVU839
2561 007a 022B cmp r3, #2
2562 007c 3FD0 beq .L210
2563 .L197:
1421:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2564 .loc 1 1421 5 is_stmt 1 view .LVU840
1421:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2565 .loc 1 1421 9 is_stmt 0 view .LVU841
2566 007e 0096 str r6, [sp]
2567 0080 2B46 mov r3, r5
ARM GAS /tmp/ccNVyn8W.s page 186
2568 0082 0022 movs r2, #0
2569 0084 4FF48031 mov r1, #65536
2570 0088 2046 mov r0, r4
2571 008a FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
2572 .LVL166:
1421:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2573 .loc 1 1421 8 discriminator 1 view .LVU842
2574 008e 0028 cmp r0, #0
2575 0090 48D1 bne .L211
2576 .L199:
1428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2577 .loc 1 1428 28 is_stmt 1 view .LVU843
1428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2578 .loc 1 1428 16 is_stmt 0 view .LVU844
2579 0092 638D ldrh r3, [r4, #42]
2580 0094 9BB2 uxth r3, r3
1428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2581 .loc 1 1428 28 view .LVU845
2582 0096 002B cmp r3, #0
2583 0098 52D0 beq .L212
1431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2584 .loc 1 1431 7 is_stmt 1 view .LVU846
1431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2585 .loc 1 1431 11 is_stmt 0 view .LVU847
2586 009a 3246 mov r2, r6
2587 009c 2946 mov r1, r5
2588 009e 2046 mov r0, r4
2589 00a0 FFF7FEFF bl I2C_WaitOnTXISFlagUntilTimeout
2590 .LVL167:
1431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2591 .loc 1 1431 10 discriminator 1 view .LVU848
2592 00a4 0028 cmp r0, #0
2593 00a6 44D1 bne .L213
1439:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2594 .loc 1 1439 7 is_stmt 1 view .LVU849
1439:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2595 .loc 1 1439 35 is_stmt 0 view .LVU850
2596 00a8 626A ldr r2, [r4, #36]
1439:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2597 .loc 1 1439 11 view .LVU851
2598 00aa 2368 ldr r3, [r4]
1439:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2599 .loc 1 1439 30 view .LVU852
2600 00ac 1278 ldrb r2, [r2] @ zero_extendqisi2
1439:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2601 .loc 1 1439 28 view .LVU853
2602 00ae 9A62 str r2, [r3, #40]
1442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2603 .loc 1 1442 7 is_stmt 1 view .LVU854
1442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2604 .loc 1 1442 11 is_stmt 0 view .LVU855
2605 00b0 636A ldr r3, [r4, #36]
1442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2606 .loc 1 1442 21 view .LVU856
2607 00b2 0133 adds r3, r3, #1
2608 00b4 6362 str r3, [r4, #36]
1444:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
ARM GAS /tmp/ccNVyn8W.s page 187
2609 .loc 1 1444 7 is_stmt 1 view .LVU857
1444:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2610 .loc 1 1444 11 is_stmt 0 view .LVU858
2611 00b6 B4F82AC0 ldrh ip, [r4, #42]
2612 00ba 1FFA8CFC uxth ip, ip
1444:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2613 .loc 1 1444 22 view .LVU859
2614 00be 0CF1FF3C add ip, ip, #-1
2615 00c2 1FFA8CFC uxth ip, ip
2616 00c6 A4F82AC0 strh ip, [r4, #42] @ movhi
2617 00ca E2E7 b .L199
2618 .LVL168:
2619 .L193:
1360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
2620 .loc 1 1360 7 is_stmt 1 view .LVU860
1360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
2621 .loc 1 1360 23 is_stmt 0 view .LVU861
2622 00cc 4FF40073 mov r3, #512
2623 00d0 6364 str r3, [r4, #68]
1361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2624 .loc 1 1361 7 is_stmt 1 view .LVU862
1361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2625 .loc 1 1361 15 is_stmt 0 view .LVU863
2626 00d2 0120 movs r0, #1
2627 .LVL169:
1361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2628 .loc 1 1361 15 view .LVU864
2629 00d4 78E0 b .L192
2630 .LVL170:
2631 .L208:
1385:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
2632 .loc 1 1385 7 is_stmt 1 view .LVU865
1385:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
2633 .loc 1 1385 11 is_stmt 0 view .LVU866
2634 00d6 2268 ldr r2, [r4]
1385:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
2635 .loc 1 1385 21 view .LVU867
2636 00d8 5368 ldr r3, [r2, #4]
1385:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
2637 .loc 1 1385 27 view .LVU868
2638 00da 43F40043 orr r3, r3, #32768
2639 00de 5360 str r3, [r2, #4]
1386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2640 .loc 1 1386 7 is_stmt 1 view .LVU869
1386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2641 .loc 1 1386 14 is_stmt 0 view .LVU870
2642 00e0 0120 movs r0, #1
2643 00e2 71E0 b .L192
2644 .L209:
1394:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2645 .loc 1 1394 7 is_stmt 1 view .LVU871
1394:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2646 .loc 1 1394 35 is_stmt 0 view .LVU872
2647 00e4 626A ldr r2, [r4, #36]
1394:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2648 .loc 1 1394 11 view .LVU873
2649 00e6 2368 ldr r3, [r4]
ARM GAS /tmp/ccNVyn8W.s page 188
1394:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2650 .loc 1 1394 30 view .LVU874
2651 00e8 1278 ldrb r2, [r2] @ zero_extendqisi2
1394:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2652 .loc 1 1394 28 view .LVU875
2653 00ea 9A62 str r2, [r3, #40]
1397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2654 .loc 1 1397 7 is_stmt 1 view .LVU876
1397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2655 .loc 1 1397 11 is_stmt 0 view .LVU877
2656 00ec 636A ldr r3, [r4, #36]
1397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2657 .loc 1 1397 21 view .LVU878
2658 00ee 0133 adds r3, r3, #1
2659 00f0 6362 str r3, [r4, #36]
1399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2660 .loc 1 1399 7 is_stmt 1 view .LVU879
1399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2661 .loc 1 1399 11 is_stmt 0 view .LVU880
2662 00f2 638D ldrh r3, [r4, #42]
2663 00f4 9BB2 uxth r3, r3
1399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2664 .loc 1 1399 22 view .LVU881
2665 00f6 013B subs r3, r3, #1
2666 00f8 9BB2 uxth r3, r3
2667 00fa 6385 strh r3, [r4, #42] @ movhi
2668 00fc B9E7 b .L196
2669 .L210:
1409:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2670 .loc 1 1409 7 is_stmt 1 view .LVU882
1409:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2671 .loc 1 1409 11 is_stmt 0 view .LVU883
2672 00fe 0096 str r6, [sp]
2673 0100 2B46 mov r3, r5
2674 0102 0022 movs r2, #0
2675 0104 0821 movs r1, #8
2676 0106 2046 mov r0, r4
2677 0108 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
2678 .LVL171:
1409:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2679 .loc 1 1409 10 discriminator 1 view .LVU884
2680 010c 18B9 cbnz r0, .L214
1417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2681 .loc 1 1417 7 is_stmt 1 view .LVU885
2682 010e 2368 ldr r3, [r4]
2683 0110 0822 movs r2, #8
2684 0112 DA61 str r2, [r3, #28]
2685 0114 B3E7 b .L197
2686 .L214:
1412:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
2687 .loc 1 1412 9 view .LVU886
1412:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
2688 .loc 1 1412 13 is_stmt 0 view .LVU887
2689 0116 2268 ldr r2, [r4]
1412:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
2690 .loc 1 1412 23 view .LVU888
2691 0118 5368 ldr r3, [r2, #4]
ARM GAS /tmp/ccNVyn8W.s page 189
1412:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
2692 .loc 1 1412 29 view .LVU889
2693 011a 43F40043 orr r3, r3, #32768
2694 011e 5360 str r3, [r2, #4]
1413:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2695 .loc 1 1413 9 is_stmt 1 view .LVU890
1413:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2696 .loc 1 1413 16 is_stmt 0 view .LVU891
2697 0120 0120 movs r0, #1
2698 0122 51E0 b .L192
2699 .L211:
1424:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
2700 .loc 1 1424 7 is_stmt 1 view .LVU892
1424:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
2701 .loc 1 1424 11 is_stmt 0 view .LVU893
2702 0124 2268 ldr r2, [r4]
1424:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
2703 .loc 1 1424 21 view .LVU894
2704 0126 5368 ldr r3, [r2, #4]
1424:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
2705 .loc 1 1424 27 view .LVU895
2706 0128 43F40043 orr r3, r3, #32768
2707 012c 5360 str r3, [r2, #4]
1425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2708 .loc 1 1425 7 is_stmt 1 view .LVU896
1425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2709 .loc 1 1425 14 is_stmt 0 view .LVU897
2710 012e 0120 movs r0, #1
2711 0130 4AE0 b .L192
2712 .L213:
1434:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
2713 .loc 1 1434 9 is_stmt 1 view .LVU898
1434:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
2714 .loc 1 1434 13 is_stmt 0 view .LVU899
2715 0132 2268 ldr r2, [r4]
1434:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
2716 .loc 1 1434 23 view .LVU900
2717 0134 5368 ldr r3, [r2, #4]
1434:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
2718 .loc 1 1434 29 view .LVU901
2719 0136 43F40043 orr r3, r3, #32768
2720 013a 5360 str r3, [r2, #4]
1435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2721 .loc 1 1435 9 is_stmt 1 view .LVU902
1435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2722 .loc 1 1435 16 is_stmt 0 view .LVU903
2723 013c 0120 movs r0, #1
2724 013e 43E0 b .L192
2725 .L212:
1448:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2726 .loc 1 1448 5 is_stmt 1 view .LVU904
1448:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2727 .loc 1 1448 9 is_stmt 0 view .LVU905
2728 0140 0096 str r6, [sp]
2729 0142 2B46 mov r3, r5
2730 0144 0022 movs r2, #0
2731 0146 1021 movs r1, #16
ARM GAS /tmp/ccNVyn8W.s page 190
2732 0148 2046 mov r0, r4
2733 014a FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
2734 .LVL172:
1448:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2735 .loc 1 1448 8 discriminator 1 view .LVU906
2736 014e 30B1 cbz r0, .L202
1451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
2737 .loc 1 1451 7 is_stmt 1 view .LVU907
1451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
2738 .loc 1 1451 11 is_stmt 0 view .LVU908
2739 0150 2268 ldr r2, [r4]
1451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
2740 .loc 1 1451 21 view .LVU909
2741 0152 5368 ldr r3, [r2, #4]
1451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
2742 .loc 1 1451 27 view .LVU910
2743 0154 43F40043 orr r3, r3, #32768
2744 0158 5360 str r3, [r2, #4]
1452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2745 .loc 1 1452 7 is_stmt 1 view .LVU911
1452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2746 .loc 1 1452 14 is_stmt 0 view .LVU912
2747 015a 0120 movs r0, #1
2748 015c 34E0 b .L192
2749 .L202:
1456:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2750 .loc 1 1456 5 is_stmt 1 view .LVU913
2751 015e 2046 mov r0, r4
2752 0160 FFF7FEFF bl I2C_Flush_TXDR
2753 .LVL173:
1459:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2754 .loc 1 1459 5 view .LVU914
2755 0164 2368 ldr r3, [r4]
2756 0166 1022 movs r2, #16
2757 0168 DA61 str r2, [r3, #28]
1462:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2758 .loc 1 1462 5 view .LVU915
1462:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2759 .loc 1 1462 9 is_stmt 0 view .LVU916
2760 016a 3246 mov r2, r6
2761 016c 2946 mov r1, r5
2762 016e 2046 mov r0, r4
2763 0170 FFF7FEFF bl I2C_WaitOnSTOPFlagUntilTimeout
2764 .LVL174:
1462:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2765 .loc 1 1462 8 discriminator 1 view .LVU917
2766 0174 30B1 cbz r0, .L203
1465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2767 .loc 1 1465 7 is_stmt 1 view .LVU918
1465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2768 .loc 1 1465 11 is_stmt 0 view .LVU919
2769 0176 2268 ldr r2, [r4]
1465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2770 .loc 1 1465 21 view .LVU920
2771 0178 5368 ldr r3, [r2, #4]
1465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2772 .loc 1 1465 27 view .LVU921
ARM GAS /tmp/ccNVyn8W.s page 191
2773 017a 43F40043 orr r3, r3, #32768
2774 017e 5360 str r3, [r2, #4]
1467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2775 .loc 1 1467 7 is_stmt 1 view .LVU922
1467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2776 .loc 1 1467 14 is_stmt 0 view .LVU923
2777 0180 0120 movs r0, #1
2778 0182 21E0 b .L192
2779 .L203:
1471:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2780 .loc 1 1471 5 is_stmt 1 view .LVU924
2781 0184 2368 ldr r3, [r4]
2782 0186 2022 movs r2, #32
2783 0188 DA61 str r2, [r3, #28]
1474:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2784 .loc 1 1474 5 view .LVU925
1474:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2785 .loc 1 1474 9 is_stmt 0 view .LVU926
2786 018a 0096 str r6, [sp]
2787 018c 2B46 mov r3, r5
2788 018e 0122 movs r2, #1
2789 0190 4FF40041 mov r1, #32768
2790 0194 2046 mov r0, r4
2791 0196 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
2792 .LVL175:
1474:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2793 .loc 1 1474 8 discriminator 1 view .LVU927
2794 019a 30B1 cbz r0, .L204
1477:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
2795 .loc 1 1477 7 is_stmt 1 view .LVU928
1477:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
2796 .loc 1 1477 11 is_stmt 0 view .LVU929
2797 019c 2268 ldr r2, [r4]
1477:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
2798 .loc 1 1477 21 view .LVU930
2799 019e 5368 ldr r3, [r2, #4]
1477:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
2800 .loc 1 1477 27 view .LVU931
2801 01a0 43F40043 orr r3, r3, #32768
2802 01a4 5360 str r3, [r2, #4]
1478:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2803 .loc 1 1478 7 is_stmt 1 view .LVU932
1478:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2804 .loc 1 1478 14 is_stmt 0 view .LVU933
2805 01a6 0120 movs r0, #1
2806 01a8 0EE0 b .L192
2807 .L204:
1482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2808 .loc 1 1482 5 is_stmt 1 view .LVU934
1482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2809 .loc 1 1482 9 is_stmt 0 view .LVU935
2810 01aa 2268 ldr r2, [r4]
1482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2811 .loc 1 1482 19 view .LVU936
2812 01ac 5368 ldr r3, [r2, #4]
1482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2813 .loc 1 1482 25 view .LVU937
ARM GAS /tmp/ccNVyn8W.s page 192
2814 01ae 43F40043 orr r3, r3, #32768
2815 01b2 5360 str r3, [r2, #4]
1484:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
2816 .loc 1 1484 5 is_stmt 1 view .LVU938
1484:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
2817 .loc 1 1484 17 is_stmt 0 view .LVU939
2818 01b4 2023 movs r3, #32
2819 01b6 84F84130 strb r3, [r4, #65]
1485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2820 .loc 1 1485 5 is_stmt 1 view .LVU940
1485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2821 .loc 1 1485 17 is_stmt 0 view .LVU941
2822 01ba 0023 movs r3, #0
2823 01bc 84F84230 strb r3, [r4, #66]
1488:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2824 .loc 1 1488 5 is_stmt 1 view .LVU942
1488:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2825 .loc 1 1488 5 view .LVU943
2826 01c0 84F84030 strb r3, [r4, #64]
1488:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2827 .loc 1 1488 5 view .LVU944
1490:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2828 .loc 1 1490 5 view .LVU945
1490:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2829 .loc 1 1490 12 is_stmt 0 view .LVU946
2830 01c4 00E0 b .L192
2831 .LVL176:
2832 .L205:
1494:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2833 .loc 1 1494 12 view .LVU947
2834 01c6 0220 movs r0, #2
2835 .LVL177:
2836 .L192:
1496:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2837 .loc 1 1496 1 view .LVU948
2838 01c8 02B0 add sp, sp, #8
2839 .cfi_remember_state
2840 .cfi_def_cfa_offset 24
2841 @ sp needed
2842 01ca BDE8F081 pop {r4, r5, r6, r7, r8, pc}
2843 .LVL178:
2844 .L206:
2845 .cfi_restore_state
1364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2846 .loc 1 1364 5 discriminator 1 view .LVU949
2847 01ce 0220 movs r0, #2
2848 .LVL179:
1364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2849 .loc 1 1364 5 discriminator 1 view .LVU950
2850 01d0 FAE7 b .L192
2851 .cfi_endproc
2852 .LFE136:
2854 .section .text.HAL_I2C_Slave_Receive,"ax",%progbits
2855 .align 1
2856 .global HAL_I2C_Slave_Receive
2857 .syntax unified
2858 .thumb
ARM GAS /tmp/ccNVyn8W.s page 193
2859 .thumb_func
2861 HAL_I2C_Slave_Receive:
2862 .LVL180:
2863 .LFB137:
1509:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tickstart;
2864 .loc 1 1509 1 is_stmt 1 view -0
2865 .cfi_startproc
2866 @ args = 0, pretend = 0, frame = 0
2867 @ frame_needed = 0, uses_anonymous_args = 0
1509:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tickstart;
2868 .loc 1 1509 1 is_stmt 0 view .LVU952
2869 0000 2DE9F041 push {r4, r5, r6, r7, r8, lr}
2870 .cfi_def_cfa_offset 24
2871 .cfi_offset 4, -24
2872 .cfi_offset 5, -20
2873 .cfi_offset 6, -16
2874 .cfi_offset 7, -12
2875 .cfi_offset 8, -8
2876 .cfi_offset 14, -4
2877 0004 82B0 sub sp, sp, #8
2878 .cfi_def_cfa_offset 32
2879 0006 1D46 mov r5, r3
1510:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2880 .loc 1 1510 3 is_stmt 1 view .LVU953
1512:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2881 .loc 1 1512 3 view .LVU954
1512:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2882 .loc 1 1512 11 is_stmt 0 view .LVU955
2883 0008 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2
2884 .LVL181:
1512:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2885 .loc 1 1512 11 view .LVU956
2886 000c DBB2 uxtb r3, r3
1512:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2887 .loc 1 1512 6 view .LVU957
2888 000e 202B cmp r3, #32
2889 0010 40F0AF80 bne .L226
2890 0014 0446 mov r4, r0
2891 0016 0E46 mov r6, r1
2892 0018 9046 mov r8, r2
1514:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2893 .loc 1 1514 5 is_stmt 1 view .LVU958
1514:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2894 .loc 1 1514 8 is_stmt 0 view .LVU959
2895 001a 61B3 cbz r1, .L217
1514:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2896 .loc 1 1514 25 discriminator 1 view .LVU960
2897 001c 5AB3 cbz r2, .L217
1520:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2898 .loc 1 1520 5 is_stmt 1 view .LVU961
1520:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2899 .loc 1 1520 5 view .LVU962
2900 001e 90F84030 ldrb r3, [r0, #64] @ zero_extendqisi2
2901 0022 012B cmp r3, #1
2902 0024 00F0A980 beq .L227
1520:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2903 .loc 1 1520 5 discriminator 2 view .LVU963
ARM GAS /tmp/ccNVyn8W.s page 194
2904 0028 0123 movs r3, #1
2905 002a 80F84030 strb r3, [r0, #64]
1520:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2906 .loc 1 1520 5 discriminator 2 view .LVU964
1523:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2907 .loc 1 1523 5 view .LVU965
1523:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2908 .loc 1 1523 17 is_stmt 0 view .LVU966
2909 002e FFF7FEFF bl HAL_GetTick
2910 .LVL182:
1523:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2911 .loc 1 1523 17 view .LVU967
2912 0032 0746 mov r7, r0
2913 .LVL183:
1525:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
2914 .loc 1 1525 5 is_stmt 1 view .LVU968
1525:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
2915 .loc 1 1525 21 is_stmt 0 view .LVU969
2916 0034 2223 movs r3, #34
2917 0036 84F84130 strb r3, [r4, #65]
1526:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
2918 .loc 1 1526 5 is_stmt 1 view .LVU970
1526:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
2919 .loc 1 1526 21 is_stmt 0 view .LVU971
2920 003a 2023 movs r3, #32
2921 003c 84F84230 strb r3, [r4, #66]
1527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2922 .loc 1 1527 5 is_stmt 1 view .LVU972
1527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2923 .loc 1 1527 21 is_stmt 0 view .LVU973
2924 0040 0022 movs r2, #0
2925 0042 6264 str r2, [r4, #68]
1530:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
2926 .loc 1 1530 5 is_stmt 1 view .LVU974
1530:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
2927 .loc 1 1530 21 is_stmt 0 view .LVU975
2928 0044 6662 str r6, [r4, #36]
1531:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
2929 .loc 1 1531 5 is_stmt 1 view .LVU976
1531:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
2930 .loc 1 1531 21 is_stmt 0 view .LVU977
2931 0046 A4F82A80 strh r8, [r4, #42] @ movhi
1532:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL;
2932 .loc 1 1532 5 is_stmt 1 view .LVU978
1532:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL;
2933 .loc 1 1532 26 is_stmt 0 view .LVU979
2934 004a 638D ldrh r3, [r4, #42]
1532:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL;
2935 .loc 1 1532 20 view .LVU980
2936 004c 2385 strh r3, [r4, #40] @ movhi
1533:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2937 .loc 1 1533 5 is_stmt 1 view .LVU981
1533:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2938 .loc 1 1533 21 is_stmt 0 view .LVU982
2939 004e 6263 str r2, [r4, #52]
1536:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2940 .loc 1 1536 5 is_stmt 1 view .LVU983
ARM GAS /tmp/ccNVyn8W.s page 195
1536:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2941 .loc 1 1536 9 is_stmt 0 view .LVU984
2942 0050 2168 ldr r1, [r4]
1536:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2943 .loc 1 1536 19 view .LVU985
2944 0052 4B68 ldr r3, [r1, #4]
1536:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2945 .loc 1 1536 25 view .LVU986
2946 0054 23F40043 bic r3, r3, #32768
2947 0058 4B60 str r3, [r1, #4]
1539:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2948 .loc 1 1539 5 is_stmt 1 view .LVU987
1539:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2949 .loc 1 1539 9 is_stmt 0 view .LVU988
2950 005a 0090 str r0, [sp]
2951 005c 2B46 mov r3, r5
2952 005e 0821 movs r1, #8
2953 0060 2046 mov r0, r4
2954 .LVL184:
1539:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2955 .loc 1 1539 9 view .LVU989
2956 0062 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
2957 .LVL185:
1539:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2958 .loc 1 1539 8 discriminator 1 view .LVU990
2959 0066 58B1 cbz r0, .L219
1542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
2960 .loc 1 1542 7 is_stmt 1 view .LVU991
1542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
2961 .loc 1 1542 11 is_stmt 0 view .LVU992
2962 0068 2268 ldr r2, [r4]
1542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
2963 .loc 1 1542 21 view .LVU993
2964 006a 5368 ldr r3, [r2, #4]
1542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
2965 .loc 1 1542 27 view .LVU994
2966 006c 43F40043 orr r3, r3, #32768
2967 0070 5360 str r3, [r2, #4]
1543:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2968 .loc 1 1543 7 is_stmt 1 view .LVU995
1543:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2969 .loc 1 1543 14 is_stmt 0 view .LVU996
2970 0072 0120 movs r0, #1
2971 0074 7EE0 b .L216
2972 .LVL186:
2973 .L217:
1516:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
2974 .loc 1 1516 7 is_stmt 1 view .LVU997
1516:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
2975 .loc 1 1516 23 is_stmt 0 view .LVU998
2976 0076 4FF40073 mov r3, #512
2977 007a 6364 str r3, [r4, #68]
1517:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2978 .loc 1 1517 7 is_stmt 1 view .LVU999
1517:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2979 .loc 1 1517 15 is_stmt 0 view .LVU1000
2980 007c 0120 movs r0, #1
ARM GAS /tmp/ccNVyn8W.s page 196
2981 .LVL187:
1517:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
2982 .loc 1 1517 15 view .LVU1001
2983 007e 79E0 b .L216
2984 .LVL188:
2985 .L219:
1547:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
2986 .loc 1 1547 5 is_stmt 1 view .LVU1002
2987 0080 2368 ldr r3, [r4]
2988 0082 0822 movs r2, #8
2989 0084 DA61 str r2, [r3, #28]
1550:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2990 .loc 1 1550 5 view .LVU1003
1550:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2991 .loc 1 1550 9 is_stmt 0 view .LVU1004
2992 0086 0097 str r7, [sp]
2993 0088 2B46 mov r3, r5
2994 008a 0122 movs r2, #1
2995 008c 4FF48031 mov r1, #65536
2996 0090 2046 mov r0, r4
2997 0092 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
2998 .LVL189:
1550:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
2999 .loc 1 1550 8 discriminator 1 view .LVU1005
3000 0096 D0B1 cbz r0, .L220
1553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
3001 .loc 1 1553 7 is_stmt 1 view .LVU1006
1553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
3002 .loc 1 1553 11 is_stmt 0 view .LVU1007
3003 0098 2268 ldr r2, [r4]
1553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
3004 .loc 1 1553 21 view .LVU1008
3005 009a 5368 ldr r3, [r2, #4]
1553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
3006 .loc 1 1553 27 view .LVU1009
3007 009c 43F40043 orr r3, r3, #32768
3008 00a0 5360 str r3, [r2, #4]
1554:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3009 .loc 1 1554 7 is_stmt 1 view .LVU1010
1554:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3010 .loc 1 1554 14 is_stmt 0 view .LVU1011
3011 00a2 0120 movs r0, #1
3012 00a4 66E0 b .L216
3013 .L221:
1582:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3014 .loc 1 1582 7 is_stmt 1 view .LVU1012
1582:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3015 .loc 1 1582 38 is_stmt 0 view .LVU1013
3016 00a6 2368 ldr r3, [r4]
1582:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3017 .loc 1 1582 48 view .LVU1014
3018 00a8 5A6A ldr r2, [r3, #36]
1582:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3019 .loc 1 1582 12 view .LVU1015
3020 00aa 636A ldr r3, [r4, #36]
1582:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3021 .loc 1 1582 23 view .LVU1016
ARM GAS /tmp/ccNVyn8W.s page 197
3022 00ac 1A70 strb r2, [r3]
1585:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3023 .loc 1 1585 7 is_stmt 1 view .LVU1017
1585:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3024 .loc 1 1585 11 is_stmt 0 view .LVU1018
3025 00ae 636A ldr r3, [r4, #36]
1585:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3026 .loc 1 1585 21 view .LVU1019
3027 00b0 0133 adds r3, r3, #1
3028 00b2 6362 str r3, [r4, #36]
1587:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--;
3029 .loc 1 1587 7 is_stmt 1 view .LVU1020
1587:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--;
3030 .loc 1 1587 11 is_stmt 0 view .LVU1021
3031 00b4 B4F82AC0 ldrh ip, [r4, #42]
3032 00b8 1FFA8CFC uxth ip, ip
1587:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--;
3033 .loc 1 1587 22 view .LVU1022
3034 00bc 0CF1FF3C add ip, ip, #-1
3035 00c0 1FFA8CFC uxth ip, ip
3036 00c4 A4F82AC0 strh ip, [r4, #42] @ movhi
1588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3037 .loc 1 1588 7 is_stmt 1 view .LVU1023
1588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3038 .loc 1 1588 11 is_stmt 0 view .LVU1024
3039 00c8 238D ldrh r3, [r4, #40]
1588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3040 .loc 1 1588 21 view .LVU1025
3041 00ca 013B subs r3, r3, #1
3042 00cc 2385 strh r3, [r4, #40] @ movhi
3043 .L220:
1557:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3044 .loc 1 1557 28 is_stmt 1 view .LVU1026
1557:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3045 .loc 1 1557 16 is_stmt 0 view .LVU1027
3046 00ce 638D ldrh r3, [r4, #42]
3047 00d0 9BB2 uxth r3, r3
1557:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3048 .loc 1 1557 28 view .LVU1028
3049 00d2 03B3 cbz r3, .L229
1560:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3050 .loc 1 1560 7 is_stmt 1 view .LVU1029
1560:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3051 .loc 1 1560 11 is_stmt 0 view .LVU1030
3052 00d4 3A46 mov r2, r7
3053 00d6 2946 mov r1, r5
3054 00d8 2046 mov r0, r4
3055 00da FFF7FEFF bl I2C_WaitOnRXNEFlagUntilTimeout
3056 .LVL190:
1560:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3057 .loc 1 1560 10 discriminator 1 view .LVU1031
3058 00de 0028 cmp r0, #0
3059 00e0 E1D0 beq .L221
1563:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3060 .loc 1 1563 9 is_stmt 1 view .LVU1032
1563:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3061 .loc 1 1563 13 is_stmt 0 view .LVU1033
ARM GAS /tmp/ccNVyn8W.s page 198
3062 00e2 2268 ldr r2, [r4]
1563:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3063 .loc 1 1563 23 view .LVU1034
3064 00e4 5368 ldr r3, [r2, #4]
1563:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3065 .loc 1 1563 29 view .LVU1035
3066 00e6 43F40043 orr r3, r3, #32768
3067 00ea 5360 str r3, [r2, #4]
1566:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3068 .loc 1 1566 9 is_stmt 1 view .LVU1036
1566:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3069 .loc 1 1566 13 is_stmt 0 view .LVU1037
3070 00ec 2368 ldr r3, [r4]
3071 00ee 9A69 ldr r2, [r3, #24]
1566:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3072 .loc 1 1566 12 view .LVU1038
3073 00f0 12F0040F tst r2, #4
3074 00f4 0DD0 beq .L222
1569:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3075 .loc 1 1569 11 is_stmt 1 view .LVU1039
1569:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3076 .loc 1 1569 52 is_stmt 0 view .LVU1040
3077 00f6 5A6A ldr r2, [r3, #36]
1569:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3078 .loc 1 1569 16 view .LVU1041
3079 00f8 636A ldr r3, [r4, #36]
1569:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3080 .loc 1 1569 27 view .LVU1042
3081 00fa 1A70 strb r2, [r3]
1572:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3082 .loc 1 1572 11 is_stmt 1 view .LVU1043
1572:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3083 .loc 1 1572 15 is_stmt 0 view .LVU1044
3084 00fc 636A ldr r3, [r4, #36]
1572:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3085 .loc 1 1572 25 view .LVU1045
3086 00fe 0133 adds r3, r3, #1
3087 0100 6362 str r3, [r4, #36]
1574:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--;
3088 .loc 1 1574 11 is_stmt 1 view .LVU1046
1574:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--;
3089 .loc 1 1574 15 is_stmt 0 view .LVU1047
3090 0102 638D ldrh r3, [r4, #42]
3091 0104 9BB2 uxth r3, r3
1574:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--;
3092 .loc 1 1574 26 view .LVU1048
3093 0106 013B subs r3, r3, #1
3094 0108 9BB2 uxth r3, r3
3095 010a 6385 strh r3, [r4, #42] @ movhi
1575:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3096 .loc 1 1575 11 is_stmt 1 view .LVU1049
1575:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3097 .loc 1 1575 15 is_stmt 0 view .LVU1050
3098 010c 238D ldrh r3, [r4, #40]
1575:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3099 .loc 1 1575 25 view .LVU1051
3100 010e 013B subs r3, r3, #1
ARM GAS /tmp/ccNVyn8W.s page 199
3101 0110 2385 strh r3, [r4, #40] @ movhi
3102 .L222:
1578:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3103 .loc 1 1578 9 is_stmt 1 view .LVU1052
1578:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3104 .loc 1 1578 16 is_stmt 0 view .LVU1053
3105 0112 0120 movs r0, #1
3106 0114 2EE0 b .L216
3107 .L229:
1592:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3108 .loc 1 1592 5 is_stmt 1 view .LVU1054
1592:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3109 .loc 1 1592 9 is_stmt 0 view .LVU1055
3110 0116 3A46 mov r2, r7
3111 0118 2946 mov r1, r5
3112 011a 2046 mov r0, r4
3113 011c FFF7FEFF bl I2C_WaitOnSTOPFlagUntilTimeout
3114 .LVL191:
1592:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3115 .loc 1 1592 8 discriminator 1 view .LVU1056
3116 0120 30B1 cbz r0, .L224
1595:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
3117 .loc 1 1595 7 is_stmt 1 view .LVU1057
1595:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
3118 .loc 1 1595 11 is_stmt 0 view .LVU1058
3119 0122 2268 ldr r2, [r4]
1595:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
3120 .loc 1 1595 21 view .LVU1059
3121 0124 5368 ldr r3, [r2, #4]
1595:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
3122 .loc 1 1595 27 view .LVU1060
3123 0126 43F40043 orr r3, r3, #32768
3124 012a 5360 str r3, [r2, #4]
1596:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3125 .loc 1 1596 7 is_stmt 1 view .LVU1061
1596:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3126 .loc 1 1596 14 is_stmt 0 view .LVU1062
3127 012c 0120 movs r0, #1
3128 012e 21E0 b .L216
3129 .L224:
1600:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3130 .loc 1 1600 5 is_stmt 1 view .LVU1063
3131 0130 2368 ldr r3, [r4]
3132 0132 2022 movs r2, #32
3133 0134 DA61 str r2, [r3, #28]
1603:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3134 .loc 1 1603 5 view .LVU1064
1603:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3135 .loc 1 1603 9 is_stmt 0 view .LVU1065
3136 0136 0097 str r7, [sp]
3137 0138 2B46 mov r3, r5
3138 013a 0122 movs r2, #1
3139 013c 4FF40041 mov r1, #32768
3140 0140 2046 mov r0, r4
3141 0142 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
3142 .LVL192:
1603:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
ARM GAS /tmp/ccNVyn8W.s page 200
3143 .loc 1 1603 8 discriminator 1 view .LVU1066
3144 0146 30B1 cbz r0, .L225
1606:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
3145 .loc 1 1606 7 is_stmt 1 view .LVU1067
1606:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
3146 .loc 1 1606 11 is_stmt 0 view .LVU1068
3147 0148 2268 ldr r2, [r4]
1606:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
3148 .loc 1 1606 21 view .LVU1069
3149 014a 5368 ldr r3, [r2, #4]
1606:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
3150 .loc 1 1606 27 view .LVU1070
3151 014c 43F40043 orr r3, r3, #32768
3152 0150 5360 str r3, [r2, #4]
1607:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3153 .loc 1 1607 7 is_stmt 1 view .LVU1071
1607:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3154 .loc 1 1607 14 is_stmt 0 view .LVU1072
3155 0152 0120 movs r0, #1
3156 0154 0EE0 b .L216
3157 .L225:
1611:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3158 .loc 1 1611 5 is_stmt 1 view .LVU1073
1611:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3159 .loc 1 1611 9 is_stmt 0 view .LVU1074
3160 0156 2268 ldr r2, [r4]
1611:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3161 .loc 1 1611 19 view .LVU1075
3162 0158 5368 ldr r3, [r2, #4]
1611:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3163 .loc 1 1611 25 view .LVU1076
3164 015a 43F40043 orr r3, r3, #32768
3165 015e 5360 str r3, [r2, #4]
1613:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
3166 .loc 1 1613 5 is_stmt 1 view .LVU1077
1613:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
3167 .loc 1 1613 17 is_stmt 0 view .LVU1078
3168 0160 2023 movs r3, #32
3169 0162 84F84130 strb r3, [r4, #65]
1614:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3170 .loc 1 1614 5 is_stmt 1 view .LVU1079
1614:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3171 .loc 1 1614 17 is_stmt 0 view .LVU1080
3172 0166 0023 movs r3, #0
3173 0168 84F84230 strb r3, [r4, #66]
1617:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3174 .loc 1 1617 5 is_stmt 1 view .LVU1081
1617:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3175 .loc 1 1617 5 view .LVU1082
3176 016c 84F84030 strb r3, [r4, #64]
1617:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3177 .loc 1 1617 5 view .LVU1083
1619:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3178 .loc 1 1619 5 view .LVU1084
1619:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3179 .loc 1 1619 12 is_stmt 0 view .LVU1085
3180 0170 00E0 b .L216
ARM GAS /tmp/ccNVyn8W.s page 201
3181 .LVL193:
3182 .L226:
1623:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3183 .loc 1 1623 12 view .LVU1086
3184 0172 0220 movs r0, #2
3185 .LVL194:
3186 .L216:
1625:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3187 .loc 1 1625 1 view .LVU1087
3188 0174 02B0 add sp, sp, #8
3189 .cfi_remember_state
3190 .cfi_def_cfa_offset 24
3191 @ sp needed
3192 0176 BDE8F081 pop {r4, r5, r6, r7, r8, pc}
3193 .LVL195:
3194 .L227:
3195 .cfi_restore_state
1520:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3196 .loc 1 1520 5 discriminator 1 view .LVU1088
3197 017a 0220 movs r0, #2
3198 .LVL196:
1520:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3199 .loc 1 1520 5 discriminator 1 view .LVU1089
3200 017c FAE7 b .L216
3201 .cfi_endproc
3202 .LFE137:
3204 .section .text.HAL_I2C_Master_Transmit_IT,"ax",%progbits
3205 .align 1
3206 .global HAL_I2C_Master_Transmit_IT
3207 .syntax unified
3208 .thumb
3209 .thumb_func
3211 HAL_I2C_Master_Transmit_IT:
3212 .LVL197:
3213 .LFB138:
1639:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode;
3214 .loc 1 1639 1 is_stmt 1 view -0
3215 .cfi_startproc
3216 @ args = 0, pretend = 0, frame = 0
3217 @ frame_needed = 0, uses_anonymous_args = 0
1639:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode;
3218 .loc 1 1639 1 is_stmt 0 view .LVU1091
3219 0000 30B5 push {r4, r5, lr}
3220 .cfi_def_cfa_offset 12
3221 .cfi_offset 4, -12
3222 .cfi_offset 5, -8
3223 .cfi_offset 14, -4
3224 0002 83B0 sub sp, sp, #12
3225 .cfi_def_cfa_offset 24
3226 0004 0446 mov r4, r0
1640:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3227 .loc 1 1640 3 is_stmt 1 view .LVU1092
1642:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3228 .loc 1 1642 3 view .LVU1093
1642:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3229 .loc 1 1642 11 is_stmt 0 view .LVU1094
3230 0006 90F84100 ldrb r0, [r0, #65] @ zero_extendqisi2
ARM GAS /tmp/ccNVyn8W.s page 202
3231 .LVL198:
1642:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3232 .loc 1 1642 11 view .LVU1095
3233 000a C0B2 uxtb r0, r0
1642:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3234 .loc 1 1642 6 view .LVU1096
3235 000c 2028 cmp r0, #32
3236 000e 37D1 bne .L234
1644:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3237 .loc 1 1644 5 is_stmt 1 view .LVU1097
1644:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3238 .loc 1 1644 9 is_stmt 0 view .LVU1098
3239 0010 2068 ldr r0, [r4]
3240 0012 8069 ldr r0, [r0, #24]
1644:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3241 .loc 1 1644 8 view .LVU1099
3242 0014 10F4004F tst r0, #32768
3243 0018 34D1 bne .L235
1650:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3244 .loc 1 1650 5 is_stmt 1 view .LVU1100
1650:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3245 .loc 1 1650 5 view .LVU1101
3246 001a 94F84000 ldrb r0, [r4, #64] @ zero_extendqisi2
3247 001e 0128 cmp r0, #1
3248 0020 32D0 beq .L236
1650:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3249 .loc 1 1650 5 discriminator 2 view .LVU1102
3250 0022 0120 movs r0, #1
3251 0024 84F84000 strb r0, [r4, #64]
1650:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3252 .loc 1 1650 5 discriminator 2 view .LVU1103
1652:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
3253 .loc 1 1652 5 view .LVU1104
1652:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
3254 .loc 1 1652 23 is_stmt 0 view .LVU1105
3255 0028 2120 movs r0, #33
3256 002a 84F84100 strb r0, [r4, #65]
1653:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
3257 .loc 1 1653 5 is_stmt 1 view .LVU1106
1653:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
3258 .loc 1 1653 23 is_stmt 0 view .LVU1107
3259 002e 1020 movs r0, #16
3260 0030 84F84200 strb r0, [r4, #66]
1654:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3261 .loc 1 1654 5 is_stmt 1 view .LVU1108
1654:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3262 .loc 1 1654 23 is_stmt 0 view .LVU1109
3263 0034 0020 movs r0, #0
3264 0036 6064 str r0, [r4, #68]
1657:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
3265 .loc 1 1657 5 is_stmt 1 view .LVU1110
1657:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
3266 .loc 1 1657 23 is_stmt 0 view .LVU1111
3267 0038 6262 str r2, [r4, #36]
1658:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
3268 .loc 1 1658 5 is_stmt 1 view .LVU1112
1658:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
ARM GAS /tmp/ccNVyn8W.s page 203
3269 .loc 1 1658 23 is_stmt 0 view .LVU1113
3270 003a 6385 strh r3, [r4, #42] @ movhi
1659:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
3271 .loc 1 1659 5 is_stmt 1 view .LVU1114
1659:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
3272 .loc 1 1659 23 is_stmt 0 view .LVU1115
3273 003c 134B ldr r3, .L238
3274 .LVL199:
1659:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
3275 .loc 1 1659 23 view .LVU1116
3276 003e E362 str r3, [r4, #44]
3277 .LVL200:
1660:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3278 .loc 1 1660 5 is_stmt 1 view .LVU1117
1660:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3279 .loc 1 1660 23 is_stmt 0 view .LVU1118
3280 0040 134B ldr r3, .L238+4
3281 0042 6363 str r3, [r4, #52]
1662:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3282 .loc 1 1662 5 is_stmt 1 view .LVU1119
1662:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3283 .loc 1 1662 13 is_stmt 0 view .LVU1120
3284 0044 638D ldrh r3, [r4, #42]
3285 0046 9BB2 uxth r3, r3
1662:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3286 .loc 1 1662 8 view .LVU1121
3287 0048 FF2B cmp r3, #255
3288 004a 14D9 bls .L232
1664:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
3289 .loc 1 1664 7 is_stmt 1 view .LVU1122
1664:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
3290 .loc 1 1664 22 is_stmt 0 view .LVU1123
3291 004c FF23 movs r3, #255
3292 004e 2385 strh r3, [r4, #40] @ movhi
1665:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3293 .loc 1 1665 7 is_stmt 1 view .LVU1124
3294 .LVL201:
1665:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3295 .loc 1 1665 16 is_stmt 0 view .LVU1125
3296 0050 4FF08073 mov r3, #16777216
3297 .LVL202:
3298 .L233:
1675:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3299 .loc 1 1675 5 is_stmt 1 view .LVU1126
3300 0054 0F4A ldr r2, .L238+8
3301 .LVL203:
1675:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3302 .loc 1 1675 5 is_stmt 0 view .LVU1127
3303 0056 0092 str r2, [sp]
3304 .LVL204:
1675:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3305 .loc 1 1675 5 view .LVU1128
3306 0058 94F82820 ldrb r2, [r4, #40] @ zero_extendqisi2
3307 005c 2046 mov r0, r4
3308 005e FFF7FEFF bl I2C_TransferConfig
3309 .LVL205:
1678:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
ARM GAS /tmp/ccNVyn8W.s page 204
3310 .loc 1 1678 5 is_stmt 1 view .LVU1129
1678:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3311 .loc 1 1678 5 view .LVU1130
3312 0062 0025 movs r5, #0
3313 0064 84F84050 strb r5, [r4, #64]
1678:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3314 .loc 1 1678 5 view .LVU1131
1688:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3315 .loc 1 1688 5 view .LVU1132
3316 0068 0121 movs r1, #1
3317 006a 2046 mov r0, r4
3318 006c FFF7FEFF bl I2C_Enable_IRQ
3319 .LVL206:
1690:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3320 .loc 1 1690 5 view .LVU1133
1690:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3321 .loc 1 1690 12 is_stmt 0 view .LVU1134
3322 0070 2846 mov r0, r5
3323 .LVL207:
3324 .L231:
1696:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3325 .loc 1 1696 1 view .LVU1135
3326 0072 03B0 add sp, sp, #12
3327 .cfi_remember_state
3328 .cfi_def_cfa_offset 12
3329 @ sp needed
3330 0074 30BD pop {r4, r5, pc}
3331 .LVL208:
3332 .L232:
3333 .cfi_restore_state
1669:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
3334 .loc 1 1669 7 is_stmt 1 view .LVU1136
1669:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
3335 .loc 1 1669 28 is_stmt 0 view .LVU1137
3336 0076 638D ldrh r3, [r4, #42]
1669:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
3337 .loc 1 1669 22 view .LVU1138
3338 0078 2385 strh r3, [r4, #40] @ movhi
1670:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3339 .loc 1 1670 7 is_stmt 1 view .LVU1139
3340 .LVL209:
1670:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3341 .loc 1 1670 16 is_stmt 0 view .LVU1140
3342 007a 4FF00073 mov r3, #33554432
3343 007e E9E7 b .L233
3344 .LVL210:
3345 .L234:
1694:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3346 .loc 1 1694 12 view .LVU1141
3347 0080 0220 movs r0, #2
3348 0082 F6E7 b .L231
3349 .L235:
1646:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3350 .loc 1 1646 14 view .LVU1142
3351 0084 0220 movs r0, #2
3352 0086 F4E7 b .L231
3353 .L236:
ARM GAS /tmp/ccNVyn8W.s page 205
1650:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3354 .loc 1 1650 5 discriminator 1 view .LVU1143
3355 0088 0220 movs r0, #2
3356 008a F2E7 b .L231
3357 .L239:
3358 .align 2
3359 .L238:
3360 008c 0000FFFF .word -65536
3361 0090 00000000 .word I2C_Master_ISR_IT
3362 0094 00200080 .word -2147475456
3363 .cfi_endproc
3364 .LFE138:
3366 .section .text.HAL_I2C_Master_Receive_IT,"ax",%progbits
3367 .align 1
3368 .global HAL_I2C_Master_Receive_IT
3369 .syntax unified
3370 .thumb
3371 .thumb_func
3373 HAL_I2C_Master_Receive_IT:
3374 .LVL211:
3375 .LFB139:
1710:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode;
3376 .loc 1 1710 1 is_stmt 1 view -0
3377 .cfi_startproc
3378 @ args = 0, pretend = 0, frame = 0
3379 @ frame_needed = 0, uses_anonymous_args = 0
1710:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode;
3380 .loc 1 1710 1 is_stmt 0 view .LVU1145
3381 0000 30B5 push {r4, r5, lr}
3382 .cfi_def_cfa_offset 12
3383 .cfi_offset 4, -12
3384 .cfi_offset 5, -8
3385 .cfi_offset 14, -4
3386 0002 83B0 sub sp, sp, #12
3387 .cfi_def_cfa_offset 24
3388 0004 0446 mov r4, r0
1711:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3389 .loc 1 1711 3 is_stmt 1 view .LVU1146
1713:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3390 .loc 1 1713 3 view .LVU1147
1713:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3391 .loc 1 1713 11 is_stmt 0 view .LVU1148
3392 0006 90F84100 ldrb r0, [r0, #65] @ zero_extendqisi2
3393 .LVL212:
1713:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3394 .loc 1 1713 11 view .LVU1149
3395 000a C0B2 uxtb r0, r0
1713:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3396 .loc 1 1713 6 view .LVU1150
3397 000c 2028 cmp r0, #32
3398 000e 37D1 bne .L244
1715:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3399 .loc 1 1715 5 is_stmt 1 view .LVU1151
1715:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3400 .loc 1 1715 9 is_stmt 0 view .LVU1152
3401 0010 2068 ldr r0, [r4]
3402 0012 8069 ldr r0, [r0, #24]
ARM GAS /tmp/ccNVyn8W.s page 206
1715:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3403 .loc 1 1715 8 view .LVU1153
3404 0014 10F4004F tst r0, #32768
3405 0018 34D1 bne .L245
1721:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3406 .loc 1 1721 5 is_stmt 1 view .LVU1154
1721:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3407 .loc 1 1721 5 view .LVU1155
3408 001a 94F84000 ldrb r0, [r4, #64] @ zero_extendqisi2
3409 001e 0128 cmp r0, #1
3410 0020 32D0 beq .L246
1721:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3411 .loc 1 1721 5 discriminator 2 view .LVU1156
3412 0022 0120 movs r0, #1
3413 0024 84F84000 strb r0, [r4, #64]
1721:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3414 .loc 1 1721 5 discriminator 2 view .LVU1157
1723:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
3415 .loc 1 1723 5 view .LVU1158
1723:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
3416 .loc 1 1723 23 is_stmt 0 view .LVU1159
3417 0028 2220 movs r0, #34
3418 002a 84F84100 strb r0, [r4, #65]
1724:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
3419 .loc 1 1724 5 is_stmt 1 view .LVU1160
1724:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
3420 .loc 1 1724 23 is_stmt 0 view .LVU1161
3421 002e 1020 movs r0, #16
3422 0030 84F84200 strb r0, [r4, #66]
1725:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3423 .loc 1 1725 5 is_stmt 1 view .LVU1162
1725:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3424 .loc 1 1725 23 is_stmt 0 view .LVU1163
3425 0034 0020 movs r0, #0
3426 0036 6064 str r0, [r4, #68]
1728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
3427 .loc 1 1728 5 is_stmt 1 view .LVU1164
1728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
3428 .loc 1 1728 23 is_stmt 0 view .LVU1165
3429 0038 6262 str r2, [r4, #36]
1729:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
3430 .loc 1 1729 5 is_stmt 1 view .LVU1166
1729:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
3431 .loc 1 1729 23 is_stmt 0 view .LVU1167
3432 003a 6385 strh r3, [r4, #42] @ movhi
1730:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
3433 .loc 1 1730 5 is_stmt 1 view .LVU1168
1730:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
3434 .loc 1 1730 23 is_stmt 0 view .LVU1169
3435 003c 134B ldr r3, .L248
3436 .LVL213:
1730:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
3437 .loc 1 1730 23 view .LVU1170
3438 003e E362 str r3, [r4, #44]
3439 .LVL214:
1731:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3440 .loc 1 1731 5 is_stmt 1 view .LVU1171
ARM GAS /tmp/ccNVyn8W.s page 207
1731:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3441 .loc 1 1731 23 is_stmt 0 view .LVU1172
3442 0040 134B ldr r3, .L248+4
3443 0042 6363 str r3, [r4, #52]
1733:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3444 .loc 1 1733 5 is_stmt 1 view .LVU1173
1733:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3445 .loc 1 1733 13 is_stmt 0 view .LVU1174
3446 0044 638D ldrh r3, [r4, #42]
3447 0046 9BB2 uxth r3, r3
1733:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3448 .loc 1 1733 8 view .LVU1175
3449 0048 FF2B cmp r3, #255
3450 004a 14D9 bls .L242
1735:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
3451 .loc 1 1735 7 is_stmt 1 view .LVU1176
1735:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
3452 .loc 1 1735 22 is_stmt 0 view .LVU1177
3453 004c FF23 movs r3, #255
3454 004e 2385 strh r3, [r4, #40] @ movhi
1736:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3455 .loc 1 1736 7 is_stmt 1 view .LVU1178
3456 .LVL215:
1736:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3457 .loc 1 1736 16 is_stmt 0 view .LVU1179
3458 0050 4FF08073 mov r3, #16777216
3459 .LVL216:
3460 .L243:
1746:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3461 .loc 1 1746 5 is_stmt 1 view .LVU1180
3462 0054 0F4A ldr r2, .L248+8
3463 .LVL217:
1746:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3464 .loc 1 1746 5 is_stmt 0 view .LVU1181
3465 0056 0092 str r2, [sp]
3466 .LVL218:
1746:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3467 .loc 1 1746 5 view .LVU1182
3468 0058 94F82820 ldrb r2, [r4, #40] @ zero_extendqisi2
3469 005c 2046 mov r0, r4
3470 005e FFF7FEFF bl I2C_TransferConfig
3471 .LVL219:
1749:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3472 .loc 1 1749 5 is_stmt 1 view .LVU1183
1749:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3473 .loc 1 1749 5 view .LVU1184
3474 0062 0025 movs r5, #0
3475 0064 84F84050 strb r5, [r4, #64]
1749:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3476 .loc 1 1749 5 view .LVU1185
1759:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3477 .loc 1 1759 5 view .LVU1186
3478 0068 0221 movs r1, #2
3479 006a 2046 mov r0, r4
3480 006c FFF7FEFF bl I2C_Enable_IRQ
3481 .LVL220:
1761:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
ARM GAS /tmp/ccNVyn8W.s page 208
3482 .loc 1 1761 5 view .LVU1187
1761:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3483 .loc 1 1761 12 is_stmt 0 view .LVU1188
3484 0070 2846 mov r0, r5
3485 .LVL221:
3486 .L241:
1767:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3487 .loc 1 1767 1 view .LVU1189
3488 0072 03B0 add sp, sp, #12
3489 .cfi_remember_state
3490 .cfi_def_cfa_offset 12
3491 @ sp needed
3492 0074 30BD pop {r4, r5, pc}
3493 .LVL222:
3494 .L242:
3495 .cfi_restore_state
1740:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
3496 .loc 1 1740 7 is_stmt 1 view .LVU1190
1740:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
3497 .loc 1 1740 28 is_stmt 0 view .LVU1191
3498 0076 638D ldrh r3, [r4, #42]
1740:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
3499 .loc 1 1740 22 view .LVU1192
3500 0078 2385 strh r3, [r4, #40] @ movhi
1741:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3501 .loc 1 1741 7 is_stmt 1 view .LVU1193
3502 .LVL223:
1741:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3503 .loc 1 1741 16 is_stmt 0 view .LVU1194
3504 007a 4FF00073 mov r3, #33554432
3505 007e E9E7 b .L243
3506 .LVL224:
3507 .L244:
1765:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3508 .loc 1 1765 12 view .LVU1195
3509 0080 0220 movs r0, #2
3510 0082 F6E7 b .L241
3511 .L245:
1717:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3512 .loc 1 1717 14 view .LVU1196
3513 0084 0220 movs r0, #2
3514 0086 F4E7 b .L241
3515 .L246:
1721:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3516 .loc 1 1721 5 discriminator 1 view .LVU1197
3517 0088 0220 movs r0, #2
3518 008a F2E7 b .L241
3519 .L249:
3520 .align 2
3521 .L248:
3522 008c 0000FFFF .word -65536
3523 0090 00000000 .word I2C_Master_ISR_IT
3524 0094 00240080 .word -2147474432
3525 .cfi_endproc
3526 .LFE139:
3528 .section .text.HAL_I2C_Slave_Transmit_IT,"ax",%progbits
3529 .align 1
ARM GAS /tmp/ccNVyn8W.s page 209
3530 .global HAL_I2C_Slave_Transmit_IT
3531 .syntax unified
3532 .thumb
3533 .thumb_func
3535 HAL_I2C_Slave_Transmit_IT:
3536 .LVL225:
3537 .LFB140:
1778:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
3538 .loc 1 1778 1 is_stmt 1 view -0
3539 .cfi_startproc
3540 @ args = 0, pretend = 0, frame = 0
3541 @ frame_needed = 0, uses_anonymous_args = 0
1779:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3542 .loc 1 1779 3 view .LVU1199
1779:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3543 .loc 1 1779 11 is_stmt 0 view .LVU1200
3544 0000 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2
3545 0004 DBB2 uxtb r3, r3
1779:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3546 .loc 1 1779 6 view .LVU1201
3547 0006 202B cmp r3, #32
3548 0008 38D1 bne .L253
1782:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3549 .loc 1 1782 5 is_stmt 1 view .LVU1202
1782:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3550 .loc 1 1782 5 view .LVU1203
3551 000a 90F84030 ldrb r3, [r0, #64] @ zero_extendqisi2
3552 000e 012B cmp r3, #1
3553 0010 36D0 beq .L254
1778:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
3554 .loc 1 1778 1 is_stmt 0 view .LVU1204
3555 0012 10B5 push {r4, lr}
3556 .cfi_def_cfa_offset 8
3557 .cfi_offset 4, -8
3558 .cfi_offset 14, -4
1782:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3559 .loc 1 1782 5 is_stmt 1 discriminator 2 view .LVU1205
3560 0014 0123 movs r3, #1
3561 0016 80F84030 strb r3, [r0, #64]
1782:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3562 .loc 1 1782 5 discriminator 2 view .LVU1206
1784:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
3563 .loc 1 1784 5 view .LVU1207
1784:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
3564 .loc 1 1784 23 is_stmt 0 view .LVU1208
3565 001a 2123 movs r3, #33
3566 001c 80F84130 strb r3, [r0, #65]
1785:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
3567 .loc 1 1785 5 is_stmt 1 view .LVU1209
1785:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
3568 .loc 1 1785 23 is_stmt 0 view .LVU1210
3569 0020 2023 movs r3, #32
3570 0022 80F84230 strb r3, [r0, #66]
1786:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3571 .loc 1 1786 5 is_stmt 1 view .LVU1211
1786:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3572 .loc 1 1786 23 is_stmt 0 view .LVU1212
ARM GAS /tmp/ccNVyn8W.s page 210
3573 0026 0023 movs r3, #0
3574 0028 4364 str r3, [r0, #68]
1789:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3575 .loc 1 1789 5 is_stmt 1 view .LVU1213
1789:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3576 .loc 1 1789 9 is_stmt 0 view .LVU1214
3577 002a 0468 ldr r4, [r0]
1789:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3578 .loc 1 1789 19 view .LVU1215
3579 002c 6368 ldr r3, [r4, #4]
1789:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3580 .loc 1 1789 25 view .LVU1216
3581 002e 23F40043 bic r3, r3, #32768
3582 0032 6360 str r3, [r4, #4]
1792:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
3583 .loc 1 1792 5 is_stmt 1 view .LVU1217
1792:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
3584 .loc 1 1792 23 is_stmt 0 view .LVU1218
3585 0034 4162 str r1, [r0, #36]
1793:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
3586 .loc 1 1793 5 is_stmt 1 view .LVU1219
1793:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
3587 .loc 1 1793 23 is_stmt 0 view .LVU1220
3588 0036 4285 strh r2, [r0, #42] @ movhi
1794:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
3589 .loc 1 1794 5 is_stmt 1 view .LVU1221
1794:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
3590 .loc 1 1794 29 is_stmt 0 view .LVU1222
3591 0038 438D ldrh r3, [r0, #42]
1794:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
3592 .loc 1 1794 23 view .LVU1223
3593 003a 0385 strh r3, [r0, #40] @ movhi
1795:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
3594 .loc 1 1795 5 is_stmt 1 view .LVU1224
1795:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
3595 .loc 1 1795 23 is_stmt 0 view .LVU1225
3596 003c 114B ldr r3, .L260
3597 003e C362 str r3, [r0, #44]
1796:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3598 .loc 1 1796 5 is_stmt 1 view .LVU1226
1796:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3599 .loc 1 1796 23 is_stmt 0 view .LVU1227
3600 0040 114B ldr r3, .L260+4
3601 0042 4363 str r3, [r0, #52]
1799:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3602 .loc 1 1799 5 is_stmt 1 view .LVU1228
1799:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3603 .loc 1 1799 19 is_stmt 0 view .LVU1229
3604 0044 036A ldr r3, [r0, #32]
1799:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3605 .loc 1 1799 8 view .LVU1230
3606 0046 B3F5003F cmp r3, #131072
3607 004a 08D0 beq .L259
3608 .LVL226:
3609 .L252:
1813:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3610 .loc 1 1813 5 is_stmt 1 view .LVU1231
ARM GAS /tmp/ccNVyn8W.s page 211
1813:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3611 .loc 1 1813 5 view .LVU1232
3612 004c 0024 movs r4, #0
3613 004e 80F84040 strb r4, [r0, #64]
1813:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3614 .loc 1 1813 5 view .LVU1233
1823:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3615 .loc 1 1823 5 view .LVU1234
3616 0052 48F20101 movw r1, #32769
3617 .LVL227:
1823:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3618 .loc 1 1823 5 is_stmt 0 view .LVU1235
3619 0056 FFF7FEFF bl I2C_Enable_IRQ
3620 .LVL228:
1825:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3621 .loc 1 1825 5 is_stmt 1 view .LVU1236
1825:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3622 .loc 1 1825 12 is_stmt 0 view .LVU1237
3623 005a 2046 mov r0, r4
1831:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3624 .loc 1 1831 1 view .LVU1238
3625 005c 10BD pop {r4, pc}
3626 .LVL229:
3627 .L259:
1803:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3628 .loc 1 1803 7 is_stmt 1 view .LVU1239
1803:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3629 .loc 1 1803 11 is_stmt 0 view .LVU1240
3630 005e 0368 ldr r3, [r0]
1803:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3631 .loc 1 1803 30 view .LVU1241
3632 0060 0A78 ldrb r2, [r1] @ zero_extendqisi2
3633 .LVL230:
1803:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3634 .loc 1 1803 28 view .LVU1242
3635 0062 9A62 str r2, [r3, #40]
1806:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3636 .loc 1 1806 7 is_stmt 1 view .LVU1243
1806:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3637 .loc 1 1806 11 is_stmt 0 view .LVU1244
3638 0064 436A ldr r3, [r0, #36]
1806:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3639 .loc 1 1806 21 view .LVU1245
3640 0066 0133 adds r3, r3, #1
3641 0068 4362 str r3, [r0, #36]
1808:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--;
3642 .loc 1 1808 7 is_stmt 1 view .LVU1246
1808:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--;
3643 .loc 1 1808 11 is_stmt 0 view .LVU1247
3644 006a 438D ldrh r3, [r0, #42]
3645 006c 9BB2 uxth r3, r3
1808:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--;
3646 .loc 1 1808 22 view .LVU1248
3647 006e 013B subs r3, r3, #1
3648 0070 9BB2 uxth r3, r3
3649 0072 4385 strh r3, [r0, #42] @ movhi
1809:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
ARM GAS /tmp/ccNVyn8W.s page 212
3650 .loc 1 1809 7 is_stmt 1 view .LVU1249
1809:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3651 .loc 1 1809 11 is_stmt 0 view .LVU1250
3652 0074 038D ldrh r3, [r0, #40]
1809:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3653 .loc 1 1809 21 view .LVU1251
3654 0076 013B subs r3, r3, #1
3655 0078 0385 strh r3, [r0, #40] @ movhi
3656 007a E7E7 b .L252
3657 .LVL231:
3658 .L253:
3659 .cfi_def_cfa_offset 0
3660 .cfi_restore 4
3661 .cfi_restore 14
1829:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3662 .loc 1 1829 12 view .LVU1252
3663 007c 0220 movs r0, #2
3664 .LVL232:
1829:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3665 .loc 1 1829 12 view .LVU1253
3666 007e 7047 bx lr
3667 .LVL233:
3668 .L254:
1782:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3669 .loc 1 1782 5 discriminator 1 view .LVU1254
3670 0080 0220 movs r0, #2
3671 .LVL234:
1831:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3672 .loc 1 1831 1 view .LVU1255
3673 0082 7047 bx lr
3674 .L261:
3675 .align 2
3676 .L260:
3677 0084 0000FFFF .word -65536
3678 0088 00000000 .word I2C_Slave_ISR_IT
3679 .cfi_endproc
3680 .LFE140:
3682 .section .text.HAL_I2C_Slave_Receive_IT,"ax",%progbits
3683 .align 1
3684 .global HAL_I2C_Slave_Receive_IT
3685 .syntax unified
3686 .thumb
3687 .thumb_func
3689 HAL_I2C_Slave_Receive_IT:
3690 .LVL235:
3691 .LFB141:
1842:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
3692 .loc 1 1842 1 is_stmt 1 view -0
3693 .cfi_startproc
3694 @ args = 0, pretend = 0, frame = 0
3695 @ frame_needed = 0, uses_anonymous_args = 0
1842:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
3696 .loc 1 1842 1 is_stmt 0 view .LVU1257
3697 0000 38B5 push {r3, r4, r5, lr}
3698 .cfi_def_cfa_offset 16
3699 .cfi_offset 3, -16
3700 .cfi_offset 4, -12
ARM GAS /tmp/ccNVyn8W.s page 213
3701 .cfi_offset 5, -8
3702 .cfi_offset 14, -4
1843:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3703 .loc 1 1843 3 is_stmt 1 view .LVU1258
1843:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3704 .loc 1 1843 11 is_stmt 0 view .LVU1259
3705 0002 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2
3706 0006 DBB2 uxtb r3, r3
1843:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3707 .loc 1 1843 6 view .LVU1260
3708 0008 202B cmp r3, #32
3709 000a 23D1 bne .L264
1846:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3710 .loc 1 1846 5 is_stmt 1 view .LVU1261
1846:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3711 .loc 1 1846 5 view .LVU1262
3712 000c 90F84030 ldrb r3, [r0, #64] @ zero_extendqisi2
3713 0010 012B cmp r3, #1
3714 0012 21D0 beq .L265
1846:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3715 .loc 1 1846 5 discriminator 2 view .LVU1263
3716 0014 0123 movs r3, #1
3717 0016 80F84030 strb r3, [r0, #64]
1846:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3718 .loc 1 1846 5 discriminator 2 view .LVU1264
1848:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
3719 .loc 1 1848 5 view .LVU1265
1848:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
3720 .loc 1 1848 23 is_stmt 0 view .LVU1266
3721 001a 2223 movs r3, #34
3722 001c 80F84130 strb r3, [r0, #65]
1849:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
3723 .loc 1 1849 5 is_stmt 1 view .LVU1267
1849:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
3724 .loc 1 1849 23 is_stmt 0 view .LVU1268
3725 0020 2023 movs r3, #32
3726 0022 80F84230 strb r3, [r0, #66]
1850:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3727 .loc 1 1850 5 is_stmt 1 view .LVU1269
1850:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3728 .loc 1 1850 23 is_stmt 0 view .LVU1270
3729 0026 0024 movs r4, #0
3730 0028 4464 str r4, [r0, #68]
1853:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3731 .loc 1 1853 5 is_stmt 1 view .LVU1271
1853:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3732 .loc 1 1853 9 is_stmt 0 view .LVU1272
3733 002a 0568 ldr r5, [r0]
1853:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3734 .loc 1 1853 19 view .LVU1273
3735 002c 6B68 ldr r3, [r5, #4]
1853:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3736 .loc 1 1853 25 view .LVU1274
3737 002e 23F40043 bic r3, r3, #32768
3738 0032 6B60 str r3, [r5, #4]
1856:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
3739 .loc 1 1856 5 is_stmt 1 view .LVU1275
ARM GAS /tmp/ccNVyn8W.s page 214
1856:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
3740 .loc 1 1856 23 is_stmt 0 view .LVU1276
3741 0034 4162 str r1, [r0, #36]
1857:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
3742 .loc 1 1857 5 is_stmt 1 view .LVU1277
1857:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
3743 .loc 1 1857 23 is_stmt 0 view .LVU1278
3744 0036 4285 strh r2, [r0, #42] @ movhi
1858:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
3745 .loc 1 1858 5 is_stmt 1 view .LVU1279
1858:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
3746 .loc 1 1858 29 is_stmt 0 view .LVU1280
3747 0038 438D ldrh r3, [r0, #42]
1858:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
3748 .loc 1 1858 23 view .LVU1281
3749 003a 0385 strh r3, [r0, #40] @ movhi
1859:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
3750 .loc 1 1859 5 is_stmt 1 view .LVU1282
1859:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
3751 .loc 1 1859 23 is_stmt 0 view .LVU1283
3752 003c 074B ldr r3, .L267
3753 003e C362 str r3, [r0, #44]
1860:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3754 .loc 1 1860 5 is_stmt 1 view .LVU1284
1860:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3755 .loc 1 1860 23 is_stmt 0 view .LVU1285
3756 0040 074B ldr r3, .L267+4
3757 0042 4363 str r3, [r0, #52]
1863:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3758 .loc 1 1863 5 is_stmt 1 view .LVU1286
1863:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3759 .loc 1 1863 5 view .LVU1287
3760 0044 80F84040 strb r4, [r0, #64]
1863:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3761 .loc 1 1863 5 view .LVU1288
1873:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3762 .loc 1 1873 5 view .LVU1289
3763 0048 48F20201 movw r1, #32770
3764 .LVL236:
1873:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3765 .loc 1 1873 5 is_stmt 0 view .LVU1290
3766 004c FFF7FEFF bl I2C_Enable_IRQ
3767 .LVL237:
1875:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3768 .loc 1 1875 5 is_stmt 1 view .LVU1291
1875:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3769 .loc 1 1875 12 is_stmt 0 view .LVU1292
3770 0050 2046 mov r0, r4
3771 .L263:
1881:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3772 .loc 1 1881 1 view .LVU1293
3773 0052 38BD pop {r3, r4, r5, pc}
3774 .LVL238:
3775 .L264:
1879:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3776 .loc 1 1879 12 view .LVU1294
3777 0054 0220 movs r0, #2
ARM GAS /tmp/ccNVyn8W.s page 215
3778 .LVL239:
1879:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3779 .loc 1 1879 12 view .LVU1295
3780 0056 FCE7 b .L263
3781 .LVL240:
3782 .L265:
1846:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3783 .loc 1 1846 5 discriminator 1 view .LVU1296
3784 0058 0220 movs r0, #2
3785 .LVL241:
1846:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3786 .loc 1 1846 5 discriminator 1 view .LVU1297
3787 005a FAE7 b .L263
3788 .L268:
3789 .align 2
3790 .L267:
3791 005c 0000FFFF .word -65536
3792 0060 00000000 .word I2C_Slave_ISR_IT
3793 .cfi_endproc
3794 .LFE141:
3796 .section .text.HAL_I2C_Master_Transmit_DMA,"ax",%progbits
3797 .align 1
3798 .global HAL_I2C_Master_Transmit_DMA
3799 .syntax unified
3800 .thumb
3801 .thumb_func
3803 HAL_I2C_Master_Transmit_DMA:
3804 .LVL242:
3805 .LFB142:
1895:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode;
3806 .loc 1 1895 1 is_stmt 1 view -0
3807 .cfi_startproc
3808 @ args = 0, pretend = 0, frame = 0
3809 @ frame_needed = 0, uses_anonymous_args = 0
1895:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode;
3810 .loc 1 1895 1 is_stmt 0 view .LVU1299
3811 0000 70B5 push {r4, r5, r6, lr}
3812 .cfi_def_cfa_offset 16
3813 .cfi_offset 4, -16
3814 .cfi_offset 5, -12
3815 .cfi_offset 6, -8
3816 .cfi_offset 14, -4
3817 0002 82B0 sub sp, sp, #8
3818 .cfi_def_cfa_offset 24
3819 0004 0446 mov r4, r0
1896:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
3820 .loc 1 1896 3 is_stmt 1 view .LVU1300
1897:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3821 .loc 1 1897 3 view .LVU1301
1899:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3822 .loc 1 1899 3 view .LVU1302
1899:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3823 .loc 1 1899 11 is_stmt 0 view .LVU1303
3824 0006 90F84100 ldrb r0, [r0, #65] @ zero_extendqisi2
3825 .LVL243:
1899:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3826 .loc 1 1899 11 view .LVU1304
ARM GAS /tmp/ccNVyn8W.s page 216
3827 000a C0B2 uxtb r0, r0
1899:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3828 .loc 1 1899 6 view .LVU1305
3829 000c 2028 cmp r0, #32
3830 000e 40F08D80 bne .L278
3831 0012 0D46 mov r5, r1
3832 0014 1146 mov r1, r2
3833 .LVL244:
1901:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3834 .loc 1 1901 5 is_stmt 1 view .LVU1306
1901:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3835 .loc 1 1901 9 is_stmt 0 view .LVU1307
3836 0016 2268 ldr r2, [r4]
3837 .LVL245:
1901:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3838 .loc 1 1901 9 view .LVU1308
3839 0018 9269 ldr r2, [r2, #24]
1901:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3840 .loc 1 1901 8 view .LVU1309
3841 001a 12F4004F tst r2, #32768
3842 001e 40F08880 bne .L279
1907:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3843 .loc 1 1907 5 is_stmt 1 view .LVU1310
1907:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3844 .loc 1 1907 5 view .LVU1311
3845 0022 94F84020 ldrb r2, [r4, #64] @ zero_extendqisi2
3846 0026 012A cmp r2, #1
3847 0028 00F08580 beq .L280
1907:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3848 .loc 1 1907 5 discriminator 2 view .LVU1312
3849 002c 0122 movs r2, #1
3850 002e 84F84020 strb r2, [r4, #64]
1907:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3851 .loc 1 1907 5 discriminator 2 view .LVU1313
1909:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
3852 .loc 1 1909 5 view .LVU1314
1909:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
3853 .loc 1 1909 23 is_stmt 0 view .LVU1315
3854 0032 2122 movs r2, #33
3855 0034 84F84120 strb r2, [r4, #65]
1910:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
3856 .loc 1 1910 5 is_stmt 1 view .LVU1316
1910:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
3857 .loc 1 1910 23 is_stmt 0 view .LVU1317
3858 0038 1022 movs r2, #16
3859 003a 84F84220 strb r2, [r4, #66]
1911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3860 .loc 1 1911 5 is_stmt 1 view .LVU1318
1911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3861 .loc 1 1911 23 is_stmt 0 view .LVU1319
3862 003e 0022 movs r2, #0
3863 0040 6264 str r2, [r4, #68]
1914:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
3864 .loc 1 1914 5 is_stmt 1 view .LVU1320
1914:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
3865 .loc 1 1914 23 is_stmt 0 view .LVU1321
3866 0042 6162 str r1, [r4, #36]
ARM GAS /tmp/ccNVyn8W.s page 217
1915:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
3867 .loc 1 1915 5 is_stmt 1 view .LVU1322
1915:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
3868 .loc 1 1915 23 is_stmt 0 view .LVU1323
3869 0044 6385 strh r3, [r4, #42] @ movhi
1916:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA;
3870 .loc 1 1916 5 is_stmt 1 view .LVU1324
1916:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA;
3871 .loc 1 1916 23 is_stmt 0 view .LVU1325
3872 0046 3D4B ldr r3, .L284
3873 .LVL246:
1916:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA;
3874 .loc 1 1916 23 view .LVU1326
3875 0048 E362 str r3, [r4, #44]
3876 .LVL247:
1917:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3877 .loc 1 1917 5 is_stmt 1 view .LVU1327
1917:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3878 .loc 1 1917 23 is_stmt 0 view .LVU1328
3879 004a 3D4B ldr r3, .L284+4
3880 004c 6363 str r3, [r4, #52]
1919:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3881 .loc 1 1919 5 is_stmt 1 view .LVU1329
1919:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3882 .loc 1 1919 13 is_stmt 0 view .LVU1330
3883 004e 638D ldrh r3, [r4, #42]
3884 0050 9BB2 uxth r3, r3
1919:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3885 .loc 1 1919 8 view .LVU1331
3886 0052 FF2B cmp r3, #255
3887 0054 27D9 bls .L271
1921:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
3888 .loc 1 1921 7 is_stmt 1 view .LVU1332
1921:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
3889 .loc 1 1921 22 is_stmt 0 view .LVU1333
3890 0056 FF23 movs r3, #255
3891 0058 2385 strh r3, [r4, #40] @ movhi
1922:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3892 .loc 1 1922 7 is_stmt 1 view .LVU1334
3893 .LVL248:
1922:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3894 .loc 1 1922 16 is_stmt 0 view .LVU1335
3895 005a 4FF08076 mov r6, #16777216
3896 .LVL249:
3897 .L272:
1930:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3898 .loc 1 1930 5 is_stmt 1 view .LVU1336
1930:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3899 .loc 1 1930 13 is_stmt 0 view .LVU1337
3900 005e 228D ldrh r2, [r4, #40]
1930:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3901 .loc 1 1930 8 view .LVU1338
3902 0060 002A cmp r2, #0
3903 0062 4FD0 beq .L273
1932:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3904 .loc 1 1932 7 is_stmt 1 view .LVU1339
1932:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
ARM GAS /tmp/ccNVyn8W.s page 218
3905 .loc 1 1932 15 is_stmt 0 view .LVU1340
3906 0064 A36B ldr r3, [r4, #56]
1932:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3907 .loc 1 1932 10 view .LVU1341
3908 0066 1BB3 cbz r3, .L274
1935:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3909 .loc 1 1935 9 is_stmt 1 view .LVU1342
1935:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3910 .loc 1 1935 40 is_stmt 0 view .LVU1343
3911 0068 364A ldr r2, .L284+8
3912 006a 9A62 str r2, [r3, #40]
1938:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3913 .loc 1 1938 9 is_stmt 1 view .LVU1344
1938:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3914 .loc 1 1938 13 is_stmt 0 view .LVU1345
3915 006c A36B ldr r3, [r4, #56]
1938:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3916 .loc 1 1938 41 view .LVU1346
3917 006e 364A ldr r2, .L284+12
3918 0070 1A63 str r2, [r3, #48]
1941:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
3919 .loc 1 1941 9 is_stmt 1 view .LVU1347
1941:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
3920 .loc 1 1941 13 is_stmt 0 view .LVU1348
3921 0072 A26B ldr r2, [r4, #56]
1941:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
3922 .loc 1 1941 44 view .LVU1349
3923 0074 0023 movs r3, #0
3924 0076 D362 str r3, [r2, #44]
1942:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3925 .loc 1 1942 9 is_stmt 1 view .LVU1350
1942:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3926 .loc 1 1942 13 is_stmt 0 view .LVU1351
3927 0078 A26B ldr r2, [r4, #56]
1942:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3928 .loc 1 1942 41 view .LVU1352
3929 007a 5363 str r3, [r2, #52]
1945:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize);
3930 .loc 1 1945 9 is_stmt 1 view .LVU1353
1945:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize);
3931 .loc 1 1945 88 is_stmt 0 view .LVU1354
3932 007c 2268 ldr r2, [r4]
1945:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize);
3933 .loc 1 1945 25 view .LVU1355
3934 007e 238D ldrh r3, [r4, #40]
3935 0080 2832 adds r2, r2, #40
3936 0082 A06B ldr r0, [r4, #56]
3937 0084 FFF7FEFF bl HAL_DMA_Start_IT
3938 .LVL250:
1963:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3939 .loc 1 1963 7 is_stmt 1 view .LVU1356
1963:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
3940 .loc 1 1963 10 is_stmt 0 view .LVU1357
3941 0088 00B3 cbz r0, .L283
1987:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
3942 .loc 1 1987 9 is_stmt 1 view .LVU1358
1987:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
ARM GAS /tmp/ccNVyn8W.s page 219
3943 .loc 1 1987 25 is_stmt 0 view .LVU1359
3944 008a 2023 movs r3, #32
3945 008c 84F84130 strb r3, [r4, #65]
1988:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3946 .loc 1 1988 9 is_stmt 1 view .LVU1360
1988:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3947 .loc 1 1988 25 is_stmt 0 view .LVU1361
3948 0090 0022 movs r2, #0
3949 0092 84F84220 strb r2, [r4, #66]
1991:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3950 .loc 1 1991 9 is_stmt 1 view .LVU1362
1991:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3951 .loc 1 1991 13 is_stmt 0 view .LVU1363
3952 0096 636C ldr r3, [r4, #68]
1991:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3953 .loc 1 1991 25 view .LVU1364
3954 0098 43F01003 orr r3, r3, #16
3955 009c 6364 str r3, [r4, #68]
1994:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3956 .loc 1 1994 9 is_stmt 1 view .LVU1365
1994:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3957 .loc 1 1994 9 view .LVU1366
3958 009e 84F84020 strb r2, [r4, #64]
1994:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3959 .loc 1 1994 9 view .LVU1367
1996:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3960 .loc 1 1996 9 view .LVU1368
1996:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3961 .loc 1 1996 16 is_stmt 0 view .LVU1369
3962 00a2 0120 movs r0, #1
3963 .LVL251:
1996:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3964 .loc 1 1996 16 view .LVU1370
3965 00a4 43E0 b .L270
3966 .LVL252:
3967 .L271:
1926:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
3968 .loc 1 1926 7 is_stmt 1 view .LVU1371
1926:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
3969 .loc 1 1926 28 is_stmt 0 view .LVU1372
3970 00a6 638D ldrh r3, [r4, #42]
1926:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
3971 .loc 1 1926 22 view .LVU1373
3972 00a8 2385 strh r3, [r4, #40] @ movhi
1927:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3973 .loc 1 1927 7 is_stmt 1 view .LVU1374
3974 .LVL253:
1927:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3975 .loc 1 1927 16 is_stmt 0 view .LVU1375
3976 00aa 4FF00076 mov r6, #33554432
3977 00ae D6E7 b .L272
3978 .LVL254:
3979 .L274:
1951:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
3980 .loc 1 1951 9 is_stmt 1 view .LVU1376
1951:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
3981 .loc 1 1951 25 is_stmt 0 view .LVU1377
ARM GAS /tmp/ccNVyn8W.s page 220
3982 00b0 2023 movs r3, #32
3983 00b2 84F84130 strb r3, [r4, #65]
1952:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3984 .loc 1 1952 9 is_stmt 1 view .LVU1378
1952:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3985 .loc 1 1952 25 is_stmt 0 view .LVU1379
3986 00b6 0022 movs r2, #0
3987 00b8 84F84220 strb r2, [r4, #66]
1955:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3988 .loc 1 1955 9 is_stmt 1 view .LVU1380
1955:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3989 .loc 1 1955 13 is_stmt 0 view .LVU1381
3990 00bc 636C ldr r3, [r4, #68]
1955:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3991 .loc 1 1955 25 view .LVU1382
3992 00be 43F08003 orr r3, r3, #128
3993 00c2 6364 str r3, [r4, #68]
1958:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3994 .loc 1 1958 9 is_stmt 1 view .LVU1383
1958:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3995 .loc 1 1958 9 view .LVU1384
3996 00c4 84F84020 strb r2, [r4, #64]
1958:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
3997 .loc 1 1958 9 view .LVU1385
1960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3998 .loc 1 1960 9 view .LVU1386
1960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
3999 .loc 1 1960 16 is_stmt 0 view .LVU1387
4000 00c8 0120 movs r0, #1
4001 00ca 30E0 b .L270
4002 .LVL255:
4003 .L283:
1967:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4004 .loc 1 1967 9 is_stmt 1 view .LVU1388
4005 00cc 1F4B ldr r3, .L284+16
4006 00ce 0093 str r3, [sp]
4007 00d0 3346 mov r3, r6
4008 00d2 94F82820 ldrb r2, [r4, #40] @ zero_extendqisi2
4009 00d6 2946 mov r1, r5
4010 00d8 2046 mov r0, r4
4011 .LVL256:
1967:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4012 .loc 1 1967 9 is_stmt 0 view .LVU1389
4013 00da FFF7FEFF bl I2C_TransferConfig
4014 .LVL257:
1970:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4015 .loc 1 1970 9 is_stmt 1 view .LVU1390
1970:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4016 .loc 1 1970 13 is_stmt 0 view .LVU1391
4017 00de 638D ldrh r3, [r4, #42]
4018 00e0 9BB2 uxth r3, r3
1970:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4019 .loc 1 1970 32 view .LVU1392
4020 00e2 228D ldrh r2, [r4, #40]
1970:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4021 .loc 1 1970 25 view .LVU1393
4022 00e4 9B1A subs r3, r3, r2
ARM GAS /tmp/ccNVyn8W.s page 221
4023 00e6 9BB2 uxth r3, r3
4024 00e8 6385 strh r3, [r4, #42] @ movhi
1973:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4025 .loc 1 1973 9 is_stmt 1 view .LVU1394
1973:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4026 .loc 1 1973 9 view .LVU1395
4027 00ea 0023 movs r3, #0
4028 00ec 84F84030 strb r3, [r4, #64]
1973:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4029 .loc 1 1973 9 view .LVU1396
1979:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4030 .loc 1 1979 9 view .LVU1397
4031 00f0 1021 movs r1, #16
4032 00f2 2046 mov r0, r4
4033 00f4 FFF7FEFF bl I2C_Enable_IRQ
4034 .LVL258:
1982:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4035 .loc 1 1982 9 view .LVU1398
1982:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4036 .loc 1 1982 13 is_stmt 0 view .LVU1399
4037 00f8 2268 ldr r2, [r4]
1982:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4038 .loc 1 1982 23 view .LVU1400
4039 00fa 1368 ldr r3, [r2]
1982:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4040 .loc 1 1982 29 view .LVU1401
4041 00fc 43F48043 orr r3, r3, #16384
4042 0100 1360 str r3, [r2]
4043 0102 11E0 b .L277
4044 .LVL259:
4045 .L273:
2002:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4046 .loc 1 2002 7 is_stmt 1 view .LVU1402
2002:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4047 .loc 1 2002 21 is_stmt 0 view .LVU1403
4048 0104 124B ldr r3, .L284+20
4049 0106 6363 str r3, [r4, #52]
2006:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_GENERATE_START_WRITE);
4050 .loc 1 2006 7 is_stmt 1 view .LVU1404
4051 0108 104B ldr r3, .L284+16
4052 010a 0093 str r3, [sp]
4053 010c 4FF00073 mov r3, #33554432
4054 0110 D2B2 uxtb r2, r2
4055 0112 2946 mov r1, r5
4056 .LVL260:
2006:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_GENERATE_START_WRITE);
4057 .loc 1 2006 7 is_stmt 0 view .LVU1405
4058 0114 2046 mov r0, r4
4059 0116 FFF7FEFF bl I2C_TransferConfig
4060 .LVL261:
2010:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4061 .loc 1 2010 7 is_stmt 1 view .LVU1406
2010:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4062 .loc 1 2010 7 view .LVU1407
4063 011a 0023 movs r3, #0
4064 011c 84F84030 strb r3, [r4, #64]
2010:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
ARM GAS /tmp/ccNVyn8W.s page 222
4065 .loc 1 2010 7 view .LVU1408
2019:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4066 .loc 1 2019 7 view .LVU1409
4067 0120 0121 movs r1, #1
4068 0122 2046 mov r0, r4
4069 0124 FFF7FEFF bl I2C_Enable_IRQ
4070 .LVL262:
4071 .L277:
2022:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4072 .loc 1 2022 5 view .LVU1410
2022:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4073 .loc 1 2022 12 is_stmt 0 view .LVU1411
4074 0128 0020 movs r0, #0
4075 012a 00E0 b .L270
4076 .LVL263:
4077 .L278:
2026:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4078 .loc 1 2026 12 view .LVU1412
4079 012c 0220 movs r0, #2
4080 .LVL264:
4081 .L270:
2028:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4082 .loc 1 2028 1 view .LVU1413
4083 012e 02B0 add sp, sp, #8
4084 .cfi_remember_state
4085 .cfi_def_cfa_offset 16
4086 @ sp needed
4087 0130 70BD pop {r4, r5, r6, pc}
4088 .LVL265:
4089 .L279:
4090 .cfi_restore_state
1903:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4091 .loc 1 1903 14 view .LVU1414
4092 0132 0220 movs r0, #2
4093 0134 FBE7 b .L270
4094 .L280:
1907:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4095 .loc 1 1907 5 discriminator 1 view .LVU1415
4096 0136 0220 movs r0, #2
4097 0138 F9E7 b .L270
4098 .L285:
4099 013a 00BF .align 2
4100 .L284:
4101 013c 0000FFFF .word -65536
4102 0140 00000000 .word I2C_Master_ISR_DMA
4103 0144 00000000 .word I2C_DMAMasterTransmitCplt
4104 0148 00000000 .word I2C_DMAError
4105 014c 00200080 .word -2147475456
4106 0150 00000000 .word I2C_Master_ISR_IT
4107 .cfi_endproc
4108 .LFE142:
4110 .section .text.HAL_I2C_Master_Receive_DMA,"ax",%progbits
4111 .align 1
4112 .global HAL_I2C_Master_Receive_DMA
4113 .syntax unified
4114 .thumb
4115 .thumb_func
ARM GAS /tmp/ccNVyn8W.s page 223
4117 HAL_I2C_Master_Receive_DMA:
4118 .LVL266:
4119 .LFB143:
2042:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode;
4120 .loc 1 2042 1 is_stmt 1 view -0
4121 .cfi_startproc
4122 @ args = 0, pretend = 0, frame = 0
4123 @ frame_needed = 0, uses_anonymous_args = 0
2042:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode;
4124 .loc 1 2042 1 is_stmt 0 view .LVU1417
4125 0000 70B5 push {r4, r5, r6, lr}
4126 .cfi_def_cfa_offset 16
4127 .cfi_offset 4, -16
4128 .cfi_offset 5, -12
4129 .cfi_offset 6, -8
4130 .cfi_offset 14, -4
4131 0002 82B0 sub sp, sp, #8
4132 .cfi_def_cfa_offset 24
4133 0004 0446 mov r4, r0
2043:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
4134 .loc 1 2043 3 is_stmt 1 view .LVU1418
2044:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4135 .loc 1 2044 3 view .LVU1419
2046:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4136 .loc 1 2046 3 view .LVU1420
2046:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4137 .loc 1 2046 11 is_stmt 0 view .LVU1421
4138 0006 90F84100 ldrb r0, [r0, #65] @ zero_extendqisi2
4139 .LVL267:
2046:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4140 .loc 1 2046 11 view .LVU1422
4141 000a C0B2 uxtb r0, r0
2046:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4142 .loc 1 2046 6 view .LVU1423
4143 000c 2028 cmp r0, #32
4144 000e 40F08C80 bne .L295
4145 0012 0D46 mov r5, r1
2048:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4146 .loc 1 2048 5 is_stmt 1 view .LVU1424
2048:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4147 .loc 1 2048 9 is_stmt 0 view .LVU1425
4148 0014 2168 ldr r1, [r4]
4149 .LVL268:
2048:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4150 .loc 1 2048 9 view .LVU1426
4151 0016 8969 ldr r1, [r1, #24]
2048:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4152 .loc 1 2048 8 view .LVU1427
4153 0018 11F4004F tst r1, #32768
4154 001c 40F08880 bne .L296
2054:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4155 .loc 1 2054 5 is_stmt 1 view .LVU1428
2054:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4156 .loc 1 2054 5 view .LVU1429
4157 0020 94F84010 ldrb r1, [r4, #64] @ zero_extendqisi2
4158 0024 0129 cmp r1, #1
4159 0026 00F08580 beq .L297
ARM GAS /tmp/ccNVyn8W.s page 224
2054:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4160 .loc 1 2054 5 discriminator 2 view .LVU1430
4161 002a 0121 movs r1, #1
4162 002c 84F84010 strb r1, [r4, #64]
2054:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4163 .loc 1 2054 5 discriminator 2 view .LVU1431
2056:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
4164 .loc 1 2056 5 view .LVU1432
2056:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
4165 .loc 1 2056 23 is_stmt 0 view .LVU1433
4166 0030 2221 movs r1, #34
4167 0032 84F84110 strb r1, [r4, #65]
2057:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
4168 .loc 1 2057 5 is_stmt 1 view .LVU1434
2057:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
4169 .loc 1 2057 23 is_stmt 0 view .LVU1435
4170 0036 1021 movs r1, #16
4171 0038 84F84210 strb r1, [r4, #66]
2058:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4172 .loc 1 2058 5 is_stmt 1 view .LVU1436
2058:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4173 .loc 1 2058 23 is_stmt 0 view .LVU1437
4174 003c 0021 movs r1, #0
4175 003e 6164 str r1, [r4, #68]
2061:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
4176 .loc 1 2061 5 is_stmt 1 view .LVU1438
2061:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
4177 .loc 1 2061 23 is_stmt 0 view .LVU1439
4178 0040 6262 str r2, [r4, #36]
2062:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
4179 .loc 1 2062 5 is_stmt 1 view .LVU1440
2062:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
4180 .loc 1 2062 23 is_stmt 0 view .LVU1441
4181 0042 6385 strh r3, [r4, #42] @ movhi
2063:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA;
4182 .loc 1 2063 5 is_stmt 1 view .LVU1442
2063:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA;
4183 .loc 1 2063 23 is_stmt 0 view .LVU1443
4184 0044 3C4B ldr r3, .L301
4185 .LVL269:
2063:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA;
4186 .loc 1 2063 23 view .LVU1444
4187 0046 E362 str r3, [r4, #44]
4188 .LVL270:
2064:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4189 .loc 1 2064 5 is_stmt 1 view .LVU1445
2064:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4190 .loc 1 2064 23 is_stmt 0 view .LVU1446
4191 0048 3C4B ldr r3, .L301+4
4192 004a 6363 str r3, [r4, #52]
2066:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4193 .loc 1 2066 5 is_stmt 1 view .LVU1447
2066:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4194 .loc 1 2066 13 is_stmt 0 view .LVU1448
4195 004c 638D ldrh r3, [r4, #42]
4196 004e 9BB2 uxth r3, r3
2066:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
ARM GAS /tmp/ccNVyn8W.s page 225
4197 .loc 1 2066 8 view .LVU1449
4198 0050 FF2B cmp r3, #255
4199 0052 27D9 bls .L288
2068:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
4200 .loc 1 2068 7 is_stmt 1 view .LVU1450
2068:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
4201 .loc 1 2068 22 is_stmt 0 view .LVU1451
4202 0054 FF23 movs r3, #255
4203 0056 2385 strh r3, [r4, #40] @ movhi
2069:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4204 .loc 1 2069 7 is_stmt 1 view .LVU1452
4205 .LVL271:
2069:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4206 .loc 1 2069 16 is_stmt 0 view .LVU1453
4207 0058 4FF08076 mov r6, #16777216
4208 .LVL272:
4209 .L289:
2077:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4210 .loc 1 2077 5 is_stmt 1 view .LVU1454
2077:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4211 .loc 1 2077 13 is_stmt 0 view .LVU1455
4212 005c 218D ldrh r1, [r4, #40]
2077:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4213 .loc 1 2077 8 view .LVU1456
4214 005e 0029 cmp r1, #0
4215 0060 4FD0 beq .L290
2079:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4216 .loc 1 2079 7 is_stmt 1 view .LVU1457
2079:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4217 .loc 1 2079 15 is_stmt 0 view .LVU1458
4218 0062 E36B ldr r3, [r4, #60]
2079:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4219 .loc 1 2079 10 view .LVU1459
4220 0064 1BB3 cbz r3, .L291
2082:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4221 .loc 1 2082 9 is_stmt 1 view .LVU1460
2082:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4222 .loc 1 2082 40 is_stmt 0 view .LVU1461
4223 0066 3649 ldr r1, .L301+8
4224 0068 9962 str r1, [r3, #40]
2085:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4225 .loc 1 2085 9 is_stmt 1 view .LVU1462
2085:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4226 .loc 1 2085 13 is_stmt 0 view .LVU1463
4227 006a E36B ldr r3, [r4, #60]
2085:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4228 .loc 1 2085 41 view .LVU1464
4229 006c 3549 ldr r1, .L301+12
4230 006e 1963 str r1, [r3, #48]
2088:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
4231 .loc 1 2088 9 is_stmt 1 view .LVU1465
2088:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
4232 .loc 1 2088 13 is_stmt 0 view .LVU1466
4233 0070 E16B ldr r1, [r4, #60]
2088:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
4234 .loc 1 2088 44 view .LVU1467
4235 0072 0023 movs r3, #0
ARM GAS /tmp/ccNVyn8W.s page 226
4236 0074 CB62 str r3, [r1, #44]
2089:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4237 .loc 1 2089 9 is_stmt 1 view .LVU1468
2089:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4238 .loc 1 2089 13 is_stmt 0 view .LVU1469
4239 0076 E16B ldr r1, [r4, #60]
2089:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4240 .loc 1 2089 41 view .LVU1470
4241 0078 4B63 str r3, [r1, #52]
2092:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize);
4242 .loc 1 2092 9 is_stmt 1 view .LVU1471
2092:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize);
4243 .loc 1 2092 71 is_stmt 0 view .LVU1472
4244 007a 2168 ldr r1, [r4]
2092:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize);
4245 .loc 1 2092 25 view .LVU1473
4246 007c 238D ldrh r3, [r4, #40]
4247 007e 2431 adds r1, r1, #36
4248 0080 E06B ldr r0, [r4, #60]
4249 0082 FFF7FEFF bl HAL_DMA_Start_IT
4250 .LVL273:
2110:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4251 .loc 1 2110 7 is_stmt 1 view .LVU1474
2110:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4252 .loc 1 2110 10 is_stmt 0 view .LVU1475
4253 0086 00B3 cbz r0, .L300
2134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
4254 .loc 1 2134 9 is_stmt 1 view .LVU1476
2134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
4255 .loc 1 2134 25 is_stmt 0 view .LVU1477
4256 0088 2023 movs r3, #32
4257 008a 84F84130 strb r3, [r4, #65]
2135:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4258 .loc 1 2135 9 is_stmt 1 view .LVU1478
2135:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4259 .loc 1 2135 25 is_stmt 0 view .LVU1479
4260 008e 0022 movs r2, #0
4261 0090 84F84220 strb r2, [r4, #66]
2138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4262 .loc 1 2138 9 is_stmt 1 view .LVU1480
2138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4263 .loc 1 2138 13 is_stmt 0 view .LVU1481
4264 0094 636C ldr r3, [r4, #68]
2138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4265 .loc 1 2138 25 view .LVU1482
4266 0096 43F01003 orr r3, r3, #16
4267 009a 6364 str r3, [r4, #68]
2141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4268 .loc 1 2141 9 is_stmt 1 view .LVU1483
2141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4269 .loc 1 2141 9 view .LVU1484
4270 009c 84F84020 strb r2, [r4, #64]
2141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4271 .loc 1 2141 9 view .LVU1485
2143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4272 .loc 1 2143 9 view .LVU1486
2143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
ARM GAS /tmp/ccNVyn8W.s page 227
4273 .loc 1 2143 16 is_stmt 0 view .LVU1487
4274 00a0 0120 movs r0, #1
4275 .LVL274:
2143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4276 .loc 1 2143 16 view .LVU1488
4277 00a2 43E0 b .L287
4278 .LVL275:
4279 .L288:
2073:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
4280 .loc 1 2073 7 is_stmt 1 view .LVU1489
2073:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
4281 .loc 1 2073 28 is_stmt 0 view .LVU1490
4282 00a4 638D ldrh r3, [r4, #42]
2073:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
4283 .loc 1 2073 22 view .LVU1491
4284 00a6 2385 strh r3, [r4, #40] @ movhi
2074:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4285 .loc 1 2074 7 is_stmt 1 view .LVU1492
4286 .LVL276:
2074:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4287 .loc 1 2074 16 is_stmt 0 view .LVU1493
4288 00a8 4FF00076 mov r6, #33554432
4289 00ac D6E7 b .L289
4290 .LVL277:
4291 .L291:
2098:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
4292 .loc 1 2098 9 is_stmt 1 view .LVU1494
2098:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
4293 .loc 1 2098 25 is_stmt 0 view .LVU1495
4294 00ae 2023 movs r3, #32
4295 00b0 84F84130 strb r3, [r4, #65]
2099:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4296 .loc 1 2099 9 is_stmt 1 view .LVU1496
2099:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4297 .loc 1 2099 25 is_stmt 0 view .LVU1497
4298 00b4 0022 movs r2, #0
4299 .LVL278:
2099:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4300 .loc 1 2099 25 view .LVU1498
4301 00b6 84F84220 strb r2, [r4, #66]
2102:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4302 .loc 1 2102 9 is_stmt 1 view .LVU1499
2102:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4303 .loc 1 2102 13 is_stmt 0 view .LVU1500
4304 00ba 636C ldr r3, [r4, #68]
2102:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4305 .loc 1 2102 25 view .LVU1501
4306 00bc 43F08003 orr r3, r3, #128
4307 00c0 6364 str r3, [r4, #68]
2105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4308 .loc 1 2105 9 is_stmt 1 view .LVU1502
2105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4309 .loc 1 2105 9 view .LVU1503
4310 00c2 84F84020 strb r2, [r4, #64]
2105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4311 .loc 1 2105 9 view .LVU1504
2107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
ARM GAS /tmp/ccNVyn8W.s page 228
4312 .loc 1 2107 9 view .LVU1505
2107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4313 .loc 1 2107 16 is_stmt 0 view .LVU1506
4314 00c6 0120 movs r0, #1
4315 00c8 30E0 b .L287
4316 .LVL279:
4317 .L300:
2114:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4318 .loc 1 2114 9 is_stmt 1 view .LVU1507
4319 00ca 1F4B ldr r3, .L301+16
4320 00cc 0093 str r3, [sp]
4321 00ce 3346 mov r3, r6
4322 00d0 94F82820 ldrb r2, [r4, #40] @ zero_extendqisi2
4323 00d4 2946 mov r1, r5
4324 00d6 2046 mov r0, r4
4325 .LVL280:
2114:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4326 .loc 1 2114 9 is_stmt 0 view .LVU1508
4327 00d8 FFF7FEFF bl I2C_TransferConfig
4328 .LVL281:
2117:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4329 .loc 1 2117 9 is_stmt 1 view .LVU1509
2117:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4330 .loc 1 2117 13 is_stmt 0 view .LVU1510
4331 00dc 638D ldrh r3, [r4, #42]
4332 00de 9BB2 uxth r3, r3
2117:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4333 .loc 1 2117 32 view .LVU1511
4334 00e0 228D ldrh r2, [r4, #40]
2117:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4335 .loc 1 2117 25 view .LVU1512
4336 00e2 9B1A subs r3, r3, r2
4337 00e4 9BB2 uxth r3, r3
4338 00e6 6385 strh r3, [r4, #42] @ movhi
2120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4339 .loc 1 2120 9 is_stmt 1 view .LVU1513
2120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4340 .loc 1 2120 9 view .LVU1514
4341 00e8 0023 movs r3, #0
4342 00ea 84F84030 strb r3, [r4, #64]
2120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4343 .loc 1 2120 9 view .LVU1515
2126:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4344 .loc 1 2126 9 view .LVU1516
4345 00ee 1021 movs r1, #16
4346 00f0 2046 mov r0, r4
4347 00f2 FFF7FEFF bl I2C_Enable_IRQ
4348 .LVL282:
2129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4349 .loc 1 2129 9 view .LVU1517
2129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4350 .loc 1 2129 13 is_stmt 0 view .LVU1518
4351 00f6 2268 ldr r2, [r4]
2129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4352 .loc 1 2129 23 view .LVU1519
4353 00f8 1368 ldr r3, [r2]
2129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
ARM GAS /tmp/ccNVyn8W.s page 229
4354 .loc 1 2129 29 view .LVU1520
4355 00fa 43F40043 orr r3, r3, #32768
4356 00fe 1360 str r3, [r2]
4357 0100 11E0 b .L294
4358 .LVL283:
4359 .L290:
2149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4360 .loc 1 2149 7 is_stmt 1 view .LVU1521
2149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4361 .loc 1 2149 21 is_stmt 0 view .LVU1522
4362 0102 124B ldr r3, .L301+20
4363 0104 6363 str r3, [r4, #52]
2153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_GENERATE_START_READ);
4364 .loc 1 2153 7 is_stmt 1 view .LVU1523
4365 0106 104B ldr r3, .L301+16
4366 0108 0093 str r3, [sp]
4367 010a 4FF00073 mov r3, #33554432
4368 010e CAB2 uxtb r2, r1
4369 .LVL284:
2153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_GENERATE_START_READ);
4370 .loc 1 2153 7 is_stmt 0 view .LVU1524
4371 0110 2946 mov r1, r5
4372 0112 2046 mov r0, r4
4373 0114 FFF7FEFF bl I2C_TransferConfig
4374 .LVL285:
2157:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4375 .loc 1 2157 7 is_stmt 1 view .LVU1525
2157:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4376 .loc 1 2157 7 view .LVU1526
4377 0118 0023 movs r3, #0
4378 011a 84F84030 strb r3, [r4, #64]
2157:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4379 .loc 1 2157 7 view .LVU1527
2166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4380 .loc 1 2166 7 view .LVU1528
4381 011e 0121 movs r1, #1
4382 0120 2046 mov r0, r4
4383 0122 FFF7FEFF bl I2C_Enable_IRQ
4384 .LVL286:
4385 .L294:
2169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4386 .loc 1 2169 5 view .LVU1529
2169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4387 .loc 1 2169 12 is_stmt 0 view .LVU1530
4388 0126 0020 movs r0, #0
4389 0128 00E0 b .L287
4390 .LVL287:
4391 .L295:
2173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4392 .loc 1 2173 12 view .LVU1531
4393 012a 0220 movs r0, #2
4394 .LVL288:
4395 .L287:
2175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4396 .loc 1 2175 1 view .LVU1532
4397 012c 02B0 add sp, sp, #8
4398 .cfi_remember_state
ARM GAS /tmp/ccNVyn8W.s page 230
4399 .cfi_def_cfa_offset 16
4400 @ sp needed
4401 012e 70BD pop {r4, r5, r6, pc}
4402 .LVL289:
4403 .L296:
4404 .cfi_restore_state
2050:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4405 .loc 1 2050 14 view .LVU1533
4406 0130 0220 movs r0, #2
4407 0132 FBE7 b .L287
4408 .L297:
2054:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4409 .loc 1 2054 5 discriminator 1 view .LVU1534
4410 0134 0220 movs r0, #2
4411 0136 F9E7 b .L287
4412 .L302:
4413 .align 2
4414 .L301:
4415 0138 0000FFFF .word -65536
4416 013c 00000000 .word I2C_Master_ISR_DMA
4417 0140 00000000 .word I2C_DMAMasterReceiveCplt
4418 0144 00000000 .word I2C_DMAError
4419 0148 00240080 .word -2147474432
4420 014c 00000000 .word I2C_Master_ISR_IT
4421 .cfi_endproc
4422 .LFE143:
4424 .section .text.HAL_I2C_Slave_Transmit_DMA,"ax",%progbits
4425 .align 1
4426 .global HAL_I2C_Slave_Transmit_DMA
4427 .syntax unified
4428 .thumb
4429 .thumb_func
4431 HAL_I2C_Slave_Transmit_DMA:
4432 .LVL290:
4433 .LFB144:
2186:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
4434 .loc 1 2186 1 is_stmt 1 view -0
4435 .cfi_startproc
4436 @ args = 0, pretend = 0, frame = 0
4437 @ frame_needed = 0, uses_anonymous_args = 0
2187:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4438 .loc 1 2187 3 view .LVU1536
2189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4439 .loc 1 2189 3 view .LVU1537
2189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4440 .loc 1 2189 11 is_stmt 0 view .LVU1538
4441 0000 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2
4442 0004 DBB2 uxtb r3, r3
2189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4443 .loc 1 2189 6 view .LVU1539
4444 0006 202B cmp r3, #32
4445 0008 40F08D80 bne .L313
2186:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
4446 .loc 1 2186 1 view .LVU1540
4447 000c 10B5 push {r4, lr}
4448 .cfi_def_cfa_offset 8
4449 .cfi_offset 4, -8
ARM GAS /tmp/ccNVyn8W.s page 231
4450 .cfi_offset 14, -4
4451 000e 0446 mov r4, r0
2191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4452 .loc 1 2191 5 is_stmt 1 view .LVU1541
2191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4453 .loc 1 2191 8 is_stmt 0 view .LVU1542
4454 0010 0029 cmp r1, #0
4455 0012 44D0 beq .L305
2191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4456 .loc 1 2191 25 discriminator 1 view .LVU1543
4457 0014 002A cmp r2, #0
4458 0016 42D0 beq .L305
2197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4459 .loc 1 2197 5 is_stmt 1 view .LVU1544
2197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4460 .loc 1 2197 5 view .LVU1545
4461 0018 90F84030 ldrb r3, [r0, #64] @ zero_extendqisi2
4462 001c 012B cmp r3, #1
4463 001e 00F08480 beq .L314
2197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4464 .loc 1 2197 5 discriminator 2 view .LVU1546
4465 0022 0123 movs r3, #1
4466 0024 80F84030 strb r3, [r0, #64]
2197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4467 .loc 1 2197 5 discriminator 2 view .LVU1547
2199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
4468 .loc 1 2199 5 view .LVU1548
2199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
4469 .loc 1 2199 23 is_stmt 0 view .LVU1549
4470 0028 2123 movs r3, #33
4471 002a 80F84130 strb r3, [r0, #65]
2200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
4472 .loc 1 2200 5 is_stmt 1 view .LVU1550
2200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
4473 .loc 1 2200 23 is_stmt 0 view .LVU1551
4474 002e 2023 movs r3, #32
4475 0030 80F84230 strb r3, [r0, #66]
2201:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4476 .loc 1 2201 5 is_stmt 1 view .LVU1552
2201:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4477 .loc 1 2201 23 is_stmt 0 view .LVU1553
4478 0034 0023 movs r3, #0
4479 0036 4364 str r3, [r0, #68]
2204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
4480 .loc 1 2204 5 is_stmt 1 view .LVU1554
2204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
4481 .loc 1 2204 23 is_stmt 0 view .LVU1555
4482 0038 4162 str r1, [r0, #36]
2205:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
4483 .loc 1 2205 5 is_stmt 1 view .LVU1556
2205:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
4484 .loc 1 2205 23 is_stmt 0 view .LVU1557
4485 003a 4285 strh r2, [r0, #42] @ movhi
2206:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
4486 .loc 1 2206 5 is_stmt 1 view .LVU1558
2206:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
4487 .loc 1 2206 29 is_stmt 0 view .LVU1559
ARM GAS /tmp/ccNVyn8W.s page 232
4488 003c 438D ldrh r3, [r0, #42]
2206:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
4489 .loc 1 2206 23 view .LVU1560
4490 003e 0385 strh r3, [r0, #40] @ movhi
2207:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_DMA;
4491 .loc 1 2207 5 is_stmt 1 view .LVU1561
2207:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_DMA;
4492 .loc 1 2207 23 is_stmt 0 view .LVU1562
4493 0040 3B4B ldr r3, .L322
4494 0042 C362 str r3, [r0, #44]
2208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4495 .loc 1 2208 5 is_stmt 1 view .LVU1563
2208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4496 .loc 1 2208 23 is_stmt 0 view .LVU1564
4497 0044 3B4B ldr r3, .L322+4
4498 0046 4363 str r3, [r0, #52]
2211:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4499 .loc 1 2211 5 is_stmt 1 view .LVU1565
2211:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4500 .loc 1 2211 19 is_stmt 0 view .LVU1566
4501 0048 036A ldr r3, [r0, #32]
2211:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4502 .loc 1 2211 8 view .LVU1567
4503 004a B3F5003F cmp r3, #131072
4504 004e 2BD0 beq .L320
4505 .LVL291:
4506 .L307:
2224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4507 .loc 1 2224 5 is_stmt 1 view .LVU1568
2224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4508 .loc 1 2224 13 is_stmt 0 view .LVU1569
4509 0050 638D ldrh r3, [r4, #42]
4510 0052 9BB2 uxth r3, r3
2224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4511 .loc 1 2224 8 view .LVU1570
4512 0054 002B cmp r3, #0
4513 0056 57D0 beq .L308
2226:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4514 .loc 1 2226 7 is_stmt 1 view .LVU1571
2226:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4515 .loc 1 2226 15 is_stmt 0 view .LVU1572
4516 0058 A36B ldr r3, [r4, #56]
2226:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4517 .loc 1 2226 10 view .LVU1573
4518 005a 002B cmp r3, #0
4519 005c 33D0 beq .L309
2229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4520 .loc 1 2229 9 is_stmt 1 view .LVU1574
2229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4521 .loc 1 2229 40 is_stmt 0 view .LVU1575
4522 005e 364A ldr r2, .L322+8
4523 0060 9A62 str r2, [r3, #40]
2232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4524 .loc 1 2232 9 is_stmt 1 view .LVU1576
2232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4525 .loc 1 2232 13 is_stmt 0 view .LVU1577
4526 0062 A36B ldr r3, [r4, #56]
ARM GAS /tmp/ccNVyn8W.s page 233
2232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4527 .loc 1 2232 41 view .LVU1578
4528 0064 354A ldr r2, .L322+12
4529 0066 1A63 str r2, [r3, #48]
2235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
4530 .loc 1 2235 9 is_stmt 1 view .LVU1579
2235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
4531 .loc 1 2235 13 is_stmt 0 view .LVU1580
4532 0068 A26B ldr r2, [r4, #56]
2235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
4533 .loc 1 2235 44 view .LVU1581
4534 006a 0023 movs r3, #0
4535 006c D362 str r3, [r2, #44]
2236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4536 .loc 1 2236 9 is_stmt 1 view .LVU1582
2236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4537 .loc 1 2236 13 is_stmt 0 view .LVU1583
4538 006e A26B ldr r2, [r4, #56]
2236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4539 .loc 1 2236 41 view .LVU1584
4540 0070 5363 str r3, [r2, #52]
2239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (uint32_t)hi2c->pBuffPtr, (uint32_t)&hi2c->Instance->TXDR,
4541 .loc 1 2239 9 is_stmt 1 view .LVU1585
2240:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize);
4542 .loc 1 2240 83 is_stmt 0 view .LVU1586
4543 0072 2268 ldr r2, [r4]
2239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (uint32_t)hi2c->pBuffPtr, (uint32_t)&hi2c->Instance->TXDR,
4544 .loc 1 2239 25 view .LVU1587
4545 0074 238D ldrh r3, [r4, #40]
4546 0076 2832 adds r2, r2, #40
4547 0078 616A ldr r1, [r4, #36]
4548 .LVL292:
2239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (uint32_t)hi2c->pBuffPtr, (uint32_t)&hi2c->Instance->TXDR,
4549 .loc 1 2239 25 view .LVU1588
4550 007a A06B ldr r0, [r4, #56]
4551 .LVL293:
2239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (uint32_t)hi2c->pBuffPtr, (uint32_t)&hi2c->Instance->TXDR,
4552 .loc 1 2239 25 view .LVU1589
4553 007c FFF7FEFF bl HAL_DMA_Start_IT
4554 .LVL294:
2258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4555 .loc 1 2258 7 is_stmt 1 view .LVU1590
2258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4556 .loc 1 2258 10 is_stmt 0 view .LVU1591
4557 0080 78B3 cbz r0, .L321
2278:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
4558 .loc 1 2278 9 is_stmt 1 view .LVU1592
2278:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
4559 .loc 1 2278 25 is_stmt 0 view .LVU1593
4560 0082 2823 movs r3, #40
4561 0084 84F84130 strb r3, [r4, #65]
2279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4562 .loc 1 2279 9 is_stmt 1 view .LVU1594
2279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4563 .loc 1 2279 25 is_stmt 0 view .LVU1595
4564 0088 0022 movs r2, #0
4565 008a 84F84220 strb r2, [r4, #66]
ARM GAS /tmp/ccNVyn8W.s page 234
2282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4566 .loc 1 2282 9 is_stmt 1 view .LVU1596
2282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4567 .loc 1 2282 13 is_stmt 0 view .LVU1597
4568 008e 636C ldr r3, [r4, #68]
2282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4569 .loc 1 2282 25 view .LVU1598
4570 0090 43F01003 orr r3, r3, #16
4571 0094 6364 str r3, [r4, #68]
2285:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4572 .loc 1 2285 9 is_stmt 1 view .LVU1599
2285:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4573 .loc 1 2285 9 view .LVU1600
4574 0096 84F84020 strb r2, [r4, #64]
2285:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4575 .loc 1 2285 9 view .LVU1601
2287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4576 .loc 1 2287 9 view .LVU1602
2287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4577 .loc 1 2287 16 is_stmt 0 view .LVU1603
4578 009a 0120 movs r0, #1
4579 .LVL295:
2287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4580 .loc 1 2287 16 view .LVU1604
4581 009c 03E0 b .L304
4582 .LVL296:
4583 .L305:
2193:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
4584 .loc 1 2193 7 is_stmt 1 view .LVU1605
2193:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
4585 .loc 1 2193 23 is_stmt 0 view .LVU1606
4586 009e 4FF40073 mov r3, #512
4587 00a2 6364 str r3, [r4, #68]
2194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4588 .loc 1 2194 7 is_stmt 1 view .LVU1607
2194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4589 .loc 1 2194 15 is_stmt 0 view .LVU1608
4590 00a4 0120 movs r0, #1
4591 .LVL297:
4592 .L304:
2311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4593 .loc 1 2311 1 view .LVU1609
4594 00a6 10BD pop {r4, pc}
4595 .LVL298:
4596 .L320:
2215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4597 .loc 1 2215 7 is_stmt 1 view .LVU1610
2215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4598 .loc 1 2215 11 is_stmt 0 view .LVU1611
4599 00a8 0368 ldr r3, [r0]
2215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4600 .loc 1 2215 30 view .LVU1612
4601 00aa 0A78 ldrb r2, [r1] @ zero_extendqisi2
4602 .LVL299:
2215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4603 .loc 1 2215 28 view .LVU1613
4604 00ac 9A62 str r2, [r3, #40]
ARM GAS /tmp/ccNVyn8W.s page 235
2218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4605 .loc 1 2218 7 is_stmt 1 view .LVU1614
2218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4606 .loc 1 2218 11 is_stmt 0 view .LVU1615
4607 00ae 436A ldr r3, [r0, #36]
2218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4608 .loc 1 2218 21 view .LVU1616
4609 00b0 0133 adds r3, r3, #1
4610 00b2 4362 str r3, [r0, #36]
2220:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--;
4611 .loc 1 2220 7 is_stmt 1 view .LVU1617
2220:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--;
4612 .loc 1 2220 11 is_stmt 0 view .LVU1618
4613 00b4 438D ldrh r3, [r0, #42]
4614 00b6 9BB2 uxth r3, r3
2220:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--;
4615 .loc 1 2220 22 view .LVU1619
4616 00b8 013B subs r3, r3, #1
4617 00ba 9BB2 uxth r3, r3
4618 00bc 4385 strh r3, [r0, #42] @ movhi
2221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4619 .loc 1 2221 7 is_stmt 1 view .LVU1620
2221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4620 .loc 1 2221 11 is_stmt 0 view .LVU1621
4621 00be 038D ldrh r3, [r0, #40]
2221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4622 .loc 1 2221 21 view .LVU1622
4623 00c0 013B subs r3, r3, #1
4624 00c2 0385 strh r3, [r0, #40] @ movhi
4625 00c4 C4E7 b .L307
4626 .L309:
2246:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
4627 .loc 1 2246 9 is_stmt 1 view .LVU1623
2246:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
4628 .loc 1 2246 25 is_stmt 0 view .LVU1624
4629 00c6 2823 movs r3, #40
4630 00c8 84F84130 strb r3, [r4, #65]
2247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4631 .loc 1 2247 9 is_stmt 1 view .LVU1625
2247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4632 .loc 1 2247 25 is_stmt 0 view .LVU1626
4633 00cc 0022 movs r2, #0
4634 00ce 84F84220 strb r2, [r4, #66]
2250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4635 .loc 1 2250 9 is_stmt 1 view .LVU1627
2250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4636 .loc 1 2250 13 is_stmt 0 view .LVU1628
4637 00d2 636C ldr r3, [r4, #68]
2250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4638 .loc 1 2250 25 view .LVU1629
4639 00d4 43F08003 orr r3, r3, #128
4640 00d8 6364 str r3, [r4, #68]
2253:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4641 .loc 1 2253 9 is_stmt 1 view .LVU1630
2253:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4642 .loc 1 2253 9 view .LVU1631
4643 00da 84F84020 strb r2, [r4, #64]
ARM GAS /tmp/ccNVyn8W.s page 236
2253:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4644 .loc 1 2253 9 view .LVU1632
2255:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4645 .loc 1 2255 9 view .LVU1633
2255:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4646 .loc 1 2255 16 is_stmt 0 view .LVU1634
4647 00de 0120 movs r0, #1
4648 .LVL300:
2255:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4649 .loc 1 2255 16 view .LVU1635
4650 00e0 E1E7 b .L304
4651 .LVL301:
4652 .L321:
2261:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4653 .loc 1 2261 9 is_stmt 1 view .LVU1636
2261:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4654 .loc 1 2261 13 is_stmt 0 view .LVU1637
4655 00e2 2268 ldr r2, [r4]
2261:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4656 .loc 1 2261 23 view .LVU1638
4657 00e4 5368 ldr r3, [r2, #4]
2261:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4658 .loc 1 2261 29 view .LVU1639
4659 00e6 23F40043 bic r3, r3, #32768
4660 00ea 5360 str r3, [r2, #4]
2264:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4661 .loc 1 2264 9 is_stmt 1 view .LVU1640
2264:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4662 .loc 1 2264 9 view .LVU1641
4663 00ec 0023 movs r3, #0
4664 00ee 84F84030 strb r3, [r4, #64]
2264:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4665 .loc 1 2264 9 view .LVU1642
2270:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4666 .loc 1 2270 9 view .LVU1643
4667 00f2 4FF40041 mov r1, #32768
4668 00f6 2046 mov r0, r4
4669 .LVL302:
2270:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4670 .loc 1 2270 9 is_stmt 0 view .LVU1644
4671 00f8 FFF7FEFF bl I2C_Enable_IRQ
4672 .LVL303:
2273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4673 .loc 1 2273 9 is_stmt 1 view .LVU1645
2273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4674 .loc 1 2273 13 is_stmt 0 view .LVU1646
4675 00fc 2268 ldr r2, [r4]
2273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4676 .loc 1 2273 23 view .LVU1647
4677 00fe 1368 ldr r3, [r2]
2273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4678 .loc 1 2273 29 view .LVU1648
4679 0100 43F48043 orr r3, r3, #16384
4680 0104 1360 str r3, [r2]
4681 0106 0CE0 b .L312
4682 .LVL304:
4683 .L308:
ARM GAS /tmp/ccNVyn8W.s page 237
2293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4684 .loc 1 2293 7 is_stmt 1 view .LVU1649
2293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4685 .loc 1 2293 11 is_stmt 0 view .LVU1650
4686 0108 2268 ldr r2, [r4]
2293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4687 .loc 1 2293 21 view .LVU1651
4688 010a 5368 ldr r3, [r2, #4]
2293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4689 .loc 1 2293 27 view .LVU1652
4690 010c 23F40043 bic r3, r3, #32768
4691 0110 5360 str r3, [r2, #4]
2296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4692 .loc 1 2296 7 is_stmt 1 view .LVU1653
2296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4693 .loc 1 2296 7 view .LVU1654
4694 0112 0023 movs r3, #0
4695 0114 84F84030 strb r3, [r4, #64]
2296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4696 .loc 1 2296 7 view .LVU1655
2302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4697 .loc 1 2302 7 view .LVU1656
4698 0118 4FF40041 mov r1, #32768
4699 .LVL305:
2302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4700 .loc 1 2302 7 is_stmt 0 view .LVU1657
4701 011c 2046 mov r0, r4
4702 .LVL306:
2302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4703 .loc 1 2302 7 view .LVU1658
4704 011e FFF7FEFF bl I2C_Enable_IRQ
4705 .LVL307:
4706 .L312:
2305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4707 .loc 1 2305 5 is_stmt 1 view .LVU1659
2305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4708 .loc 1 2305 12 is_stmt 0 view .LVU1660
4709 0122 0020 movs r0, #0
4710 0124 BFE7 b .L304
4711 .LVL308:
4712 .L313:
4713 .cfi_def_cfa_offset 0
4714 .cfi_restore 4
4715 .cfi_restore 14
2309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4716 .loc 1 2309 12 view .LVU1661
4717 0126 0220 movs r0, #2
4718 .LVL309:
2311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4719 .loc 1 2311 1 view .LVU1662
4720 0128 7047 bx lr
4721 .LVL310:
4722 .L314:
4723 .cfi_def_cfa_offset 8
4724 .cfi_offset 4, -8
4725 .cfi_offset 14, -4
2197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
ARM GAS /tmp/ccNVyn8W.s page 238
4726 .loc 1 2197 5 discriminator 1 view .LVU1663
4727 012a 0220 movs r0, #2
4728 .LVL311:
2197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4729 .loc 1 2197 5 discriminator 1 view .LVU1664
4730 012c BBE7 b .L304
4731 .L323:
4732 012e 00BF .align 2
4733 .L322:
4734 0130 0000FFFF .word -65536
4735 0134 00000000 .word I2C_Slave_ISR_DMA
4736 0138 00000000 .word I2C_DMASlaveTransmitCplt
4737 013c 00000000 .word I2C_DMAError
4738 .cfi_endproc
4739 .LFE144:
4741 .section .text.HAL_I2C_Slave_Receive_DMA,"ax",%progbits
4742 .align 1
4743 .global HAL_I2C_Slave_Receive_DMA
4744 .syntax unified
4745 .thumb
4746 .thumb_func
4748 HAL_I2C_Slave_Receive_DMA:
4749 .LVL312:
4750 .LFB145:
2322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
4751 .loc 1 2322 1 is_stmt 1 view -0
4752 .cfi_startproc
4753 @ args = 0, pretend = 0, frame = 0
4754 @ frame_needed = 0, uses_anonymous_args = 0
2322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
4755 .loc 1 2322 1 is_stmt 0 view .LVU1666
4756 0000 38B5 push {r3, r4, r5, lr}
4757 .cfi_def_cfa_offset 16
4758 .cfi_offset 3, -16
4759 .cfi_offset 4, -12
4760 .cfi_offset 5, -8
4761 .cfi_offset 14, -4
2323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4762 .loc 1 2323 3 is_stmt 1 view .LVU1667
2325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4763 .loc 1 2325 3 view .LVU1668
2325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4764 .loc 1 2325 11 is_stmt 0 view .LVU1669
4765 0002 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2
4766 0006 DBB2 uxtb r3, r3
2325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4767 .loc 1 2325 6 view .LVU1670
4768 0008 202B cmp r3, #32
4769 000a 65D1 bne .L331
4770 000c 0446 mov r4, r0
2327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4771 .loc 1 2327 5 is_stmt 1 view .LVU1671
2327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4772 .loc 1 2327 8 is_stmt 0 view .LVU1672
4773 000e 0029 cmp r1, #0
4774 0010 3CD0 beq .L326
2327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
ARM GAS /tmp/ccNVyn8W.s page 239
4775 .loc 1 2327 25 discriminator 1 view .LVU1673
4776 0012 002A cmp r2, #0
4777 0014 3AD0 beq .L326
2333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4778 .loc 1 2333 5 is_stmt 1 view .LVU1674
2333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4779 .loc 1 2333 5 view .LVU1675
4780 0016 90F84030 ldrb r3, [r0, #64] @ zero_extendqisi2
4781 001a 012B cmp r3, #1
4782 001c 5FD0 beq .L332
2333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4783 .loc 1 2333 5 discriminator 2 view .LVU1676
4784 001e 0123 movs r3, #1
4785 0020 80F84030 strb r3, [r0, #64]
2333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4786 .loc 1 2333 5 discriminator 2 view .LVU1677
2335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
4787 .loc 1 2335 5 view .LVU1678
2335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
4788 .loc 1 2335 23 is_stmt 0 view .LVU1679
4789 0024 2223 movs r3, #34
4790 0026 80F84130 strb r3, [r0, #65]
2336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
4791 .loc 1 2336 5 is_stmt 1 view .LVU1680
2336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
4792 .loc 1 2336 23 is_stmt 0 view .LVU1681
4793 002a 2023 movs r3, #32
4794 002c 80F84230 strb r3, [r0, #66]
2337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4795 .loc 1 2337 5 is_stmt 1 view .LVU1682
2337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4796 .loc 1 2337 23 is_stmt 0 view .LVU1683
4797 0030 0023 movs r3, #0
4798 0032 4364 str r3, [r0, #68]
2340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
4799 .loc 1 2340 5 is_stmt 1 view .LVU1684
2340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
4800 .loc 1 2340 23 is_stmt 0 view .LVU1685
4801 0034 4162 str r1, [r0, #36]
2341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
4802 .loc 1 2341 5 is_stmt 1 view .LVU1686
2341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
4803 .loc 1 2341 23 is_stmt 0 view .LVU1687
4804 0036 4285 strh r2, [r0, #42] @ movhi
2342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
4805 .loc 1 2342 5 is_stmt 1 view .LVU1688
2342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
4806 .loc 1 2342 29 is_stmt 0 view .LVU1689
4807 0038 438D ldrh r3, [r0, #42]
2342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
4808 .loc 1 2342 23 view .LVU1690
4809 003a 0385 strh r3, [r0, #40] @ movhi
2343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_DMA;
4810 .loc 1 2343 5 is_stmt 1 view .LVU1691
2343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_DMA;
4811 .loc 1 2343 23 is_stmt 0 view .LVU1692
4812 003c 294B ldr r3, .L336
ARM GAS /tmp/ccNVyn8W.s page 240
4813 003e C362 str r3, [r0, #44]
2344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4814 .loc 1 2344 5 is_stmt 1 view .LVU1693
2344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4815 .loc 1 2344 23 is_stmt 0 view .LVU1694
4816 0040 294B ldr r3, .L336+4
4817 0042 4363 str r3, [r0, #52]
2346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4818 .loc 1 2346 5 is_stmt 1 view .LVU1695
2346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4819 .loc 1 2346 13 is_stmt 0 view .LVU1696
4820 0044 C36B ldr r3, [r0, #60]
2346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4821 .loc 1 2346 8 view .LVU1697
4822 0046 33B3 cbz r3, .L328
2349:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4823 .loc 1 2349 7 is_stmt 1 view .LVU1698
2349:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4824 .loc 1 2349 38 is_stmt 0 view .LVU1699
4825 0048 284A ldr r2, .L336+8
4826 .LVL313:
2349:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4827 .loc 1 2349 38 view .LVU1700
4828 004a 9A62 str r2, [r3, #40]
2352:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4829 .loc 1 2352 7 is_stmt 1 view .LVU1701
2352:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4830 .loc 1 2352 11 is_stmt 0 view .LVU1702
4831 004c C36B ldr r3, [r0, #60]
2352:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4832 .loc 1 2352 39 view .LVU1703
4833 004e 284A ldr r2, .L336+12
4834 0050 1A63 str r2, [r3, #48]
2355:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
4835 .loc 1 2355 7 is_stmt 1 view .LVU1704
2355:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
4836 .loc 1 2355 11 is_stmt 0 view .LVU1705
4837 0052 C26B ldr r2, [r0, #60]
2355:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
4838 .loc 1 2355 42 view .LVU1706
4839 0054 0023 movs r3, #0
4840 0056 D362 str r3, [r2, #44]
2356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4841 .loc 1 2356 7 is_stmt 1 view .LVU1707
2356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4842 .loc 1 2356 11 is_stmt 0 view .LVU1708
4843 0058 C26B ldr r2, [r0, #60]
2356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4844 .loc 1 2356 39 view .LVU1709
4845 005a 5363 str r3, [r2, #52]
2359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize);
4846 .loc 1 2359 7 is_stmt 1 view .LVU1710
2359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize);
4847 .loc 1 2359 69 is_stmt 0 view .LVU1711
4848 005c 0068 ldr r0, [r0]
4849 .LVL314:
2359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize);
ARM GAS /tmp/ccNVyn8W.s page 241
4850 .loc 1 2359 23 view .LVU1712
4851 005e 238D ldrh r3, [r4, #40]
4852 0060 0A46 mov r2, r1
4853 0062 00F12401 add r1, r0, #36
4854 .LVL315:
2359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize);
4855 .loc 1 2359 23 view .LVU1713
4856 0066 E06B ldr r0, [r4, #60]
4857 0068 FFF7FEFF bl HAL_DMA_Start_IT
4858 .LVL316:
2377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4859 .loc 1 2377 5 is_stmt 1 view .LVU1714
2377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
4860 .loc 1 2377 8 is_stmt 0 view .LVU1715
4861 006c 0546 mov r5, r0
4862 006e 00B3 cbz r0, .L335
2397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
4863 .loc 1 2397 7 is_stmt 1 view .LVU1716
2397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
4864 .loc 1 2397 23 is_stmt 0 view .LVU1717
4865 0070 2823 movs r3, #40
4866 0072 84F84130 strb r3, [r4, #65]
2398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4867 .loc 1 2398 7 is_stmt 1 view .LVU1718
2398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4868 .loc 1 2398 23 is_stmt 0 view .LVU1719
4869 0076 0022 movs r2, #0
4870 0078 84F84220 strb r2, [r4, #66]
2401:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4871 .loc 1 2401 7 is_stmt 1 view .LVU1720
2401:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4872 .loc 1 2401 11 is_stmt 0 view .LVU1721
4873 007c 636C ldr r3, [r4, #68]
2401:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4874 .loc 1 2401 23 view .LVU1722
4875 007e 43F01003 orr r3, r3, #16
4876 0082 6364 str r3, [r4, #68]
2404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4877 .loc 1 2404 7 is_stmt 1 view .LVU1723
2404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4878 .loc 1 2404 7 view .LVU1724
4879 0084 84F84020 strb r2, [r4, #64]
2404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4880 .loc 1 2404 7 view .LVU1725
2406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4881 .loc 1 2406 7 view .LVU1726
2406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4882 .loc 1 2406 14 is_stmt 0 view .LVU1727
4883 0088 0125 movs r5, #1
4884 008a 26E0 b .L325
4885 .LVL317:
4886 .L326:
2329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
4887 .loc 1 2329 7 is_stmt 1 view .LVU1728
2329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
4888 .loc 1 2329 23 is_stmt 0 view .LVU1729
4889 008c 4FF40073 mov r3, #512
ARM GAS /tmp/ccNVyn8W.s page 242
4890 0090 6364 str r3, [r4, #68]
2330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4891 .loc 1 2330 7 is_stmt 1 view .LVU1730
2330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4892 .loc 1 2330 15 is_stmt 0 view .LVU1731
4893 0092 0125 movs r5, #1
4894 0094 21E0 b .L325
4895 .L328:
2365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
4896 .loc 1 2365 7 is_stmt 1 view .LVU1732
2365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
4897 .loc 1 2365 23 is_stmt 0 view .LVU1733
4898 0096 2823 movs r3, #40
4899 0098 80F84130 strb r3, [r0, #65]
2366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4900 .loc 1 2366 7 is_stmt 1 view .LVU1734
2366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4901 .loc 1 2366 23 is_stmt 0 view .LVU1735
4902 009c 0022 movs r2, #0
4903 .LVL318:
2366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4904 .loc 1 2366 23 view .LVU1736
4905 009e 80F84220 strb r2, [r0, #66]
2369:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4906 .loc 1 2369 7 is_stmt 1 view .LVU1737
2369:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4907 .loc 1 2369 11 is_stmt 0 view .LVU1738
4908 00a2 436C ldr r3, [r0, #68]
2369:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4909 .loc 1 2369 23 view .LVU1739
4910 00a4 43F08003 orr r3, r3, #128
4911 00a8 4364 str r3, [r0, #68]
2372:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4912 .loc 1 2372 7 is_stmt 1 view .LVU1740
2372:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4913 .loc 1 2372 7 view .LVU1741
4914 00aa 80F84020 strb r2, [r0, #64]
2372:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4915 .loc 1 2372 7 view .LVU1742
2374:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4916 .loc 1 2374 7 view .LVU1743
2374:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4917 .loc 1 2374 14 is_stmt 0 view .LVU1744
4918 00ae 0125 movs r5, #1
4919 00b0 13E0 b .L325
4920 .LVL319:
4921 .L335:
2380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4922 .loc 1 2380 7 is_stmt 1 view .LVU1745
2380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4923 .loc 1 2380 11 is_stmt 0 view .LVU1746
4924 00b2 2268 ldr r2, [r4]
2380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4925 .loc 1 2380 21 view .LVU1747
4926 00b4 5368 ldr r3, [r2, #4]
2380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4927 .loc 1 2380 27 view .LVU1748
ARM GAS /tmp/ccNVyn8W.s page 243
4928 00b6 23F40043 bic r3, r3, #32768
4929 00ba 5360 str r3, [r2, #4]
2383:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4930 .loc 1 2383 7 is_stmt 1 view .LVU1749
2383:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4931 .loc 1 2383 7 view .LVU1750
4932 00bc 0023 movs r3, #0
4933 00be 84F84030 strb r3, [r4, #64]
2383:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4934 .loc 1 2383 7 view .LVU1751
2389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4935 .loc 1 2389 7 view .LVU1752
4936 00c2 4FF40041 mov r1, #32768
4937 00c6 2046 mov r0, r4
4938 .LVL320:
2389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4939 .loc 1 2389 7 is_stmt 0 view .LVU1753
4940 00c8 FFF7FEFF bl I2C_Enable_IRQ
4941 .LVL321:
2392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4942 .loc 1 2392 7 is_stmt 1 view .LVU1754
2392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4943 .loc 1 2392 11 is_stmt 0 view .LVU1755
4944 00cc 2268 ldr r2, [r4]
2392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4945 .loc 1 2392 21 view .LVU1756
4946 00ce 1368 ldr r3, [r2]
2392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4947 .loc 1 2392 27 view .LVU1757
4948 00d0 43F40043 orr r3, r3, #32768
4949 00d4 1360 str r3, [r2]
2409:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4950 .loc 1 2409 5 is_stmt 1 view .LVU1758
2409:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4951 .loc 1 2409 12 is_stmt 0 view .LVU1759
4952 00d6 00E0 b .L325
4953 .LVL322:
4954 .L331:
2413:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
4955 .loc 1 2413 12 view .LVU1760
4956 00d8 0225 movs r5, #2
4957 .LVL323:
4958 .L325:
2415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4959 .loc 1 2415 1 view .LVU1761
4960 00da 2846 mov r0, r5
4961 00dc 38BD pop {r3, r4, r5, pc}
4962 .LVL324:
4963 .L332:
2333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
4964 .loc 1 2333 5 discriminator 1 view .LVU1762
4965 00de 0225 movs r5, #2
4966 00e0 FBE7 b .L325
4967 .L337:
4968 00e2 00BF .align 2
4969 .L336:
4970 00e4 0000FFFF .word -65536
ARM GAS /tmp/ccNVyn8W.s page 244
4971 00e8 00000000 .word I2C_Slave_ISR_DMA
4972 00ec 00000000 .word I2C_DMASlaveReceiveCplt
4973 00f0 00000000 .word I2C_DMAError
4974 .cfi_endproc
4975 .LFE145:
4977 .section .text.HAL_I2C_Mem_Write,"ax",%progbits
4978 .align 1
4979 .global HAL_I2C_Mem_Write
4980 .syntax unified
4981 .thumb
4982 .thumb_func
4984 HAL_I2C_Mem_Write:
4985 .LVL325:
4986 .LFB146:
2432:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tickstart;
4987 .loc 1 2432 1 is_stmt 1 view -0
4988 .cfi_startproc
4989 @ args = 12, pretend = 0, frame = 0
4990 @ frame_needed = 0, uses_anonymous_args = 0
2432:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tickstart;
4991 .loc 1 2432 1 is_stmt 0 view .LVU1764
4992 0000 2DE9F04F push {r4, r5, r6, r7, r8, r9, r10, fp, lr}
4993 .cfi_def_cfa_offset 36
4994 .cfi_offset 4, -36
4995 .cfi_offset 5, -32
4996 .cfi_offset 6, -28
4997 .cfi_offset 7, -24
4998 .cfi_offset 8, -20
4999 .cfi_offset 9, -16
5000 .cfi_offset 10, -12
5001 .cfi_offset 11, -8
5002 .cfi_offset 14, -4
5003 0004 83B0 sub sp, sp, #12
5004 .cfi_def_cfa_offset 48
5005 0006 0E46 mov r6, r1
5006 0008 BDF834A0 ldrh r10, [sp, #52]
5007 000c 0E9D ldr r5, [sp, #56]
2433:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5008 .loc 1 2433 3 is_stmt 1 view .LVU1765
2436:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5009 .loc 1 2436 3 view .LVU1766
2438:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5010 .loc 1 2438 3 view .LVU1767
2438:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5011 .loc 1 2438 11 is_stmt 0 view .LVU1768
5012 000e 90F84110 ldrb r1, [r0, #65] @ zero_extendqisi2
5013 .LVL326:
2438:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5014 .loc 1 2438 11 view .LVU1769
5015 0012 C9B2 uxtb r1, r1
2438:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5016 .loc 1 2438 6 view .LVU1770
5017 0014 2029 cmp r1, #32
5018 0016 40F0BB80 bne .L348
5019 001a 0446 mov r4, r0
5020 001c 9046 mov r8, r2
5021 001e 9946 mov r9, r3
ARM GAS /tmp/ccNVyn8W.s page 245
2440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5022 .loc 1 2440 5 is_stmt 1 view .LVU1771
2440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5023 .loc 1 2440 8 is_stmt 0 view .LVU1772
5024 0020 0C9B ldr r3, [sp, #48]
5025 .LVL327:
2440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5026 .loc 1 2440 8 view .LVU1773
5027 0022 CBB1 cbz r3, .L340
2440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5028 .loc 1 2440 25 discriminator 1 view .LVU1774
5029 0024 BAF1000F cmp r10, #0
5030 0028 16D0 beq .L340
2447:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5031 .loc 1 2447 5 is_stmt 1 view .LVU1775
2447:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5032 .loc 1 2447 5 view .LVU1776
5033 002a 90F84030 ldrb r3, [r0, #64] @ zero_extendqisi2
5034 002e 012B cmp r3, #1
5035 0030 00F0B280 beq .L349
2447:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5036 .loc 1 2447 5 discriminator 2 view .LVU1777
5037 0034 4FF0010B mov fp, #1
5038 0038 80F840B0 strb fp, [r0, #64]
2447:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5039 .loc 1 2447 5 discriminator 2 view .LVU1778
2450:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5040 .loc 1 2450 5 view .LVU1779
2450:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5041 .loc 1 2450 17 is_stmt 0 view .LVU1780
5042 003c FFF7FEFF bl HAL_GetTick
5043 .LVL328:
2450:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5044 .loc 1 2450 17 view .LVU1781
5045 0040 0746 mov r7, r0
5046 .LVL329:
2452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5047 .loc 1 2452 5 is_stmt 1 view .LVU1782
2452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5048 .loc 1 2452 9 is_stmt 0 view .LVU1783
5049 0042 0090 str r0, [sp]
5050 0044 1923 movs r3, #25
5051 0046 5A46 mov r2, fp
5052 0048 4FF40041 mov r1, #32768
5053 004c 2046 mov r0, r4
5054 .LVL330:
2452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5055 .loc 1 2452 9 view .LVU1784
5056 004e FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
5057 .LVL331:
2452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5058 .loc 1 2452 8 discriminator 1 view .LVU1785
5059 0052 30B1 cbz r0, .L355
2454:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5060 .loc 1 2454 14 view .LVU1786
5061 0054 0120 movs r0, #1
5062 0056 9CE0 b .L339
ARM GAS /tmp/ccNVyn8W.s page 246
5063 .LVL332:
5064 .L340:
2442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
5065 .loc 1 2442 7 is_stmt 1 view .LVU1787
2442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
5066 .loc 1 2442 23 is_stmt 0 view .LVU1788
5067 0058 4FF40073 mov r3, #512
5068 005c 6364 str r3, [r4, #68]
2443:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5069 .loc 1 2443 7 is_stmt 1 view .LVU1789
2443:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5070 .loc 1 2443 15 is_stmt 0 view .LVU1790
5071 005e 0120 movs r0, #1
5072 .LVL333:
2443:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5073 .loc 1 2443 15 view .LVU1791
5074 0060 97E0 b .L339
5075 .LVL334:
5076 .L355:
2457:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
5077 .loc 1 2457 5 is_stmt 1 view .LVU1792
2457:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
5078 .loc 1 2457 21 is_stmt 0 view .LVU1793
5079 0062 2123 movs r3, #33
5080 0064 84F84130 strb r3, [r4, #65]
2458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
5081 .loc 1 2458 5 is_stmt 1 view .LVU1794
2458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
5082 .loc 1 2458 21 is_stmt 0 view .LVU1795
5083 0068 4023 movs r3, #64
5084 006a 84F84230 strb r3, [r4, #66]
2459:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5085 .loc 1 2459 5 is_stmt 1 view .LVU1796
2459:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5086 .loc 1 2459 21 is_stmt 0 view .LVU1797
5087 006e 0023 movs r3, #0
5088 0070 6364 str r3, [r4, #68]
2462:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
5089 .loc 1 2462 5 is_stmt 1 view .LVU1798
2462:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
5090 .loc 1 2462 21 is_stmt 0 view .LVU1799
5091 0072 0C9A ldr r2, [sp, #48]
5092 0074 6262 str r2, [r4, #36]
2463:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL;
5093 .loc 1 2463 5 is_stmt 1 view .LVU1800
2463:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL;
5094 .loc 1 2463 21 is_stmt 0 view .LVU1801
5095 0076 A4F82AA0 strh r10, [r4, #42] @ movhi
2464:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5096 .loc 1 2464 5 is_stmt 1 view .LVU1802
2464:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5097 .loc 1 2464 21 is_stmt 0 view .LVU1803
5098 007a 6363 str r3, [r4, #52]
2467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5099 .loc 1 2467 5 is_stmt 1 view .LVU1804
2467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5100 .loc 1 2467 9 is_stmt 0 view .LVU1805
ARM GAS /tmp/ccNVyn8W.s page 247
5101 007c 0197 str r7, [sp, #4]
5102 007e 0095 str r5, [sp]
5103 0080 4B46 mov r3, r9
5104 0082 4246 mov r2, r8
5105 0084 3146 mov r1, r6
5106 0086 2046 mov r0, r4
5107 0088 FFF7FEFF bl I2C_RequestMemoryWrite
5108 .LVL335:
2467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5109 .loc 1 2467 8 discriminator 1 view .LVU1806
5110 008c 70B9 cbnz r0, .L356
2475:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5111 .loc 1 2475 5 is_stmt 1 view .LVU1807
2475:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5112 .loc 1 2475 13 is_stmt 0 view .LVU1808
5113 008e 638D ldrh r3, [r4, #42]
5114 0090 9BB2 uxth r3, r3
2475:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5115 .loc 1 2475 8 view .LVU1809
5116 0092 FF2B cmp r3, #255
5117 0094 0FD9 bls .L343
2477:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, I2C_NO_STARTST
5118 .loc 1 2477 7 is_stmt 1 view .LVU1810
2477:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, I2C_NO_STARTST
5119 .loc 1 2477 22 is_stmt 0 view .LVU1811
5120 0096 FF22 movs r2, #255
5121 0098 2285 strh r2, [r4, #40] @ movhi
2478:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5122 .loc 1 2478 7 is_stmt 1 view .LVU1812
5123 009a 0023 movs r3, #0
5124 009c 0093 str r3, [sp]
5125 009e 4FF08073 mov r3, #16777216
5126 00a2 3146 mov r1, r6
5127 00a4 2046 mov r0, r4
5128 00a6 FFF7FEFF bl I2C_TransferConfig
5129 .LVL336:
5130 00aa 21E0 b .L347
5131 .L356:
2470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
5132 .loc 1 2470 7 view .LVU1813
2470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
5133 .loc 1 2470 7 view .LVU1814
5134 00ac 0023 movs r3, #0
5135 00ae 84F84030 strb r3, [r4, #64]
2470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
5136 .loc 1 2470 7 view .LVU1815
2471:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5137 .loc 1 2471 7 view .LVU1816
2471:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5138 .loc 1 2471 14 is_stmt 0 view .LVU1817
5139 00b2 5846 mov r0, fp
5140 00b4 6DE0 b .L339
5141 .L343:
2482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, I2C_NO_STARTS
5142 .loc 1 2482 7 is_stmt 1 view .LVU1818
2482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, I2C_NO_STARTS
5143 .loc 1 2482 28 is_stmt 0 view .LVU1819
ARM GAS /tmp/ccNVyn8W.s page 248
5144 00b6 628D ldrh r2, [r4, #42]
5145 00b8 92B2 uxth r2, r2
2482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, I2C_NO_STARTS
5146 .loc 1 2482 22 view .LVU1820
5147 00ba 2285 strh r2, [r4, #40] @ movhi
2483:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5148 .loc 1 2483 7 is_stmt 1 view .LVU1821
5149 00bc 0023 movs r3, #0
5150 00be 0093 str r3, [sp]
5151 00c0 4FF00073 mov r3, #33554432
5152 00c4 D2B2 uxtb r2, r2
5153 00c6 3146 mov r1, r6
5154 00c8 2046 mov r0, r4
5155 00ca FFF7FEFF bl I2C_TransferConfig
5156 .LVL337:
5157 00ce 0FE0 b .L347
5158 .L346:
2519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
5159 .loc 1 2519 11 view .LVU1822
2519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
5160 .loc 1 2519 32 is_stmt 0 view .LVU1823
5161 00d0 628D ldrh r2, [r4, #42]
5162 00d2 92B2 uxth r2, r2
2519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
5163 .loc 1 2519 26 view .LVU1824
5164 00d4 2285 strh r2, [r4, #40] @ movhi
2520:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_NO_STARTSTOP);
5165 .loc 1 2520 11 is_stmt 1 view .LVU1825
5166 00d6 0023 movs r3, #0
5167 00d8 0093 str r3, [sp]
5168 00da 4FF00073 mov r3, #33554432
5169 00de D2B2 uxtb r2, r2
5170 00e0 3146 mov r1, r6
5171 00e2 2046 mov r0, r4
5172 00e4 FFF7FEFF bl I2C_TransferConfig
5173 .LVL338:
5174 .L345:
2525:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5175 .loc 1 2525 30 view .LVU1826
2525:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5176 .loc 1 2525 18 is_stmt 0 view .LVU1827
5177 00e8 638D ldrh r3, [r4, #42]
5178 00ea 9BB2 uxth r3, r3
2525:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5179 .loc 1 2525 30 view .LVU1828
5180 00ec 002B cmp r3, #0
5181 00ee 33D0 beq .L357
5182 .L347:
2486:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5183 .loc 1 2486 5 is_stmt 1 view .LVU1829
2489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5184 .loc 1 2489 7 view .LVU1830
2489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5185 .loc 1 2489 11 is_stmt 0 view .LVU1831
5186 00f0 3A46 mov r2, r7
5187 00f2 2946 mov r1, r5
5188 00f4 2046 mov r0, r4
ARM GAS /tmp/ccNVyn8W.s page 249
5189 00f6 FFF7FEFF bl I2C_WaitOnTXISFlagUntilTimeout
5190 .LVL339:
2489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5191 .loc 1 2489 10 discriminator 1 view .LVU1832
5192 00fa 0028 cmp r0, #0
5193 00fc 4ED1 bne .L351
2495:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5194 .loc 1 2495 7 is_stmt 1 view .LVU1833
2495:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5195 .loc 1 2495 35 is_stmt 0 view .LVU1834
5196 00fe 626A ldr r2, [r4, #36]
2495:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5197 .loc 1 2495 11 view .LVU1835
5198 0100 2368 ldr r3, [r4]
2495:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5199 .loc 1 2495 30 view .LVU1836
5200 0102 1278 ldrb r2, [r2] @ zero_extendqisi2
2495:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5201 .loc 1 2495 28 view .LVU1837
5202 0104 9A62 str r2, [r3, #40]
2498:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5203 .loc 1 2498 7 is_stmt 1 view .LVU1838
2498:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5204 .loc 1 2498 11 is_stmt 0 view .LVU1839
5205 0106 636A ldr r3, [r4, #36]
2498:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5206 .loc 1 2498 21 view .LVU1840
5207 0108 0133 adds r3, r3, #1
5208 010a 6362 str r3, [r4, #36]
2500:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--;
5209 .loc 1 2500 7 is_stmt 1 view .LVU1841
2500:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--;
5210 .loc 1 2500 11 is_stmt 0 view .LVU1842
5211 010c 638D ldrh r3, [r4, #42]
5212 010e 9BB2 uxth r3, r3
2500:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--;
5213 .loc 1 2500 22 view .LVU1843
5214 0110 013B subs r3, r3, #1
5215 0112 9BB2 uxth r3, r3
5216 0114 6385 strh r3, [r4, #42] @ movhi
2501:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5217 .loc 1 2501 7 is_stmt 1 view .LVU1844
2501:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5218 .loc 1 2501 11 is_stmt 0 view .LVU1845
5219 0116 238D ldrh r3, [r4, #40]
2501:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5220 .loc 1 2501 21 view .LVU1846
5221 0118 013B subs r3, r3, #1
5222 011a 9BB2 uxth r3, r3
5223 011c 2385 strh r3, [r4, #40] @ movhi
2503:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5224 .loc 1 2503 7 is_stmt 1 view .LVU1847
2503:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5225 .loc 1 2503 16 is_stmt 0 view .LVU1848
5226 011e 628D ldrh r2, [r4, #42]
5227 0120 92B2 uxth r2, r2
2503:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
ARM GAS /tmp/ccNVyn8W.s page 250
5228 .loc 1 2503 10 view .LVU1849
5229 0122 002A cmp r2, #0
5230 0124 E0D0 beq .L345
2503:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5231 .loc 1 2503 35 discriminator 1 view .LVU1850
5232 0126 002B cmp r3, #0
5233 0128 DED1 bne .L345
2506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5234 .loc 1 2506 9 is_stmt 1 view .LVU1851
2506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5235 .loc 1 2506 13 is_stmt 0 view .LVU1852
5236 012a 0097 str r7, [sp]
5237 012c 2B46 mov r3, r5
5238 012e 0022 movs r2, #0
5239 0130 8021 movs r1, #128
5240 0132 2046 mov r0, r4
5241 0134 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
5242 .LVL340:
2506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5243 .loc 1 2506 12 discriminator 1 view .LVU1853
5244 0138 90BB cbnz r0, .L352
2511:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5245 .loc 1 2511 9 is_stmt 1 view .LVU1854
2511:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5246 .loc 1 2511 17 is_stmt 0 view .LVU1855
5247 013a 638D ldrh r3, [r4, #42]
5248 013c 9BB2 uxth r3, r3
2511:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5249 .loc 1 2511 12 view .LVU1856
5250 013e FF2B cmp r3, #255
5251 0140 C6D9 bls .L346
2513:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE,
5252 .loc 1 2513 11 is_stmt 1 view .LVU1857
2513:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE,
5253 .loc 1 2513 26 is_stmt 0 view .LVU1858
5254 0142 FF22 movs r2, #255
5255 0144 2285 strh r2, [r4, #40] @ movhi
2514:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_NO_STARTSTOP);
5256 .loc 1 2514 11 is_stmt 1 view .LVU1859
5257 0146 0023 movs r3, #0
5258 0148 0093 str r3, [sp]
5259 014a 4FF08073 mov r3, #16777216
5260 014e 3146 mov r1, r6
5261 0150 2046 mov r0, r4
5262 0152 FFF7FEFF bl I2C_TransferConfig
5263 .LVL341:
5264 0156 C7E7 b .L345
5265 .L357:
2529:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5266 .loc 1 2529 5 view .LVU1860
2529:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5267 .loc 1 2529 9 is_stmt 0 view .LVU1861
5268 0158 3A46 mov r2, r7
5269 015a 2946 mov r1, r5
5270 015c 2046 mov r0, r4
5271 015e FFF7FEFF bl I2C_WaitOnSTOPFlagUntilTimeout
5272 .LVL342:
ARM GAS /tmp/ccNVyn8W.s page 251
2529:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5273 .loc 1 2529 8 discriminator 1 view .LVU1862
5274 0162 F8B9 cbnz r0, .L353
2535:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5275 .loc 1 2535 5 is_stmt 1 view .LVU1863
5276 0164 2368 ldr r3, [r4]
5277 0166 2022 movs r2, #32
5278 0168 DA61 str r2, [r3, #28]
2538:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5279 .loc 1 2538 5 view .LVU1864
5280 016a 2168 ldr r1, [r4]
5281 016c 4B68 ldr r3, [r1, #4]
5282 016e 23F0FF73 bic r3, r3, #33423360
5283 0172 23F48B33 bic r3, r3, #71168
5284 0176 23F4FF73 bic r3, r3, #510
5285 017a 23F00103 bic r3, r3, #1
5286 017e 4B60 str r3, [r1, #4]
2540:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
5287 .loc 1 2540 5 view .LVU1865
2540:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
5288 .loc 1 2540 17 is_stmt 0 view .LVU1866
5289 0180 84F84120 strb r2, [r4, #65]
2541:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5290 .loc 1 2541 5 is_stmt 1 view .LVU1867
2541:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5291 .loc 1 2541 17 is_stmt 0 view .LVU1868
5292 0184 0023 movs r3, #0
5293 0186 84F84230 strb r3, [r4, #66]
2544:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5294 .loc 1 2544 5 is_stmt 1 view .LVU1869
2544:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5295 .loc 1 2544 5 view .LVU1870
5296 018a 84F84030 strb r3, [r4, #64]
2544:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5297 .loc 1 2544 5 view .LVU1871
2546:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5298 .loc 1 2546 5 view .LVU1872
2546:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5299 .loc 1 2546 12 is_stmt 0 view .LVU1873
5300 018e 00E0 b .L339
5301 .LVL343:
5302 .L348:
2550:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5303 .loc 1 2550 12 view .LVU1874
5304 0190 0220 movs r0, #2
5305 .LVL344:
5306 .L339:
2552:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5307 .loc 1 2552 1 view .LVU1875
5308 0192 03B0 add sp, sp, #12
5309 .cfi_remember_state
5310 .cfi_def_cfa_offset 36
5311 @ sp needed
5312 0194 BDE8F08F pop {r4, r5, r6, r7, r8, r9, r10, fp, pc}
5313 .LVL345:
5314 .L349:
5315 .cfi_restore_state
ARM GAS /tmp/ccNVyn8W.s page 252
2447:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5316 .loc 1 2447 5 discriminator 1 view .LVU1876
5317 0198 0220 movs r0, #2
5318 .LVL346:
2447:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5319 .loc 1 2447 5 discriminator 1 view .LVU1877
5320 019a FAE7 b .L339
5321 .LVL347:
5322 .L351:
2491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5323 .loc 1 2491 16 view .LVU1878
5324 019c 0120 movs r0, #1
5325 019e F8E7 b .L339
5326 .L352:
2508:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5327 .loc 1 2508 18 view .LVU1879
5328 01a0 0120 movs r0, #1
5329 01a2 F6E7 b .L339
5330 .L353:
2531:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5331 .loc 1 2531 14 view .LVU1880
5332 01a4 0120 movs r0, #1
5333 01a6 F4E7 b .L339
5334 .cfi_endproc
5335 .LFE146:
5337 .section .text.HAL_I2C_Mem_Read,"ax",%progbits
5338 .align 1
5339 .global HAL_I2C_Mem_Read
5340 .syntax unified
5341 .thumb
5342 .thumb_func
5344 HAL_I2C_Mem_Read:
5345 .LVL348:
5346 .LFB147:
2569:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tickstart;
5347 .loc 1 2569 1 is_stmt 1 view -0
5348 .cfi_startproc
5349 @ args = 12, pretend = 0, frame = 0
5350 @ frame_needed = 0, uses_anonymous_args = 0
2569:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tickstart;
5351 .loc 1 2569 1 is_stmt 0 view .LVU1882
5352 0000 2DE9F04F push {r4, r5, r6, r7, r8, r9, r10, fp, lr}
5353 .cfi_def_cfa_offset 36
5354 .cfi_offset 4, -36
5355 .cfi_offset 5, -32
5356 .cfi_offset 6, -28
5357 .cfi_offset 7, -24
5358 .cfi_offset 8, -20
5359 .cfi_offset 9, -16
5360 .cfi_offset 10, -12
5361 .cfi_offset 11, -8
5362 .cfi_offset 14, -4
5363 0004 83B0 sub sp, sp, #12
5364 .cfi_def_cfa_offset 48
5365 0006 0E46 mov r6, r1
5366 0008 BDF834A0 ldrh r10, [sp, #52]
5367 000c 0E9D ldr r5, [sp, #56]
ARM GAS /tmp/ccNVyn8W.s page 253
2570:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5368 .loc 1 2570 3 is_stmt 1 view .LVU1883
2573:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5369 .loc 1 2573 3 view .LVU1884
2575:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5370 .loc 1 2575 3 view .LVU1885
2575:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5371 .loc 1 2575 11 is_stmt 0 view .LVU1886
5372 000e 90F84110 ldrb r1, [r0, #65] @ zero_extendqisi2
5373 .LVL349:
2575:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5374 .loc 1 2575 11 view .LVU1887
5375 0012 C9B2 uxtb r1, r1
2575:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5376 .loc 1 2575 6 view .LVU1888
5377 0014 2029 cmp r1, #32
5378 0016 40F0BC80 bne .L368
5379 001a 0446 mov r4, r0
5380 001c 9046 mov r8, r2
5381 001e 9946 mov r9, r3
2577:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5382 .loc 1 2577 5 is_stmt 1 view .LVU1889
2577:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5383 .loc 1 2577 8 is_stmt 0 view .LVU1890
5384 0020 0C9B ldr r3, [sp, #48]
5385 .LVL350:
2577:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5386 .loc 1 2577 8 view .LVU1891
5387 0022 CBB1 cbz r3, .L360
2577:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5388 .loc 1 2577 25 discriminator 1 view .LVU1892
5389 0024 BAF1000F cmp r10, #0
5390 0028 16D0 beq .L360
2584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5391 .loc 1 2584 5 is_stmt 1 view .LVU1893
2584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5392 .loc 1 2584 5 view .LVU1894
5393 002a 90F84030 ldrb r3, [r0, #64] @ zero_extendqisi2
5394 002e 012B cmp r3, #1
5395 0030 00F0B380 beq .L369
2584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5396 .loc 1 2584 5 discriminator 2 view .LVU1895
5397 0034 4FF0010B mov fp, #1
5398 0038 80F840B0 strb fp, [r0, #64]
2584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5399 .loc 1 2584 5 discriminator 2 view .LVU1896
2587:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5400 .loc 1 2587 5 view .LVU1897
2587:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5401 .loc 1 2587 17 is_stmt 0 view .LVU1898
5402 003c FFF7FEFF bl HAL_GetTick
5403 .LVL351:
2587:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5404 .loc 1 2587 17 view .LVU1899
5405 0040 0746 mov r7, r0
5406 .LVL352:
2589:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
ARM GAS /tmp/ccNVyn8W.s page 254
5407 .loc 1 2589 5 is_stmt 1 view .LVU1900
2589:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5408 .loc 1 2589 9 is_stmt 0 view .LVU1901
5409 0042 0090 str r0, [sp]
5410 0044 1923 movs r3, #25
5411 0046 5A46 mov r2, fp
5412 0048 4FF40041 mov r1, #32768
5413 004c 2046 mov r0, r4
5414 .LVL353:
2589:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5415 .loc 1 2589 9 view .LVU1902
5416 004e FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
5417 .LVL354:
2589:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5418 .loc 1 2589 8 discriminator 1 view .LVU1903
5419 0052 30B1 cbz r0, .L375
2591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5420 .loc 1 2591 14 view .LVU1904
5421 0054 0120 movs r0, #1
5422 0056 9DE0 b .L359
5423 .LVL355:
5424 .L360:
2579:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
5425 .loc 1 2579 7 is_stmt 1 view .LVU1905
2579:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
5426 .loc 1 2579 23 is_stmt 0 view .LVU1906
5427 0058 4FF40073 mov r3, #512
5428 005c 6364 str r3, [r4, #68]
2580:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5429 .loc 1 2580 7 is_stmt 1 view .LVU1907
2580:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5430 .loc 1 2580 15 is_stmt 0 view .LVU1908
5431 005e 0120 movs r0, #1
5432 .LVL356:
2580:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5433 .loc 1 2580 15 view .LVU1909
5434 0060 98E0 b .L359
5435 .LVL357:
5436 .L375:
2594:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
5437 .loc 1 2594 5 is_stmt 1 view .LVU1910
2594:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
5438 .loc 1 2594 21 is_stmt 0 view .LVU1911
5439 0062 2223 movs r3, #34
5440 0064 84F84130 strb r3, [r4, #65]
2595:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
5441 .loc 1 2595 5 is_stmt 1 view .LVU1912
2595:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
5442 .loc 1 2595 21 is_stmt 0 view .LVU1913
5443 0068 4023 movs r3, #64
5444 006a 84F84230 strb r3, [r4, #66]
2596:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5445 .loc 1 2596 5 is_stmt 1 view .LVU1914
2596:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5446 .loc 1 2596 21 is_stmt 0 view .LVU1915
5447 006e 0023 movs r3, #0
5448 0070 6364 str r3, [r4, #68]
ARM GAS /tmp/ccNVyn8W.s page 255
2599:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
5449 .loc 1 2599 5 is_stmt 1 view .LVU1916
2599:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
5450 .loc 1 2599 21 is_stmt 0 view .LVU1917
5451 0072 0C9A ldr r2, [sp, #48]
5452 0074 6262 str r2, [r4, #36]
2600:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL;
5453 .loc 1 2600 5 is_stmt 1 view .LVU1918
2600:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL;
5454 .loc 1 2600 21 is_stmt 0 view .LVU1919
5455 0076 A4F82AA0 strh r10, [r4, #42] @ movhi
2601:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5456 .loc 1 2601 5 is_stmt 1 view .LVU1920
2601:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5457 .loc 1 2601 21 is_stmt 0 view .LVU1921
5458 007a 6363 str r3, [r4, #52]
2604:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5459 .loc 1 2604 5 is_stmt 1 view .LVU1922
2604:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5460 .loc 1 2604 9 is_stmt 0 view .LVU1923
5461 007c 0197 str r7, [sp, #4]
5462 007e 0095 str r5, [sp]
5463 0080 4B46 mov r3, r9
5464 0082 4246 mov r2, r8
5465 0084 3146 mov r1, r6
5466 0086 2046 mov r0, r4
5467 0088 FFF7FEFF bl I2C_RequestMemoryRead
5468 .LVL358:
2604:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5469 .loc 1 2604 8 discriminator 1 view .LVU1924
5470 008c 70B9 cbnz r0, .L376
2613:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5471 .loc 1 2613 5 is_stmt 1 view .LVU1925
2613:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5472 .loc 1 2613 13 is_stmt 0 view .LVU1926
5473 008e 638D ldrh r3, [r4, #42]
5474 0090 9BB2 uxth r3, r3
2613:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5475 .loc 1 2613 8 view .LVU1927
5476 0092 FF2B cmp r3, #255
5477 0094 0FD9 bls .L363
2615:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE,
5478 .loc 1 2615 7 is_stmt 1 view .LVU1928
2615:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE,
5479 .loc 1 2615 22 is_stmt 0 view .LVU1929
5480 0096 FF22 movs r2, #255
5481 0098 2285 strh r2, [r4, #40] @ movhi
2616:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_GENERATE_START_READ);
5482 .loc 1 2616 7 is_stmt 1 view .LVU1930
5483 009a 444B ldr r3, .L378
5484 009c 0093 str r3, [sp]
5485 009e 4FF08073 mov r3, #16777216
5486 00a2 3146 mov r1, r6
5487 00a4 2046 mov r0, r4
5488 00a6 FFF7FEFF bl I2C_TransferConfig
5489 .LVL359:
5490 00aa 21E0 b .L367
ARM GAS /tmp/ccNVyn8W.s page 256
5491 .L376:
2607:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
5492 .loc 1 2607 7 view .LVU1931
2607:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
5493 .loc 1 2607 7 view .LVU1932
5494 00ac 0023 movs r3, #0
5495 00ae 84F84030 strb r3, [r4, #64]
2607:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
5496 .loc 1 2607 7 view .LVU1933
2608:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5497 .loc 1 2608 7 view .LVU1934
2608:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5498 .loc 1 2608 14 is_stmt 0 view .LVU1935
5499 00b2 5846 mov r0, fp
5500 00b4 6EE0 b .L359
5501 .L363:
2621:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
5502 .loc 1 2621 7 is_stmt 1 view .LVU1936
2621:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
5503 .loc 1 2621 28 is_stmt 0 view .LVU1937
5504 00b6 628D ldrh r2, [r4, #42]
5505 00b8 92B2 uxth r2, r2
2621:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
5506 .loc 1 2621 22 view .LVU1938
5507 00ba 2285 strh r2, [r4, #40] @ movhi
2622:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_GENERATE_START_READ);
5508 .loc 1 2622 7 is_stmt 1 view .LVU1939
5509 00bc 3B4B ldr r3, .L378
5510 00be 0093 str r3, [sp]
5511 00c0 4FF00073 mov r3, #33554432
5512 00c4 D2B2 uxtb r2, r2
5513 00c6 3146 mov r1, r6
5514 00c8 2046 mov r0, r4
5515 00ca FFF7FEFF bl I2C_TransferConfig
5516 .LVL360:
5517 00ce 0FE0 b .L367
5518 .L366:
2659:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
5519 .loc 1 2659 11 view .LVU1940
2659:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
5520 .loc 1 2659 32 is_stmt 0 view .LVU1941
5521 00d0 628D ldrh r2, [r4, #42]
5522 00d2 92B2 uxth r2, r2
2659:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
5523 .loc 1 2659 26 view .LVU1942
5524 00d4 2285 strh r2, [r4, #40] @ movhi
2660:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_NO_STARTSTOP);
5525 .loc 1 2660 11 is_stmt 1 view .LVU1943
5526 00d6 0023 movs r3, #0
5527 00d8 0093 str r3, [sp]
5528 00da 4FF00073 mov r3, #33554432
5529 00de D2B2 uxtb r2, r2
5530 00e0 3146 mov r1, r6
5531 00e2 2046 mov r0, r4
5532 00e4 FFF7FEFF bl I2C_TransferConfig
5533 .LVL361:
5534 .L365:
ARM GAS /tmp/ccNVyn8W.s page 257
2664:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5535 .loc 1 2664 30 view .LVU1944
2664:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5536 .loc 1 2664 18 is_stmt 0 view .LVU1945
5537 00e8 638D ldrh r3, [r4, #42]
5538 00ea 9BB2 uxth r3, r3
2664:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5539 .loc 1 2664 30 view .LVU1946
5540 00ec 002B cmp r3, #0
5541 00ee 34D0 beq .L377
5542 .L367:
2626:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5543 .loc 1 2626 5 is_stmt 1 view .LVU1947
2629:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5544 .loc 1 2629 7 view .LVU1948
2629:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5545 .loc 1 2629 11 is_stmt 0 view .LVU1949
5546 00f0 0097 str r7, [sp]
5547 00f2 2B46 mov r3, r5
5548 00f4 0022 movs r2, #0
5549 00f6 0421 movs r1, #4
5550 00f8 2046 mov r0, r4
5551 00fa FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
5552 .LVL362:
2629:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5553 .loc 1 2629 10 discriminator 1 view .LVU1950
5554 00fe 0028 cmp r0, #0
5555 0100 4DD1 bne .L371
2635:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5556 .loc 1 2635 7 is_stmt 1 view .LVU1951
2635:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5557 .loc 1 2635 38 is_stmt 0 view .LVU1952
5558 0102 2368 ldr r3, [r4]
2635:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5559 .loc 1 2635 48 view .LVU1953
5560 0104 5A6A ldr r2, [r3, #36]
2635:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5561 .loc 1 2635 12 view .LVU1954
5562 0106 636A ldr r3, [r4, #36]
2635:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5563 .loc 1 2635 23 view .LVU1955
5564 0108 1A70 strb r2, [r3]
2638:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5565 .loc 1 2638 7 is_stmt 1 view .LVU1956
2638:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5566 .loc 1 2638 11 is_stmt 0 view .LVU1957
5567 010a 636A ldr r3, [r4, #36]
2638:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5568 .loc 1 2638 21 view .LVU1958
5569 010c 0133 adds r3, r3, #1
5570 010e 6362 str r3, [r4, #36]
2640:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--;
5571 .loc 1 2640 7 is_stmt 1 view .LVU1959
2640:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--;
5572 .loc 1 2640 11 is_stmt 0 view .LVU1960
5573 0110 228D ldrh r2, [r4, #40]
2640:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--;
ARM GAS /tmp/ccNVyn8W.s page 258
5574 .loc 1 2640 21 view .LVU1961
5575 0112 013A subs r2, r2, #1
5576 0114 92B2 uxth r2, r2
5577 0116 2285 strh r2, [r4, #40] @ movhi
2641:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5578 .loc 1 2641 7 is_stmt 1 view .LVU1962
2641:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5579 .loc 1 2641 11 is_stmt 0 view .LVU1963
5580 0118 638D ldrh r3, [r4, #42]
5581 011a 9BB2 uxth r3, r3
2641:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5582 .loc 1 2641 22 view .LVU1964
5583 011c 013B subs r3, r3, #1
5584 011e 9BB2 uxth r3, r3
5585 0120 6385 strh r3, [r4, #42] @ movhi
2643:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5586 .loc 1 2643 7 is_stmt 1 view .LVU1965
2643:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5587 .loc 1 2643 16 is_stmt 0 view .LVU1966
5588 0122 638D ldrh r3, [r4, #42]
5589 0124 9BB2 uxth r3, r3
2643:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5590 .loc 1 2643 10 view .LVU1967
5591 0126 002B cmp r3, #0
5592 0128 DED0 beq .L365
2643:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5593 .loc 1 2643 35 discriminator 1 view .LVU1968
5594 012a 002A cmp r2, #0
5595 012c DCD1 bne .L365
2646:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5596 .loc 1 2646 9 is_stmt 1 view .LVU1969
2646:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5597 .loc 1 2646 13 is_stmt 0 view .LVU1970
5598 012e 0097 str r7, [sp]
5599 0130 2B46 mov r3, r5
5600 0132 8021 movs r1, #128
5601 0134 2046 mov r0, r4
5602 0136 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
5603 .LVL363:
2646:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5604 .loc 1 2646 12 discriminator 1 view .LVU1971
5605 013a 90BB cbnz r0, .L372
2651:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5606 .loc 1 2651 9 is_stmt 1 view .LVU1972
2651:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5607 .loc 1 2651 17 is_stmt 0 view .LVU1973
5608 013c 638D ldrh r3, [r4, #42]
5609 013e 9BB2 uxth r3, r3
2651:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5610 .loc 1 2651 12 view .LVU1974
5611 0140 FF2B cmp r3, #255
5612 0142 C5D9 bls .L366
2653:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t) hi2c->XferSize, I2C_RELOAD_MODE,
5613 .loc 1 2653 11 is_stmt 1 view .LVU1975
2653:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t) hi2c->XferSize, I2C_RELOAD_MODE,
5614 .loc 1 2653 26 is_stmt 0 view .LVU1976
5615 0144 FF22 movs r2, #255
ARM GAS /tmp/ccNVyn8W.s page 259
5616 0146 2285 strh r2, [r4, #40] @ movhi
2654:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_NO_STARTSTOP);
5617 .loc 1 2654 11 is_stmt 1 view .LVU1977
5618 0148 0023 movs r3, #0
5619 014a 0093 str r3, [sp]
5620 014c 4FF08073 mov r3, #16777216
5621 0150 3146 mov r1, r6
5622 0152 2046 mov r0, r4
5623 0154 FFF7FEFF bl I2C_TransferConfig
5624 .LVL364:
5625 0158 C6E7 b .L365
5626 .L377:
2668:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5627 .loc 1 2668 5 view .LVU1978
2668:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5628 .loc 1 2668 9 is_stmt 0 view .LVU1979
5629 015a 3A46 mov r2, r7
5630 015c 2946 mov r1, r5
5631 015e 2046 mov r0, r4
5632 0160 FFF7FEFF bl I2C_WaitOnSTOPFlagUntilTimeout
5633 .LVL365:
2668:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5634 .loc 1 2668 8 discriminator 1 view .LVU1980
5635 0164 F8B9 cbnz r0, .L373
2674:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5636 .loc 1 2674 5 is_stmt 1 view .LVU1981
5637 0166 2368 ldr r3, [r4]
5638 0168 2022 movs r2, #32
5639 016a DA61 str r2, [r3, #28]
2677:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5640 .loc 1 2677 5 view .LVU1982
5641 016c 2168 ldr r1, [r4]
5642 016e 4B68 ldr r3, [r1, #4]
5643 0170 23F0FF73 bic r3, r3, #33423360
5644 0174 23F48B33 bic r3, r3, #71168
5645 0178 23F4FF73 bic r3, r3, #510
5646 017c 23F00103 bic r3, r3, #1
5647 0180 4B60 str r3, [r1, #4]
2679:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
5648 .loc 1 2679 5 view .LVU1983
2679:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
5649 .loc 1 2679 17 is_stmt 0 view .LVU1984
5650 0182 84F84120 strb r2, [r4, #65]
2680:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5651 .loc 1 2680 5 is_stmt 1 view .LVU1985
2680:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5652 .loc 1 2680 17 is_stmt 0 view .LVU1986
5653 0186 0023 movs r3, #0
5654 0188 84F84230 strb r3, [r4, #66]
2683:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5655 .loc 1 2683 5 is_stmt 1 view .LVU1987
2683:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5656 .loc 1 2683 5 view .LVU1988
5657 018c 84F84030 strb r3, [r4, #64]
2683:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5658 .loc 1 2683 5 view .LVU1989
2685:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
ARM GAS /tmp/ccNVyn8W.s page 260
5659 .loc 1 2685 5 view .LVU1990
2685:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5660 .loc 1 2685 12 is_stmt 0 view .LVU1991
5661 0190 00E0 b .L359
5662 .LVL366:
5663 .L368:
2689:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5664 .loc 1 2689 12 view .LVU1992
5665 0192 0220 movs r0, #2
5666 .LVL367:
5667 .L359:
2691:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
5668 .loc 1 2691 1 view .LVU1993
5669 0194 03B0 add sp, sp, #12
5670 .cfi_remember_state
5671 .cfi_def_cfa_offset 36
5672 @ sp needed
5673 0196 BDE8F08F pop {r4, r5, r6, r7, r8, r9, r10, fp, pc}
5674 .LVL368:
5675 .L369:
5676 .cfi_restore_state
2584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5677 .loc 1 2584 5 discriminator 1 view .LVU1994
5678 019a 0220 movs r0, #2
5679 .LVL369:
2584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5680 .loc 1 2584 5 discriminator 1 view .LVU1995
5681 019c FAE7 b .L359
5682 .LVL370:
5683 .L371:
2631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5684 .loc 1 2631 16 view .LVU1996
5685 019e 0120 movs r0, #1
5686 01a0 F8E7 b .L359
5687 .L372:
2648:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5688 .loc 1 2648 18 view .LVU1997
5689 01a2 0120 movs r0, #1
5690 01a4 F6E7 b .L359
5691 .L373:
2670:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5692 .loc 1 2670 14 view .LVU1998
5693 01a6 0120 movs r0, #1
5694 01a8 F4E7 b .L359
5695 .L379:
5696 01aa 00BF .align 2
5697 .L378:
5698 01ac 00240080 .word -2147474432
5699 .cfi_endproc
5700 .LFE147:
5702 .section .text.HAL_I2C_Mem_Write_IT,"ax",%progbits
5703 .align 1
5704 .global HAL_I2C_Mem_Write_IT
5705 .syntax unified
5706 .thumb
5707 .thumb_func
5709 HAL_I2C_Mem_Write_IT:
ARM GAS /tmp/ccNVyn8W.s page 261
5710 .LVL371:
5711 .LFB148:
2706:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check the parameters */
5712 .loc 1 2706 1 is_stmt 1 view -0
5713 .cfi_startproc
5714 @ args = 8, pretend = 0, frame = 0
5715 @ frame_needed = 0, uses_anonymous_args = 0
2706:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check the parameters */
5716 .loc 1 2706 1 is_stmt 0 view .LVU2000
5717 0000 70B5 push {r4, r5, r6, lr}
5718 .cfi_def_cfa_offset 16
5719 .cfi_offset 4, -16
5720 .cfi_offset 5, -12
5721 .cfi_offset 6, -8
5722 .cfi_offset 14, -4
5723 0002 82B0 sub sp, sp, #8
5724 .cfi_def_cfa_offset 24
5725 0004 0446 mov r4, r0
5726 0006 1D46 mov r5, r3
5727 0008 BDF81C30 ldrh r3, [sp, #28]
5728 .LVL372:
2708:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5729 .loc 1 2708 3 is_stmt 1 view .LVU2001
2710:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5730 .loc 1 2710 3 view .LVU2002
2710:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5731 .loc 1 2710 11 is_stmt 0 view .LVU2003
5732 000c 90F84100 ldrb r0, [r0, #65] @ zero_extendqisi2
5733 .LVL373:
2710:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5734 .loc 1 2710 11 view .LVU2004
5735 0010 C0B2 uxtb r0, r0
2710:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5736 .loc 1 2710 6 view .LVU2005
5737 0012 2028 cmp r0, #32
5738 0014 42D1 bne .L386
2712:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5739 .loc 1 2712 5 is_stmt 1 view .LVU2006
2712:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5740 .loc 1 2712 8 is_stmt 0 view .LVU2007
5741 0016 0698 ldr r0, [sp, #24]
5742 0018 0028 cmp r0, #0
5743 001a 34D0 beq .L382
2712:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5744 .loc 1 2712 25 discriminator 1 view .LVU2008
5745 001c 002B cmp r3, #0
5746 001e 32D0 beq .L382
2718:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5747 .loc 1 2718 5 is_stmt 1 view .LVU2009
2718:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5748 .loc 1 2718 9 is_stmt 0 view .LVU2010
5749 0020 2068 ldr r0, [r4]
5750 0022 8669 ldr r6, [r0, #24]
2718:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5751 .loc 1 2718 8 view .LVU2011
5752 0024 16F4004F tst r6, #32768
5753 0028 3BD1 bne .L387
ARM GAS /tmp/ccNVyn8W.s page 262
2724:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5754 .loc 1 2724 5 is_stmt 1 view .LVU2012
2724:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5755 .loc 1 2724 5 view .LVU2013
5756 002a 94F84060 ldrb r6, [r4, #64] @ zero_extendqisi2
5757 002e 012E cmp r6, #1
5758 0030 39D0 beq .L388
2724:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5759 .loc 1 2724 5 discriminator 2 view .LVU2014
5760 0032 0126 movs r6, #1
5761 0034 84F84060 strb r6, [r4, #64]
2724:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5762 .loc 1 2724 5 discriminator 2 view .LVU2015
2726:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
5763 .loc 1 2726 5 view .LVU2016
2726:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
5764 .loc 1 2726 23 is_stmt 0 view .LVU2017
5765 0038 2126 movs r6, #33
5766 003a 84F84160 strb r6, [r4, #65]
2727:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
5767 .loc 1 2727 5 is_stmt 1 view .LVU2018
2727:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
5768 .loc 1 2727 23 is_stmt 0 view .LVU2019
5769 003e 4026 movs r6, #64
5770 0040 84F84260 strb r6, [r4, #66]
2728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5771 .loc 1 2728 5 is_stmt 1 view .LVU2020
2728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5772 .loc 1 2728 23 is_stmt 0 view .LVU2021
5773 0044 0026 movs r6, #0
5774 0046 6664 str r6, [r4, #68]
2731:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
5775 .loc 1 2731 5 is_stmt 1 view .LVU2022
2731:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
5776 .loc 1 2731 23 is_stmt 0 view .LVU2023
5777 0048 069E ldr r6, [sp, #24]
5778 004a 6662 str r6, [r4, #36]
2732:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
5779 .loc 1 2732 5 is_stmt 1 view .LVU2024
2732:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
5780 .loc 1 2732 23 is_stmt 0 view .LVU2025
5781 004c 6385 strh r3, [r4, #42] @ movhi
2733:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Mem_ISR_IT;
5782 .loc 1 2733 5 is_stmt 1 view .LVU2026
2733:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Mem_ISR_IT;
5783 .loc 1 2733 23 is_stmt 0 view .LVU2027
5784 004e 174B ldr r3, .L391
5785 0050 E362 str r3, [r4, #44]
2734:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Devaddress = DevAddress;
5786 .loc 1 2734 5 is_stmt 1 view .LVU2028
2734:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Devaddress = DevAddress;
5787 .loc 1 2734 23 is_stmt 0 view .LVU2029
5788 0052 174B ldr r3, .L391+4
5789 0054 6363 str r3, [r4, #52]
2735:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5790 .loc 1 2735 5 is_stmt 1 view .LVU2030
2735:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
ARM GAS /tmp/ccNVyn8W.s page 263
5791 .loc 1 2735 23 is_stmt 0 view .LVU2031
5792 0056 E164 str r1, [r4, #76]
2738:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5793 .loc 1 2738 5 is_stmt 1 view .LVU2032
2738:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5794 .loc 1 2738 8 is_stmt 0 view .LVU2033
5795 0058 012D cmp r5, #1
5796 005a 19D0 beq .L390
2750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5797 .loc 1 2750 7 is_stmt 1 view .LVU2034
2750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5798 .loc 1 2750 30 is_stmt 0 view .LVU2035
5799 005c 130A lsrs r3, r2, #8
2750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5800 .loc 1 2750 28 view .LVU2036
5801 005e 8362 str r3, [r0, #40]
2753:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5802 .loc 1 2753 7 is_stmt 1 view .LVU2037
2753:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5803 .loc 1 2753 26 is_stmt 0 view .LVU2038
5804 0060 D2B2 uxtb r2, r2
5805 .LVL374:
2753:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5806 .loc 1 2753 24 view .LVU2039
5807 0062 2265 str r2, [r4, #80]
5808 .L385:
2756:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5809 .loc 1 2756 5 is_stmt 1 view .LVU2040
5810 0064 134B ldr r3, .L391+8
5811 0066 0093 str r3, [sp]
5812 0068 4FF08073 mov r3, #16777216
5813 006c EAB2 uxtb r2, r5
5814 006e 2046 mov r0, r4
5815 0070 FFF7FEFF bl I2C_TransferConfig
5816 .LVL375:
2759:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5817 .loc 1 2759 5 view .LVU2041
2759:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5818 .loc 1 2759 5 view .LVU2042
5819 0074 0025 movs r5, #0
5820 .LVL376:
2759:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5821 .loc 1 2759 5 is_stmt 0 view .LVU2043
5822 0076 84F84050 strb r5, [r4, #64]
2759:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5823 .loc 1 2759 5 is_stmt 1 view .LVU2044
2769:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5824 .loc 1 2769 5 view .LVU2045
5825 007a 0121 movs r1, #1
5826 007c 2046 mov r0, r4
5827 007e FFF7FEFF bl I2C_Enable_IRQ
5828 .LVL377:
2771:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5829 .loc 1 2771 5 view .LVU2046
2771:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5830 .loc 1 2771 12 is_stmt 0 view .LVU2047
5831 0082 2846 mov r0, r5
ARM GAS /tmp/ccNVyn8W.s page 264
5832 0084 0BE0 b .L381
5833 .LVL378:
5834 .L382:
2714:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
5835 .loc 1 2714 7 is_stmt 1 view .LVU2048
2714:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
5836 .loc 1 2714 23 is_stmt 0 view .LVU2049
5837 0086 4FF40073 mov r3, #512
5838 008a 6364 str r3, [r4, #68]
2715:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5839 .loc 1 2715 7 is_stmt 1 view .LVU2050
2715:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5840 .loc 1 2715 15 is_stmt 0 view .LVU2051
5841 008c 0120 movs r0, #1
5842 008e 06E0 b .L381
5843 .L390:
2741:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5844 .loc 1 2741 7 is_stmt 1 view .LVU2052
2741:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5845 .loc 1 2741 30 is_stmt 0 view .LVU2053
5846 0090 D2B2 uxtb r2, r2
5847 .LVL379:
2741:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5848 .loc 1 2741 28 view .LVU2054
5849 0092 8262 str r2, [r0, #40]
2744:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5850 .loc 1 2744 7 is_stmt 1 view .LVU2055
2744:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5851 .loc 1 2744 24 is_stmt 0 view .LVU2056
5852 0094 4FF0FF33 mov r3, #-1
5853 0098 2365 str r3, [r4, #80]
5854 009a E3E7 b .L385
5855 .LVL380:
5856 .L386:
2775:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5857 .loc 1 2775 12 view .LVU2057
5858 009c 0220 movs r0, #2
5859 .LVL381:
5860 .L381:
2777:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5861 .loc 1 2777 1 view .LVU2058
5862 009e 02B0 add sp, sp, #8
5863 .cfi_remember_state
5864 .cfi_def_cfa_offset 16
5865 @ sp needed
5866 00a0 70BD pop {r4, r5, r6, pc}
5867 .LVL382:
5868 .L387:
5869 .cfi_restore_state
2720:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5870 .loc 1 2720 14 view .LVU2059
5871 00a2 0220 movs r0, #2
5872 00a4 FBE7 b .L381
5873 .L388:
2724:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5874 .loc 1 2724 5 discriminator 1 view .LVU2060
5875 00a6 0220 movs r0, #2
ARM GAS /tmp/ccNVyn8W.s page 265
5876 00a8 F9E7 b .L381
5877 .L392:
5878 00aa 00BF .align 2
5879 .L391:
5880 00ac 0000FFFF .word -65536
5881 00b0 00000000 .word I2C_Mem_ISR_IT
5882 00b4 00200080 .word -2147475456
5883 .cfi_endproc
5884 .LFE148:
5886 .section .text.HAL_I2C_Mem_Read_IT,"ax",%progbits
5887 .align 1
5888 .global HAL_I2C_Mem_Read_IT
5889 .syntax unified
5890 .thumb
5891 .thumb_func
5893 HAL_I2C_Mem_Read_IT:
5894 .LVL383:
5895 .LFB149:
2793:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check the parameters */
5896 .loc 1 2793 1 is_stmt 1 view -0
5897 .cfi_startproc
5898 @ args = 8, pretend = 0, frame = 0
5899 @ frame_needed = 0, uses_anonymous_args = 0
2793:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check the parameters */
5900 .loc 1 2793 1 is_stmt 0 view .LVU2062
5901 0000 70B5 push {r4, r5, r6, lr}
5902 .cfi_def_cfa_offset 16
5903 .cfi_offset 4, -16
5904 .cfi_offset 5, -12
5905 .cfi_offset 6, -8
5906 .cfi_offset 14, -4
5907 0002 82B0 sub sp, sp, #8
5908 .cfi_def_cfa_offset 24
5909 0004 0446 mov r4, r0
5910 0006 1D46 mov r5, r3
5911 0008 BDF81C30 ldrh r3, [sp, #28]
5912 .LVL384:
2795:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5913 .loc 1 2795 3 is_stmt 1 view .LVU2063
2797:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5914 .loc 1 2797 3 view .LVU2064
2797:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5915 .loc 1 2797 11 is_stmt 0 view .LVU2065
5916 000c 90F84100 ldrb r0, [r0, #65] @ zero_extendqisi2
5917 .LVL385:
2797:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5918 .loc 1 2797 11 view .LVU2066
5919 0010 C0B2 uxtb r0, r0
2797:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5920 .loc 1 2797 6 view .LVU2067
5921 0012 2028 cmp r0, #32
5922 0014 41D1 bne .L399
2799:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5923 .loc 1 2799 5 is_stmt 1 view .LVU2068
2799:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5924 .loc 1 2799 8 is_stmt 0 view .LVU2069
5925 0016 0698 ldr r0, [sp, #24]
ARM GAS /tmp/ccNVyn8W.s page 266
5926 0018 0028 cmp r0, #0
5927 001a 33D0 beq .L395
2799:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5928 .loc 1 2799 25 discriminator 1 view .LVU2070
5929 001c 002B cmp r3, #0
5930 001e 31D0 beq .L395
2805:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5931 .loc 1 2805 5 is_stmt 1 view .LVU2071
2805:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5932 .loc 1 2805 9 is_stmt 0 view .LVU2072
5933 0020 2068 ldr r0, [r4]
5934 0022 8669 ldr r6, [r0, #24]
2805:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5935 .loc 1 2805 8 view .LVU2073
5936 0024 16F4004F tst r6, #32768
5937 0028 3AD1 bne .L400
2811:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5938 .loc 1 2811 5 is_stmt 1 view .LVU2074
2811:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5939 .loc 1 2811 5 view .LVU2075
5940 002a 94F84060 ldrb r6, [r4, #64] @ zero_extendqisi2
5941 002e 012E cmp r6, #1
5942 0030 38D0 beq .L401
2811:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5943 .loc 1 2811 5 discriminator 2 view .LVU2076
5944 0032 0126 movs r6, #1
5945 0034 84F84060 strb r6, [r4, #64]
2811:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5946 .loc 1 2811 5 discriminator 2 view .LVU2077
2813:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
5947 .loc 1 2813 5 view .LVU2078
2813:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
5948 .loc 1 2813 23 is_stmt 0 view .LVU2079
5949 0038 2226 movs r6, #34
5950 003a 84F84160 strb r6, [r4, #65]
2814:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
5951 .loc 1 2814 5 is_stmt 1 view .LVU2080
2814:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
5952 .loc 1 2814 23 is_stmt 0 view .LVU2081
5953 003e 4026 movs r6, #64
5954 0040 84F84260 strb r6, [r4, #66]
2815:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5955 .loc 1 2815 5 is_stmt 1 view .LVU2082
2815:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5956 .loc 1 2815 23 is_stmt 0 view .LVU2083
5957 0044 0026 movs r6, #0
5958 0046 6664 str r6, [r4, #68]
2818:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
5959 .loc 1 2818 5 is_stmt 1 view .LVU2084
2818:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
5960 .loc 1 2818 23 is_stmt 0 view .LVU2085
5961 0048 069E ldr r6, [sp, #24]
5962 004a 6662 str r6, [r4, #36]
2819:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
5963 .loc 1 2819 5 is_stmt 1 view .LVU2086
2819:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
5964 .loc 1 2819 23 is_stmt 0 view .LVU2087
ARM GAS /tmp/ccNVyn8W.s page 267
5965 004c 6385 strh r3, [r4, #42] @ movhi
2820:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Mem_ISR_IT;
5966 .loc 1 2820 5 is_stmt 1 view .LVU2088
2820:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Mem_ISR_IT;
5967 .loc 1 2820 23 is_stmt 0 view .LVU2089
5968 004e 164B ldr r3, .L404
5969 0050 E362 str r3, [r4, #44]
2821:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Devaddress = DevAddress;
5970 .loc 1 2821 5 is_stmt 1 view .LVU2090
2821:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Devaddress = DevAddress;
5971 .loc 1 2821 23 is_stmt 0 view .LVU2091
5972 0052 164B ldr r3, .L404+4
5973 0054 6363 str r3, [r4, #52]
2822:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5974 .loc 1 2822 5 is_stmt 1 view .LVU2092
2822:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5975 .loc 1 2822 23 is_stmt 0 view .LVU2093
5976 0056 E164 str r1, [r4, #76]
2825:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5977 .loc 1 2825 5 is_stmt 1 view .LVU2094
2825:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
5978 .loc 1 2825 8 is_stmt 0 view .LVU2095
5979 0058 012D cmp r5, #1
5980 005a 18D0 beq .L403
2837:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5981 .loc 1 2837 7 is_stmt 1 view .LVU2096
2837:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5982 .loc 1 2837 30 is_stmt 0 view .LVU2097
5983 005c 130A lsrs r3, r2, #8
2837:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5984 .loc 1 2837 28 view .LVU2098
5985 005e 8362 str r3, [r0, #40]
2840:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5986 .loc 1 2840 7 is_stmt 1 view .LVU2099
2840:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5987 .loc 1 2840 26 is_stmt 0 view .LVU2100
5988 0060 D2B2 uxtb r2, r2
5989 .LVL386:
2840:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
5990 .loc 1 2840 24 view .LVU2101
5991 0062 2265 str r2, [r4, #80]
5992 .L398:
2843:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
5993 .loc 1 2843 5 is_stmt 1 view .LVU2102
5994 0064 124B ldr r3, .L404+8
5995 0066 0093 str r3, [sp]
5996 0068 0023 movs r3, #0
5997 006a EAB2 uxtb r2, r5
5998 006c 2046 mov r0, r4
5999 006e FFF7FEFF bl I2C_TransferConfig
6000 .LVL387:
2846:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6001 .loc 1 2846 5 view .LVU2103
2846:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6002 .loc 1 2846 5 view .LVU2104
6003 0072 0025 movs r5, #0
6004 .LVL388:
ARM GAS /tmp/ccNVyn8W.s page 268
2846:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6005 .loc 1 2846 5 is_stmt 0 view .LVU2105
6006 0074 84F84050 strb r5, [r4, #64]
2846:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6007 .loc 1 2846 5 is_stmt 1 view .LVU2106
2856:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6008 .loc 1 2856 5 view .LVU2107
6009 0078 0321 movs r1, #3
6010 007a 2046 mov r0, r4
6011 007c FFF7FEFF bl I2C_Enable_IRQ
6012 .LVL389:
2858:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6013 .loc 1 2858 5 view .LVU2108
2858:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6014 .loc 1 2858 12 is_stmt 0 view .LVU2109
6015 0080 2846 mov r0, r5
6016 0082 0BE0 b .L394
6017 .LVL390:
6018 .L395:
2801:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
6019 .loc 1 2801 7 is_stmt 1 view .LVU2110
2801:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
6020 .loc 1 2801 23 is_stmt 0 view .LVU2111
6021 0084 4FF40073 mov r3, #512
6022 0088 6364 str r3, [r4, #68]
2802:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6023 .loc 1 2802 7 is_stmt 1 view .LVU2112
2802:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6024 .loc 1 2802 15 is_stmt 0 view .LVU2113
6025 008a 0120 movs r0, #1
6026 008c 06E0 b .L394
6027 .L403:
2828:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6028 .loc 1 2828 7 is_stmt 1 view .LVU2114
2828:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6029 .loc 1 2828 30 is_stmt 0 view .LVU2115
6030 008e D2B2 uxtb r2, r2
6031 .LVL391:
2828:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6032 .loc 1 2828 28 view .LVU2116
6033 0090 8262 str r2, [r0, #40]
2831:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6034 .loc 1 2831 7 is_stmt 1 view .LVU2117
2831:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6035 .loc 1 2831 24 is_stmt 0 view .LVU2118
6036 0092 4FF0FF33 mov r3, #-1
6037 0096 2365 str r3, [r4, #80]
6038 0098 E4E7 b .L398
6039 .LVL392:
6040 .L399:
2862:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6041 .loc 1 2862 12 view .LVU2119
6042 009a 0220 movs r0, #2
6043 .LVL393:
6044 .L394:
2864:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6045 .loc 1 2864 1 view .LVU2120
ARM GAS /tmp/ccNVyn8W.s page 269
6046 009c 02B0 add sp, sp, #8
6047 .cfi_remember_state
6048 .cfi_def_cfa_offset 16
6049 @ sp needed
6050 009e 70BD pop {r4, r5, r6, pc}
6051 .LVL394:
6052 .L400:
6053 .cfi_restore_state
2807:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6054 .loc 1 2807 14 view .LVU2121
6055 00a0 0220 movs r0, #2
6056 00a2 FBE7 b .L394
6057 .L401:
2811:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6058 .loc 1 2811 5 discriminator 1 view .LVU2122
6059 00a4 0220 movs r0, #2
6060 00a6 F9E7 b .L394
6061 .L405:
6062 .align 2
6063 .L404:
6064 00a8 0000FFFF .word -65536
6065 00ac 00000000 .word I2C_Mem_ISR_IT
6066 00b0 00200080 .word -2147475456
6067 .cfi_endproc
6068 .LFE149:
6070 .section .text.HAL_I2C_Mem_Write_DMA,"ax",%progbits
6071 .align 1
6072 .global HAL_I2C_Mem_Write_DMA
6073 .syntax unified
6074 .thumb
6075 .thumb_func
6077 HAL_I2C_Mem_Write_DMA:
6078 .LVL395:
6079 .LFB150:
2880:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
6080 .loc 1 2880 1 is_stmt 1 view -0
6081 .cfi_startproc
6082 @ args = 8, pretend = 0, frame = 0
6083 @ frame_needed = 0, uses_anonymous_args = 0
2880:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
6084 .loc 1 2880 1 is_stmt 0 view .LVU2124
6085 0000 F0B5 push {r4, r5, r6, r7, lr}
6086 .cfi_def_cfa_offset 20
6087 .cfi_offset 4, -20
6088 .cfi_offset 5, -16
6089 .cfi_offset 6, -12
6090 .cfi_offset 7, -8
6091 .cfi_offset 14, -4
6092 0002 83B0 sub sp, sp, #12
6093 .cfi_def_cfa_offset 32
6094 0004 0446 mov r4, r0
6095 0006 0E46 mov r6, r1
6096 0008 1F46 mov r7, r3
6097 000a 0899 ldr r1, [sp, #32]
6098 .LVL396:
2880:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
6099 .loc 1 2880 1 view .LVU2125
ARM GAS /tmp/ccNVyn8W.s page 270
6100 000c BDF82430 ldrh r3, [sp, #36]
6101 .LVL397:
2881:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6102 .loc 1 2881 3 is_stmt 1 view .LVU2126
2884:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6103 .loc 1 2884 3 view .LVU2127
2886:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6104 .loc 1 2886 3 view .LVU2128
2886:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6105 .loc 1 2886 11 is_stmt 0 view .LVU2129
6106 0010 90F84100 ldrb r0, [r0, #65] @ zero_extendqisi2
6107 .LVL398:
2886:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6108 .loc 1 2886 11 view .LVU2130
6109 0014 C0B2 uxtb r0, r0
2886:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6110 .loc 1 2886 6 view .LVU2131
6111 0016 2028 cmp r0, #32
6112 0018 7AD1 bne .L417
2888:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6113 .loc 1 2888 5 is_stmt 1 view .LVU2132
2888:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6114 .loc 1 2888 8 is_stmt 0 view .LVU2133
6115 001a 0029 cmp r1, #0
6116 001c 4BD0 beq .L408
2888:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6117 .loc 1 2888 25 discriminator 1 view .LVU2134
6118 001e 002B cmp r3, #0
6119 0020 49D0 beq .L408
2894:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6120 .loc 1 2894 5 is_stmt 1 view .LVU2135
2894:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6121 .loc 1 2894 9 is_stmt 0 view .LVU2136
6122 0022 2068 ldr r0, [r4]
6123 0024 8569 ldr r5, [r0, #24]
2894:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6124 .loc 1 2894 8 view .LVU2137
6125 0026 15F4004F tst r5, #32768
6126 002a 75D1 bne .L418
2900:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6127 .loc 1 2900 5 is_stmt 1 view .LVU2138
2900:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6128 .loc 1 2900 5 view .LVU2139
6129 002c 94F84050 ldrb r5, [r4, #64] @ zero_extendqisi2
6130 0030 012D cmp r5, #1
6131 0032 73D0 beq .L419
2900:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6132 .loc 1 2900 5 discriminator 2 view .LVU2140
6133 0034 0125 movs r5, #1
6134 0036 84F84050 strb r5, [r4, #64]
2900:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6135 .loc 1 2900 5 discriminator 2 view .LVU2141
2902:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
6136 .loc 1 2902 5 view .LVU2142
2902:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
6137 .loc 1 2902 23 is_stmt 0 view .LVU2143
6138 003a 2125 movs r5, #33
ARM GAS /tmp/ccNVyn8W.s page 271
6139 003c 84F84150 strb r5, [r4, #65]
2903:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
6140 .loc 1 2903 5 is_stmt 1 view .LVU2144
2903:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
6141 .loc 1 2903 23 is_stmt 0 view .LVU2145
6142 0040 4025 movs r5, #64
6143 0042 84F84250 strb r5, [r4, #66]
2904:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6144 .loc 1 2904 5 is_stmt 1 view .LVU2146
2904:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6145 .loc 1 2904 23 is_stmt 0 view .LVU2147
6146 0046 0025 movs r5, #0
6147 0048 6564 str r5, [r4, #68]
2907:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
6148 .loc 1 2907 5 is_stmt 1 view .LVU2148
2907:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
6149 .loc 1 2907 23 is_stmt 0 view .LVU2149
6150 004a 6162 str r1, [r4, #36]
2908:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
6151 .loc 1 2908 5 is_stmt 1 view .LVU2150
2908:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
6152 .loc 1 2908 23 is_stmt 0 view .LVU2151
6153 004c 6385 strh r3, [r4, #42] @ movhi
2909:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Mem_ISR_DMA;
6154 .loc 1 2909 5 is_stmt 1 view .LVU2152
2909:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Mem_ISR_DMA;
6155 .loc 1 2909 23 is_stmt 0 view .LVU2153
6156 004e 344B ldr r3, .L424
6157 0050 E362 str r3, [r4, #44]
2910:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Devaddress = DevAddress;
6158 .loc 1 2910 5 is_stmt 1 view .LVU2154
2910:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Devaddress = DevAddress;
6159 .loc 1 2910 23 is_stmt 0 view .LVU2155
6160 0052 344B ldr r3, .L424+4
6161 0054 6363 str r3, [r4, #52]
2911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6162 .loc 1 2911 5 is_stmt 1 view .LVU2156
2911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6163 .loc 1 2911 23 is_stmt 0 view .LVU2157
6164 0056 E664 str r6, [r4, #76]
2913:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6165 .loc 1 2913 5 is_stmt 1 view .LVU2158
2913:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6166 .loc 1 2913 13 is_stmt 0 view .LVU2159
6167 0058 638D ldrh r3, [r4, #42]
6168 005a 9BB2 uxth r3, r3
2913:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6169 .loc 1 2913 8 view .LVU2160
6170 005c FF2B cmp r3, #255
6171 005e 2FD9 bls .L410
2915:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6172 .loc 1 2915 7 is_stmt 1 view .LVU2161
2915:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6173 .loc 1 2915 22 is_stmt 0 view .LVU2162
6174 0060 FF23 movs r3, #255
6175 0062 2385 strh r3, [r4, #40] @ movhi
6176 .L411:
ARM GAS /tmp/ccNVyn8W.s page 272
2923:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6177 .loc 1 2923 5 is_stmt 1 view .LVU2163
2923:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6178 .loc 1 2923 8 is_stmt 0 view .LVU2164
6179 0064 012F cmp r7, #1
6180 0066 2ED0 beq .L422
2935:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6181 .loc 1 2935 7 is_stmt 1 view .LVU2165
2935:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6182 .loc 1 2935 30 is_stmt 0 view .LVU2166
6183 0068 130A lsrs r3, r2, #8
2935:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6184 .loc 1 2935 28 view .LVU2167
6185 006a 8362 str r3, [r0, #40]
2938:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6186 .loc 1 2938 7 is_stmt 1 view .LVU2168
2938:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6187 .loc 1 2938 26 is_stmt 0 view .LVU2169
6188 006c D2B2 uxtb r2, r2
6189 .LVL399:
2938:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6190 .loc 1 2938 24 view .LVU2170
6191 006e 2265 str r2, [r4, #80]
6192 .L413:
2941:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6193 .loc 1 2941 5 is_stmt 1 view .LVU2171
2941:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6194 .loc 1 2941 13 is_stmt 0 view .LVU2172
6195 0070 A36B ldr r3, [r4, #56]
2941:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6196 .loc 1 2941 8 view .LVU2173
6197 0072 002B cmp r3, #0
6198 0074 2DD0 beq .L414
2944:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6199 .loc 1 2944 7 is_stmt 1 view .LVU2174
2944:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6200 .loc 1 2944 38 is_stmt 0 view .LVU2175
6201 0076 2C4A ldr r2, .L424+8
6202 0078 9A62 str r2, [r3, #40]
2947:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6203 .loc 1 2947 7 is_stmt 1 view .LVU2176
2947:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6204 .loc 1 2947 11 is_stmt 0 view .LVU2177
6205 007a A36B ldr r3, [r4, #56]
2947:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6206 .loc 1 2947 39 view .LVU2178
6207 007c 2B4A ldr r2, .L424+12
6208 007e 1A63 str r2, [r3, #48]
2950:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
6209 .loc 1 2950 7 is_stmt 1 view .LVU2179
2950:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
6210 .loc 1 2950 11 is_stmt 0 view .LVU2180
6211 0080 A26B ldr r2, [r4, #56]
2950:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
6212 .loc 1 2950 42 view .LVU2181
6213 0082 0023 movs r3, #0
6214 0084 D362 str r3, [r2, #44]
ARM GAS /tmp/ccNVyn8W.s page 273
2951:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6215 .loc 1 2951 7 is_stmt 1 view .LVU2182
2951:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6216 .loc 1 2951 11 is_stmt 0 view .LVU2183
6217 0086 A26B ldr r2, [r4, #56]
2951:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6218 .loc 1 2951 39 view .LVU2184
6219 0088 5363 str r3, [r2, #52]
2954:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize);
6220 .loc 1 2954 7 is_stmt 1 view .LVU2185
2954:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize);
6221 .loc 1 2954 86 is_stmt 0 view .LVU2186
6222 008a 2268 ldr r2, [r4]
2954:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize);
6223 .loc 1 2954 23 view .LVU2187
6224 008c 238D ldrh r3, [r4, #40]
6225 008e 2832 adds r2, r2, #40
6226 0090 A06B ldr r0, [r4, #56]
6227 0092 FFF7FEFF bl HAL_DMA_Start_IT
6228 .LVL400:
2972:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6229 .loc 1 2972 5 is_stmt 1 view .LVU2188
2972:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6230 .loc 1 2972 8 is_stmt 0 view .LVU2189
6231 0096 0546 mov r5, r0
6232 0098 48B3 cbz r0, .L423
2992:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
6233 .loc 1 2992 7 is_stmt 1 view .LVU2190
2992:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
6234 .loc 1 2992 23 is_stmt 0 view .LVU2191
6235 009a 2023 movs r3, #32
6236 009c 84F84130 strb r3, [r4, #65]
2993:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6237 .loc 1 2993 7 is_stmt 1 view .LVU2192
2993:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6238 .loc 1 2993 23 is_stmt 0 view .LVU2193
6239 00a0 0022 movs r2, #0
6240 00a2 84F84220 strb r2, [r4, #66]
2996:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6241 .loc 1 2996 7 is_stmt 1 view .LVU2194
2996:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6242 .loc 1 2996 11 is_stmt 0 view .LVU2195
6243 00a6 636C ldr r3, [r4, #68]
2996:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6244 .loc 1 2996 23 view .LVU2196
6245 00a8 43F01003 orr r3, r3, #16
6246 00ac 6364 str r3, [r4, #68]
2999:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6247 .loc 1 2999 7 is_stmt 1 view .LVU2197
2999:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6248 .loc 1 2999 7 view .LVU2198
6249 00ae 84F84020 strb r2, [r4, #64]
2999:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6250 .loc 1 2999 7 view .LVU2199
3001:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6251 .loc 1 3001 7 view .LVU2200
3001:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
ARM GAS /tmp/ccNVyn8W.s page 274
6252 .loc 1 3001 14 is_stmt 0 view .LVU2201
6253 00b2 0125 movs r5, #1
6254 00b4 2DE0 b .L407
6255 .LVL401:
6256 .L408:
2890:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
6257 .loc 1 2890 7 is_stmt 1 view .LVU2202
2890:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
6258 .loc 1 2890 23 is_stmt 0 view .LVU2203
6259 00b6 4FF40073 mov r3, #512
6260 00ba 6364 str r3, [r4, #68]
2891:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6261 .loc 1 2891 7 is_stmt 1 view .LVU2204
2891:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6262 .loc 1 2891 15 is_stmt 0 view .LVU2205
6263 00bc 0125 movs r5, #1
6264 00be 28E0 b .L407
6265 .L410:
2919:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6266 .loc 1 2919 7 is_stmt 1 view .LVU2206
2919:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6267 .loc 1 2919 28 is_stmt 0 view .LVU2207
6268 00c0 638D ldrh r3, [r4, #42]
2919:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6269 .loc 1 2919 22 view .LVU2208
6270 00c2 2385 strh r3, [r4, #40] @ movhi
6271 00c4 CEE7 b .L411
6272 .L422:
2926:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6273 .loc 1 2926 7 is_stmt 1 view .LVU2209
2926:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6274 .loc 1 2926 30 is_stmt 0 view .LVU2210
6275 00c6 D2B2 uxtb r2, r2
6276 .LVL402:
2926:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6277 .loc 1 2926 28 view .LVU2211
6278 00c8 8262 str r2, [r0, #40]
2929:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6279 .loc 1 2929 7 is_stmt 1 view .LVU2212
2929:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6280 .loc 1 2929 24 is_stmt 0 view .LVU2213
6281 00ca 4FF0FF33 mov r3, #-1
6282 00ce 2365 str r3, [r4, #80]
6283 00d0 CEE7 b .L413
6284 .L414:
2960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
6285 .loc 1 2960 7 is_stmt 1 view .LVU2214
2960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
6286 .loc 1 2960 23 is_stmt 0 view .LVU2215
6287 00d2 2023 movs r3, #32
6288 00d4 84F84130 strb r3, [r4, #65]
2961:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6289 .loc 1 2961 7 is_stmt 1 view .LVU2216
2961:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6290 .loc 1 2961 23 is_stmt 0 view .LVU2217
6291 00d8 0022 movs r2, #0
6292 00da 84F84220 strb r2, [r4, #66]
ARM GAS /tmp/ccNVyn8W.s page 275
2964:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6293 .loc 1 2964 7 is_stmt 1 view .LVU2218
2964:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6294 .loc 1 2964 11 is_stmt 0 view .LVU2219
6295 00de 636C ldr r3, [r4, #68]
2964:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6296 .loc 1 2964 23 view .LVU2220
6297 00e0 43F08003 orr r3, r3, #128
6298 00e4 6364 str r3, [r4, #68]
2967:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6299 .loc 1 2967 7 is_stmt 1 view .LVU2221
2967:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6300 .loc 1 2967 7 view .LVU2222
6301 00e6 84F84020 strb r2, [r4, #64]
2967:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6302 .loc 1 2967 7 view .LVU2223
2969:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6303 .loc 1 2969 7 view .LVU2224
2969:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6304 .loc 1 2969 14 is_stmt 0 view .LVU2225
6305 00ea 0125 movs r5, #1
6306 00ec 11E0 b .L407
6307 .LVL403:
6308 .L423:
2975:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6309 .loc 1 2975 7 is_stmt 1 view .LVU2226
6310 00ee 104B ldr r3, .L424+16
6311 00f0 0093 str r3, [sp]
6312 00f2 4FF08073 mov r3, #16777216
6313 00f6 FAB2 uxtb r2, r7
6314 00f8 3146 mov r1, r6
6315 00fa 2046 mov r0, r4
6316 .LVL404:
2975:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6317 .loc 1 2975 7 is_stmt 0 view .LVU2227
6318 00fc FFF7FEFF bl I2C_TransferConfig
6319 .LVL405:
2978:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6320 .loc 1 2978 7 is_stmt 1 view .LVU2228
2978:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6321 .loc 1 2978 7 view .LVU2229
6322 0100 0023 movs r3, #0
6323 0102 84F84030 strb r3, [r4, #64]
2978:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6324 .loc 1 2978 7 view .LVU2230
2987:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6325 .loc 1 2987 7 view .LVU2231
6326 0106 0121 movs r1, #1
6327 0108 2046 mov r0, r4
6328 010a FFF7FEFF bl I2C_Enable_IRQ
6329 .LVL406:
3004:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6330 .loc 1 3004 5 view .LVU2232
3004:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6331 .loc 1 3004 12 is_stmt 0 view .LVU2233
6332 010e 00E0 b .L407
6333 .LVL407:
ARM GAS /tmp/ccNVyn8W.s page 276
6334 .L417:
3008:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6335 .loc 1 3008 12 view .LVU2234
6336 0110 0225 movs r5, #2
6337 .LVL408:
6338 .L407:
3010:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6339 .loc 1 3010 1 view .LVU2235
6340 0112 2846 mov r0, r5
6341 0114 03B0 add sp, sp, #12
6342 .cfi_remember_state
6343 .cfi_def_cfa_offset 20
6344 @ sp needed
6345 0116 F0BD pop {r4, r5, r6, r7, pc}
6346 .LVL409:
6347 .L418:
6348 .cfi_restore_state
2896:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6349 .loc 1 2896 14 view .LVU2236
6350 0118 0225 movs r5, #2
6351 011a FAE7 b .L407
6352 .L419:
2900:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6353 .loc 1 2900 5 discriminator 1 view .LVU2237
6354 011c 0225 movs r5, #2
6355 011e F8E7 b .L407
6356 .L425:
6357 .align 2
6358 .L424:
6359 0120 0000FFFF .word -65536
6360 0124 00000000 .word I2C_Mem_ISR_DMA
6361 0128 00000000 .word I2C_DMAMasterTransmitCplt
6362 012c 00000000 .word I2C_DMAError
6363 0130 00200080 .word -2147475456
6364 .cfi_endproc
6365 .LFE150:
6367 .section .text.HAL_I2C_Mem_Read_DMA,"ax",%progbits
6368 .align 1
6369 .global HAL_I2C_Mem_Read_DMA
6370 .syntax unified
6371 .thumb
6372 .thumb_func
6374 HAL_I2C_Mem_Read_DMA:
6375 .LVL410:
6376 .LFB151:
3026:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
6377 .loc 1 3026 1 is_stmt 1 view -0
6378 .cfi_startproc
6379 @ args = 8, pretend = 0, frame = 0
6380 @ frame_needed = 0, uses_anonymous_args = 0
3026:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
6381 .loc 1 3026 1 is_stmt 0 view .LVU2239
6382 0000 F0B5 push {r4, r5, r6, r7, lr}
6383 .cfi_def_cfa_offset 20
6384 .cfi_offset 4, -20
6385 .cfi_offset 5, -16
6386 .cfi_offset 6, -12
ARM GAS /tmp/ccNVyn8W.s page 277
6387 .cfi_offset 7, -8
6388 .cfi_offset 14, -4
6389 0002 83B0 sub sp, sp, #12
6390 .cfi_def_cfa_offset 32
6391 0004 0446 mov r4, r0
6392 0006 1F46 mov r7, r3
6393 0008 089D ldr r5, [sp, #32]
6394 000a BDF82430 ldrh r3, [sp, #36]
6395 .LVL411:
3027:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6396 .loc 1 3027 3 is_stmt 1 view .LVU2240
3030:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6397 .loc 1 3030 3 view .LVU2241
3032:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6398 .loc 1 3032 3 view .LVU2242
3032:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6399 .loc 1 3032 11 is_stmt 0 view .LVU2243
6400 000e 90F84100 ldrb r0, [r0, #65] @ zero_extendqisi2
6401 .LVL412:
3032:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6402 .loc 1 3032 11 view .LVU2244
6403 0012 C0B2 uxtb r0, r0
3032:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6404 .loc 1 3032 6 view .LVU2245
6405 0014 2028 cmp r0, #32
6406 0016 7BD1 bne .L437
6407 0018 0E46 mov r6, r1
3034:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6408 .loc 1 3034 5 is_stmt 1 view .LVU2246
3034:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6409 .loc 1 3034 8 is_stmt 0 view .LVU2247
6410 001a 002D cmp r5, #0
6411 001c 4CD0 beq .L428
3034:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6412 .loc 1 3034 25 discriminator 1 view .LVU2248
6413 001e 002B cmp r3, #0
6414 0020 4AD0 beq .L428
3040:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6415 .loc 1 3040 5 is_stmt 1 view .LVU2249
3040:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6416 .loc 1 3040 9 is_stmt 0 view .LVU2250
6417 0022 2168 ldr r1, [r4]
6418 .LVL413:
3040:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6419 .loc 1 3040 9 view .LVU2251
6420 0024 8869 ldr r0, [r1, #24]
3040:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6421 .loc 1 3040 8 view .LVU2252
6422 0026 10F4004F tst r0, #32768
6423 002a 75D1 bne .L438
3046:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6424 .loc 1 3046 5 is_stmt 1 view .LVU2253
3046:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6425 .loc 1 3046 5 view .LVU2254
6426 002c 94F84000 ldrb r0, [r4, #64] @ zero_extendqisi2
6427 0030 0128 cmp r0, #1
6428 0032 73D0 beq .L439
ARM GAS /tmp/ccNVyn8W.s page 278
3046:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6429 .loc 1 3046 5 discriminator 2 view .LVU2255
6430 0034 0120 movs r0, #1
6431 0036 84F84000 strb r0, [r4, #64]
3046:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6432 .loc 1 3046 5 discriminator 2 view .LVU2256
3048:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
6433 .loc 1 3048 5 view .LVU2257
3048:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
6434 .loc 1 3048 23 is_stmt 0 view .LVU2258
6435 003a 2220 movs r0, #34
6436 003c 84F84100 strb r0, [r4, #65]
3049:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
6437 .loc 1 3049 5 is_stmt 1 view .LVU2259
3049:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
6438 .loc 1 3049 23 is_stmt 0 view .LVU2260
6439 0040 4020 movs r0, #64
6440 0042 84F84200 strb r0, [r4, #66]
3050:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6441 .loc 1 3050 5 is_stmt 1 view .LVU2261
3050:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6442 .loc 1 3050 23 is_stmt 0 view .LVU2262
6443 0046 0020 movs r0, #0
6444 0048 6064 str r0, [r4, #68]
3053:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
6445 .loc 1 3053 5 is_stmt 1 view .LVU2263
3053:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
6446 .loc 1 3053 23 is_stmt 0 view .LVU2264
6447 004a 6562 str r5, [r4, #36]
3054:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
6448 .loc 1 3054 5 is_stmt 1 view .LVU2265
3054:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
6449 .loc 1 3054 23 is_stmt 0 view .LVU2266
6450 004c 6385 strh r3, [r4, #42] @ movhi
3055:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Mem_ISR_DMA;
6451 .loc 1 3055 5 is_stmt 1 view .LVU2267
3055:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Mem_ISR_DMA;
6452 .loc 1 3055 23 is_stmt 0 view .LVU2268
6453 004e 344B ldr r3, .L444
6454 0050 E362 str r3, [r4, #44]
3056:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Devaddress = DevAddress;
6455 .loc 1 3056 5 is_stmt 1 view .LVU2269
3056:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Devaddress = DevAddress;
6456 .loc 1 3056 23 is_stmt 0 view .LVU2270
6457 0052 344B ldr r3, .L444+4
6458 0054 6363 str r3, [r4, #52]
3057:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6459 .loc 1 3057 5 is_stmt 1 view .LVU2271
3057:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6460 .loc 1 3057 23 is_stmt 0 view .LVU2272
6461 0056 E664 str r6, [r4, #76]
3059:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6462 .loc 1 3059 5 is_stmt 1 view .LVU2273
3059:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6463 .loc 1 3059 13 is_stmt 0 view .LVU2274
6464 0058 638D ldrh r3, [r4, #42]
6465 005a 9BB2 uxth r3, r3
ARM GAS /tmp/ccNVyn8W.s page 279
3059:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6466 .loc 1 3059 8 view .LVU2275
6467 005c FF2B cmp r3, #255
6468 005e 30D9 bls .L430
3061:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6469 .loc 1 3061 7 is_stmt 1 view .LVU2276
3061:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6470 .loc 1 3061 22 is_stmt 0 view .LVU2277
6471 0060 FF23 movs r3, #255
6472 0062 2385 strh r3, [r4, #40] @ movhi
6473 .L431:
3069:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6474 .loc 1 3069 5 is_stmt 1 view .LVU2278
3069:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6475 .loc 1 3069 8 is_stmt 0 view .LVU2279
6476 0064 012F cmp r7, #1
6477 0066 2FD0 beq .L442
3081:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6478 .loc 1 3081 7 is_stmt 1 view .LVU2280
3081:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6479 .loc 1 3081 30 is_stmt 0 view .LVU2281
6480 0068 130A lsrs r3, r2, #8
3081:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6481 .loc 1 3081 28 view .LVU2282
6482 006a 8B62 str r3, [r1, #40]
3084:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6483 .loc 1 3084 7 is_stmt 1 view .LVU2283
3084:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6484 .loc 1 3084 26 is_stmt 0 view .LVU2284
6485 006c D2B2 uxtb r2, r2
6486 .LVL414:
3084:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6487 .loc 1 3084 24 view .LVU2285
6488 006e 2265 str r2, [r4, #80]
6489 .L433:
3087:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6490 .loc 1 3087 5 is_stmt 1 view .LVU2286
3087:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6491 .loc 1 3087 13 is_stmt 0 view .LVU2287
6492 0070 E36B ldr r3, [r4, #60]
3087:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6493 .loc 1 3087 8 view .LVU2288
6494 0072 002B cmp r3, #0
6495 0074 2ED0 beq .L434
3090:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6496 .loc 1 3090 7 is_stmt 1 view .LVU2289
3090:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6497 .loc 1 3090 38 is_stmt 0 view .LVU2290
6498 0076 2C4A ldr r2, .L444+8
6499 0078 9A62 str r2, [r3, #40]
3093:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6500 .loc 1 3093 7 is_stmt 1 view .LVU2291
3093:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6501 .loc 1 3093 11 is_stmt 0 view .LVU2292
6502 007a E36B ldr r3, [r4, #60]
3093:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6503 .loc 1 3093 39 view .LVU2293
ARM GAS /tmp/ccNVyn8W.s page 280
6504 007c 2B4A ldr r2, .L444+12
6505 007e 1A63 str r2, [r3, #48]
3096:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
6506 .loc 1 3096 7 is_stmt 1 view .LVU2294
3096:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
6507 .loc 1 3096 11 is_stmt 0 view .LVU2295
6508 0080 E26B ldr r2, [r4, #60]
3096:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
6509 .loc 1 3096 42 view .LVU2296
6510 0082 0023 movs r3, #0
6511 0084 D362 str r3, [r2, #44]
3097:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6512 .loc 1 3097 7 is_stmt 1 view .LVU2297
3097:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6513 .loc 1 3097 11 is_stmt 0 view .LVU2298
6514 0086 E26B ldr r2, [r4, #60]
3097:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6515 .loc 1 3097 39 view .LVU2299
6516 0088 5363 str r3, [r2, #52]
3100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize);
6517 .loc 1 3100 7 is_stmt 1 view .LVU2300
3100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize);
6518 .loc 1 3100 69 is_stmt 0 view .LVU2301
6519 008a 2168 ldr r1, [r4]
3100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize);
6520 .loc 1 3100 23 view .LVU2302
6521 008c 238D ldrh r3, [r4, #40]
6522 008e 2A46 mov r2, r5
6523 0090 2431 adds r1, r1, #36
6524 0092 E06B ldr r0, [r4, #60]
6525 0094 FFF7FEFF bl HAL_DMA_Start_IT
6526 .LVL415:
3118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6527 .loc 1 3118 5 is_stmt 1 view .LVU2303
3118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6528 .loc 1 3118 8 is_stmt 0 view .LVU2304
6529 0098 0546 mov r5, r0
6530 009a 48B3 cbz r0, .L443
3138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
6531 .loc 1 3138 7 is_stmt 1 view .LVU2305
3138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
6532 .loc 1 3138 23 is_stmt 0 view .LVU2306
6533 009c 2023 movs r3, #32
6534 009e 84F84130 strb r3, [r4, #65]
3139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6535 .loc 1 3139 7 is_stmt 1 view .LVU2307
3139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6536 .loc 1 3139 23 is_stmt 0 view .LVU2308
6537 00a2 0022 movs r2, #0
6538 00a4 84F84220 strb r2, [r4, #66]
3142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6539 .loc 1 3142 7 is_stmt 1 view .LVU2309
3142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6540 .loc 1 3142 11 is_stmt 0 view .LVU2310
6541 00a8 636C ldr r3, [r4, #68]
3142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6542 .loc 1 3142 23 view .LVU2311
ARM GAS /tmp/ccNVyn8W.s page 281
6543 00aa 43F01003 orr r3, r3, #16
6544 00ae 6364 str r3, [r4, #68]
3145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6545 .loc 1 3145 7 is_stmt 1 view .LVU2312
3145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6546 .loc 1 3145 7 view .LVU2313
6547 00b0 84F84020 strb r2, [r4, #64]
3145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6548 .loc 1 3145 7 view .LVU2314
3147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6549 .loc 1 3147 7 view .LVU2315
3147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6550 .loc 1 3147 14 is_stmt 0 view .LVU2316
6551 00b4 0125 movs r5, #1
6552 00b6 2CE0 b .L427
6553 .LVL416:
6554 .L428:
3036:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
6555 .loc 1 3036 7 is_stmt 1 view .LVU2317
3036:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
6556 .loc 1 3036 23 is_stmt 0 view .LVU2318
6557 00b8 4FF40073 mov r3, #512
6558 00bc 6364 str r3, [r4, #68]
3037:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6559 .loc 1 3037 7 is_stmt 1 view .LVU2319
3037:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6560 .loc 1 3037 15 is_stmt 0 view .LVU2320
6561 00be 0125 movs r5, #1
6562 00c0 27E0 b .L427
6563 .LVL417:
6564 .L430:
3065:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6565 .loc 1 3065 7 is_stmt 1 view .LVU2321
3065:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6566 .loc 1 3065 28 is_stmt 0 view .LVU2322
6567 00c2 638D ldrh r3, [r4, #42]
3065:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6568 .loc 1 3065 22 view .LVU2323
6569 00c4 2385 strh r3, [r4, #40] @ movhi
6570 00c6 CDE7 b .L431
6571 .L442:
3072:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6572 .loc 1 3072 7 is_stmt 1 view .LVU2324
3072:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6573 .loc 1 3072 30 is_stmt 0 view .LVU2325
6574 00c8 D2B2 uxtb r2, r2
6575 .LVL418:
3072:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6576 .loc 1 3072 28 view .LVU2326
6577 00ca 8A62 str r2, [r1, #40]
3075:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6578 .loc 1 3075 7 is_stmt 1 view .LVU2327
3075:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6579 .loc 1 3075 24 is_stmt 0 view .LVU2328
6580 00cc 4FF0FF33 mov r3, #-1
6581 00d0 2365 str r3, [r4, #80]
6582 00d2 CDE7 b .L433
ARM GAS /tmp/ccNVyn8W.s page 282
6583 .L434:
3106:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
6584 .loc 1 3106 7 is_stmt 1 view .LVU2329
3106:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
6585 .loc 1 3106 23 is_stmt 0 view .LVU2330
6586 00d4 2023 movs r3, #32
6587 00d6 84F84130 strb r3, [r4, #65]
3107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6588 .loc 1 3107 7 is_stmt 1 view .LVU2331
3107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6589 .loc 1 3107 23 is_stmt 0 view .LVU2332
6590 00da 0022 movs r2, #0
6591 00dc 84F84220 strb r2, [r4, #66]
3110:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6592 .loc 1 3110 7 is_stmt 1 view .LVU2333
3110:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6593 .loc 1 3110 11 is_stmt 0 view .LVU2334
6594 00e0 636C ldr r3, [r4, #68]
3110:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6595 .loc 1 3110 23 view .LVU2335
6596 00e2 43F08003 orr r3, r3, #128
6597 00e6 6364 str r3, [r4, #68]
3113:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6598 .loc 1 3113 7 is_stmt 1 view .LVU2336
3113:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6599 .loc 1 3113 7 view .LVU2337
6600 00e8 84F84020 strb r2, [r4, #64]
3113:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6601 .loc 1 3113 7 view .LVU2338
3115:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6602 .loc 1 3115 7 view .LVU2339
3115:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6603 .loc 1 3115 14 is_stmt 0 view .LVU2340
6604 00ec 0125 movs r5, #1
6605 00ee 10E0 b .L427
6606 .LVL419:
6607 .L443:
3121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6608 .loc 1 3121 7 is_stmt 1 view .LVU2341
6609 00f0 0F4B ldr r3, .L444+16
6610 00f2 0093 str r3, [sp]
6611 00f4 0023 movs r3, #0
6612 00f6 FAB2 uxtb r2, r7
6613 00f8 3146 mov r1, r6
6614 00fa 2046 mov r0, r4
6615 .LVL420:
3121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6616 .loc 1 3121 7 is_stmt 0 view .LVU2342
6617 00fc FFF7FEFF bl I2C_TransferConfig
6618 .LVL421:
3124:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6619 .loc 1 3124 7 is_stmt 1 view .LVU2343
3124:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6620 .loc 1 3124 7 view .LVU2344
6621 0100 0023 movs r3, #0
6622 0102 84F84030 strb r3, [r4, #64]
3124:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
ARM GAS /tmp/ccNVyn8W.s page 283
6623 .loc 1 3124 7 view .LVU2345
3133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6624 .loc 1 3133 7 view .LVU2346
6625 0106 0121 movs r1, #1
6626 0108 2046 mov r0, r4
6627 010a FFF7FEFF bl I2C_Enable_IRQ
6628 .LVL422:
3150:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6629 .loc 1 3150 5 view .LVU2347
3150:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6630 .loc 1 3150 12 is_stmt 0 view .LVU2348
6631 010e 00E0 b .L427
6632 .LVL423:
6633 .L437:
3154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6634 .loc 1 3154 12 view .LVU2349
6635 0110 0225 movs r5, #2
6636 .LVL424:
6637 .L427:
3156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6638 .loc 1 3156 1 view .LVU2350
6639 0112 2846 mov r0, r5
6640 0114 03B0 add sp, sp, #12
6641 .cfi_remember_state
6642 .cfi_def_cfa_offset 20
6643 @ sp needed
6644 0116 F0BD pop {r4, r5, r6, r7, pc}
6645 .LVL425:
6646 .L438:
6647 .cfi_restore_state
3042:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6648 .loc 1 3042 14 view .LVU2351
6649 0118 0225 movs r5, #2
6650 011a FAE7 b .L427
6651 .L439:
3046:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6652 .loc 1 3046 5 discriminator 1 view .LVU2352
6653 011c 0225 movs r5, #2
6654 011e F8E7 b .L427
6655 .L445:
6656 .align 2
6657 .L444:
6658 0120 0000FFFF .word -65536
6659 0124 00000000 .word I2C_Mem_ISR_DMA
6660 0128 00000000 .word I2C_DMAMasterReceiveCplt
6661 012c 00000000 .word I2C_DMAError
6662 0130 00200080 .word -2147475456
6663 .cfi_endproc
6664 .LFE151:
6666 .section .text.HAL_I2C_IsDeviceReady,"ax",%progbits
6667 .align 1
6668 .global HAL_I2C_IsDeviceReady
6669 .syntax unified
6670 .thumb
6671 .thumb_func
6673 HAL_I2C_IsDeviceReady:
6674 .LVL426:
ARM GAS /tmp/ccNVyn8W.s page 284
6675 .LFB152:
3171:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tickstart;
6676 .loc 1 3171 1 is_stmt 1 view -0
6677 .cfi_startproc
6678 @ args = 0, pretend = 0, frame = 8
6679 @ frame_needed = 0, uses_anonymous_args = 0
3171:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tickstart;
6680 .loc 1 3171 1 is_stmt 0 view .LVU2354
6681 0000 2DE9F043 push {r4, r5, r6, r7, r8, r9, lr}
6682 .cfi_def_cfa_offset 28
6683 .cfi_offset 4, -28
6684 .cfi_offset 5, -24
6685 .cfi_offset 6, -20
6686 .cfi_offset 7, -16
6687 .cfi_offset 8, -12
6688 .cfi_offset 9, -8
6689 .cfi_offset 14, -4
6690 0004 85B0 sub sp, sp, #20
6691 .cfi_def_cfa_offset 48
6692 0006 1D46 mov r5, r3
3172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6693 .loc 1 3172 3 is_stmt 1 view .LVU2355
3174:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6694 .loc 1 3174 3 view .LVU2356
3174:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6695 .loc 1 3174 17 is_stmt 0 view .LVU2357
6696 0008 0023 movs r3, #0
6697 .LVL427:
3174:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6698 .loc 1 3174 17 view .LVU2358
6699 000a 0393 str r3, [sp, #12]
3176:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** FlagStatus tmp2;
6700 .loc 1 3176 3 is_stmt 1 view .LVU2359
3177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6701 .loc 1 3177 3 view .LVU2360
3179:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6702 .loc 1 3179 3 view .LVU2361
3179:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6703 .loc 1 3179 11 is_stmt 0 view .LVU2362
6704 000c 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2
6705 0010 DBB2 uxtb r3, r3
3179:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6706 .loc 1 3179 6 view .LVU2363
6707 0012 202B cmp r3, #32
6708 0014 40F0A080 bne .L458
6709 0018 0646 mov r6, r0
6710 001a 8946 mov r9, r1
6711 001c 9046 mov r8, r2
3181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6712 .loc 1 3181 5 is_stmt 1 view .LVU2364
3181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6713 .loc 1 3181 9 is_stmt 0 view .LVU2365
6714 001e 0368 ldr r3, [r0]
6715 0020 9B69 ldr r3, [r3, #24]
3181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6716 .loc 1 3181 8 view .LVU2366
6717 0022 13F4004F tst r3, #32768
ARM GAS /tmp/ccNVyn8W.s page 285
6718 0026 40F09980 bne .L459
3187:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6719 .loc 1 3187 5 is_stmt 1 view .LVU2367
3187:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6720 .loc 1 3187 5 view .LVU2368
6721 002a 90F84030 ldrb r3, [r0, #64] @ zero_extendqisi2
6722 002e 012B cmp r3, #1
6723 0030 00F09680 beq .L460
3187:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6724 .loc 1 3187 5 discriminator 2 view .LVU2369
6725 0034 0123 movs r3, #1
6726 0036 80F84030 strb r3, [r0, #64]
3187:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6727 .loc 1 3187 5 discriminator 2 view .LVU2370
3189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
6728 .loc 1 3189 5 view .LVU2371
3189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
6729 .loc 1 3189 17 is_stmt 0 view .LVU2372
6730 003a 2423 movs r3, #36
6731 003c 80F84130 strb r3, [r0, #65]
3190:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6732 .loc 1 3190 5 is_stmt 1 view .LVU2373
3190:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6733 .loc 1 3190 21 is_stmt 0 view .LVU2374
6734 0040 0023 movs r3, #0
6735 0042 4364 str r3, [r0, #68]
6736 0044 44E0 b .L457
6737 .LVL428:
6738 .L468:
3195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6739 .loc 1 3195 29 discriminator 1 view .LVU2375
6740 0046 C9F30903 ubfx r3, r9, #0, #10
6741 004a 43F00073 orr r3, r3, #33554432
6742 004e 43F40053 orr r3, r3, #8192
6743 0052 46E0 b .L449
6744 .LVL429:
6745 .L451:
3223:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmp2 = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF);
6746 .loc 1 3223 9 is_stmt 1 view .LVU2376
3223:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmp2 = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF);
6747 .loc 1 3223 16 is_stmt 0 view .LVU2377
6748 0054 3368 ldr r3, [r6]
6749 0056 9C69 ldr r4, [r3, #24]
6750 .LVL430:
3223:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmp2 = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF);
6751 .loc 1 3223 16 view .LVU2378
6752 0058 C4F34014 ubfx r4, r4, #5, #1
6753 .LVL431:
3224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6754 .loc 1 3224 9 is_stmt 1 view .LVU2379
3224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6755 .loc 1 3224 16 is_stmt 0 view .LVU2380
6756 005c 9B69 ldr r3, [r3, #24]
6757 005e C3F30013 ubfx r3, r3, #4, #1
6758 .LVL432:
6759 .L450:
3204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
ARM GAS /tmp/ccNVyn8W.s page 286
6760 .loc 1 3204 30 is_stmt 1 view .LVU2381
6761 0062 C4B9 cbnz r4, .L453
3204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6762 .loc 1 3204 30 is_stmt 0 discriminator 1 view .LVU2382
6763 0064 BBB9 cbnz r3, .L453
3206:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6764 .loc 1 3206 9 is_stmt 1 view .LVU2383
3206:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6765 .loc 1 3206 12 is_stmt 0 view .LVU2384
6766 0066 B5F1FF3F cmp r5, #-1
6767 006a F3D0 beq .L451
3208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6768 .loc 1 3208 11 is_stmt 1 view .LVU2385
3208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6769 .loc 1 3208 17 is_stmt 0 view .LVU2386
6770 006c FFF7FEFF bl HAL_GetTick
6771 .LVL433:
3208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6772 .loc 1 3208 31 discriminator 1 view .LVU2387
6773 0070 C01B subs r0, r0, r7
3208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6774 .loc 1 3208 14 discriminator 1 view .LVU2388
6775 0072 A842 cmp r0, r5
6776 0074 01D8 bhi .L452
3208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6777 .loc 1 3208 55 discriminator 1 view .LVU2389
6778 0076 002D cmp r5, #0
6779 0078 ECD1 bne .L451
6780 .L452:
3211:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6781 .loc 1 3211 13 is_stmt 1 view .LVU2390
3211:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6782 .loc 1 3211 25 is_stmt 0 view .LVU2391
6783 007a 2023 movs r3, #32
6784 007c 86F84130 strb r3, [r6, #65]
3214:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6785 .loc 1 3214 13 is_stmt 1 view .LVU2392
3214:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6786 .loc 1 3214 17 is_stmt 0 view .LVU2393
6787 0080 736C ldr r3, [r6, #68]
3214:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6788 .loc 1 3214 29 view .LVU2394
6789 0082 43F02003 orr r3, r3, #32
6790 0086 7364 str r3, [r6, #68]
3217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6791 .loc 1 3217 13 is_stmt 1 view .LVU2395
3217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6792 .loc 1 3217 13 view .LVU2396
6793 0088 0023 movs r3, #0
6794 008a 86F84030 strb r3, [r6, #64]
3217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6795 .loc 1 3217 13 view .LVU2397
3219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6796 .loc 1 3219 13 view .LVU2398
3219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6797 .loc 1 3219 20 is_stmt 0 view .LVU2399
6798 008e 0120 movs r0, #1
ARM GAS /tmp/ccNVyn8W.s page 287
6799 .LVL434:
6800 .L447:
3297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6801 .loc 1 3297 1 view .LVU2400
6802 0090 05B0 add sp, sp, #20
6803 .cfi_remember_state
6804 .cfi_def_cfa_offset 28
6805 @ sp needed
6806 0092 BDE8F083 pop {r4, r5, r6, r7, r8, r9, pc}
6807 .LVL435:
6808 .L453:
6809 .cfi_restore_state
3228:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6810 .loc 1 3228 7 is_stmt 1 view .LVU2401
3228:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6811 .loc 1 3228 11 is_stmt 0 view .LVU2402
6812 0096 3368 ldr r3, [r6]
6813 .LVL436:
3228:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6814 .loc 1 3228 11 view .LVU2403
6815 0098 9B69 ldr r3, [r3, #24]
3228:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6816 .loc 1 3228 10 view .LVU2404
6817 009a 13F0100F tst r3, #16
6818 009e 2DD0 beq .L465
3250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6819 .loc 1 3250 9 is_stmt 1 view .LVU2405
3250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6820 .loc 1 3250 13 is_stmt 0 view .LVU2406
6821 00a0 0097 str r7, [sp]
6822 00a2 2B46 mov r3, r5
6823 00a4 0022 movs r2, #0
6824 00a6 2021 movs r1, #32
6825 00a8 3046 mov r0, r6
6826 00aa FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
6827 .LVL437:
3250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6828 .loc 1 3250 12 discriminator 1 view .LVU2407
6829 00ae 0028 cmp r0, #0
6830 00b0 5AD1 bne .L462
3256:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6831 .loc 1 3256 9 is_stmt 1 view .LVU2408
6832 00b2 3368 ldr r3, [r6]
6833 00b4 1022 movs r2, #16
6834 00b6 DA61 str r2, [r3, #28]
3259:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6835 .loc 1 3259 9 view .LVU2409
6836 00b8 3368 ldr r3, [r6]
6837 00ba 2022 movs r2, #32
6838 00bc DA61 str r2, [r3, #28]
3263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6839 .loc 1 3263 7 view .LVU2410
3263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6840 .loc 1 3263 22 is_stmt 0 view .LVU2411
6841 00be 039B ldr r3, [sp, #12]
3263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6842 .loc 1 3263 10 view .LVU2412
ARM GAS /tmp/ccNVyn8W.s page 288
6843 00c0 4345 cmp r3, r8
6844 00c2 2CD0 beq .L466
6845 .L456:
3279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } while (I2C_Trials < Trials);
6846 .loc 1 3279 7 is_stmt 1 view .LVU2413
3279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } while (I2C_Trials < Trials);
6847 .loc 1 3279 17 is_stmt 0 view .LVU2414
6848 00c4 039B ldr r3, [sp, #12]
6849 00c6 0133 adds r3, r3, #1
6850 00c8 0393 str r3, [sp, #12]
3280:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6851 .loc 1 3280 25 is_stmt 1 view .LVU2415
6852 00ca 039B ldr r3, [sp, #12]
6853 00cc 4345 cmp r3, r8
6854 00ce 37D2 bcs .L467
6855 .LVL438:
6856 .L457:
3192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6857 .loc 1 3192 5 view .LVU2416
3195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6858 .loc 1 3195 7 view .LVU2417
3195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6859 .loc 1 3195 29 is_stmt 0 view .LVU2418
6860 00d0 F368 ldr r3, [r6, #12]
6861 00d2 012B cmp r3, #1
6862 00d4 B7D0 beq .L468
3195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6863 .loc 1 3195 29 discriminator 2 view .LVU2419
6864 00d6 C9F30903 ubfx r3, r9, #0, #10
6865 00da 43F00073 orr r3, r3, #33554432
6866 00de 43F42053 orr r3, r3, #10240
6867 .L449:
3195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6868 .loc 1 3195 11 discriminator 4 view .LVU2420
6869 00e2 3268 ldr r2, [r6]
3195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6870 .loc 1 3195 27 discriminator 4 view .LVU2421
6871 00e4 5360 str r3, [r2, #4]
3199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6872 .loc 1 3199 7 is_stmt 1 view .LVU2422
3199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6873 .loc 1 3199 19 is_stmt 0 view .LVU2423
6874 00e6 FFF7FEFF bl HAL_GetTick
6875 .LVL439:
6876 00ea 0746 mov r7, r0
6877 .LVL440:
3201:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmp2 = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF);
6878 .loc 1 3201 7 is_stmt 1 view .LVU2424
3201:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmp2 = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF);
6879 .loc 1 3201 14 is_stmt 0 view .LVU2425
6880 00ec 3368 ldr r3, [r6]
6881 00ee 9C69 ldr r4, [r3, #24]
6882 00f0 C4F34014 ubfx r4, r4, #5, #1
6883 .LVL441:
3202:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6884 .loc 1 3202 7 is_stmt 1 view .LVU2426
3202:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
ARM GAS /tmp/ccNVyn8W.s page 289
6885 .loc 1 3202 14 is_stmt 0 view .LVU2427
6886 00f4 9B69 ldr r3, [r3, #24]
6887 00f6 C3F30013 ubfx r3, r3, #4, #1
6888 .LVL442:
3204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6889 .loc 1 3204 7 is_stmt 1 view .LVU2428
3204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6890 .loc 1 3204 13 is_stmt 0 view .LVU2429
6891 00fa B2E7 b .L450
6892 .LVL443:
6893 .L465:
3231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6894 .loc 1 3231 9 is_stmt 1 view .LVU2430
3231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6895 .loc 1 3231 13 is_stmt 0 view .LVU2431
6896 00fc 0097 str r7, [sp]
6897 00fe 2B46 mov r3, r5
6898 0100 0022 movs r2, #0
6899 0102 2021 movs r1, #32
6900 0104 3046 mov r0, r6
6901 0106 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
6902 .LVL444:
3231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6903 .loc 1 3231 12 discriminator 1 view .LVU2432
6904 010a 58BB cbnz r0, .L461
3237:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6905 .loc 1 3237 9 is_stmt 1 view .LVU2433
6906 010c 3268 ldr r2, [r6]
6907 010e 2023 movs r3, #32
6908 0110 D361 str r3, [r2, #28]
3240:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6909 .loc 1 3240 9 view .LVU2434
3240:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6910 .loc 1 3240 21 is_stmt 0 view .LVU2435
6911 0112 86F84130 strb r3, [r6, #65]
3243:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6912 .loc 1 3243 9 is_stmt 1 view .LVU2436
3243:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6913 .loc 1 3243 9 view .LVU2437
6914 0116 0023 movs r3, #0
6915 0118 86F84030 strb r3, [r6, #64]
3243:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6916 .loc 1 3243 9 view .LVU2438
3245:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6917 .loc 1 3245 9 view .LVU2439
3245:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6918 .loc 1 3245 16 is_stmt 0 view .LVU2440
6919 011c B8E7 b .L447
6920 .L466:
3266:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6921 .loc 1 3266 9 is_stmt 1 view .LVU2441
3266:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6922 .loc 1 3266 13 is_stmt 0 view .LVU2442
6923 011e 3268 ldr r2, [r6]
3266:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6924 .loc 1 3266 23 view .LVU2443
6925 0120 5368 ldr r3, [r2, #4]
ARM GAS /tmp/ccNVyn8W.s page 290
3266:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6926 .loc 1 3266 29 view .LVU2444
6927 0122 43F48043 orr r3, r3, #16384
6928 0126 5360 str r3, [r2, #4]
3269:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6929 .loc 1 3269 9 is_stmt 1 view .LVU2445
3269:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6930 .loc 1 3269 13 is_stmt 0 view .LVU2446
6931 0128 0097 str r7, [sp]
6932 012a 2B46 mov r3, r5
6933 012c 0022 movs r2, #0
6934 012e 2021 movs r1, #32
6935 0130 3046 mov r0, r6
6936 0132 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
6937 .LVL445:
3269:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
6938 .loc 1 3269 12 discriminator 1 view .LVU2447
6939 0136 C8B9 cbnz r0, .L463
3275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6940 .loc 1 3275 9 is_stmt 1 view .LVU2448
6941 0138 3368 ldr r3, [r6]
6942 013a 2022 movs r2, #32
6943 013c DA61 str r2, [r3, #28]
6944 013e C1E7 b .L456
6945 .L467:
3283:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6946 .loc 1 3283 5 view .LVU2449
3283:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6947 .loc 1 3283 17 is_stmt 0 view .LVU2450
6948 0140 2023 movs r3, #32
6949 0142 86F84130 strb r3, [r6, #65]
3286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6950 .loc 1 3286 5 is_stmt 1 view .LVU2451
3286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6951 .loc 1 3286 9 is_stmt 0 view .LVU2452
6952 0146 736C ldr r3, [r6, #68]
3286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6953 .loc 1 3286 21 view .LVU2453
6954 0148 43F02003 orr r3, r3, #32
6955 014c 7364 str r3, [r6, #68]
3289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6956 .loc 1 3289 5 is_stmt 1 view .LVU2454
3289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6957 .loc 1 3289 5 view .LVU2455
6958 014e 0023 movs r3, #0
6959 0150 86F84030 strb r3, [r6, #64]
3289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6960 .loc 1 3289 5 view .LVU2456
3291:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6961 .loc 1 3291 5 view .LVU2457
3291:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6962 .loc 1 3291 12 is_stmt 0 view .LVU2458
6963 0154 0120 movs r0, #1
6964 0156 9BE7 b .L447
6965 .LVL446:
6966 .L458:
3295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
ARM GAS /tmp/ccNVyn8W.s page 291
6967 .loc 1 3295 12 view .LVU2459
6968 0158 0220 movs r0, #2
6969 .LVL447:
3295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6970 .loc 1 3295 12 view .LVU2460
6971 015a 99E7 b .L447
6972 .LVL448:
6973 .L459:
3183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6974 .loc 1 3183 14 view .LVU2461
6975 015c 0220 movs r0, #2
6976 .LVL449:
3183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6977 .loc 1 3183 14 view .LVU2462
6978 015e 97E7 b .L447
6979 .LVL450:
6980 .L460:
3187:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6981 .loc 1 3187 5 discriminator 1 view .LVU2463
6982 0160 0220 movs r0, #2
6983 .LVL451:
3187:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
6984 .loc 1 3187 5 discriminator 1 view .LVU2464
6985 0162 95E7 b .L447
6986 .LVL452:
6987 .L461:
3233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6988 .loc 1 3233 18 view .LVU2465
6989 0164 0120 movs r0, #1
6990 0166 93E7 b .L447
6991 .L462:
3252:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6992 .loc 1 3252 18 view .LVU2466
6993 0168 0120 movs r0, #1
6994 016a 91E7 b .L447
6995 .L463:
3271:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
6996 .loc 1 3271 18 view .LVU2467
6997 016c 0120 movs r0, #1
6998 016e 8FE7 b .L447
6999 .cfi_endproc
7000 .LFE152:
7002 .section .text.HAL_I2C_Master_Seq_Transmit_IT,"ax",%progbits
7003 .align 1
7004 .global HAL_I2C_Master_Seq_Transmit_IT
7005 .syntax unified
7006 .thumb
7007 .thumb_func
7009 HAL_I2C_Master_Seq_Transmit_IT:
7010 .LVL453:
7011 .LFB153:
3313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode;
7012 .loc 1 3313 1 is_stmt 1 view -0
7013 .cfi_startproc
7014 @ args = 4, pretend = 0, frame = 0
7015 @ frame_needed = 0, uses_anonymous_args = 0
3313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode;
ARM GAS /tmp/ccNVyn8W.s page 292
7016 .loc 1 3313 1 is_stmt 0 view .LVU2469
7017 0000 70B5 push {r4, r5, r6, lr}
7018 .cfi_def_cfa_offset 16
7019 .cfi_offset 4, -16
7020 .cfi_offset 5, -12
7021 .cfi_offset 6, -8
7022 .cfi_offset 14, -4
7023 0002 82B0 sub sp, sp, #8
7024 .cfi_def_cfa_offset 24
7025 0004 0446 mov r4, r0
3314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xferrequest = I2C_GENERATE_START_WRITE;
7026 .loc 1 3314 3 is_stmt 1 view .LVU2470
3315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7027 .loc 1 3315 3 view .LVU2471
7028 .LVL454:
3318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7029 .loc 1 3318 3 view .LVU2472
3320:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
7030 .loc 1 3320 3 view .LVU2473
3320:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
7031 .loc 1 3320 11 is_stmt 0 view .LVU2474
7032 0006 90F84100 ldrb r0, [r0, #65] @ zero_extendqisi2
7033 .LVL455:
3320:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
7034 .loc 1 3320 11 view .LVU2475
7035 000a C0B2 uxtb r0, r0
3320:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
7036 .loc 1 3320 6 view .LVU2476
7037 000c 2028 cmp r0, #32
7038 000e 49D1 bne .L475
7039 0010 0D46 mov r5, r1
3323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7040 .loc 1 3323 5 is_stmt 1 view .LVU2477
3323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7041 .loc 1 3323 5 view .LVU2478
7042 0012 94F84010 ldrb r1, [r4, #64] @ zero_extendqisi2
7043 .LVL456:
3323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7044 .loc 1 3323 5 is_stmt 0 view .LVU2479
7045 0016 0129 cmp r1, #1
7046 0018 46D0 beq .L476
3323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7047 .loc 1 3323 5 is_stmt 1 discriminator 2 view .LVU2480
7048 001a 0121 movs r1, #1
7049 001c 84F84010 strb r1, [r4, #64]
3323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7050 .loc 1 3323 5 discriminator 2 view .LVU2481
3325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
7051 .loc 1 3325 5 view .LVU2482
3325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
7052 .loc 1 3325 21 is_stmt 0 view .LVU2483
7053 0020 2121 movs r1, #33
7054 0022 84F84110 strb r1, [r4, #65]
3326:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
7055 .loc 1 3326 5 is_stmt 1 view .LVU2484
3326:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
7056 .loc 1 3326 21 is_stmt 0 view .LVU2485
ARM GAS /tmp/ccNVyn8W.s page 293
7057 0026 1021 movs r1, #16
7058 0028 84F84210 strb r1, [r4, #66]
3327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7059 .loc 1 3327 5 is_stmt 1 view .LVU2486
3327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7060 .loc 1 3327 21 is_stmt 0 view .LVU2487
7061 002c 0021 movs r1, #0
7062 002e 6164 str r1, [r4, #68]
3330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
7063 .loc 1 3330 5 is_stmt 1 view .LVU2488
3330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
7064 .loc 1 3330 23 is_stmt 0 view .LVU2489
7065 0030 6262 str r2, [r4, #36]
3331:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
7066 .loc 1 3331 5 is_stmt 1 view .LVU2490
3331:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
7067 .loc 1 3331 23 is_stmt 0 view .LVU2491
7068 0032 6385 strh r3, [r4, #42] @ movhi
3332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
7069 .loc 1 3332 5 is_stmt 1 view .LVU2492
3332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
7070 .loc 1 3332 23 is_stmt 0 view .LVU2493
7071 0034 069B ldr r3, [sp, #24]
7072 .LVL457:
3332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
7073 .loc 1 3332 23 view .LVU2494
7074 0036 E362 str r3, [r4, #44]
7075 .LVL458:
3333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7076 .loc 1 3333 5 is_stmt 1 view .LVU2495
3333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7077 .loc 1 3333 23 is_stmt 0 view .LVU2496
7078 0038 1C4B ldr r3, .L480
7079 003a 6363 str r3, [r4, #52]
3336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
7080 .loc 1 3336 5 is_stmt 1 view .LVU2497
3336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
7081 .loc 1 3336 13 is_stmt 0 view .LVU2498
7082 003c 638D ldrh r3, [r4, #42]
7083 003e 9BB2 uxth r3, r3
3336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
7084 .loc 1 3336 8 view .LVU2499
7085 0040 FF2B cmp r3, #255
7086 0042 0ED9 bls .L471
3338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
7087 .loc 1 3338 7 is_stmt 1 view .LVU2500
3338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
7088 .loc 1 3338 22 is_stmt 0 view .LVU2501
7089 0044 FF23 movs r3, #255
7090 0046 2385 strh r3, [r4, #40] @ movhi
3339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
7091 .loc 1 3339 7 is_stmt 1 view .LVU2502
7092 .LVL459:
3339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
7093 .loc 1 3339 16 is_stmt 0 view .LVU2503
7094 0048 4FF08076 mov r6, #16777216
7095 .LVL460:
ARM GAS /tmp/ccNVyn8W.s page 294
7096 .L472:
3350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0))
7097 .loc 1 3350 5 is_stmt 1 view .LVU2504
3350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0))
7098 .loc 1 3350 14 is_stmt 0 view .LVU2505
7099 004c 236B ldr r3, [r4, #48]
3350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0))
7100 .loc 1 3350 8 view .LVU2506
7101 004e 112B cmp r3, #17
7102 0050 0BD1 bne .L473
3351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
7103 .loc 1 3351 10 view .LVU2507
7104 0052 069B ldr r3, [sp, #24]
7105 0054 AA2B cmp r3, #170
7106 0056 08D0 beq .L473
3351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
7107 .loc 1 3351 10 discriminator 2 view .LVU2508
7108 0058 B3F52A4F cmp r3, #43520
7109 005c 05D0 beq .L473
3353:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
7110 .loc 1 3353 19 view .LVU2509
7111 005e 0023 movs r3, #0
7112 0060 0CE0 b .L474
7113 .LVL461:
7114 .L471:
3343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
7115 .loc 1 3343 7 is_stmt 1 view .LVU2510
3343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
7116 .loc 1 3343 28 is_stmt 0 view .LVU2511
7117 0062 638D ldrh r3, [r4, #42]
3343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
7118 .loc 1 3343 22 view .LVU2512
7119 0064 2385 strh r3, [r4, #40] @ movhi
3344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
7120 .loc 1 3344 7 is_stmt 1 view .LVU2513
3344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
7121 .loc 1 3344 16 is_stmt 0 view .LVU2514
7122 0066 E66A ldr r6, [r4, #44]
7123 .LVL462:
3344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
7124 .loc 1 3344 16 view .LVU2515
7125 0068 F0E7 b .L472
7126 .L473:
3358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7127 .loc 1 3358 7 is_stmt 1 view .LVU2516
7128 006a 2046 mov r0, r4
7129 006c FFF7FEFF bl I2C_ConvertOtherXferOptions
7130 .LVL463:
3361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
7131 .loc 1 3361 7 view .LVU2517
3361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
7132 .loc 1 3361 15 is_stmt 0 view .LVU2518
7133 0070 638D ldrh r3, [r4, #42]
7134 0072 9BB2 uxth r3, r3
3361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
7135 .loc 1 3361 10 view .LVU2519
7136 0074 FF2B cmp r3, #255
ARM GAS /tmp/ccNVyn8W.s page 295
7137 0076 13D8 bhi .L478
3363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
7138 .loc 1 3363 9 is_stmt 1 view .LVU2520
3363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
7139 .loc 1 3363 18 is_stmt 0 view .LVU2521
7140 0078 E66A ldr r6, [r4, #44]
7141 .LVL464:
3315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7142 .loc 1 3315 12 view .LVU2522
7143 007a 0D4B ldr r3, .L480+4
7144 .L474:
7145 .LVL465:
3368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7146 .loc 1 3368 5 is_stmt 1 view .LVU2523
7147 007c 0093 str r3, [sp]
7148 007e 3346 mov r3, r6
7149 .LVL466:
3368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7150 .loc 1 3368 5 is_stmt 0 view .LVU2524
7151 0080 94F82820 ldrb r2, [r4, #40] @ zero_extendqisi2
7152 0084 2946 mov r1, r5
7153 0086 2046 mov r0, r4
7154 0088 FFF7FEFF bl I2C_TransferConfig
7155 .LVL467:
3371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7156 .loc 1 3371 5 is_stmt 1 view .LVU2525
3371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7157 .loc 1 3371 5 view .LVU2526
7158 008c 0025 movs r5, #0
7159 .LVL468:
3371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7160 .loc 1 3371 5 is_stmt 0 view .LVU2527
7161 008e 84F84050 strb r5, [r4, #64]
3371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7162 .loc 1 3371 5 is_stmt 1 view .LVU2528
3380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7163 .loc 1 3380 5 view .LVU2529
7164 0092 0121 movs r1, #1
7165 0094 2046 mov r0, r4
7166 0096 FFF7FEFF bl I2C_Enable_IRQ
7167 .LVL469:
3382:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
7168 .loc 1 3382 5 view .LVU2530
3382:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
7169 .loc 1 3382 12 is_stmt 0 view .LVU2531
7170 009a 2846 mov r0, r5
7171 .LVL470:
7172 .L470:
3388:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7173 .loc 1 3388 1 view .LVU2532
7174 009c 02B0 add sp, sp, #8
7175 .cfi_remember_state
7176 .cfi_def_cfa_offset 16
7177 @ sp needed
7178 009e 70BD pop {r4, r5, r6, pc}
7179 .LVL471:
7180 .L478:
ARM GAS /tmp/ccNVyn8W.s page 296
7181 .cfi_restore_state
3315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7182 .loc 1 3315 12 view .LVU2533
7183 00a0 034B ldr r3, .L480+4
7184 00a2 EBE7 b .L474
7185 .LVL472:
7186 .L475:
3386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
7187 .loc 1 3386 12 view .LVU2534
7188 00a4 0220 movs r0, #2
7189 00a6 F9E7 b .L470
7190 .LVL473:
7191 .L476:
3323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7192 .loc 1 3323 5 discriminator 1 view .LVU2535
7193 00a8 0220 movs r0, #2
7194 00aa F7E7 b .L470
7195 .L481:
7196 .align 2
7197 .L480:
7198 00ac 00000000 .word I2C_Master_ISR_IT
7199 00b0 00200080 .word -2147475456
7200 .cfi_endproc
7201 .LFE153:
7203 .section .text.HAL_I2C_Master_Seq_Transmit_DMA,"ax",%progbits
7204 .align 1
7205 .global HAL_I2C_Master_Seq_Transmit_DMA
7206 .syntax unified
7207 .thumb
7208 .thumb_func
7210 HAL_I2C_Master_Seq_Transmit_DMA:
7211 .LVL474:
7212 .LFB154:
3404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode;
7213 .loc 1 3404 1 is_stmt 1 view -0
7214 .cfi_startproc
7215 @ args = 4, pretend = 0, frame = 0
7216 @ frame_needed = 0, uses_anonymous_args = 0
3404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode;
7217 .loc 1 3404 1 is_stmt 0 view .LVU2537
7218 0000 2DE9F041 push {r4, r5, r6, r7, r8, lr}
7219 .cfi_def_cfa_offset 24
7220 .cfi_offset 4, -24
7221 .cfi_offset 5, -20
7222 .cfi_offset 6, -16
7223 .cfi_offset 7, -12
7224 .cfi_offset 8, -8
7225 .cfi_offset 14, -4
7226 0004 82B0 sub sp, sp, #8
7227 .cfi_def_cfa_offset 32
7228 0006 0446 mov r4, r0
7229 0008 1546 mov r5, r2
7230 000a 089A ldr r2, [sp, #32]
7231 .LVL475:
3405:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xferrequest = I2C_GENERATE_START_WRITE;
7232 .loc 1 3405 3 is_stmt 1 view .LVU2538
3406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
ARM GAS /tmp/ccNVyn8W.s page 297
7233 .loc 1 3406 3 view .LVU2539
3407:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7234 .loc 1 3407 3 view .LVU2540
3410:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7235 .loc 1 3410 3 view .LVU2541
3412:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
7236 .loc 1 3412 3 view .LVU2542
3412:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
7237 .loc 1 3412 11 is_stmt 0 view .LVU2543
7238 000c 90F84100 ldrb r0, [r0, #65] @ zero_extendqisi2
7239 .LVL476:
3412:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
7240 .loc 1 3412 11 view .LVU2544
7241 0010 C0B2 uxtb r0, r0
3412:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
7242 .loc 1 3412 6 view .LVU2545
7243 0012 2028 cmp r0, #32
7244 0014 40F09D80 bne .L493
7245 0018 0E46 mov r6, r1
3415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7246 .loc 1 3415 5 is_stmt 1 view .LVU2546
3415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7247 .loc 1 3415 5 view .LVU2547
7248 001a 94F84010 ldrb r1, [r4, #64] @ zero_extendqisi2
7249 .LVL477:
3415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7250 .loc 1 3415 5 is_stmt 0 view .LVU2548
7251 001e 0129 cmp r1, #1
7252 0020 00F09B80 beq .L494
3415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7253 .loc 1 3415 5 is_stmt 1 discriminator 2 view .LVU2549
7254 0024 0121 movs r1, #1
7255 0026 84F84010 strb r1, [r4, #64]
3415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7256 .loc 1 3415 5 discriminator 2 view .LVU2550
3417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
7257 .loc 1 3417 5 view .LVU2551
3417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
7258 .loc 1 3417 21 is_stmt 0 view .LVU2552
7259 002a 2121 movs r1, #33
7260 002c 84F84110 strb r1, [r4, #65]
3418:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
7261 .loc 1 3418 5 is_stmt 1 view .LVU2553
3418:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
7262 .loc 1 3418 21 is_stmt 0 view .LVU2554
7263 0030 1021 movs r1, #16
7264 0032 84F84210 strb r1, [r4, #66]
3419:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7265 .loc 1 3419 5 is_stmt 1 view .LVU2555
3419:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7266 .loc 1 3419 21 is_stmt 0 view .LVU2556
7267 0036 0021 movs r1, #0
7268 0038 6164 str r1, [r4, #68]
3422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
7269 .loc 1 3422 5 is_stmt 1 view .LVU2557
3422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
7270 .loc 1 3422 23 is_stmt 0 view .LVU2558
ARM GAS /tmp/ccNVyn8W.s page 298
7271 003a 6562 str r5, [r4, #36]
3423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
7272 .loc 1 3423 5 is_stmt 1 view .LVU2559
3423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
7273 .loc 1 3423 23 is_stmt 0 view .LVU2560
7274 003c 6385 strh r3, [r4, #42] @ movhi
3424:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA;
7275 .loc 1 3424 5 is_stmt 1 view .LVU2561
3424:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA;
7276 .loc 1 3424 23 is_stmt 0 view .LVU2562
7277 003e E262 str r2, [r4, #44]
3425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7278 .loc 1 3425 5 is_stmt 1 view .LVU2563
3425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7279 .loc 1 3425 23 is_stmt 0 view .LVU2564
7280 0040 474B ldr r3, .L500
7281 .LVL478:
3425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7282 .loc 1 3425 23 view .LVU2565
7283 0042 6363 str r3, [r4, #52]
3428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
7284 .loc 1 3428 5 is_stmt 1 view .LVU2566
3428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
7285 .loc 1 3428 13 is_stmt 0 view .LVU2567
7286 0044 638D ldrh r3, [r4, #42]
7287 0046 9BB2 uxth r3, r3
3428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
7288 .loc 1 3428 8 view .LVU2568
7289 0048 FF2B cmp r3, #255
7290 004a 0ED9 bls .L484
3430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
7291 .loc 1 3430 7 is_stmt 1 view .LVU2569
3430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
7292 .loc 1 3430 22 is_stmt 0 view .LVU2570
7293 004c FF23 movs r3, #255
7294 004e 2385 strh r3, [r4, #40] @ movhi
3431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
7295 .loc 1 3431 7 is_stmt 1 view .LVU2571
7296 .LVL479:
3431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
7297 .loc 1 3431 16 is_stmt 0 view .LVU2572
7298 0050 4FF08077 mov r7, #16777216
7299 .LVL480:
7300 .L485:
3442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0))
7301 .loc 1 3442 5 is_stmt 1 view .LVU2573
3442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0))
7302 .loc 1 3442 14 is_stmt 0 view .LVU2574
7303 0054 236B ldr r3, [r4, #48]
3442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0))
7304 .loc 1 3442 8 view .LVU2575
7305 0056 112B cmp r3, #17
7306 0058 0BD1 bne .L486
3443:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
7307 .loc 1 3443 10 view .LVU2576
7308 005a AA2A cmp r2, #170
7309 005c 09D0 beq .L486
ARM GAS /tmp/ccNVyn8W.s page 299
3443:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
7310 .loc 1 3443 10 discriminator 2 view .LVU2577
7311 005e B2F52A4F cmp r2, #43520
7312 0062 06D0 beq .L486
3445:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
7313 .loc 1 3445 19 view .LVU2578
7314 0064 4FF00008 mov r8, #0
7315 0068 0DE0 b .L487
7316 .LVL481:
7317 .L484:
3435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
7318 .loc 1 3435 7 is_stmt 1 view .LVU2579
3435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
7319 .loc 1 3435 28 is_stmt 0 view .LVU2580
7320 006a 638D ldrh r3, [r4, #42]
3435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
7321 .loc 1 3435 22 view .LVU2581
7322 006c 2385 strh r3, [r4, #40] @ movhi
3436:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
7323 .loc 1 3436 7 is_stmt 1 view .LVU2582
3436:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
7324 .loc 1 3436 16 is_stmt 0 view .LVU2583
7325 006e E76A ldr r7, [r4, #44]
7326 .LVL482:
3436:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
7327 .loc 1 3436 16 view .LVU2584
7328 0070 F0E7 b .L485
7329 .L486:
3450:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7330 .loc 1 3450 7 is_stmt 1 view .LVU2585
7331 0072 2046 mov r0, r4
7332 0074 FFF7FEFF bl I2C_ConvertOtherXferOptions
7333 .LVL483:
3453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
7334 .loc 1 3453 7 view .LVU2586
3453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
7335 .loc 1 3453 15 is_stmt 0 view .LVU2587
7336 0078 638D ldrh r3, [r4, #42]
7337 007a 9BB2 uxth r3, r3
3453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
7338 .loc 1 3453 10 view .LVU2588
7339 007c FF2B cmp r3, #255
7340 007e 27D8 bhi .L496
3455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
7341 .loc 1 3455 9 is_stmt 1 view .LVU2589
3455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
7342 .loc 1 3455 18 is_stmt 0 view .LVU2590
7343 0080 E76A ldr r7, [r4, #44]
7344 .LVL484:
3406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
7345 .loc 1 3406 12 view .LVU2591
7346 0082 DFF8EC80 ldr r8, .L500+16
7347 .L487:
7348 .LVL485:
3459:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
7349 .loc 1 3459 5 is_stmt 1 view .LVU2592
3459:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
ARM GAS /tmp/ccNVyn8W.s page 300
7350 .loc 1 3459 13 is_stmt 0 view .LVU2593
7351 0086 228D ldrh r2, [r4, #40]
3459:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
7352 .loc 1 3459 8 view .LVU2594
7353 0088 002A cmp r2, #0
7354 008a 4ED0 beq .L488
3461:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
7355 .loc 1 3461 7 is_stmt 1 view .LVU2595
3461:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
7356 .loc 1 3461 15 is_stmt 0 view .LVU2596
7357 008c A36B ldr r3, [r4, #56]
3461:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
7358 .loc 1 3461 10 view .LVU2597
7359 008e 13B3 cbz r3, .L489
3464:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7360 .loc 1 3464 9 is_stmt 1 view .LVU2598
3464:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7361 .loc 1 3464 40 is_stmt 0 view .LVU2599
7362 0090 344A ldr r2, .L500+4
7363 0092 9A62 str r2, [r3, #40]
3467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7364 .loc 1 3467 9 is_stmt 1 view .LVU2600
3467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7365 .loc 1 3467 13 is_stmt 0 view .LVU2601
7366 0094 A36B ldr r3, [r4, #56]
3467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7367 .loc 1 3467 41 view .LVU2602
7368 0096 344A ldr r2, .L500+8
7369 0098 1A63 str r2, [r3, #48]
3470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
7370 .loc 1 3470 9 is_stmt 1 view .LVU2603
3470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
7371 .loc 1 3470 13 is_stmt 0 view .LVU2604
7372 009a A26B ldr r2, [r4, #56]
3470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
7373 .loc 1 3470 44 view .LVU2605
7374 009c 0023 movs r3, #0
7375 009e D362 str r3, [r2, #44]
3471:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7376 .loc 1 3471 9 is_stmt 1 view .LVU2606
3471:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7377 .loc 1 3471 13 is_stmt 0 view .LVU2607
7378 00a0 A26B ldr r2, [r4, #56]
3471:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7379 .loc 1 3471 41 view .LVU2608
7380 00a2 5363 str r3, [r2, #52]
3474:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize);
7381 .loc 1 3474 9 is_stmt 1 view .LVU2609
3474:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize);
7382 .loc 1 3474 88 is_stmt 0 view .LVU2610
7383 00a4 2268 ldr r2, [r4]
3474:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize);
7384 .loc 1 3474 25 view .LVU2611
7385 00a6 238D ldrh r3, [r4, #40]
7386 00a8 2832 adds r2, r2, #40
7387 00aa 2946 mov r1, r5
7388 00ac A06B ldr r0, [r4, #56]
ARM GAS /tmp/ccNVyn8W.s page 301
7389 00ae FFF7FEFF bl HAL_DMA_Start_IT
7390 .LVL486:
3492:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
7391 .loc 1 3492 7 is_stmt 1 view .LVU2612
3492:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
7392 .loc 1 3492 10 is_stmt 0 view .LVU2613
7393 00b2 F0B1 cbz r0, .L499
3515:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
7394 .loc 1 3515 9 is_stmt 1 view .LVU2614
3515:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
7395 .loc 1 3515 25 is_stmt 0 view .LVU2615
7396 00b4 2023 movs r3, #32
7397 00b6 84F84130 strb r3, [r4, #65]
3516:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7398 .loc 1 3516 9 is_stmt 1 view .LVU2616
3516:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7399 .loc 1 3516 25 is_stmt 0 view .LVU2617
7400 00ba 0022 movs r2, #0
7401 00bc 84F84220 strb r2, [r4, #66]
3519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7402 .loc 1 3519 9 is_stmt 1 view .LVU2618
3519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7403 .loc 1 3519 13 is_stmt 0 view .LVU2619
7404 00c0 636C ldr r3, [r4, #68]
3519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7405 .loc 1 3519 25 view .LVU2620
7406 00c2 43F01003 orr r3, r3, #16
7407 00c6 6364 str r3, [r4, #68]
3522:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7408 .loc 1 3522 9 is_stmt 1 view .LVU2621
3522:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7409 .loc 1 3522 9 view .LVU2622
7410 00c8 84F84020 strb r2, [r4, #64]
3522:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7411 .loc 1 3522 9 view .LVU2623
3524:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
7412 .loc 1 3524 9 view .LVU2624
3524:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
7413 .loc 1 3524 16 is_stmt 0 view .LVU2625
7414 00cc 0120 movs r0, #1
7415 .LVL487:
3524:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
7416 .loc 1 3524 16 view .LVU2626
7417 00ce 41E0 b .L483
7418 .LVL488:
7419 .L496:
3406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
7420 .loc 1 3406 12 view .LVU2627
7421 00d0 DFF89C80 ldr r8, .L500+16
7422 00d4 D7E7 b .L487
7423 .LVL489:
7424 .L489:
3480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
7425 .loc 1 3480 9 is_stmt 1 view .LVU2628
3480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
7426 .loc 1 3480 25 is_stmt 0 view .LVU2629
7427 00d6 2023 movs r3, #32
ARM GAS /tmp/ccNVyn8W.s page 302
7428 00d8 84F84130 strb r3, [r4, #65]
3481:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7429 .loc 1 3481 9 is_stmt 1 view .LVU2630
3481:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7430 .loc 1 3481 25 is_stmt 0 view .LVU2631
7431 00dc 0022 movs r2, #0
7432 00de 84F84220 strb r2, [r4, #66]
3484:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7433 .loc 1 3484 9 is_stmt 1 view .LVU2632
3484:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7434 .loc 1 3484 13 is_stmt 0 view .LVU2633
7435 00e2 636C ldr r3, [r4, #68]
3484:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7436 .loc 1 3484 25 view .LVU2634
7437 00e4 43F08003 orr r3, r3, #128
7438 00e8 6364 str r3, [r4, #68]
3487:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7439 .loc 1 3487 9 is_stmt 1 view .LVU2635
3487:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7440 .loc 1 3487 9 view .LVU2636
7441 00ea 84F84020 strb r2, [r4, #64]
3487:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7442 .loc 1 3487 9 view .LVU2637
3489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
7443 .loc 1 3489 9 view .LVU2638
3489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
7444 .loc 1 3489 16 is_stmt 0 view .LVU2639
7445 00ee 0120 movs r0, #1
7446 00f0 30E0 b .L483
7447 .LVL490:
7448 .L499:
3495:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7449 .loc 1 3495 9 is_stmt 1 view .LVU2640
7450 00f2 CDF80080 str r8, [sp]
7451 00f6 3B46 mov r3, r7
7452 00f8 94F82820 ldrb r2, [r4, #40] @ zero_extendqisi2
7453 00fc 3146 mov r1, r6
7454 00fe 2046 mov r0, r4
7455 .LVL491:
3495:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7456 .loc 1 3495 9 is_stmt 0 view .LVU2641
7457 0100 FFF7FEFF bl I2C_TransferConfig
7458 .LVL492:
3498:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7459 .loc 1 3498 9 is_stmt 1 view .LVU2642
3498:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7460 .loc 1 3498 13 is_stmt 0 view .LVU2643
7461 0104 638D ldrh r3, [r4, #42]
7462 0106 9BB2 uxth r3, r3
3498:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7463 .loc 1 3498 32 view .LVU2644
7464 0108 228D ldrh r2, [r4, #40]
3498:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7465 .loc 1 3498 25 view .LVU2645
7466 010a 9B1A subs r3, r3, r2
7467 010c 9BB2 uxth r3, r3
7468 010e 6385 strh r3, [r4, #42] @ movhi
ARM GAS /tmp/ccNVyn8W.s page 303
3501:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7469 .loc 1 3501 9 is_stmt 1 view .LVU2646
3501:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7470 .loc 1 3501 9 view .LVU2647
7471 0110 0023 movs r3, #0
7472 0112 84F84030 strb r3, [r4, #64]
3501:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7473 .loc 1 3501 9 view .LVU2648
3507:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7474 .loc 1 3507 9 view .LVU2649
7475 0116 1021 movs r1, #16
7476 0118 2046 mov r0, r4
7477 011a FFF7FEFF bl I2C_Enable_IRQ
7478 .LVL493:
3510:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
7479 .loc 1 3510 9 view .LVU2650
3510:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
7480 .loc 1 3510 13 is_stmt 0 view .LVU2651
7481 011e 2268 ldr r2, [r4]
3510:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
7482 .loc 1 3510 23 view .LVU2652
7483 0120 1368 ldr r3, [r2]
3510:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
7484 .loc 1 3510 29 view .LVU2653
7485 0122 43F48043 orr r3, r3, #16384
7486 0126 1360 str r3, [r2]
7487 0128 11E0 b .L492
7488 .LVL494:
7489 .L488:
3530:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7490 .loc 1 3530 7 is_stmt 1 view .LVU2654
3530:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7491 .loc 1 3530 21 is_stmt 0 view .LVU2655
7492 012a 104B ldr r3, .L500+12
7493 012c 6363 str r3, [r4, #52]
3534:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_GENERATE_START_WRITE);
7494 .loc 1 3534 7 is_stmt 1 view .LVU2656
7495 012e 104B ldr r3, .L500+16
7496 0130 0093 str r3, [sp]
7497 0132 4FF00073 mov r3, #33554432
7498 0136 D2B2 uxtb r2, r2
7499 0138 3146 mov r1, r6
7500 013a 2046 mov r0, r4
7501 013c FFF7FEFF bl I2C_TransferConfig
7502 .LVL495:
3538:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7503 .loc 1 3538 7 view .LVU2657
3538:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7504 .loc 1 3538 7 view .LVU2658
7505 0140 0023 movs r3, #0
7506 0142 84F84030 strb r3, [r4, #64]
3538:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7507 .loc 1 3538 7 view .LVU2659
3547:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
7508 .loc 1 3547 7 view .LVU2660
7509 0146 0121 movs r1, #1
7510 0148 2046 mov r0, r4
ARM GAS /tmp/ccNVyn8W.s page 304
7511 014a FFF7FEFF bl I2C_Enable_IRQ
7512 .LVL496:
7513 .L492:
3550:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
7514 .loc 1 3550 5 view .LVU2661
3550:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
7515 .loc 1 3550 12 is_stmt 0 view .LVU2662
7516 014e 0020 movs r0, #0
7517 0150 00E0 b .L483
7518 .LVL497:
7519 .L493:
3554:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
7520 .loc 1 3554 12 view .LVU2663
7521 0152 0220 movs r0, #2
7522 .LVL498:
7523 .L483:
3556:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7524 .loc 1 3556 1 view .LVU2664
7525 0154 02B0 add sp, sp, #8
7526 .cfi_remember_state
7527 .cfi_def_cfa_offset 24
7528 @ sp needed
7529 0156 BDE8F081 pop {r4, r5, r6, r7, r8, pc}
7530 .LVL499:
7531 .L494:
7532 .cfi_restore_state
3415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7533 .loc 1 3415 5 discriminator 1 view .LVU2665
7534 015a 0220 movs r0, #2
7535 015c FAE7 b .L483
7536 .L501:
7537 015e 00BF .align 2
7538 .L500:
7539 0160 00000000 .word I2C_Master_ISR_DMA
7540 0164 00000000 .word I2C_DMAMasterTransmitCplt
7541 0168 00000000 .word I2C_DMAError
7542 016c 00000000 .word I2C_Master_ISR_IT
7543 0170 00200080 .word -2147475456
7544 .cfi_endproc
7545 .LFE154:
7547 .section .text.HAL_I2C_Master_Seq_Receive_IT,"ax",%progbits
7548 .align 1
7549 .global HAL_I2C_Master_Seq_Receive_IT
7550 .syntax unified
7551 .thumb
7552 .thumb_func
7554 HAL_I2C_Master_Seq_Receive_IT:
7555 .LVL500:
7556 .LFB155:
3572:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode;
7557 .loc 1 3572 1 is_stmt 1 view -0
7558 .cfi_startproc
7559 @ args = 4, pretend = 0, frame = 0
7560 @ frame_needed = 0, uses_anonymous_args = 0
3572:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode;
7561 .loc 1 3572 1 is_stmt 0 view .LVU2667
7562 0000 70B5 push {r4, r5, r6, lr}
ARM GAS /tmp/ccNVyn8W.s page 305
7563 .cfi_def_cfa_offset 16
7564 .cfi_offset 4, -16
7565 .cfi_offset 5, -12
7566 .cfi_offset 6, -8
7567 .cfi_offset 14, -4
7568 0002 82B0 sub sp, sp, #8
7569 .cfi_def_cfa_offset 24
7570 0004 0446 mov r4, r0
3573:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xferrequest = I2C_GENERATE_START_READ;
7571 .loc 1 3573 3 is_stmt 1 view .LVU2668
3574:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7572 .loc 1 3574 3 view .LVU2669
7573 .LVL501:
3577:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7574 .loc 1 3577 3 view .LVU2670
3579:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
7575 .loc 1 3579 3 view .LVU2671
3579:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
7576 .loc 1 3579 11 is_stmt 0 view .LVU2672
7577 0006 90F84100 ldrb r0, [r0, #65] @ zero_extendqisi2
7578 .LVL502:
3579:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
7579 .loc 1 3579 11 view .LVU2673
7580 000a C0B2 uxtb r0, r0
3579:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
7581 .loc 1 3579 6 view .LVU2674
7582 000c 2028 cmp r0, #32
7583 000e 49D1 bne .L508
7584 0010 0D46 mov r5, r1
3582:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7585 .loc 1 3582 5 is_stmt 1 view .LVU2675
3582:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7586 .loc 1 3582 5 view .LVU2676
7587 0012 94F84010 ldrb r1, [r4, #64] @ zero_extendqisi2
7588 .LVL503:
3582:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7589 .loc 1 3582 5 is_stmt 0 view .LVU2677
7590 0016 0129 cmp r1, #1
7591 0018 46D0 beq .L509
3582:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7592 .loc 1 3582 5 is_stmt 1 discriminator 2 view .LVU2678
7593 001a 0121 movs r1, #1
7594 001c 84F84010 strb r1, [r4, #64]
3582:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7595 .loc 1 3582 5 discriminator 2 view .LVU2679
3584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
7596 .loc 1 3584 5 view .LVU2680
3584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
7597 .loc 1 3584 21 is_stmt 0 view .LVU2681
7598 0020 2221 movs r1, #34
7599 0022 84F84110 strb r1, [r4, #65]
3585:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
7600 .loc 1 3585 5 is_stmt 1 view .LVU2682
3585:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
7601 .loc 1 3585 21 is_stmt 0 view .LVU2683
7602 0026 1021 movs r1, #16
7603 0028 84F84210 strb r1, [r4, #66]
ARM GAS /tmp/ccNVyn8W.s page 306
3586:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7604 .loc 1 3586 5 is_stmt 1 view .LVU2684
3586:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7605 .loc 1 3586 21 is_stmt 0 view .LVU2685
7606 002c 0021 movs r1, #0
7607 002e 6164 str r1, [r4, #68]
3589:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
7608 .loc 1 3589 5 is_stmt 1 view .LVU2686
3589:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
7609 .loc 1 3589 23 is_stmt 0 view .LVU2687
7610 0030 6262 str r2, [r4, #36]
3590:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
7611 .loc 1 3590 5 is_stmt 1 view .LVU2688
3590:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
7612 .loc 1 3590 23 is_stmt 0 view .LVU2689
7613 0032 6385 strh r3, [r4, #42] @ movhi
3591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
7614 .loc 1 3591 5 is_stmt 1 view .LVU2690
3591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
7615 .loc 1 3591 23 is_stmt 0 view .LVU2691
7616 0034 069B ldr r3, [sp, #24]
7617 .LVL504:
3591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
7618 .loc 1 3591 23 view .LVU2692
7619 0036 E362 str r3, [r4, #44]
7620 .LVL505:
3592:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7621 .loc 1 3592 5 is_stmt 1 view .LVU2693
3592:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7622 .loc 1 3592 23 is_stmt 0 view .LVU2694
7623 0038 1C4B ldr r3, .L513
7624 003a 6363 str r3, [r4, #52]
3595:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
7625 .loc 1 3595 5 is_stmt 1 view .LVU2695
3595:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
7626 .loc 1 3595 13 is_stmt 0 view .LVU2696
7627 003c 638D ldrh r3, [r4, #42]
7628 003e 9BB2 uxth r3, r3
3595:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
7629 .loc 1 3595 8 view .LVU2697
7630 0040 FF2B cmp r3, #255
7631 0042 0ED9 bls .L504
3597:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
7632 .loc 1 3597 7 is_stmt 1 view .LVU2698
3597:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
7633 .loc 1 3597 22 is_stmt 0 view .LVU2699
7634 0044 FF23 movs r3, #255
7635 0046 2385 strh r3, [r4, #40] @ movhi
3598:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
7636 .loc 1 3598 7 is_stmt 1 view .LVU2700
7637 .LVL506:
3598:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
7638 .loc 1 3598 16 is_stmt 0 view .LVU2701
7639 0048 4FF08076 mov r6, #16777216
7640 .LVL507:
7641 .L505:
3609:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0))
ARM GAS /tmp/ccNVyn8W.s page 307
7642 .loc 1 3609 5 is_stmt 1 view .LVU2702
3609:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0))
7643 .loc 1 3609 14 is_stmt 0 view .LVU2703
7644 004c 236B ldr r3, [r4, #48]
3609:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0))
7645 .loc 1 3609 8 view .LVU2704
7646 004e 122B cmp r3, #18
7647 0050 0BD1 bne .L506
3610:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
7648 .loc 1 3610 10 view .LVU2705
7649 0052 069B ldr r3, [sp, #24]
7650 0054 AA2B cmp r3, #170
7651 0056 08D0 beq .L506
3610:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
7652 .loc 1 3610 10 discriminator 2 view .LVU2706
7653 0058 B3F52A4F cmp r3, #43520
7654 005c 05D0 beq .L506
3612:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
7655 .loc 1 3612 19 view .LVU2707
7656 005e 0023 movs r3, #0
7657 0060 0CE0 b .L507
7658 .LVL508:
7659 .L504:
3602:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
7660 .loc 1 3602 7 is_stmt 1 view .LVU2708
3602:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
7661 .loc 1 3602 28 is_stmt 0 view .LVU2709
7662 0062 638D ldrh r3, [r4, #42]
3602:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
7663 .loc 1 3602 22 view .LVU2710
7664 0064 2385 strh r3, [r4, #40] @ movhi
3603:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
7665 .loc 1 3603 7 is_stmt 1 view .LVU2711
3603:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
7666 .loc 1 3603 16 is_stmt 0 view .LVU2712
7667 0066 E66A ldr r6, [r4, #44]
7668 .LVL509:
3603:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
7669 .loc 1 3603 16 view .LVU2713
7670 0068 F0E7 b .L505
7671 .L506:
3617:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7672 .loc 1 3617 7 is_stmt 1 view .LVU2714
7673 006a 2046 mov r0, r4
7674 006c FFF7FEFF bl I2C_ConvertOtherXferOptions
7675 .LVL510:
3620:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
7676 .loc 1 3620 7 view .LVU2715
3620:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
7677 .loc 1 3620 15 is_stmt 0 view .LVU2716
7678 0070 638D ldrh r3, [r4, #42]
7679 0072 9BB2 uxth r3, r3
3620:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
7680 .loc 1 3620 10 view .LVU2717
7681 0074 FF2B cmp r3, #255
7682 0076 13D8 bhi .L511
3622:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
ARM GAS /tmp/ccNVyn8W.s page 308
7683 .loc 1 3622 9 is_stmt 1 view .LVU2718
3622:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
7684 .loc 1 3622 18 is_stmt 0 view .LVU2719
7685 0078 E66A ldr r6, [r4, #44]
7686 .LVL511:
3574:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7687 .loc 1 3574 12 view .LVU2720
7688 007a 0D4B ldr r3, .L513+4
7689 .L507:
7690 .LVL512:
3627:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7691 .loc 1 3627 5 is_stmt 1 view .LVU2721
7692 007c 0093 str r3, [sp]
7693 007e 3346 mov r3, r6
7694 .LVL513:
3627:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7695 .loc 1 3627 5 is_stmt 0 view .LVU2722
7696 0080 94F82820 ldrb r2, [r4, #40] @ zero_extendqisi2
7697 0084 2946 mov r1, r5
7698 0086 2046 mov r0, r4
7699 0088 FFF7FEFF bl I2C_TransferConfig
7700 .LVL514:
3630:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7701 .loc 1 3630 5 is_stmt 1 view .LVU2723
3630:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7702 .loc 1 3630 5 view .LVU2724
7703 008c 0025 movs r5, #0
7704 .LVL515:
3630:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7705 .loc 1 3630 5 is_stmt 0 view .LVU2725
7706 008e 84F84050 strb r5, [r4, #64]
3630:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7707 .loc 1 3630 5 is_stmt 1 view .LVU2726
3635:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7708 .loc 1 3635 5 view .LVU2727
7709 0092 0221 movs r1, #2
7710 0094 2046 mov r0, r4
7711 0096 FFF7FEFF bl I2C_Enable_IRQ
7712 .LVL516:
3637:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
7713 .loc 1 3637 5 view .LVU2728
3637:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
7714 .loc 1 3637 12 is_stmt 0 view .LVU2729
7715 009a 2846 mov r0, r5
7716 .LVL517:
7717 .L503:
3643:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7718 .loc 1 3643 1 view .LVU2730
7719 009c 02B0 add sp, sp, #8
7720 .cfi_remember_state
7721 .cfi_def_cfa_offset 16
7722 @ sp needed
7723 009e 70BD pop {r4, r5, r6, pc}
7724 .LVL518:
7725 .L511:
7726 .cfi_restore_state
3574:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
ARM GAS /tmp/ccNVyn8W.s page 309
7727 .loc 1 3574 12 view .LVU2731
7728 00a0 034B ldr r3, .L513+4
7729 00a2 EBE7 b .L507
7730 .LVL519:
7731 .L508:
3641:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
7732 .loc 1 3641 12 view .LVU2732
7733 00a4 0220 movs r0, #2
7734 00a6 F9E7 b .L503
7735 .LVL520:
7736 .L509:
3582:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7737 .loc 1 3582 5 discriminator 1 view .LVU2733
7738 00a8 0220 movs r0, #2
7739 00aa F7E7 b .L503
7740 .L514:
7741 .align 2
7742 .L513:
7743 00ac 00000000 .word I2C_Master_ISR_IT
7744 00b0 00240080 .word -2147474432
7745 .cfi_endproc
7746 .LFE155:
7748 .section .text.HAL_I2C_Master_Seq_Receive_DMA,"ax",%progbits
7749 .align 1
7750 .global HAL_I2C_Master_Seq_Receive_DMA
7751 .syntax unified
7752 .thumb
7753 .thumb_func
7755 HAL_I2C_Master_Seq_Receive_DMA:
7756 .LVL521:
7757 .LFB156:
3659:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode;
7758 .loc 1 3659 1 is_stmt 1 view -0
7759 .cfi_startproc
7760 @ args = 4, pretend = 0, frame = 0
7761 @ frame_needed = 0, uses_anonymous_args = 0
3659:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode;
7762 .loc 1 3659 1 is_stmt 0 view .LVU2735
7763 0000 2DE9F041 push {r4, r5, r6, r7, r8, lr}
7764 .cfi_def_cfa_offset 24
7765 .cfi_offset 4, -24
7766 .cfi_offset 5, -20
7767 .cfi_offset 6, -16
7768 .cfi_offset 7, -12
7769 .cfi_offset 8, -8
7770 .cfi_offset 14, -4
7771 0004 82B0 sub sp, sp, #8
7772 .cfi_def_cfa_offset 32
7773 0006 0446 mov r4, r0
7774 0008 1546 mov r5, r2
7775 000a 089A ldr r2, [sp, #32]
7776 .LVL522:
3660:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xferrequest = I2C_GENERATE_START_READ;
7777 .loc 1 3660 3 is_stmt 1 view .LVU2736
3661:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
7778 .loc 1 3661 3 view .LVU2737
3662:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
ARM GAS /tmp/ccNVyn8W.s page 310
7779 .loc 1 3662 3 view .LVU2738
3665:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7780 .loc 1 3665 3 view .LVU2739
3667:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
7781 .loc 1 3667 3 view .LVU2740
3667:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
7782 .loc 1 3667 11 is_stmt 0 view .LVU2741
7783 000c 90F84100 ldrb r0, [r0, #65] @ zero_extendqisi2
7784 .LVL523:
3667:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
7785 .loc 1 3667 11 view .LVU2742
7786 0010 C0B2 uxtb r0, r0
3667:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
7787 .loc 1 3667 6 view .LVU2743
7788 0012 2028 cmp r0, #32
7789 0014 40F09D80 bne .L526
7790 0018 0E46 mov r6, r1
3670:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7791 .loc 1 3670 5 is_stmt 1 view .LVU2744
3670:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7792 .loc 1 3670 5 view .LVU2745
7793 001a 94F84010 ldrb r1, [r4, #64] @ zero_extendqisi2
7794 .LVL524:
3670:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7795 .loc 1 3670 5 is_stmt 0 view .LVU2746
7796 001e 0129 cmp r1, #1
7797 0020 00F09B80 beq .L527
3670:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7798 .loc 1 3670 5 is_stmt 1 discriminator 2 view .LVU2747
7799 0024 0121 movs r1, #1
7800 0026 84F84010 strb r1, [r4, #64]
3670:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7801 .loc 1 3670 5 discriminator 2 view .LVU2748
3672:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
7802 .loc 1 3672 5 view .LVU2749
3672:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
7803 .loc 1 3672 21 is_stmt 0 view .LVU2750
7804 002a 2221 movs r1, #34
7805 002c 84F84110 strb r1, [r4, #65]
3673:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
7806 .loc 1 3673 5 is_stmt 1 view .LVU2751
3673:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
7807 .loc 1 3673 21 is_stmt 0 view .LVU2752
7808 0030 1021 movs r1, #16
7809 0032 84F84210 strb r1, [r4, #66]
3674:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7810 .loc 1 3674 5 is_stmt 1 view .LVU2753
3674:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7811 .loc 1 3674 21 is_stmt 0 view .LVU2754
7812 0036 0021 movs r1, #0
7813 0038 6164 str r1, [r4, #68]
3677:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
7814 .loc 1 3677 5 is_stmt 1 view .LVU2755
3677:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
7815 .loc 1 3677 23 is_stmt 0 view .LVU2756
7816 003a 6562 str r5, [r4, #36]
3678:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
ARM GAS /tmp/ccNVyn8W.s page 311
7817 .loc 1 3678 5 is_stmt 1 view .LVU2757
3678:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
7818 .loc 1 3678 23 is_stmt 0 view .LVU2758
7819 003c 6385 strh r3, [r4, #42] @ movhi
3679:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA;
7820 .loc 1 3679 5 is_stmt 1 view .LVU2759
3679:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA;
7821 .loc 1 3679 23 is_stmt 0 view .LVU2760
7822 003e E262 str r2, [r4, #44]
3680:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7823 .loc 1 3680 5 is_stmt 1 view .LVU2761
3680:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7824 .loc 1 3680 23 is_stmt 0 view .LVU2762
7825 0040 474B ldr r3, .L533
7826 .LVL525:
3680:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7827 .loc 1 3680 23 view .LVU2763
7828 0042 6363 str r3, [r4, #52]
3683:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
7829 .loc 1 3683 5 is_stmt 1 view .LVU2764
3683:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
7830 .loc 1 3683 13 is_stmt 0 view .LVU2765
7831 0044 638D ldrh r3, [r4, #42]
7832 0046 9BB2 uxth r3, r3
3683:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
7833 .loc 1 3683 8 view .LVU2766
7834 0048 FF2B cmp r3, #255
7835 004a 0ED9 bls .L517
3685:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
7836 .loc 1 3685 7 is_stmt 1 view .LVU2767
3685:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
7837 .loc 1 3685 22 is_stmt 0 view .LVU2768
7838 004c FF23 movs r3, #255
7839 004e 2385 strh r3, [r4, #40] @ movhi
3686:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
7840 .loc 1 3686 7 is_stmt 1 view .LVU2769
7841 .LVL526:
3686:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
7842 .loc 1 3686 16 is_stmt 0 view .LVU2770
7843 0050 4FF08077 mov r7, #16777216
7844 .LVL527:
7845 .L518:
3697:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0))
7846 .loc 1 3697 5 is_stmt 1 view .LVU2771
3697:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0))
7847 .loc 1 3697 14 is_stmt 0 view .LVU2772
7848 0054 236B ldr r3, [r4, #48]
3697:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0))
7849 .loc 1 3697 8 view .LVU2773
7850 0056 122B cmp r3, #18
7851 0058 0BD1 bne .L519
3698:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
7852 .loc 1 3698 10 view .LVU2774
7853 005a AA2A cmp r2, #170
7854 005c 09D0 beq .L519
3698:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
7855 .loc 1 3698 10 discriminator 2 view .LVU2775
ARM GAS /tmp/ccNVyn8W.s page 312
7856 005e B2F52A4F cmp r2, #43520
7857 0062 06D0 beq .L519
3700:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
7858 .loc 1 3700 19 view .LVU2776
7859 0064 4FF00008 mov r8, #0
7860 0068 0DE0 b .L520
7861 .LVL528:
7862 .L517:
3690:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
7863 .loc 1 3690 7 is_stmt 1 view .LVU2777
3690:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
7864 .loc 1 3690 28 is_stmt 0 view .LVU2778
7865 006a 638D ldrh r3, [r4, #42]
3690:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
7866 .loc 1 3690 22 view .LVU2779
7867 006c 2385 strh r3, [r4, #40] @ movhi
3691:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
7868 .loc 1 3691 7 is_stmt 1 view .LVU2780
3691:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
7869 .loc 1 3691 16 is_stmt 0 view .LVU2781
7870 006e E76A ldr r7, [r4, #44]
7871 .LVL529:
3691:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
7872 .loc 1 3691 16 view .LVU2782
7873 0070 F0E7 b .L518
7874 .L519:
3705:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7875 .loc 1 3705 7 is_stmt 1 view .LVU2783
7876 0072 2046 mov r0, r4
7877 0074 FFF7FEFF bl I2C_ConvertOtherXferOptions
7878 .LVL530:
3708:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
7879 .loc 1 3708 7 view .LVU2784
3708:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
7880 .loc 1 3708 15 is_stmt 0 view .LVU2785
7881 0078 638D ldrh r3, [r4, #42]
7882 007a 9BB2 uxth r3, r3
3708:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
7883 .loc 1 3708 10 view .LVU2786
7884 007c FF2B cmp r3, #255
7885 007e 27D8 bhi .L529
3710:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
7886 .loc 1 3710 9 is_stmt 1 view .LVU2787
3710:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
7887 .loc 1 3710 18 is_stmt 0 view .LVU2788
7888 0080 E76A ldr r7, [r4, #44]
7889 .LVL531:
3661:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
7890 .loc 1 3661 12 view .LVU2789
7891 0082 DFF8EC80 ldr r8, .L533+16
7892 .L520:
7893 .LVL532:
3714:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
7894 .loc 1 3714 5 is_stmt 1 view .LVU2790
3714:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
7895 .loc 1 3714 13 is_stmt 0 view .LVU2791
7896 0086 228D ldrh r2, [r4, #40]
ARM GAS /tmp/ccNVyn8W.s page 313
3714:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
7897 .loc 1 3714 8 view .LVU2792
7898 0088 002A cmp r2, #0
7899 008a 4ED0 beq .L521
3716:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
7900 .loc 1 3716 7 is_stmt 1 view .LVU2793
3716:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
7901 .loc 1 3716 15 is_stmt 0 view .LVU2794
7902 008c E36B ldr r3, [r4, #60]
3716:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
7903 .loc 1 3716 10 view .LVU2795
7904 008e 13B3 cbz r3, .L522
3719:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7905 .loc 1 3719 9 is_stmt 1 view .LVU2796
3719:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7906 .loc 1 3719 40 is_stmt 0 view .LVU2797
7907 0090 344A ldr r2, .L533+4
7908 0092 9A62 str r2, [r3, #40]
3722:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7909 .loc 1 3722 9 is_stmt 1 view .LVU2798
3722:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7910 .loc 1 3722 13 is_stmt 0 view .LVU2799
7911 0094 E36B ldr r3, [r4, #60]
3722:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7912 .loc 1 3722 41 view .LVU2800
7913 0096 344A ldr r2, .L533+8
7914 0098 1A63 str r2, [r3, #48]
3725:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
7915 .loc 1 3725 9 is_stmt 1 view .LVU2801
3725:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
7916 .loc 1 3725 13 is_stmt 0 view .LVU2802
7917 009a E26B ldr r2, [r4, #60]
3725:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
7918 .loc 1 3725 44 view .LVU2803
7919 009c 0023 movs r3, #0
7920 009e D362 str r3, [r2, #44]
3726:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7921 .loc 1 3726 9 is_stmt 1 view .LVU2804
3726:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7922 .loc 1 3726 13 is_stmt 0 view .LVU2805
7923 00a0 E26B ldr r2, [r4, #60]
3726:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7924 .loc 1 3726 41 view .LVU2806
7925 00a2 5363 str r3, [r2, #52]
3729:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize);
7926 .loc 1 3729 9 is_stmt 1 view .LVU2807
3729:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize);
7927 .loc 1 3729 71 is_stmt 0 view .LVU2808
7928 00a4 2168 ldr r1, [r4]
3729:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize);
7929 .loc 1 3729 25 view .LVU2809
7930 00a6 238D ldrh r3, [r4, #40]
7931 00a8 2A46 mov r2, r5
7932 00aa 2431 adds r1, r1, #36
7933 00ac E06B ldr r0, [r4, #60]
7934 00ae FFF7FEFF bl HAL_DMA_Start_IT
7935 .LVL533:
ARM GAS /tmp/ccNVyn8W.s page 314
3747:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
7936 .loc 1 3747 7 is_stmt 1 view .LVU2810
3747:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
7937 .loc 1 3747 10 is_stmt 0 view .LVU2811
7938 00b2 F0B1 cbz r0, .L532
3770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
7939 .loc 1 3770 9 is_stmt 1 view .LVU2812
3770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
7940 .loc 1 3770 25 is_stmt 0 view .LVU2813
7941 00b4 2023 movs r3, #32
7942 00b6 84F84130 strb r3, [r4, #65]
3771:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7943 .loc 1 3771 9 is_stmt 1 view .LVU2814
3771:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7944 .loc 1 3771 25 is_stmt 0 view .LVU2815
7945 00ba 0022 movs r2, #0
7946 00bc 84F84220 strb r2, [r4, #66]
3774:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7947 .loc 1 3774 9 is_stmt 1 view .LVU2816
3774:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7948 .loc 1 3774 13 is_stmt 0 view .LVU2817
7949 00c0 636C ldr r3, [r4, #68]
3774:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7950 .loc 1 3774 25 view .LVU2818
7951 00c2 43F01003 orr r3, r3, #16
7952 00c6 6364 str r3, [r4, #68]
3777:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7953 .loc 1 3777 9 is_stmt 1 view .LVU2819
3777:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7954 .loc 1 3777 9 view .LVU2820
7955 00c8 84F84020 strb r2, [r4, #64]
3777:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7956 .loc 1 3777 9 view .LVU2821
3779:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
7957 .loc 1 3779 9 view .LVU2822
3779:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
7958 .loc 1 3779 16 is_stmt 0 view .LVU2823
7959 00cc 0120 movs r0, #1
7960 .LVL534:
3779:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
7961 .loc 1 3779 16 view .LVU2824
7962 00ce 41E0 b .L516
7963 .LVL535:
7964 .L529:
3661:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
7965 .loc 1 3661 12 view .LVU2825
7966 00d0 DFF89C80 ldr r8, .L533+16
7967 00d4 D7E7 b .L520
7968 .LVL536:
7969 .L522:
3735:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
7970 .loc 1 3735 9 is_stmt 1 view .LVU2826
3735:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
7971 .loc 1 3735 25 is_stmt 0 view .LVU2827
7972 00d6 2023 movs r3, #32
7973 00d8 84F84130 strb r3, [r4, #65]
3736:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
ARM GAS /tmp/ccNVyn8W.s page 315
7974 .loc 1 3736 9 is_stmt 1 view .LVU2828
3736:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7975 .loc 1 3736 25 is_stmt 0 view .LVU2829
7976 00dc 0022 movs r2, #0
7977 00de 84F84220 strb r2, [r4, #66]
3739:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7978 .loc 1 3739 9 is_stmt 1 view .LVU2830
3739:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7979 .loc 1 3739 13 is_stmt 0 view .LVU2831
7980 00e2 636C ldr r3, [r4, #68]
3739:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7981 .loc 1 3739 25 view .LVU2832
7982 00e4 43F08003 orr r3, r3, #128
7983 00e8 6364 str r3, [r4, #68]
3742:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7984 .loc 1 3742 9 is_stmt 1 view .LVU2833
3742:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7985 .loc 1 3742 9 view .LVU2834
7986 00ea 84F84020 strb r2, [r4, #64]
3742:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7987 .loc 1 3742 9 view .LVU2835
3744:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
7988 .loc 1 3744 9 view .LVU2836
3744:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
7989 .loc 1 3744 16 is_stmt 0 view .LVU2837
7990 00ee 0120 movs r0, #1
7991 00f0 30E0 b .L516
7992 .LVL537:
7993 .L532:
3750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
7994 .loc 1 3750 9 is_stmt 1 view .LVU2838
7995 00f2 CDF80080 str r8, [sp]
7996 00f6 3B46 mov r3, r7
7997 00f8 94F82820 ldrb r2, [r4, #40] @ zero_extendqisi2
7998 00fc 3146 mov r1, r6
7999 00fe 2046 mov r0, r4
8000 .LVL538:
3750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8001 .loc 1 3750 9 is_stmt 0 view .LVU2839
8002 0100 FFF7FEFF bl I2C_TransferConfig
8003 .LVL539:
3753:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8004 .loc 1 3753 9 is_stmt 1 view .LVU2840
3753:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8005 .loc 1 3753 13 is_stmt 0 view .LVU2841
8006 0104 638D ldrh r3, [r4, #42]
8007 0106 9BB2 uxth r3, r3
3753:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8008 .loc 1 3753 32 view .LVU2842
8009 0108 228D ldrh r2, [r4, #40]
3753:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8010 .loc 1 3753 25 view .LVU2843
8011 010a 9B1A subs r3, r3, r2
8012 010c 9BB2 uxth r3, r3
8013 010e 6385 strh r3, [r4, #42] @ movhi
3756:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8014 .loc 1 3756 9 is_stmt 1 view .LVU2844
ARM GAS /tmp/ccNVyn8W.s page 316
3756:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8015 .loc 1 3756 9 view .LVU2845
8016 0110 0023 movs r3, #0
8017 0112 84F84030 strb r3, [r4, #64]
3756:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8018 .loc 1 3756 9 view .LVU2846
3762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8019 .loc 1 3762 9 view .LVU2847
8020 0116 1021 movs r1, #16
8021 0118 2046 mov r0, r4
8022 011a FFF7FEFF bl I2C_Enable_IRQ
8023 .LVL540:
3765:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
8024 .loc 1 3765 9 view .LVU2848
3765:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
8025 .loc 1 3765 13 is_stmt 0 view .LVU2849
8026 011e 2268 ldr r2, [r4]
3765:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
8027 .loc 1 3765 23 view .LVU2850
8028 0120 1368 ldr r3, [r2]
3765:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
8029 .loc 1 3765 29 view .LVU2851
8030 0122 43F40043 orr r3, r3, #32768
8031 0126 1360 str r3, [r2]
8032 0128 11E0 b .L525
8033 .LVL541:
8034 .L521:
3785:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8035 .loc 1 3785 7 is_stmt 1 view .LVU2852
3785:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8036 .loc 1 3785 21 is_stmt 0 view .LVU2853
8037 012a 104B ldr r3, .L533+12
8038 012c 6363 str r3, [r4, #52]
3789:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_GENERATE_START_READ);
8039 .loc 1 3789 7 is_stmt 1 view .LVU2854
8040 012e 104B ldr r3, .L533+16
8041 0130 0093 str r3, [sp]
8042 0132 4FF00073 mov r3, #33554432
8043 0136 D2B2 uxtb r2, r2
8044 0138 3146 mov r1, r6
8045 013a 2046 mov r0, r4
8046 013c FFF7FEFF bl I2C_TransferConfig
8047 .LVL542:
3793:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8048 .loc 1 3793 7 view .LVU2855
3793:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8049 .loc 1 3793 7 view .LVU2856
8050 0140 0023 movs r3, #0
8051 0142 84F84030 strb r3, [r4, #64]
3793:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8052 .loc 1 3793 7 view .LVU2857
3802:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
8053 .loc 1 3802 7 view .LVU2858
8054 0146 0121 movs r1, #1
8055 0148 2046 mov r0, r4
8056 014a FFF7FEFF bl I2C_Enable_IRQ
8057 .LVL543:
ARM GAS /tmp/ccNVyn8W.s page 317
8058 .L525:
3805:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
8059 .loc 1 3805 5 view .LVU2859
3805:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
8060 .loc 1 3805 12 is_stmt 0 view .LVU2860
8061 014e 0020 movs r0, #0
8062 0150 00E0 b .L516
8063 .LVL544:
8064 .L526:
3809:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
8065 .loc 1 3809 12 view .LVU2861
8066 0152 0220 movs r0, #2
8067 .LVL545:
8068 .L516:
3811:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8069 .loc 1 3811 1 view .LVU2862
8070 0154 02B0 add sp, sp, #8
8071 .cfi_remember_state
8072 .cfi_def_cfa_offset 24
8073 @ sp needed
8074 0156 BDE8F081 pop {r4, r5, r6, r7, r8, pc}
8075 .LVL546:
8076 .L527:
8077 .cfi_restore_state
3670:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8078 .loc 1 3670 5 discriminator 1 view .LVU2863
8079 015a 0220 movs r0, #2
8080 015c FAE7 b .L516
8081 .L534:
8082 015e 00BF .align 2
8083 .L533:
8084 0160 00000000 .word I2C_Master_ISR_DMA
8085 0164 00000000 .word I2C_DMAMasterReceiveCplt
8086 0168 00000000 .word I2C_DMAError
8087 016c 00000000 .word I2C_Master_ISR_IT
8088 0170 00240080 .word -2147474432
8089 .cfi_endproc
8090 .LFE156:
8092 .section .text.HAL_I2C_Slave_Seq_Transmit_IT,"ax",%progbits
8093 .align 1
8094 .global HAL_I2C_Slave_Seq_Transmit_IT
8095 .syntax unified
8096 .thumb
8097 .thumb_func
8099 HAL_I2C_Slave_Seq_Transmit_IT:
8100 .LVL547:
8101 .LFB157:
3825:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Declaration of tmp to prevent undefined behavior of volatile usage */
8102 .loc 1 3825 1 is_stmt 1 view -0
8103 .cfi_startproc
8104 @ args = 0, pretend = 0, frame = 0
8105 @ frame_needed = 0, uses_anonymous_args = 0
3825:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Declaration of tmp to prevent undefined behavior of volatile usage */
8106 .loc 1 3825 1 is_stmt 0 view .LVU2865
8107 0000 F8B5 push {r3, r4, r5, r6, r7, lr}
8108 .cfi_def_cfa_offset 24
8109 .cfi_offset 3, -24
ARM GAS /tmp/ccNVyn8W.s page 318
8110 .cfi_offset 4, -20
8111 .cfi_offset 5, -16
8112 .cfi_offset 6, -12
8113 .cfi_offset 7, -8
8114 .cfi_offset 14, -4
8115 0002 0446 mov r4, r0
3827:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8116 .loc 1 3827 3 is_stmt 1 view .LVU2866
3830:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8117 .loc 1 3830 3 view .LVU2867
3832:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
8118 .loc 1 3832 3 view .LVU2868
3832:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
8119 .loc 1 3832 22 is_stmt 0 view .LVU2869
8120 0004 90F84100 ldrb r0, [r0, #65] @ zero_extendqisi2
8121 .LVL548:
3832:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
8122 .loc 1 3832 6 view .LVU2870
8123 0008 00F02800 and r0, r0, #40
8124 000c 2828 cmp r0, #40
8125 000e 5ED1 bne .L541
8126 0010 0F46 mov r7, r1
8127 0012 1646 mov r6, r2
8128 0014 1D46 mov r5, r3
3834:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
8129 .loc 1 3834 5 is_stmt 1 view .LVU2871
3834:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
8130 .loc 1 3834 8 is_stmt 0 view .LVU2872
8131 0016 01B1 cbz r1, .L537
3834:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
8132 .loc 1 3834 25 discriminator 1 view .LVU2873
8133 0018 22B9 cbnz r2, .L538
8134 .L537:
3836:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
8135 .loc 1 3836 7 is_stmt 1 view .LVU2874
3836:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
8136 .loc 1 3836 23 is_stmt 0 view .LVU2875
8137 001a 4FF40073 mov r3, #512
8138 .LVL549:
3836:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
8139 .loc 1 3836 23 view .LVU2876
8140 001e 6364 str r3, [r4, #68]
3837:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
8141 .loc 1 3837 7 is_stmt 1 view .LVU2877
3837:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
8142 .loc 1 3837 15 is_stmt 0 view .LVU2878
8143 0020 0120 movs r0, #1
8144 0022 55E0 b .L536
8145 .LVL550:
8146 .L538:
3841:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8147 .loc 1 3841 5 is_stmt 1 view .LVU2879
8148 0024 48F20101 movw r1, #32769
8149 .LVL551:
3841:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8150 .loc 1 3841 5 is_stmt 0 view .LVU2880
8151 0028 2046 mov r0, r4
ARM GAS /tmp/ccNVyn8W.s page 319
8152 002a FFF7FEFF bl I2C_Disable_IRQ
8153 .LVL552:
3844:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8154 .loc 1 3844 5 is_stmt 1 view .LVU2881
3844:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8155 .loc 1 3844 5 view .LVU2882
8156 002e 94F84030 ldrb r3, [r4, #64] @ zero_extendqisi2
8157 0032 012B cmp r3, #1
8158 0034 4DD0 beq .L542
3844:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8159 .loc 1 3844 5 discriminator 2 view .LVU2883
8160 0036 0123 movs r3, #1
8161 0038 84F84030 strb r3, [r4, #64]
3844:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8162 .loc 1 3844 5 discriminator 2 view .LVU2884
3848:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
8163 .loc 1 3848 5 view .LVU2885
3848:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
8164 .loc 1 3848 13 is_stmt 0 view .LVU2886
8165 003c 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2
8166 0040 DBB2 uxtb r3, r3
3848:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
8167 .loc 1 3848 8 view .LVU2887
8168 0042 2A2B cmp r3, #42
8169 0044 28D0 beq .L544
8170 .L539:
3874:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
8171 .loc 1 3874 5 is_stmt 1 view .LVU2888
3874:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
8172 .loc 1 3874 21 is_stmt 0 view .LVU2889
8173 0046 2923 movs r3, #41
8174 0048 84F84130 strb r3, [r4, #65]
3875:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
8175 .loc 1 3875 5 is_stmt 1 view .LVU2890
3875:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
8176 .loc 1 3875 21 is_stmt 0 view .LVU2891
8177 004c 2023 movs r3, #32
8178 004e 84F84230 strb r3, [r4, #66]
3876:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8179 .loc 1 3876 5 is_stmt 1 view .LVU2892
3876:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8180 .loc 1 3876 21 is_stmt 0 view .LVU2893
8181 0052 0023 movs r3, #0
8182 0054 6364 str r3, [r4, #68]
3879:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8183 .loc 1 3879 5 is_stmt 1 view .LVU2894
3879:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8184 .loc 1 3879 9 is_stmt 0 view .LVU2895
8185 0056 2268 ldr r2, [r4]
3879:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8186 .loc 1 3879 19 view .LVU2896
8187 0058 5368 ldr r3, [r2, #4]
3879:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8188 .loc 1 3879 25 view .LVU2897
8189 005a 23F40043 bic r3, r3, #32768
8190 005e 5360 str r3, [r2, #4]
3882:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
ARM GAS /tmp/ccNVyn8W.s page 320
8191 .loc 1 3882 5 is_stmt 1 view .LVU2898
3882:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
8192 .loc 1 3882 23 is_stmt 0 view .LVU2899
8193 0060 6762 str r7, [r4, #36]
3883:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
8194 .loc 1 3883 5 is_stmt 1 view .LVU2900
3883:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
8195 .loc 1 3883 23 is_stmt 0 view .LVU2901
8196 0062 6685 strh r6, [r4, #42] @ movhi
3884:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
8197 .loc 1 3884 5 is_stmt 1 view .LVU2902
3884:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
8198 .loc 1 3884 29 is_stmt 0 view .LVU2903
8199 0064 638D ldrh r3, [r4, #42]
3884:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
8200 .loc 1 3884 23 view .LVU2904
8201 0066 2385 strh r3, [r4, #40] @ movhi
3885:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
8202 .loc 1 3885 5 is_stmt 1 view .LVU2905
3885:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
8203 .loc 1 3885 23 is_stmt 0 view .LVU2906
8204 0068 E562 str r5, [r4, #44]
3886:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8205 .loc 1 3886 5 is_stmt 1 view .LVU2907
3886:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8206 .loc 1 3886 23 is_stmt 0 view .LVU2908
8207 006a 1B4B ldr r3, .L545
8208 006c 6363 str r3, [r4, #52]
3888:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((I2C_GET_DIR(hi2c) == I2C_DIRECTION_RECEIVE) && (tmp != RESET))
8209 .loc 1 3888 5 is_stmt 1 view .LVU2909
3888:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((I2C_GET_DIR(hi2c) == I2C_DIRECTION_RECEIVE) && (tmp != RESET))
8210 .loc 1 3888 11 is_stmt 0 view .LVU2910
8211 006e 2268 ldr r2, [r4]
8212 0070 9369 ldr r3, [r2, #24]
8213 0072 03F00803 and r3, r3, #8
8214 .LVL553:
3889:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
8215 .loc 1 3889 5 is_stmt 1 view .LVU2911
3889:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
8216 .loc 1 3889 10 is_stmt 0 view .LVU2912
8217 0076 9169 ldr r1, [r2, #24]
3889:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
8218 .loc 1 3889 8 view .LVU2913
8219 0078 11F4803F tst r1, #65536
8220 007c 02D0 beq .L540
3889:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
8221 .loc 1 3889 54 discriminator 1 view .LVU2914
8222 007e 0BB1 cbz r3, .L540
3893:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
8223 .loc 1 3893 7 is_stmt 1 view .LVU2915
8224 0080 0823 movs r3, #8
8225 .LVL554:
3893:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
8226 .loc 1 3893 7 is_stmt 0 view .LVU2916
8227 0082 D361 str r3, [r2, #28]
8228 .L540:
3897:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
ARM GAS /tmp/ccNVyn8W.s page 321
8229 .loc 1 3897 5 is_stmt 1 view .LVU2917
3897:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8230 .loc 1 3897 5 view .LVU2918
8231 0084 0025 movs r5, #0
8232 .LVL555:
3897:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8233 .loc 1 3897 5 is_stmt 0 view .LVU2919
8234 0086 84F84050 strb r5, [r4, #64]
3897:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8235 .loc 1 3897 5 is_stmt 1 view .LVU2920
3903:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8236 .loc 1 3903 5 view .LVU2921
8237 008a 48F20101 movw r1, #32769
8238 008e 2046 mov r0, r4
8239 0090 FFF7FEFF bl I2C_Enable_IRQ
8240 .LVL556:
3905:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
8241 .loc 1 3905 5 view .LVU2922
3905:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
8242 .loc 1 3905 12 is_stmt 0 view .LVU2923
8243 0094 2846 mov r0, r5
8244 0096 1BE0 b .L536
8245 .LVL557:
8246 .L544:
3851:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8247 .loc 1 3851 7 is_stmt 1 view .LVU2924
8248 0098 0221 movs r1, #2
8249 009a 2046 mov r0, r4
8250 009c FFF7FEFF bl I2C_Disable_IRQ
8251 .LVL558:
3854:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
8252 .loc 1 3854 7 view .LVU2925
3854:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
8253 .loc 1 3854 16 is_stmt 0 view .LVU2926
8254 00a0 2368 ldr r3, [r4]
3854:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
8255 .loc 1 3854 26 view .LVU2927
8256 00a2 1A68 ldr r2, [r3]
3854:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
8257 .loc 1 3854 10 view .LVU2928
8258 00a4 12F4004F tst r2, #32768
8259 00a8 CDD0 beq .L539
3856:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8260 .loc 1 3856 9 is_stmt 1 view .LVU2929
3856:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8261 .loc 1 3856 23 is_stmt 0 view .LVU2930
8262 00aa 1A68 ldr r2, [r3]
3856:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8263 .loc 1 3856 29 view .LVU2931
8264 00ac 22F40042 bic r2, r2, #32768
8265 00b0 1A60 str r2, [r3]
3858:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
8266 .loc 1 3858 9 is_stmt 1 view .LVU2932
3858:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
8267 .loc 1 3858 17 is_stmt 0 view .LVU2933
8268 00b2 E36B ldr r3, [r4, #60]
3858:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
ARM GAS /tmp/ccNVyn8W.s page 322
8269 .loc 1 3858 12 view .LVU2934
8270 00b4 002B cmp r3, #0
8271 00b6 C6D0 beq .L539
3862:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8272 .loc 1 3862 11 is_stmt 1 view .LVU2935
3862:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8273 .loc 1 3862 43 is_stmt 0 view .LVU2936
8274 00b8 084A ldr r2, .L545+4
8275 00ba 5A63 str r2, [r3, #52]
3865:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
8276 .loc 1 3865 11 is_stmt 1 view .LVU2937
3865:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
8277 .loc 1 3865 15 is_stmt 0 view .LVU2938
8278 00bc E06B ldr r0, [r4, #60]
8279 00be FFF7FEFF bl HAL_DMA_Abort_IT
8280 .LVL559:
3865:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
8281 .loc 1 3865 14 discriminator 1 view .LVU2939
8282 00c2 0028 cmp r0, #0
8283 00c4 BFD0 beq .L539
3868:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
8284 .loc 1 3868 13 is_stmt 1 view .LVU2940
3868:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
8285 .loc 1 3868 17 is_stmt 0 view .LVU2941
8286 00c6 E06B ldr r0, [r4, #60]
3868:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
8287 .loc 1 3868 25 view .LVU2942
8288 00c8 436B ldr r3, [r0, #52]
3868:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
8289 .loc 1 3868 13 view .LVU2943
8290 00ca 9847 blx r3
8291 .LVL560:
8292 00cc BBE7 b .L539
8293 .LVL561:
8294 .L541:
3909:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
8295 .loc 1 3909 12 view .LVU2944
8296 00ce 0120 movs r0, #1
8297 .LVL562:
8298 .L536:
3911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8299 .loc 1 3911 1 view .LVU2945
8300 00d0 F8BD pop {r3, r4, r5, r6, r7, pc}
8301 .LVL563:
8302 .L542:
3844:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8303 .loc 1 3844 5 discriminator 1 view .LVU2946
8304 00d2 0220 movs r0, #2
8305 00d4 FCE7 b .L536
8306 .L546:
8307 00d6 00BF .align 2
8308 .L545:
8309 00d8 00000000 .word I2C_Slave_ISR_IT
8310 00dc 00000000 .word I2C_DMAAbort
8311 .cfi_endproc
8312 .LFE157:
8314 .section .text.HAL_I2C_Slave_Seq_Transmit_DMA,"ax",%progbits
ARM GAS /tmp/ccNVyn8W.s page 323
8315 .align 1
8316 .global HAL_I2C_Slave_Seq_Transmit_DMA
8317 .syntax unified
8318 .thumb
8319 .thumb_func
8321 HAL_I2C_Slave_Seq_Transmit_DMA:
8322 .LVL564:
8323 .LFB158:
3925:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Declaration of tmp to prevent undefined behavior of volatile usage */
8324 .loc 1 3925 1 is_stmt 1 view -0
8325 .cfi_startproc
8326 @ args = 0, pretend = 0, frame = 0
8327 @ frame_needed = 0, uses_anonymous_args = 0
3925:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Declaration of tmp to prevent undefined behavior of volatile usage */
8328 .loc 1 3925 1 is_stmt 0 view .LVU2948
8329 0000 F8B5 push {r3, r4, r5, r6, r7, lr}
8330 .cfi_def_cfa_offset 24
8331 .cfi_offset 3, -24
8332 .cfi_offset 4, -20
8333 .cfi_offset 5, -16
8334 .cfi_offset 6, -12
8335 .cfi_offset 7, -8
8336 .cfi_offset 14, -4
8337 0002 0446 mov r4, r0
3927:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
8338 .loc 1 3927 3 is_stmt 1 view .LVU2949
3928:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8339 .loc 1 3928 3 view .LVU2950
3931:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8340 .loc 1 3931 3 view .LVU2951
3933:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
8341 .loc 1 3933 3 view .LVU2952
3933:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
8342 .loc 1 3933 22 is_stmt 0 view .LVU2953
8343 0004 90F84100 ldrb r0, [r0, #65] @ zero_extendqisi2
8344 .LVL565:
3933:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
8345 .loc 1 3933 6 view .LVU2954
8346 0008 00F02800 and r0, r0, #40
8347 000c 2828 cmp r0, #40
8348 000e 40F0C080 bne .L558
8349 0012 0F46 mov r7, r1
8350 0014 1646 mov r6, r2
8351 0016 1D46 mov r5, r3
3935:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
8352 .loc 1 3935 5 is_stmt 1 view .LVU2955
3935:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
8353 .loc 1 3935 8 is_stmt 0 view .LVU2956
8354 0018 0029 cmp r1, #0
8355 001a 51D0 beq .L549
3935:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
8356 .loc 1 3935 25 discriminator 1 view .LVU2957
8357 001c 002A cmp r2, #0
8358 001e 4FD0 beq .L549
3942:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8359 .loc 1 3942 5 is_stmt 1 view .LVU2958
3942:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
ARM GAS /tmp/ccNVyn8W.s page 324
8360 .loc 1 3942 5 view .LVU2959
8361 0020 94F84030 ldrb r3, [r4, #64] @ zero_extendqisi2
8362 .LVL566:
3942:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8363 .loc 1 3942 5 is_stmt 0 view .LVU2960
8364 0024 012B cmp r3, #1
8365 0026 00F0B780 beq .L559
3942:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8366 .loc 1 3942 5 is_stmt 1 discriminator 2 view .LVU2961
8367 002a 0123 movs r3, #1
8368 002c 84F84030 strb r3, [r4, #64]
3942:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8369 .loc 1 3942 5 discriminator 2 view .LVU2962
3945:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8370 .loc 1 3945 5 view .LVU2963
8371 0030 48F20101 movw r1, #32769
8372 .LVL567:
3945:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8373 .loc 1 3945 5 is_stmt 0 view .LVU2964
8374 0034 2046 mov r0, r4
8375 0036 FFF7FEFF bl I2C_Disable_IRQ
8376 .LVL568:
3949:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
8377 .loc 1 3949 5 is_stmt 1 view .LVU2965
3949:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
8378 .loc 1 3949 13 is_stmt 0 view .LVU2966
8379 003a 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2
8380 003e DBB2 uxtb r3, r3
3949:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
8381 .loc 1 3949 8 view .LVU2967
8382 0040 2A2B cmp r3, #42
8383 0042 42D0 beq .L562
3974:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
8384 .loc 1 3974 10 is_stmt 1 view .LVU2968
3974:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
8385 .loc 1 3974 18 is_stmt 0 view .LVU2969
8386 0044 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2
8387 0048 DBB2 uxtb r3, r3
3974:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
8388 .loc 1 3974 13 view .LVU2970
8389 004a 292B cmp r3, #41
8390 004c 59D0 beq .L563
8391 .L552:
3999:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8392 .loc 1 3999 5 is_stmt 1 view .LVU2971
4001:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
8393 .loc 1 4001 5 view .LVU2972
4001:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
8394 .loc 1 4001 21 is_stmt 0 view .LVU2973
8395 004e 2923 movs r3, #41
8396 0050 84F84130 strb r3, [r4, #65]
4002:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
8397 .loc 1 4002 5 is_stmt 1 view .LVU2974
4002:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
8398 .loc 1 4002 21 is_stmt 0 view .LVU2975
8399 0054 2023 movs r3, #32
8400 0056 84F84230 strb r3, [r4, #66]
ARM GAS /tmp/ccNVyn8W.s page 325
4003:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8401 .loc 1 4003 5 is_stmt 1 view .LVU2976
4003:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8402 .loc 1 4003 21 is_stmt 0 view .LVU2977
8403 005a 0023 movs r3, #0
8404 005c 6364 str r3, [r4, #68]
4006:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8405 .loc 1 4006 5 is_stmt 1 view .LVU2978
4006:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8406 .loc 1 4006 9 is_stmt 0 view .LVU2979
8407 005e 2268 ldr r2, [r4]
4006:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8408 .loc 1 4006 19 view .LVU2980
8409 0060 5368 ldr r3, [r2, #4]
4006:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8410 .loc 1 4006 25 view .LVU2981
8411 0062 23F40043 bic r3, r3, #32768
8412 0066 5360 str r3, [r2, #4]
4009:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
8413 .loc 1 4009 5 is_stmt 1 view .LVU2982
4009:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
8414 .loc 1 4009 23 is_stmt 0 view .LVU2983
8415 0068 6762 str r7, [r4, #36]
4010:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
8416 .loc 1 4010 5 is_stmt 1 view .LVU2984
4010:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
8417 .loc 1 4010 23 is_stmt 0 view .LVU2985
8418 006a 6685 strh r6, [r4, #42] @ movhi
4011:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
8419 .loc 1 4011 5 is_stmt 1 view .LVU2986
4011:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
8420 .loc 1 4011 29 is_stmt 0 view .LVU2987
8421 006c 638D ldrh r3, [r4, #42]
4011:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
8422 .loc 1 4011 23 view .LVU2988
8423 006e 2385 strh r3, [r4, #40] @ movhi
4012:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_DMA;
8424 .loc 1 4012 5 is_stmt 1 view .LVU2989
4012:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_DMA;
8425 .loc 1 4012 23 is_stmt 0 view .LVU2990
8426 0070 E562 str r5, [r4, #44]
4013:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8427 .loc 1 4013 5 is_stmt 1 view .LVU2991
4013:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8428 .loc 1 4013 23 is_stmt 0 view .LVU2992
8429 0072 4A4B ldr r3, .L564
8430 0074 6363 str r3, [r4, #52]
4015:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
8431 .loc 1 4015 5 is_stmt 1 view .LVU2993
4015:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
8432 .loc 1 4015 13 is_stmt 0 view .LVU2994
8433 0076 A36B ldr r3, [r4, #56]
4015:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
8434 .loc 1 4015 8 view .LVU2995
8435 0078 002B cmp r3, #0
8436 007a 59D0 beq .L553
4018:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
ARM GAS /tmp/ccNVyn8W.s page 326
8437 .loc 1 4018 7 is_stmt 1 view .LVU2996
4018:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8438 .loc 1 4018 38 is_stmt 0 view .LVU2997
8439 007c 484A ldr r2, .L564+4
8440 007e 9A62 str r2, [r3, #40]
4021:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8441 .loc 1 4021 7 is_stmt 1 view .LVU2998
4021:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8442 .loc 1 4021 11 is_stmt 0 view .LVU2999
8443 0080 A36B ldr r3, [r4, #56]
4021:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8444 .loc 1 4021 39 view .LVU3000
8445 0082 484A ldr r2, .L564+8
8446 0084 1A63 str r2, [r3, #48]
4024:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
8447 .loc 1 4024 7 is_stmt 1 view .LVU3001
4024:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
8448 .loc 1 4024 11 is_stmt 0 view .LVU3002
8449 0086 A26B ldr r2, [r4, #56]
4024:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
8450 .loc 1 4024 42 view .LVU3003
8451 0088 0023 movs r3, #0
8452 008a D362 str r3, [r2, #44]
4025:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8453 .loc 1 4025 7 is_stmt 1 view .LVU3004
4025:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8454 .loc 1 4025 11 is_stmt 0 view .LVU3005
8455 008c A26B ldr r2, [r4, #56]
4025:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8456 .loc 1 4025 39 view .LVU3006
8457 008e 5363 str r3, [r2, #52]
4028:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize);
8458 .loc 1 4028 7 is_stmt 1 view .LVU3007
4028:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize);
8459 .loc 1 4028 86 is_stmt 0 view .LVU3008
8460 0090 2268 ldr r2, [r4]
4028:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize);
8461 .loc 1 4028 23 view .LVU3009
8462 0092 238D ldrh r3, [r4, #40]
8463 0094 2832 adds r2, r2, #40
8464 0096 3946 mov r1, r7
8465 0098 A06B ldr r0, [r4, #56]
8466 009a FFF7FEFF bl HAL_DMA_Start_IT
8467 .LVL569:
4046:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
8468 .loc 1 4046 5 is_stmt 1 view .LVU3010
4046:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
8469 .loc 1 4046 8 is_stmt 0 view .LVU3011
8470 009e 0546 mov r5, r0
8471 .LVL570:
4046:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
8472 .loc 1 4046 8 view .LVU3012
8473 00a0 0028 cmp r0, #0
8474 00a2 53D0 beq .L554
4057:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
8475 .loc 1 4057 7 is_stmt 1 view .LVU3013
4057:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
ARM GAS /tmp/ccNVyn8W.s page 327
8476 .loc 1 4057 23 is_stmt 0 view .LVU3014
8477 00a4 2823 movs r3, #40
8478 00a6 84F84130 strb r3, [r4, #65]
4058:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8479 .loc 1 4058 7 is_stmt 1 view .LVU3015
4058:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8480 .loc 1 4058 23 is_stmt 0 view .LVU3016
8481 00aa 0022 movs r2, #0
8482 00ac 84F84220 strb r2, [r4, #66]
4061:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8483 .loc 1 4061 7 is_stmt 1 view .LVU3017
4061:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8484 .loc 1 4061 11 is_stmt 0 view .LVU3018
8485 00b0 636C ldr r3, [r4, #68]
4061:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8486 .loc 1 4061 23 view .LVU3019
8487 00b2 43F01003 orr r3, r3, #16
8488 00b6 6364 str r3, [r4, #68]
4064:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8489 .loc 1 4064 7 is_stmt 1 view .LVU3020
4064:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8490 .loc 1 4064 7 view .LVU3021
8491 00b8 84F84020 strb r2, [r4, #64]
4064:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8492 .loc 1 4064 7 view .LVU3022
4066:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
8493 .loc 1 4066 7 view .LVU3023
4066:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
8494 .loc 1 4066 14 is_stmt 0 view .LVU3024
8495 00bc 0125 movs r5, #1
8496 00be 69E0 b .L548
8497 .LVL571:
8498 .L549:
3937:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
8499 .loc 1 3937 7 is_stmt 1 view .LVU3025
3937:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
8500 .loc 1 3937 23 is_stmt 0 view .LVU3026
8501 00c0 4FF40073 mov r3, #512
8502 .LVL572:
3937:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
8503 .loc 1 3937 23 view .LVU3027
8504 00c4 6364 str r3, [r4, #68]
3938:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
8505 .loc 1 3938 7 is_stmt 1 view .LVU3028
3938:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
8506 .loc 1 3938 15 is_stmt 0 view .LVU3029
8507 00c6 0125 movs r5, #1
8508 .LVL573:
3938:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
8509 .loc 1 3938 15 view .LVU3030
8510 00c8 64E0 b .L548
8511 .LVL574:
8512 .L562:
3952:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8513 .loc 1 3952 7 is_stmt 1 view .LVU3031
8514 00ca 0221 movs r1, #2
8515 00cc 2046 mov r0, r4
ARM GAS /tmp/ccNVyn8W.s page 328
8516 00ce FFF7FEFF bl I2C_Disable_IRQ
8517 .LVL575:
3954:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
8518 .loc 1 3954 7 view .LVU3032
3954:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
8519 .loc 1 3954 16 is_stmt 0 view .LVU3033
8520 00d2 2368 ldr r3, [r4]
3954:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
8521 .loc 1 3954 26 view .LVU3034
8522 00d4 1A68 ldr r2, [r3]
3954:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
8523 .loc 1 3954 10 view .LVU3035
8524 00d6 12F4004F tst r2, #32768
8525 00da B8D0 beq .L552
3957:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
8526 .loc 1 3957 9 is_stmt 1 view .LVU3036
3957:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
8527 .loc 1 3957 17 is_stmt 0 view .LVU3037
8528 00dc E26B ldr r2, [r4, #60]
3957:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
8529 .loc 1 3957 12 view .LVU3038
8530 00de 002A cmp r2, #0
8531 00e0 B5D0 beq .L552
3959:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8532 .loc 1 3959 11 is_stmt 1 view .LVU3039
3959:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8533 .loc 1 3959 25 is_stmt 0 view .LVU3040
8534 00e2 1A68 ldr r2, [r3]
3959:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8535 .loc 1 3959 31 view .LVU3041
8536 00e4 22F40042 bic r2, r2, #32768
8537 00e8 1A60 str r2, [r3]
3963:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8538 .loc 1 3963 11 is_stmt 1 view .LVU3042
3963:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8539 .loc 1 3963 15 is_stmt 0 view .LVU3043
8540 00ea E36B ldr r3, [r4, #60]
3963:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8541 .loc 1 3963 43 view .LVU3044
8542 00ec 2E4A ldr r2, .L564+12
8543 00ee 5A63 str r2, [r3, #52]
3966:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
8544 .loc 1 3966 11 is_stmt 1 view .LVU3045
3966:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
8545 .loc 1 3966 15 is_stmt 0 view .LVU3046
8546 00f0 E06B ldr r0, [r4, #60]
8547 00f2 FFF7FEFF bl HAL_DMA_Abort_IT
8548 .LVL576:
3966:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
8549 .loc 1 3966 14 discriminator 1 view .LVU3047
8550 00f6 0028 cmp r0, #0
8551 00f8 A9D0 beq .L552
3969:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
8552 .loc 1 3969 13 is_stmt 1 view .LVU3048
3969:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
8553 .loc 1 3969 17 is_stmt 0 view .LVU3049
8554 00fa E06B ldr r0, [r4, #60]
ARM GAS /tmp/ccNVyn8W.s page 329
3969:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
8555 .loc 1 3969 25 view .LVU3050
8556 00fc 436B ldr r3, [r0, #52]
3969:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
8557 .loc 1 3969 13 view .LVU3051
8558 00fe 9847 blx r3
8559 .LVL577:
8560 0100 A5E7 b .L552
8561 .L563:
3976:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
8562 .loc 1 3976 7 is_stmt 1 view .LVU3052
3976:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
8563 .loc 1 3976 16 is_stmt 0 view .LVU3053
8564 0102 2368 ldr r3, [r4]
3976:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
8565 .loc 1 3976 26 view .LVU3054
8566 0104 1A68 ldr r2, [r3]
3976:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
8567 .loc 1 3976 10 view .LVU3055
8568 0106 12F4804F tst r2, #16384
8569 010a A0D0 beq .L552
3978:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8570 .loc 1 3978 9 is_stmt 1 view .LVU3056
3978:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8571 .loc 1 3978 23 is_stmt 0 view .LVU3057
8572 010c 1A68 ldr r2, [r3]
3978:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8573 .loc 1 3978 29 view .LVU3058
8574 010e 22F48042 bic r2, r2, #16384
8575 0112 1A60 str r2, [r3]
3981:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
8576 .loc 1 3981 9 is_stmt 1 view .LVU3059
3981:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
8577 .loc 1 3981 17 is_stmt 0 view .LVU3060
8578 0114 A36B ldr r3, [r4, #56]
3981:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
8579 .loc 1 3981 12 view .LVU3061
8580 0116 002B cmp r3, #0
8581 0118 99D0 beq .L552
3985:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8582 .loc 1 3985 11 is_stmt 1 view .LVU3062
3985:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8583 .loc 1 3985 43 is_stmt 0 view .LVU3063
8584 011a 234A ldr r2, .L564+12
8585 011c 5A63 str r2, [r3, #52]
3988:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
8586 .loc 1 3988 11 is_stmt 1 view .LVU3064
3988:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
8587 .loc 1 3988 15 is_stmt 0 view .LVU3065
8588 011e A06B ldr r0, [r4, #56]
8589 0120 FFF7FEFF bl HAL_DMA_Abort_IT
8590 .LVL578:
3988:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
8591 .loc 1 3988 14 discriminator 1 view .LVU3066
8592 0124 0028 cmp r0, #0
8593 0126 92D0 beq .L552
3991:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
ARM GAS /tmp/ccNVyn8W.s page 330
8594 .loc 1 3991 13 is_stmt 1 view .LVU3067
3991:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
8595 .loc 1 3991 17 is_stmt 0 view .LVU3068
8596 0128 A06B ldr r0, [r4, #56]
3991:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
8597 .loc 1 3991 25 view .LVU3069
8598 012a 436B ldr r3, [r0, #52]
3991:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
8599 .loc 1 3991 13 view .LVU3070
8600 012c 9847 blx r3
8601 .LVL579:
8602 012e 8EE7 b .L552
8603 .L553:
4034:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
8604 .loc 1 4034 7 is_stmt 1 view .LVU3071
4034:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
8605 .loc 1 4034 23 is_stmt 0 view .LVU3072
8606 0130 2823 movs r3, #40
8607 0132 84F84130 strb r3, [r4, #65]
4035:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8608 .loc 1 4035 7 is_stmt 1 view .LVU3073
4035:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8609 .loc 1 4035 23 is_stmt 0 view .LVU3074
8610 0136 0022 movs r2, #0
8611 0138 84F84220 strb r2, [r4, #66]
4038:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8612 .loc 1 4038 7 is_stmt 1 view .LVU3075
4038:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8613 .loc 1 4038 11 is_stmt 0 view .LVU3076
8614 013c 636C ldr r3, [r4, #68]
4038:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8615 .loc 1 4038 23 view .LVU3077
8616 013e 43F08003 orr r3, r3, #128
8617 0142 6364 str r3, [r4, #68]
4041:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8618 .loc 1 4041 7 is_stmt 1 view .LVU3078
4041:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8619 .loc 1 4041 7 view .LVU3079
8620 0144 84F84020 strb r2, [r4, #64]
4041:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8621 .loc 1 4041 7 view .LVU3080
4043:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
8622 .loc 1 4043 7 view .LVU3081
4043:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
8623 .loc 1 4043 14 is_stmt 0 view .LVU3082
8624 0148 0125 movs r5, #1
8625 .LVL580:
4043:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
8626 .loc 1 4043 14 view .LVU3083
8627 014a 23E0 b .L548
8628 .LVL581:
8629 .L554:
4049:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8630 .loc 1 4049 7 is_stmt 1 view .LVU3084
4049:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8631 .loc 1 4049 11 is_stmt 0 view .LVU3085
8632 014c 638D ldrh r3, [r4, #42]
ARM GAS /tmp/ccNVyn8W.s page 331
8633 014e 9BB2 uxth r3, r3
4049:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8634 .loc 1 4049 30 view .LVU3086
8635 0150 228D ldrh r2, [r4, #40]
4049:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8636 .loc 1 4049 23 view .LVU3087
8637 0152 9B1A subs r3, r3, r2
8638 0154 9BB2 uxth r3, r3
8639 0156 6385 strh r3, [r4, #42] @ movhi
4052:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
8640 .loc 1 4052 7 is_stmt 1 view .LVU3088
4052:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
8641 .loc 1 4052 22 is_stmt 0 view .LVU3089
8642 0158 0023 movs r3, #0
8643 015a 2385 strh r3, [r4, #40] @ movhi
4069:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((I2C_GET_DIR(hi2c) == I2C_DIRECTION_RECEIVE) && (tmp != RESET))
8644 .loc 1 4069 5 is_stmt 1 view .LVU3090
4069:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((I2C_GET_DIR(hi2c) == I2C_DIRECTION_RECEIVE) && (tmp != RESET))
8645 .loc 1 4069 11 is_stmt 0 view .LVU3091
8646 015c 2268 ldr r2, [r4]
8647 015e 9369 ldr r3, [r2, #24]
8648 0160 03F00803 and r3, r3, #8
8649 .LVL582:
4070:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
8650 .loc 1 4070 5 is_stmt 1 view .LVU3092
4070:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
8651 .loc 1 4070 10 is_stmt 0 view .LVU3093
8652 0164 9169 ldr r1, [r2, #24]
4070:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
8653 .loc 1 4070 8 view .LVU3094
8654 0166 11F4803F tst r1, #65536
8655 016a 0DD1 bne .L556
8656 .LVL583:
8657 .L557:
4078:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8658 .loc 1 4078 5 is_stmt 1 view .LVU3095
4078:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8659 .loc 1 4078 5 view .LVU3096
8660 016c 0023 movs r3, #0
8661 016e 84F84030 strb r3, [r4, #64]
4078:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8662 .loc 1 4078 5 view .LVU3097
4081:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8663 .loc 1 4081 5 view .LVU3098
4081:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8664 .loc 1 4081 9 is_stmt 0 view .LVU3099
8665 0172 2268 ldr r2, [r4]
4081:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8666 .loc 1 4081 19 view .LVU3100
8667 0174 1368 ldr r3, [r2]
4081:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8668 .loc 1 4081 25 view .LVU3101
8669 0176 43F48043 orr r3, r3, #16384
8670 017a 1360 str r3, [r2]
4087:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8671 .loc 1 4087 5 is_stmt 1 view .LVU3102
8672 017c 4FF40041 mov r1, #32768
ARM GAS /tmp/ccNVyn8W.s page 332
8673 0180 2046 mov r0, r4
8674 .LVL584:
4087:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8675 .loc 1 4087 5 is_stmt 0 view .LVU3103
8676 0182 FFF7FEFF bl I2C_Enable_IRQ
8677 .LVL585:
4089:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
8678 .loc 1 4089 5 is_stmt 1 view .LVU3104
4089:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
8679 .loc 1 4089 12 is_stmt 0 view .LVU3105
8680 0186 05E0 b .L548
8681 .LVL586:
8682 .L556:
4070:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
8683 .loc 1 4070 54 discriminator 1 view .LVU3106
8684 0188 002B cmp r3, #0
8685 018a EFD0 beq .L557
4074:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
8686 .loc 1 4074 7 is_stmt 1 view .LVU3107
8687 018c 0823 movs r3, #8
8688 .LVL587:
4074:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
8689 .loc 1 4074 7 is_stmt 0 view .LVU3108
8690 018e D361 str r3, [r2, #28]
8691 0190 ECE7 b .L557
8692 .LVL588:
8693 .L558:
4093:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
8694 .loc 1 4093 12 view .LVU3109
8695 0192 0125 movs r5, #1
8696 .LVL589:
8697 .L548:
4095:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8698 .loc 1 4095 1 view .LVU3110
8699 0194 2846 mov r0, r5
8700 0196 F8BD pop {r3, r4, r5, r6, r7, pc}
8701 .LVL590:
8702 .L559:
3942:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8703 .loc 1 3942 5 discriminator 1 view .LVU3111
8704 0198 0225 movs r5, #2
8705 .LVL591:
3942:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8706 .loc 1 3942 5 discriminator 1 view .LVU3112
8707 019a FBE7 b .L548
8708 .L565:
8709 .align 2
8710 .L564:
8711 019c 00000000 .word I2C_Slave_ISR_DMA
8712 01a0 00000000 .word I2C_DMASlaveTransmitCplt
8713 01a4 00000000 .word I2C_DMAError
8714 01a8 00000000 .word I2C_DMAAbort
8715 .cfi_endproc
8716 .LFE158:
8718 .section .text.HAL_I2C_Slave_Seq_Receive_IT,"ax",%progbits
8719 .align 1
8720 .global HAL_I2C_Slave_Seq_Receive_IT
ARM GAS /tmp/ccNVyn8W.s page 333
8721 .syntax unified
8722 .thumb
8723 .thumb_func
8725 HAL_I2C_Slave_Seq_Receive_IT:
8726 .LVL592:
8727 .LFB159:
4109:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Declaration of tmp to prevent undefined behavior of volatile usage */
8728 .loc 1 4109 1 is_stmt 1 view -0
8729 .cfi_startproc
8730 @ args = 0, pretend = 0, frame = 0
8731 @ frame_needed = 0, uses_anonymous_args = 0
4109:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Declaration of tmp to prevent undefined behavior of volatile usage */
8732 .loc 1 4109 1 is_stmt 0 view .LVU3114
8733 0000 F8B5 push {r3, r4, r5, r6, r7, lr}
8734 .cfi_def_cfa_offset 24
8735 .cfi_offset 3, -24
8736 .cfi_offset 4, -20
8737 .cfi_offset 5, -16
8738 .cfi_offset 6, -12
8739 .cfi_offset 7, -8
8740 .cfi_offset 14, -4
8741 0002 0446 mov r4, r0
4111:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8742 .loc 1 4111 3 is_stmt 1 view .LVU3115
4114:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8743 .loc 1 4114 3 view .LVU3116
4116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
8744 .loc 1 4116 3 view .LVU3117
4116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
8745 .loc 1 4116 22 is_stmt 0 view .LVU3118
8746 0004 90F84100 ldrb r0, [r0, #65] @ zero_extendqisi2
8747 .LVL593:
4116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
8748 .loc 1 4116 6 view .LVU3119
8749 0008 00F02800 and r0, r0, #40
8750 000c 2828 cmp r0, #40
8751 000e 5ED1 bne .L572
8752 0010 0F46 mov r7, r1
8753 0012 1646 mov r6, r2
8754 0014 1D46 mov r5, r3
4118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
8755 .loc 1 4118 5 is_stmt 1 view .LVU3120
4118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
8756 .loc 1 4118 8 is_stmt 0 view .LVU3121
8757 0016 01B1 cbz r1, .L568
4118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
8758 .loc 1 4118 25 discriminator 1 view .LVU3122
8759 0018 22B9 cbnz r2, .L569
8760 .L568:
4120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
8761 .loc 1 4120 7 is_stmt 1 view .LVU3123
4120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
8762 .loc 1 4120 23 is_stmt 0 view .LVU3124
8763 001a 4FF40073 mov r3, #512
8764 .LVL594:
4120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
8765 .loc 1 4120 23 view .LVU3125
ARM GAS /tmp/ccNVyn8W.s page 334
8766 001e 6364 str r3, [r4, #68]
4121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
8767 .loc 1 4121 7 is_stmt 1 view .LVU3126
4121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
8768 .loc 1 4121 15 is_stmt 0 view .LVU3127
8769 0020 0120 movs r0, #1
8770 0022 55E0 b .L567
8771 .LVL595:
8772 .L569:
4125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8773 .loc 1 4125 5 is_stmt 1 view .LVU3128
8774 0024 48F20201 movw r1, #32770
8775 .LVL596:
4125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8776 .loc 1 4125 5 is_stmt 0 view .LVU3129
8777 0028 2046 mov r0, r4
8778 002a FFF7FEFF bl I2C_Disable_IRQ
8779 .LVL597:
4128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8780 .loc 1 4128 5 is_stmt 1 view .LVU3130
4128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8781 .loc 1 4128 5 view .LVU3131
8782 002e 94F84030 ldrb r3, [r4, #64] @ zero_extendqisi2
8783 0032 012B cmp r3, #1
8784 0034 4DD0 beq .L573
4128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8785 .loc 1 4128 5 discriminator 2 view .LVU3132
8786 0036 0123 movs r3, #1
8787 0038 84F84030 strb r3, [r4, #64]
4128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8788 .loc 1 4128 5 discriminator 2 view .LVU3133
4132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
8789 .loc 1 4132 5 view .LVU3134
4132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
8790 .loc 1 4132 13 is_stmt 0 view .LVU3135
8791 003c 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2
8792 0040 DBB2 uxtb r3, r3
4132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
8793 .loc 1 4132 8 view .LVU3136
8794 0042 292B cmp r3, #41
8795 0044 28D0 beq .L575
8796 .L570:
4158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
8797 .loc 1 4158 5 is_stmt 1 view .LVU3137
4158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
8798 .loc 1 4158 21 is_stmt 0 view .LVU3138
8799 0046 2A23 movs r3, #42
8800 0048 84F84130 strb r3, [r4, #65]
4159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
8801 .loc 1 4159 5 is_stmt 1 view .LVU3139
4159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
8802 .loc 1 4159 21 is_stmt 0 view .LVU3140
8803 004c 2023 movs r3, #32
8804 004e 84F84230 strb r3, [r4, #66]
4160:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8805 .loc 1 4160 5 is_stmt 1 view .LVU3141
4160:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
ARM GAS /tmp/ccNVyn8W.s page 335
8806 .loc 1 4160 21 is_stmt 0 view .LVU3142
8807 0052 0023 movs r3, #0
8808 0054 6364 str r3, [r4, #68]
4163:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8809 .loc 1 4163 5 is_stmt 1 view .LVU3143
4163:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8810 .loc 1 4163 9 is_stmt 0 view .LVU3144
8811 0056 2268 ldr r2, [r4]
4163:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8812 .loc 1 4163 19 view .LVU3145
8813 0058 5368 ldr r3, [r2, #4]
4163:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8814 .loc 1 4163 25 view .LVU3146
8815 005a 23F40043 bic r3, r3, #32768
8816 005e 5360 str r3, [r2, #4]
4166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
8817 .loc 1 4166 5 is_stmt 1 view .LVU3147
4166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
8818 .loc 1 4166 23 is_stmt 0 view .LVU3148
8819 0060 6762 str r7, [r4, #36]
4167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
8820 .loc 1 4167 5 is_stmt 1 view .LVU3149
4167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
8821 .loc 1 4167 23 is_stmt 0 view .LVU3150
8822 0062 6685 strh r6, [r4, #42] @ movhi
4168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
8823 .loc 1 4168 5 is_stmt 1 view .LVU3151
4168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
8824 .loc 1 4168 29 is_stmt 0 view .LVU3152
8825 0064 638D ldrh r3, [r4, #42]
4168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
8826 .loc 1 4168 23 view .LVU3153
8827 0066 2385 strh r3, [r4, #40] @ movhi
4169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
8828 .loc 1 4169 5 is_stmt 1 view .LVU3154
4169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
8829 .loc 1 4169 23 is_stmt 0 view .LVU3155
8830 0068 E562 str r5, [r4, #44]
4170:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8831 .loc 1 4170 5 is_stmt 1 view .LVU3156
4170:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8832 .loc 1 4170 23 is_stmt 0 view .LVU3157
8833 006a 1B4B ldr r3, .L576
8834 006c 6363 str r3, [r4, #52]
4172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((I2C_GET_DIR(hi2c) == I2C_DIRECTION_TRANSMIT) && (tmp != RESET))
8835 .loc 1 4172 5 is_stmt 1 view .LVU3158
4172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((I2C_GET_DIR(hi2c) == I2C_DIRECTION_TRANSMIT) && (tmp != RESET))
8836 .loc 1 4172 11 is_stmt 0 view .LVU3159
8837 006e 2268 ldr r2, [r4]
8838 0070 9369 ldr r3, [r2, #24]
8839 0072 03F00803 and r3, r3, #8
8840 .LVL598:
4173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
8841 .loc 1 4173 5 is_stmt 1 view .LVU3160
4173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
8842 .loc 1 4173 10 is_stmt 0 view .LVU3161
8843 0076 9169 ldr r1, [r2, #24]
ARM GAS /tmp/ccNVyn8W.s page 336
4173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
8844 .loc 1 4173 8 view .LVU3162
8845 0078 11F4803F tst r1, #65536
8846 007c 02D1 bne .L571
4173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
8847 .loc 1 4173 55 discriminator 1 view .LVU3163
8848 007e 0BB1 cbz r3, .L571
4177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
8849 .loc 1 4177 7 is_stmt 1 view .LVU3164
8850 0080 0823 movs r3, #8
8851 .LVL599:
4177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
8852 .loc 1 4177 7 is_stmt 0 view .LVU3165
8853 0082 D361 str r3, [r2, #28]
8854 .L571:
4181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8855 .loc 1 4181 5 is_stmt 1 view .LVU3166
4181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8856 .loc 1 4181 5 view .LVU3167
8857 0084 0025 movs r5, #0
8858 .LVL600:
4181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8859 .loc 1 4181 5 is_stmt 0 view .LVU3168
8860 0086 84F84050 strb r5, [r4, #64]
4181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8861 .loc 1 4181 5 is_stmt 1 view .LVU3169
4187:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8862 .loc 1 4187 5 view .LVU3170
8863 008a 48F20201 movw r1, #32770
8864 008e 2046 mov r0, r4
8865 0090 FFF7FEFF bl I2C_Enable_IRQ
8866 .LVL601:
4189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
8867 .loc 1 4189 5 view .LVU3171
4189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
8868 .loc 1 4189 12 is_stmt 0 view .LVU3172
8869 0094 2846 mov r0, r5
8870 0096 1BE0 b .L567
8871 .LVL602:
8872 .L575:
4135:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8873 .loc 1 4135 7 is_stmt 1 view .LVU3173
8874 0098 0121 movs r1, #1
8875 009a 2046 mov r0, r4
8876 009c FFF7FEFF bl I2C_Disable_IRQ
8877 .LVL603:
4137:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
8878 .loc 1 4137 7 view .LVU3174
4137:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
8879 .loc 1 4137 16 is_stmt 0 view .LVU3175
8880 00a0 2368 ldr r3, [r4]
4137:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
8881 .loc 1 4137 26 view .LVU3176
8882 00a2 1A68 ldr r2, [r3]
4137:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
8883 .loc 1 4137 10 view .LVU3177
8884 00a4 12F4804F tst r2, #16384
ARM GAS /tmp/ccNVyn8W.s page 337
8885 00a8 CDD0 beq .L570
4139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8886 .loc 1 4139 9 is_stmt 1 view .LVU3178
4139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8887 .loc 1 4139 23 is_stmt 0 view .LVU3179
8888 00aa 1A68 ldr r2, [r3]
4139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8889 .loc 1 4139 29 view .LVU3180
8890 00ac 22F48042 bic r2, r2, #16384
8891 00b0 1A60 str r2, [r3]
4142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
8892 .loc 1 4142 9 is_stmt 1 view .LVU3181
4142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
8893 .loc 1 4142 17 is_stmt 0 view .LVU3182
8894 00b2 A36B ldr r3, [r4, #56]
4142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
8895 .loc 1 4142 12 view .LVU3183
8896 00b4 002B cmp r3, #0
8897 00b6 C6D0 beq .L570
4146:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8898 .loc 1 4146 11 is_stmt 1 view .LVU3184
4146:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8899 .loc 1 4146 43 is_stmt 0 view .LVU3185
8900 00b8 084A ldr r2, .L576+4
8901 00ba 5A63 str r2, [r3, #52]
4149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
8902 .loc 1 4149 11 is_stmt 1 view .LVU3186
4149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
8903 .loc 1 4149 15 is_stmt 0 view .LVU3187
8904 00bc A06B ldr r0, [r4, #56]
8905 00be FFF7FEFF bl HAL_DMA_Abort_IT
8906 .LVL604:
4149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
8907 .loc 1 4149 14 discriminator 1 view .LVU3188
8908 00c2 0028 cmp r0, #0
8909 00c4 BFD0 beq .L570
4152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
8910 .loc 1 4152 13 is_stmt 1 view .LVU3189
4152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
8911 .loc 1 4152 17 is_stmt 0 view .LVU3190
8912 00c6 A06B ldr r0, [r4, #56]
4152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
8913 .loc 1 4152 25 view .LVU3191
8914 00c8 436B ldr r3, [r0, #52]
4152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
8915 .loc 1 4152 13 view .LVU3192
8916 00ca 9847 blx r3
8917 .LVL605:
8918 00cc BBE7 b .L570
8919 .LVL606:
8920 .L572:
4193:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
8921 .loc 1 4193 12 view .LVU3193
8922 00ce 0120 movs r0, #1
8923 .LVL607:
8924 .L567:
4195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
ARM GAS /tmp/ccNVyn8W.s page 338
8925 .loc 1 4195 1 view .LVU3194
8926 00d0 F8BD pop {r3, r4, r5, r6, r7, pc}
8927 .LVL608:
8928 .L573:
4128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8929 .loc 1 4128 5 discriminator 1 view .LVU3195
8930 00d2 0220 movs r0, #2
8931 00d4 FCE7 b .L567
8932 .L577:
8933 00d6 00BF .align 2
8934 .L576:
8935 00d8 00000000 .word I2C_Slave_ISR_IT
8936 00dc 00000000 .word I2C_DMAAbort
8937 .cfi_endproc
8938 .LFE159:
8940 .section .text.HAL_I2C_Slave_Seq_Receive_DMA,"ax",%progbits
8941 .align 1
8942 .global HAL_I2C_Slave_Seq_Receive_DMA
8943 .syntax unified
8944 .thumb
8945 .thumb_func
8947 HAL_I2C_Slave_Seq_Receive_DMA:
8948 .LVL609:
8949 .LFB160:
4209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Declaration of tmp to prevent undefined behavior of volatile usage */
8950 .loc 1 4209 1 is_stmt 1 view -0
8951 .cfi_startproc
8952 @ args = 0, pretend = 0, frame = 0
8953 @ frame_needed = 0, uses_anonymous_args = 0
4209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Declaration of tmp to prevent undefined behavior of volatile usage */
8954 .loc 1 4209 1 is_stmt 0 view .LVU3197
8955 0000 F8B5 push {r3, r4, r5, r6, r7, lr}
8956 .cfi_def_cfa_offset 24
8957 .cfi_offset 3, -24
8958 .cfi_offset 4, -20
8959 .cfi_offset 5, -16
8960 .cfi_offset 6, -12
8961 .cfi_offset 7, -8
8962 .cfi_offset 14, -4
8963 0002 0446 mov r4, r0
4211:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
8964 .loc 1 4211 3 is_stmt 1 view .LVU3198
4212:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8965 .loc 1 4212 3 view .LVU3199
4215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8966 .loc 1 4215 3 view .LVU3200
4217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
8967 .loc 1 4217 3 view .LVU3201
4217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
8968 .loc 1 4217 22 is_stmt 0 view .LVU3202
8969 0004 90F84100 ldrb r0, [r0, #65] @ zero_extendqisi2
8970 .LVL610:
4217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
8971 .loc 1 4217 6 view .LVU3203
8972 0008 00F02800 and r0, r0, #40
8973 000c 2828 cmp r0, #40
8974 000e 40F0BE80 bne .L589
ARM GAS /tmp/ccNVyn8W.s page 339
8975 0012 0F46 mov r7, r1
8976 0014 1646 mov r6, r2
8977 0016 1D46 mov r5, r3
4219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
8978 .loc 1 4219 5 is_stmt 1 view .LVU3204
4219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
8979 .loc 1 4219 8 is_stmt 0 view .LVU3205
8980 0018 01B1 cbz r1, .L580
4219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
8981 .loc 1 4219 25 discriminator 1 view .LVU3206
8982 001a 22B9 cbnz r2, .L581
8983 .L580:
4221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
8984 .loc 1 4221 7 is_stmt 1 view .LVU3207
4221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
8985 .loc 1 4221 23 is_stmt 0 view .LVU3208
8986 001c 4FF40073 mov r3, #512
8987 .LVL611:
4221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
8988 .loc 1 4221 23 view .LVU3209
8989 0020 6364 str r3, [r4, #68]
4222:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
8990 .loc 1 4222 7 is_stmt 1 view .LVU3210
4222:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
8991 .loc 1 4222 15 is_stmt 0 view .LVU3211
8992 0022 0125 movs r5, #1
8993 .LVL612:
4222:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
8994 .loc 1 4222 15 view .LVU3212
8995 0024 B4E0 b .L579
8996 .LVL613:
8997 .L581:
4226:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
8998 .loc 1 4226 5 is_stmt 1 view .LVU3213
8999 0026 48F20201 movw r1, #32770
9000 .LVL614:
4226:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9001 .loc 1 4226 5 is_stmt 0 view .LVU3214
9002 002a 2046 mov r0, r4
9003 002c FFF7FEFF bl I2C_Disable_IRQ
9004 .LVL615:
4229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9005 .loc 1 4229 5 is_stmt 1 view .LVU3215
4229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9006 .loc 1 4229 5 view .LVU3216
9007 0030 94F84030 ldrb r3, [r4, #64] @ zero_extendqisi2
9008 0034 012B cmp r3, #1
9009 0036 00F0AD80 beq .L590
4229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9010 .loc 1 4229 5 discriminator 2 view .LVU3217
9011 003a 0123 movs r3, #1
9012 003c 84F84030 strb r3, [r4, #64]
4229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9013 .loc 1 4229 5 discriminator 2 view .LVU3218
4233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
9014 .loc 1 4233 5 view .LVU3219
4233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
ARM GAS /tmp/ccNVyn8W.s page 340
9015 .loc 1 4233 13 is_stmt 0 view .LVU3220
9016 0040 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2
9017 0044 DBB2 uxtb r3, r3
4233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
9018 .loc 1 4233 8 view .LVU3221
9019 0046 292B cmp r3, #41
9020 0048 3DD0 beq .L593
4258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
9021 .loc 1 4258 10 is_stmt 1 view .LVU3222
4258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
9022 .loc 1 4258 18 is_stmt 0 view .LVU3223
9023 004a 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2
9024 004e DBB2 uxtb r3, r3
4258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
9025 .loc 1 4258 13 view .LVU3224
9026 0050 2A2B cmp r3, #42
9027 0052 54D0 beq .L594
9028 .L583:
4283:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9029 .loc 1 4283 5 is_stmt 1 view .LVU3225
4285:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
9030 .loc 1 4285 5 view .LVU3226
4285:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
9031 .loc 1 4285 21 is_stmt 0 view .LVU3227
9032 0054 2A23 movs r3, #42
9033 0056 84F84130 strb r3, [r4, #65]
4286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
9034 .loc 1 4286 5 is_stmt 1 view .LVU3228
4286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
9035 .loc 1 4286 21 is_stmt 0 view .LVU3229
9036 005a 2023 movs r3, #32
9037 005c 84F84230 strb r3, [r4, #66]
4287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9038 .loc 1 4287 5 is_stmt 1 view .LVU3230
4287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9039 .loc 1 4287 21 is_stmt 0 view .LVU3231
9040 0060 0023 movs r3, #0
9041 0062 6364 str r3, [r4, #68]
4290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9042 .loc 1 4290 5 is_stmt 1 view .LVU3232
4290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9043 .loc 1 4290 9 is_stmt 0 view .LVU3233
9044 0064 2268 ldr r2, [r4]
4290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9045 .loc 1 4290 19 view .LVU3234
9046 0066 5368 ldr r3, [r2, #4]
4290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9047 .loc 1 4290 25 view .LVU3235
9048 0068 23F40043 bic r3, r3, #32768
9049 006c 5360 str r3, [r2, #4]
4293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
9050 .loc 1 4293 5 is_stmt 1 view .LVU3236
4293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
9051 .loc 1 4293 23 is_stmt 0 view .LVU3237
9052 006e 6762 str r7, [r4, #36]
4294:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
9053 .loc 1 4294 5 is_stmt 1 view .LVU3238
ARM GAS /tmp/ccNVyn8W.s page 341
4294:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
9054 .loc 1 4294 23 is_stmt 0 view .LVU3239
9055 0070 6685 strh r6, [r4, #42] @ movhi
4295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
9056 .loc 1 4295 5 is_stmt 1 view .LVU3240
4295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
9057 .loc 1 4295 29 is_stmt 0 view .LVU3241
9058 0072 638D ldrh r3, [r4, #42]
4295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
9059 .loc 1 4295 23 view .LVU3242
9060 0074 2385 strh r3, [r4, #40] @ movhi
4296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_DMA;
9061 .loc 1 4296 5 is_stmt 1 view .LVU3243
4296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_DMA;
9062 .loc 1 4296 23 is_stmt 0 view .LVU3244
9063 0076 E562 str r5, [r4, #44]
4297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9064 .loc 1 4297 5 is_stmt 1 view .LVU3245
4297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9065 .loc 1 4297 23 is_stmt 0 view .LVU3246
9066 0078 474B ldr r3, .L595
9067 007a 6363 str r3, [r4, #52]
4299:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
9068 .loc 1 4299 5 is_stmt 1 view .LVU3247
4299:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
9069 .loc 1 4299 13 is_stmt 0 view .LVU3248
9070 007c E36B ldr r3, [r4, #60]
4299:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
9071 .loc 1 4299 8 view .LVU3249
9072 007e 002B cmp r3, #0
9073 0080 54D0 beq .L584
4302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9074 .loc 1 4302 7 is_stmt 1 view .LVU3250
4302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9075 .loc 1 4302 38 is_stmt 0 view .LVU3251
9076 0082 464A ldr r2, .L595+4
9077 0084 9A62 str r2, [r3, #40]
4305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9078 .loc 1 4305 7 is_stmt 1 view .LVU3252
4305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9079 .loc 1 4305 11 is_stmt 0 view .LVU3253
9080 0086 E36B ldr r3, [r4, #60]
4305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9081 .loc 1 4305 39 view .LVU3254
9082 0088 454A ldr r2, .L595+8
9083 008a 1A63 str r2, [r3, #48]
4308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
9084 .loc 1 4308 7 is_stmt 1 view .LVU3255
4308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
9085 .loc 1 4308 11 is_stmt 0 view .LVU3256
9086 008c E26B ldr r2, [r4, #60]
4308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
9087 .loc 1 4308 42 view .LVU3257
9088 008e 0023 movs r3, #0
9089 0090 D362 str r3, [r2, #44]
4309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9090 .loc 1 4309 7 is_stmt 1 view .LVU3258
ARM GAS /tmp/ccNVyn8W.s page 342
4309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9091 .loc 1 4309 11 is_stmt 0 view .LVU3259
9092 0092 E26B ldr r2, [r4, #60]
4309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9093 .loc 1 4309 39 view .LVU3260
9094 0094 5363 str r3, [r2, #52]
4312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (uint32_t)pData, hi2c->XferSize);
9095 .loc 1 4312 7 is_stmt 1 view .LVU3261
4312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (uint32_t)pData, hi2c->XferSize);
9096 .loc 1 4312 69 is_stmt 0 view .LVU3262
9097 0096 2168 ldr r1, [r4]
4312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (uint32_t)pData, hi2c->XferSize);
9098 .loc 1 4312 23 view .LVU3263
9099 0098 238D ldrh r3, [r4, #40]
9100 009a 3A46 mov r2, r7
9101 009c 2431 adds r1, r1, #36
9102 009e E06B ldr r0, [r4, #60]
9103 00a0 FFF7FEFF bl HAL_DMA_Start_IT
9104 .LVL616:
4330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
9105 .loc 1 4330 5 is_stmt 1 view .LVU3264
4330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
9106 .loc 1 4330 8 is_stmt 0 view .LVU3265
9107 00a4 0546 mov r5, r0
9108 .LVL617:
4330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
9109 .loc 1 4330 8 view .LVU3266
9110 00a6 0028 cmp r0, #0
9111 00a8 4ED0 beq .L585
4341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
9112 .loc 1 4341 7 is_stmt 1 view .LVU3267
4341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
9113 .loc 1 4341 23 is_stmt 0 view .LVU3268
9114 00aa 2823 movs r3, #40
9115 00ac 84F84130 strb r3, [r4, #65]
4342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9116 .loc 1 4342 7 is_stmt 1 view .LVU3269
4342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9117 .loc 1 4342 23 is_stmt 0 view .LVU3270
9118 00b0 0022 movs r2, #0
9119 00b2 84F84220 strb r2, [r4, #66]
4345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9120 .loc 1 4345 7 is_stmt 1 view .LVU3271
4345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9121 .loc 1 4345 11 is_stmt 0 view .LVU3272
9122 00b6 636C ldr r3, [r4, #68]
4345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9123 .loc 1 4345 23 view .LVU3273
9124 00b8 43F01003 orr r3, r3, #16
9125 00bc 6364 str r3, [r4, #68]
4348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9126 .loc 1 4348 7 is_stmt 1 view .LVU3274
4348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9127 .loc 1 4348 7 view .LVU3275
9128 00be 84F84020 strb r2, [r4, #64]
4348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9129 .loc 1 4348 7 view .LVU3276
ARM GAS /tmp/ccNVyn8W.s page 343
4350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
9130 .loc 1 4350 7 view .LVU3277
4350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
9131 .loc 1 4350 14 is_stmt 0 view .LVU3278
9132 00c2 0125 movs r5, #1
9133 00c4 64E0 b .L579
9134 .LVL618:
9135 .L593:
4236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9136 .loc 1 4236 7 is_stmt 1 view .LVU3279
9137 00c6 0121 movs r1, #1
9138 00c8 2046 mov r0, r4
9139 00ca FFF7FEFF bl I2C_Disable_IRQ
9140 .LVL619:
4238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
9141 .loc 1 4238 7 view .LVU3280
4238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
9142 .loc 1 4238 16 is_stmt 0 view .LVU3281
9143 00ce 2368 ldr r3, [r4]
4238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
9144 .loc 1 4238 26 view .LVU3282
9145 00d0 1A68 ldr r2, [r3]
4238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
9146 .loc 1 4238 10 view .LVU3283
9147 00d2 12F4804F tst r2, #16384
9148 00d6 BDD0 beq .L583
4241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
9149 .loc 1 4241 9 is_stmt 1 view .LVU3284
4241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
9150 .loc 1 4241 17 is_stmt 0 view .LVU3285
9151 00d8 A26B ldr r2, [r4, #56]
4241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
9152 .loc 1 4241 12 view .LVU3286
9153 00da 002A cmp r2, #0
9154 00dc BAD0 beq .L583
4243:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9155 .loc 1 4243 11 is_stmt 1 view .LVU3287
4243:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9156 .loc 1 4243 25 is_stmt 0 view .LVU3288
9157 00de 1A68 ldr r2, [r3]
4243:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9158 .loc 1 4243 31 view .LVU3289
9159 00e0 22F48042 bic r2, r2, #16384
9160 00e4 1A60 str r2, [r3]
4247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9161 .loc 1 4247 11 is_stmt 1 view .LVU3290
4247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9162 .loc 1 4247 15 is_stmt 0 view .LVU3291
9163 00e6 A36B ldr r3, [r4, #56]
4247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9164 .loc 1 4247 43 view .LVU3292
9165 00e8 2E4A ldr r2, .L595+12
9166 00ea 5A63 str r2, [r3, #52]
4250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
9167 .loc 1 4250 11 is_stmt 1 view .LVU3293
4250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
9168 .loc 1 4250 15 is_stmt 0 view .LVU3294
ARM GAS /tmp/ccNVyn8W.s page 344
9169 00ec A06B ldr r0, [r4, #56]
9170 00ee FFF7FEFF bl HAL_DMA_Abort_IT
9171 .LVL620:
4250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
9172 .loc 1 4250 14 discriminator 1 view .LVU3295
9173 00f2 0028 cmp r0, #0
9174 00f4 AED0 beq .L583
4253:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
9175 .loc 1 4253 13 is_stmt 1 view .LVU3296
4253:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
9176 .loc 1 4253 17 is_stmt 0 view .LVU3297
9177 00f6 A06B ldr r0, [r4, #56]
4253:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
9178 .loc 1 4253 25 view .LVU3298
9179 00f8 436B ldr r3, [r0, #52]
4253:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
9180 .loc 1 4253 13 view .LVU3299
9181 00fa 9847 blx r3
9182 .LVL621:
9183 00fc AAE7 b .L583
9184 .L594:
4260:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
9185 .loc 1 4260 7 is_stmt 1 view .LVU3300
4260:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
9186 .loc 1 4260 16 is_stmt 0 view .LVU3301
9187 00fe 2368 ldr r3, [r4]
4260:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
9188 .loc 1 4260 26 view .LVU3302
9189 0100 1A68 ldr r2, [r3]
4260:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
9190 .loc 1 4260 10 view .LVU3303
9191 0102 12F4004F tst r2, #32768
9192 0106 A5D0 beq .L583
4262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9193 .loc 1 4262 9 is_stmt 1 view .LVU3304
4262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9194 .loc 1 4262 23 is_stmt 0 view .LVU3305
9195 0108 1A68 ldr r2, [r3]
4262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9196 .loc 1 4262 29 view .LVU3306
9197 010a 22F40042 bic r2, r2, #32768
9198 010e 1A60 str r2, [r3]
4265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
9199 .loc 1 4265 9 is_stmt 1 view .LVU3307
4265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
9200 .loc 1 4265 17 is_stmt 0 view .LVU3308
9201 0110 E36B ldr r3, [r4, #60]
4265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
9202 .loc 1 4265 12 view .LVU3309
9203 0112 002B cmp r3, #0
9204 0114 9ED0 beq .L583
4269:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9205 .loc 1 4269 11 is_stmt 1 view .LVU3310
4269:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9206 .loc 1 4269 43 is_stmt 0 view .LVU3311
9207 0116 234A ldr r2, .L595+12
9208 0118 5A63 str r2, [r3, #52]
ARM GAS /tmp/ccNVyn8W.s page 345
4272:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
9209 .loc 1 4272 11 is_stmt 1 view .LVU3312
4272:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
9210 .loc 1 4272 15 is_stmt 0 view .LVU3313
9211 011a E06B ldr r0, [r4, #60]
9212 011c FFF7FEFF bl HAL_DMA_Abort_IT
9213 .LVL622:
4272:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
9214 .loc 1 4272 14 discriminator 1 view .LVU3314
9215 0120 0028 cmp r0, #0
9216 0122 97D0 beq .L583
4275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
9217 .loc 1 4275 13 is_stmt 1 view .LVU3315
4275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
9218 .loc 1 4275 17 is_stmt 0 view .LVU3316
9219 0124 E06B ldr r0, [r4, #60]
4275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
9220 .loc 1 4275 25 view .LVU3317
9221 0126 436B ldr r3, [r0, #52]
4275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
9222 .loc 1 4275 13 view .LVU3318
9223 0128 9847 blx r3
9224 .LVL623:
9225 012a 93E7 b .L583
9226 .L584:
4318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
9227 .loc 1 4318 7 is_stmt 1 view .LVU3319
4318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
9228 .loc 1 4318 23 is_stmt 0 view .LVU3320
9229 012c 2823 movs r3, #40
9230 012e 84F84130 strb r3, [r4, #65]
4319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9231 .loc 1 4319 7 is_stmt 1 view .LVU3321
4319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9232 .loc 1 4319 23 is_stmt 0 view .LVU3322
9233 0132 0022 movs r2, #0
9234 0134 84F84220 strb r2, [r4, #66]
4322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9235 .loc 1 4322 7 is_stmt 1 view .LVU3323
4322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9236 .loc 1 4322 11 is_stmt 0 view .LVU3324
9237 0138 636C ldr r3, [r4, #68]
4322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9238 .loc 1 4322 23 view .LVU3325
9239 013a 43F08003 orr r3, r3, #128
9240 013e 6364 str r3, [r4, #68]
4325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9241 .loc 1 4325 7 is_stmt 1 view .LVU3326
4325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9242 .loc 1 4325 7 view .LVU3327
9243 0140 84F84020 strb r2, [r4, #64]
4325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9244 .loc 1 4325 7 view .LVU3328
4327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
9245 .loc 1 4327 7 view .LVU3329
4327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
9246 .loc 1 4327 14 is_stmt 0 view .LVU3330
ARM GAS /tmp/ccNVyn8W.s page 346
9247 0144 0125 movs r5, #1
9248 .LVL624:
4327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
9249 .loc 1 4327 14 view .LVU3331
9250 0146 23E0 b .L579
9251 .LVL625:
9252 .L585:
4333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9253 .loc 1 4333 7 is_stmt 1 view .LVU3332
4333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9254 .loc 1 4333 11 is_stmt 0 view .LVU3333
9255 0148 638D ldrh r3, [r4, #42]
9256 014a 9BB2 uxth r3, r3
4333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9257 .loc 1 4333 30 view .LVU3334
9258 014c 228D ldrh r2, [r4, #40]
4333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9259 .loc 1 4333 23 view .LVU3335
9260 014e 9B1A subs r3, r3, r2
9261 0150 9BB2 uxth r3, r3
9262 0152 6385 strh r3, [r4, #42] @ movhi
4336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
9263 .loc 1 4336 7 is_stmt 1 view .LVU3336
4336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
9264 .loc 1 4336 22 is_stmt 0 view .LVU3337
9265 0154 0023 movs r3, #0
9266 0156 2385 strh r3, [r4, #40] @ movhi
4353:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((I2C_GET_DIR(hi2c) == I2C_DIRECTION_TRANSMIT) && (tmp != RESET))
9267 .loc 1 4353 5 is_stmt 1 view .LVU3338
4353:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((I2C_GET_DIR(hi2c) == I2C_DIRECTION_TRANSMIT) && (tmp != RESET))
9268 .loc 1 4353 11 is_stmt 0 view .LVU3339
9269 0158 2268 ldr r2, [r4]
9270 015a 9369 ldr r3, [r2, #24]
9271 015c 03F00803 and r3, r3, #8
9272 .LVL626:
4354:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
9273 .loc 1 4354 5 is_stmt 1 view .LVU3340
4354:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
9274 .loc 1 4354 10 is_stmt 0 view .LVU3341
9275 0160 9169 ldr r1, [r2, #24]
4354:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
9276 .loc 1 4354 8 view .LVU3342
9277 0162 11F4803F tst r1, #65536
9278 0166 0DD0 beq .L587
9279 .LVL627:
9280 .L588:
4362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9281 .loc 1 4362 5 is_stmt 1 view .LVU3343
4362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9282 .loc 1 4362 5 view .LVU3344
9283 0168 0023 movs r3, #0
9284 016a 84F84030 strb r3, [r4, #64]
4362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9285 .loc 1 4362 5 view .LVU3345
4365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9286 .loc 1 4365 5 view .LVU3346
4365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
ARM GAS /tmp/ccNVyn8W.s page 347
9287 .loc 1 4365 9 is_stmt 0 view .LVU3347
9288 016e 2268 ldr r2, [r4]
4365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9289 .loc 1 4365 19 view .LVU3348
9290 0170 1368 ldr r3, [r2]
4365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9291 .loc 1 4365 25 view .LVU3349
9292 0172 43F40043 orr r3, r3, #32768
9293 0176 1360 str r3, [r2]
4371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9294 .loc 1 4371 5 is_stmt 1 view .LVU3350
9295 0178 48F20201 movw r1, #32770
9296 017c 2046 mov r0, r4
9297 .LVL628:
4371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9298 .loc 1 4371 5 is_stmt 0 view .LVU3351
9299 017e FFF7FEFF bl I2C_Enable_IRQ
9300 .LVL629:
4373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
9301 .loc 1 4373 5 is_stmt 1 view .LVU3352
4373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
9302 .loc 1 4373 12 is_stmt 0 view .LVU3353
9303 0182 05E0 b .L579
9304 .LVL630:
9305 .L587:
4354:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
9306 .loc 1 4354 55 discriminator 1 view .LVU3354
9307 0184 002B cmp r3, #0
9308 0186 EFD0 beq .L588
4358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
9309 .loc 1 4358 7 is_stmt 1 view .LVU3355
9310 0188 0823 movs r3, #8
9311 .LVL631:
4358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
9312 .loc 1 4358 7 is_stmt 0 view .LVU3356
9313 018a D361 str r3, [r2, #28]
9314 018c ECE7 b .L588
9315 .LVL632:
9316 .L589:
4377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
9317 .loc 1 4377 12 view .LVU3357
9318 018e 0125 movs r5, #1
9319 .LVL633:
9320 .L579:
4379:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9321 .loc 1 4379 1 view .LVU3358
9322 0190 2846 mov r0, r5
9323 0192 F8BD pop {r3, r4, r5, r6, r7, pc}
9324 .LVL634:
9325 .L590:
4229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9326 .loc 1 4229 5 discriminator 1 view .LVU3359
9327 0194 0225 movs r5, #2
9328 .LVL635:
4229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9329 .loc 1 4229 5 discriminator 1 view .LVU3360
9330 0196 FBE7 b .L579
ARM GAS /tmp/ccNVyn8W.s page 348
9331 .L596:
9332 .align 2
9333 .L595:
9334 0198 00000000 .word I2C_Slave_ISR_DMA
9335 019c 00000000 .word I2C_DMASlaveReceiveCplt
9336 01a0 00000000 .word I2C_DMAError
9337 01a4 00000000 .word I2C_DMAAbort
9338 .cfi_endproc
9339 .LFE160:
9341 .section .text.HAL_I2C_EnableListen_IT,"ax",%progbits
9342 .align 1
9343 .global HAL_I2C_EnableListen_IT
9344 .syntax unified
9345 .thumb
9346 .thumb_func
9348 HAL_I2C_EnableListen_IT:
9349 .LVL636:
9350 .LFB161:
4388:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
9351 .loc 1 4388 1 is_stmt 1 view -0
9352 .cfi_startproc
9353 @ args = 0, pretend = 0, frame = 0
9354 @ frame_needed = 0, uses_anonymous_args = 0
4388:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
9355 .loc 1 4388 1 is_stmt 0 view .LVU3362
9356 0000 08B5 push {r3, lr}
9357 .cfi_def_cfa_offset 8
9358 .cfi_offset 3, -8
9359 .cfi_offset 14, -4
4389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
9360 .loc 1 4389 3 is_stmt 1 view .LVU3363
4389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
9361 .loc 1 4389 11 is_stmt 0 view .LVU3364
9362 0002 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2
9363 0006 DBB2 uxtb r3, r3
4389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
9364 .loc 1 4389 6 view .LVU3365
9365 0008 202B cmp r3, #32
9366 000a 01D0 beq .L601
4401:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
9367 .loc 1 4401 12 view .LVU3366
9368 000c 0220 movs r0, #2
9369 .LVL637:
9370 .L598:
4403:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9371 .loc 1 4403 1 view .LVU3367
9372 000e 08BD pop {r3, pc}
9373 .LVL638:
9374 .L601:
4391:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
9375 .loc 1 4391 5 is_stmt 1 view .LVU3368
4391:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
9376 .loc 1 4391 17 is_stmt 0 view .LVU3369
9377 0010 2823 movs r3, #40
9378 0012 80F84130 strb r3, [r0, #65]
4392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9379 .loc 1 4392 5 is_stmt 1 view .LVU3370
ARM GAS /tmp/ccNVyn8W.s page 349
4392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9380 .loc 1 4392 19 is_stmt 0 view .LVU3371
9381 0016 044B ldr r3, .L602
9382 0018 4363 str r3, [r0, #52]
4395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9383 .loc 1 4395 5 is_stmt 1 view .LVU3372
9384 001a 4FF40041 mov r1, #32768
9385 001e FFF7FEFF bl I2C_Enable_IRQ
9386 .LVL639:
4397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
9387 .loc 1 4397 5 view .LVU3373
4397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
9388 .loc 1 4397 12 is_stmt 0 view .LVU3374
9389 0022 0020 movs r0, #0
9390 0024 F3E7 b .L598
9391 .L603:
9392 0026 00BF .align 2
9393 .L602:
9394 0028 00000000 .word I2C_Slave_ISR_IT
9395 .cfi_endproc
9396 .LFE161:
9398 .section .text.HAL_I2C_DisableListen_IT,"ax",%progbits
9399 .align 1
9400 .global HAL_I2C_DisableListen_IT
9401 .syntax unified
9402 .thumb
9403 .thumb_func
9405 HAL_I2C_DisableListen_IT:
9406 .LVL640:
9407 .LFB162:
4412:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Declaration of tmp to prevent undefined behavior of volatile usage */
9408 .loc 1 4412 1 is_stmt 1 view -0
9409 .cfi_startproc
9410 @ args = 0, pretend = 0, frame = 0
9411 @ frame_needed = 0, uses_anonymous_args = 0
4414:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9412 .loc 1 4414 3 view .LVU3376
4417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
9413 .loc 1 4417 3 view .LVU3377
4417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
9414 .loc 1 4417 11 is_stmt 0 view .LVU3378
9415 0000 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2
9416 0004 DBB2 uxtb r3, r3
4417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
9417 .loc 1 4417 6 view .LVU3379
9418 0006 282B cmp r3, #40
9419 0008 01D0 beq .L611
4432:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
9420 .loc 1 4432 12 view .LVU3380
9421 000a 0220 movs r0, #2
9422 .LVL641:
4434:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9423 .loc 1 4434 1 view .LVU3381
9424 000c 7047 bx lr
9425 .LVL642:
9426 .L611:
4412:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Declaration of tmp to prevent undefined behavior of volatile usage */
ARM GAS /tmp/ccNVyn8W.s page 350
9427 .loc 1 4412 1 view .LVU3382
9428 000e 10B5 push {r4, lr}
9429 .cfi_def_cfa_offset 8
9430 .cfi_offset 4, -8
9431 .cfi_offset 14, -4
4419:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = tmp | (uint32_t)(hi2c->Mode);
9432 .loc 1 4419 5 is_stmt 1 view .LVU3383
4419:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = tmp | (uint32_t)(hi2c->Mode);
9433 .loc 1 4419 26 is_stmt 0 view .LVU3384
9434 0010 90F84120 ldrb r2, [r0, #65] @ zero_extendqisi2
9435 .LVL643:
4420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
9436 .loc 1 4420 5 is_stmt 1 view .LVU3385
4420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
9437 .loc 1 4420 48 is_stmt 0 view .LVU3386
9438 0014 90F84230 ldrb r3, [r0, #66] @ zero_extendqisi2
4420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
9439 .loc 1 4420 31 view .LVU3387
9440 0018 02F00302 and r2, r2, #3
9441 .LVL644:
4420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
9442 .loc 1 4420 31 view .LVU3388
9443 001c 1343 orrs r3, r3, r2
4420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
9444 .loc 1 4420 25 view .LVU3389
9445 001e 0363 str r3, [r0, #48]
4421:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
9446 .loc 1 4421 5 is_stmt 1 view .LVU3390
4421:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
9447 .loc 1 4421 17 is_stmt 0 view .LVU3391
9448 0020 2023 movs r3, #32
9449 0022 80F84130 strb r3, [r0, #65]
4422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL;
9450 .loc 1 4422 5 is_stmt 1 view .LVU3392
4422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL;
9451 .loc 1 4422 16 is_stmt 0 view .LVU3393
9452 0026 0024 movs r4, #0
9453 0028 80F84240 strb r4, [r0, #66]
4423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9454 .loc 1 4423 5 is_stmt 1 view .LVU3394
4423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9455 .loc 1 4423 19 is_stmt 0 view .LVU3395
9456 002c 4463 str r4, [r0, #52]
4426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9457 .loc 1 4426 5 is_stmt 1 view .LVU3396
9458 002e 4FF40041 mov r1, #32768
9459 0032 FFF7FEFF bl I2C_Disable_IRQ
9460 .LVL645:
4428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
9461 .loc 1 4428 5 view .LVU3397
4428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
9462 .loc 1 4428 12 is_stmt 0 view .LVU3398
9463 0036 2046 mov r0, r4
4434:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9464 .loc 1 4434 1 view .LVU3399
9465 0038 10BD pop {r4, pc}
9466 .cfi_endproc
ARM GAS /tmp/ccNVyn8W.s page 351
9467 .LFE162:
9469 .section .text.HAL_I2C_Master_Abort_IT,"ax",%progbits
9470 .align 1
9471 .global HAL_I2C_Master_Abort_IT
9472 .syntax unified
9473 .thumb
9474 .thumb_func
9476 HAL_I2C_Master_Abort_IT:
9477 .LVL646:
9478 .LFB163:
4445:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->Mode == HAL_I2C_MODE_MASTER)
9479 .loc 1 4445 1 is_stmt 1 view -0
9480 .cfi_startproc
9481 @ args = 0, pretend = 0, frame = 0
9482 @ frame_needed = 0, uses_anonymous_args = 0
4446:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
9483 .loc 1 4446 3 view .LVU3401
4446:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
9484 .loc 1 4446 11 is_stmt 0 view .LVU3402
9485 0000 90F84230 ldrb r3, [r0, #66] @ zero_extendqisi2
9486 0004 DBB2 uxtb r3, r3
4446:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
9487 .loc 1 4446 6 view .LVU3403
9488 0006 102B cmp r3, #16
9489 0008 36D1 bne .L616
4445:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->Mode == HAL_I2C_MODE_MASTER)
9490 .loc 1 4445 1 view .LVU3404
9491 000a 30B5 push {r4, r5, lr}
9492 .cfi_def_cfa_offset 12
9493 .cfi_offset 4, -12
9494 .cfi_offset 5, -8
9495 .cfi_offset 14, -4
9496 000c 83B0 sub sp, sp, #12
9497 .cfi_def_cfa_offset 24
9498 000e 0446 mov r4, r0
9499 0010 0D46 mov r5, r1
4449:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9500 .loc 1 4449 5 is_stmt 1 view .LVU3405
4449:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9501 .loc 1 4449 5 view .LVU3406
9502 0012 90F84030 ldrb r3, [r0, #64] @ zero_extendqisi2
9503 0016 012B cmp r3, #1
9504 0018 30D0 beq .L617
4449:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9505 .loc 1 4449 5 discriminator 2 view .LVU3407
9506 001a 0123 movs r3, #1
9507 001c 80F84030 strb r3, [r0, #64]
4449:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9508 .loc 1 4449 5 discriminator 2 view .LVU3408
4452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
9509 .loc 1 4452 5 view .LVU3409
4452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
9510 .loc 1 4452 13 is_stmt 0 view .LVU3410
9511 0020 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2
9512 0024 DBB2 uxtb r3, r3
4452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
9513 .loc 1 4452 8 view .LVU3411
ARM GAS /tmp/ccNVyn8W.s page 352
9514 0026 212B cmp r3, #33
9515 0028 1AD0 beq .L622
4457:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
9516 .loc 1 4457 10 is_stmt 1 view .LVU3412
4457:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
9517 .loc 1 4457 18 is_stmt 0 view .LVU3413
9518 002a 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2
9519 002e DBB2 uxtb r3, r3
4457:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
9520 .loc 1 4457 13 view .LVU3414
9521 0030 222B cmp r3, #34
9522 0032 1BD0 beq .L623
9523 .LVL647:
9524 .L615:
4465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9525 .loc 1 4465 5 is_stmt 1 view .LVU3415
4468:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9526 .loc 1 4468 5 view .LVU3416
4468:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9527 .loc 1 4468 17 is_stmt 0 view .LVU3417
9528 0034 6023 movs r3, #96
9529 0036 84F84130 strb r3, [r4, #65]
4472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9530 .loc 1 4472 5 is_stmt 1 view .LVU3418
9531 003a 114B ldr r3, .L624
9532 003c 0093 str r3, [sp]
9533 003e 4FF00073 mov r3, #33554432
9534 0042 0122 movs r2, #1
9535 0044 2946 mov r1, r5
9536 0046 2046 mov r0, r4
9537 0048 FFF7FEFF bl I2C_TransferConfig
9538 .LVL648:
4475:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9539 .loc 1 4475 5 view .LVU3419
4475:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9540 .loc 1 4475 5 view .LVU3420
9541 004c 0025 movs r5, #0
9542 .LVL649:
4475:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9543 .loc 1 4475 5 is_stmt 0 view .LVU3421
9544 004e 84F84050 strb r5, [r4, #64]
4475:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9545 .loc 1 4475 5 is_stmt 1 view .LVU3422
4480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9546 .loc 1 4480 5 view .LVU3423
9547 0052 2021 movs r1, #32
9548 0054 2046 mov r0, r4
9549 0056 FFF7FEFF bl I2C_Enable_IRQ
9550 .LVL650:
4482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
9551 .loc 1 4482 5 view .LVU3424
4482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
9552 .loc 1 4482 12 is_stmt 0 view .LVU3425
9553 005a 2846 mov r0, r5
9554 .L613:
4490:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9555 .loc 1 4490 1 view .LVU3426
ARM GAS /tmp/ccNVyn8W.s page 353
9556 005c 03B0 add sp, sp, #12
9557 .cfi_remember_state
9558 .cfi_def_cfa_offset 12
9559 @ sp needed
9560 005e 30BD pop {r4, r5, pc}
9561 .LVL651:
9562 .L622:
9563 .cfi_restore_state
4454:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_TX;
9564 .loc 1 4454 7 is_stmt 1 view .LVU3427
9565 0060 0121 movs r1, #1
9566 .LVL652:
4454:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_TX;
9567 .loc 1 4454 7 is_stmt 0 view .LVU3428
9568 0062 FFF7FEFF bl I2C_Disable_IRQ
9569 .LVL653:
4455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
9570 .loc 1 4455 7 is_stmt 1 view .LVU3429
4455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
9571 .loc 1 4455 27 is_stmt 0 view .LVU3430
9572 0066 1123 movs r3, #17
9573 0068 2363 str r3, [r4, #48]
9574 006a E3E7 b .L615
9575 .LVL654:
9576 .L623:
4459:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_RX;
9577 .loc 1 4459 7 is_stmt 1 view .LVU3431
9578 006c 0221 movs r1, #2
9579 .LVL655:
4459:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_RX;
9580 .loc 1 4459 7 is_stmt 0 view .LVU3432
9581 006e FFF7FEFF bl I2C_Disable_IRQ
9582 .LVL656:
4460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
9583 .loc 1 4460 7 is_stmt 1 view .LVU3433
4460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
9584 .loc 1 4460 27 is_stmt 0 view .LVU3434
9585 0072 1223 movs r3, #18
9586 0074 2363 str r3, [r4, #48]
9587 0076 DDE7 b .L615
9588 .LVL657:
9589 .L616:
9590 .cfi_def_cfa_offset 0
9591 .cfi_restore 4
9592 .cfi_restore 5
9593 .cfi_restore 14
4488:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
9594 .loc 1 4488 12 view .LVU3435
9595 0078 0120 movs r0, #1
9596 .LVL658:
4490:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9597 .loc 1 4490 1 view .LVU3436
9598 007a 7047 bx lr
9599 .LVL659:
9600 .L617:
9601 .cfi_def_cfa_offset 24
9602 .cfi_offset 4, -12
ARM GAS /tmp/ccNVyn8W.s page 354
9603 .cfi_offset 5, -8
9604 .cfi_offset 14, -4
4449:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9605 .loc 1 4449 5 discriminator 1 view .LVU3437
9606 007c 0220 movs r0, #2
9607 .LVL660:
4449:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9608 .loc 1 4449 5 discriminator 1 view .LVU3438
9609 007e EDE7 b .L613
9610 .L625:
9611 .align 2
9612 .L624:
9613 0080 00400080 .word -2147467264
9614 .cfi_endproc
9615 .LFE163:
9617 .section .text.HAL_I2C_EV_IRQHandler,"ax",%progbits
9618 .align 1
9619 .global HAL_I2C_EV_IRQHandler
9620 .syntax unified
9621 .thumb
9622 .thumb_func
9624 HAL_I2C_EV_IRQHandler:
9625 .LVL661:
9626 .LFB164:
4507:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Get current IT Flags and IT sources value */
9627 .loc 1 4507 1 is_stmt 1 view -0
9628 .cfi_startproc
9629 @ args = 0, pretend = 0, frame = 0
9630 @ frame_needed = 0, uses_anonymous_args = 0
4507:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Get current IT Flags and IT sources value */
9631 .loc 1 4507 1 is_stmt 0 view .LVU3440
9632 0000 08B5 push {r3, lr}
9633 .cfi_def_cfa_offset 8
9634 .cfi_offset 3, -8
9635 .cfi_offset 14, -4
4509:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t itsources = READ_REG(hi2c->Instance->CR1);
9636 .loc 1 4509 3 is_stmt 1 view .LVU3441
4509:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t itsources = READ_REG(hi2c->Instance->CR1);
9637 .loc 1 4509 24 is_stmt 0 view .LVU3442
9638 0002 0368 ldr r3, [r0]
4509:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t itsources = READ_REG(hi2c->Instance->CR1);
9639 .loc 1 4509 12 view .LVU3443
9640 0004 9969 ldr r1, [r3, #24]
9641 .LVL662:
4510:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9642 .loc 1 4510 3 is_stmt 1 view .LVU3444
4510:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9643 .loc 1 4510 12 is_stmt 0 view .LVU3445
9644 0006 1A68 ldr r2, [r3]
9645 .LVL663:
4513:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
9646 .loc 1 4513 3 is_stmt 1 view .LVU3446
4513:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
9647 .loc 1 4513 11 is_stmt 0 view .LVU3447
9648 0008 436B ldr r3, [r0, #52]
4513:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
9649 .loc 1 4513 6 view .LVU3448
ARM GAS /tmp/ccNVyn8W.s page 355
9650 000a 03B1 cbz r3, .L626
4515:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
9651 .loc 1 4515 5 is_stmt 1 view .LVU3449
9652 000c 9847 blx r3
9653 .LVL664:
9654 .L626:
4517:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9655 .loc 1 4517 1 is_stmt 0 view .LVU3450
9656 000e 08BD pop {r3, pc}
9657 .cfi_endproc
9658 .LFE164:
9660 .section .text.HAL_I2C_MasterTxCpltCallback,"ax",%progbits
9661 .align 1
9662 .weak HAL_I2C_MasterTxCpltCallback
9663 .syntax unified
9664 .thumb
9665 .thumb_func
9667 HAL_I2C_MasterTxCpltCallback:
9668 .LVL665:
9669 .LFB166:
4578:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
9670 .loc 1 4578 1 is_stmt 1 view -0
9671 .cfi_startproc
9672 @ args = 0, pretend = 0, frame = 0
9673 @ frame_needed = 0, uses_anonymous_args = 0
9674 @ link register save eliminated.
4580:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9675 .loc 1 4580 3 view .LVU3452
4585:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9676 .loc 1 4585 1 is_stmt 0 view .LVU3453
9677 0000 7047 bx lr
9678 .cfi_endproc
9679 .LFE166:
9681 .section .text.HAL_I2C_MasterRxCpltCallback,"ax",%progbits
9682 .align 1
9683 .weak HAL_I2C_MasterRxCpltCallback
9684 .syntax unified
9685 .thumb
9686 .thumb_func
9688 HAL_I2C_MasterRxCpltCallback:
9689 .LVL666:
9690 .LFB167:
4594:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
9691 .loc 1 4594 1 is_stmt 1 view -0
9692 .cfi_startproc
9693 @ args = 0, pretend = 0, frame = 0
9694 @ frame_needed = 0, uses_anonymous_args = 0
9695 @ link register save eliminated.
4596:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9696 .loc 1 4596 3 view .LVU3455
4601:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9697 .loc 1 4601 1 is_stmt 0 view .LVU3456
9698 0000 7047 bx lr
9699 .cfi_endproc
9700 .LFE167:
9702 .section .text.I2C_ITMasterSeqCplt,"ax",%progbits
9703 .align 1
ARM GAS /tmp/ccNVyn8W.s page 356
9704 .syntax unified
9705 .thumb
9706 .thumb_func
9708 I2C_ITMasterSeqCplt:
9709 .LVL667:
9710 .LFB188:
5855:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Reset I2C handle mode */
9711 .loc 1 5855 1 is_stmt 1 view -0
9712 .cfi_startproc
9713 @ args = 0, pretend = 0, frame = 0
9714 @ frame_needed = 0, uses_anonymous_args = 0
5855:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Reset I2C handle mode */
9715 .loc 1 5855 1 is_stmt 0 view .LVU3458
9716 0000 38B5 push {r3, r4, r5, lr}
9717 .cfi_def_cfa_offset 16
9718 .cfi_offset 3, -16
9719 .cfi_offset 4, -12
9720 .cfi_offset 5, -8
9721 .cfi_offset 14, -4
9722 0002 0446 mov r4, r0
5857:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9723 .loc 1 5857 3 is_stmt 1 view .LVU3459
5857:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9724 .loc 1 5857 14 is_stmt 0 view .LVU3460
9725 0004 0023 movs r3, #0
9726 0006 80F84230 strb r3, [r0, #66]
5861:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
9727 .loc 1 5861 3 is_stmt 1 view .LVU3461
5861:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
9728 .loc 1 5861 11 is_stmt 0 view .LVU3462
9729 000a 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2
9730 000e DBB2 uxtb r3, r3
5861:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
9731 .loc 1 5861 6 view .LVU3463
9732 0010 212B cmp r3, #33
9733 0012 0FD0 beq .L635
5883:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_RX;
9734 .loc 1 5883 5 is_stmt 1 view .LVU3464
5883:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_RX;
9735 .loc 1 5883 25 is_stmt 0 view .LVU3465
9736 0014 2023 movs r3, #32
9737 0016 80F84130 strb r3, [r0, #65]
5884:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL;
9738 .loc 1 5884 5 is_stmt 1 view .LVU3466
5884:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL;
9739 .loc 1 5884 25 is_stmt 0 view .LVU3467
9740 001a 1223 movs r3, #18
9741 001c 0363 str r3, [r0, #48]
5885:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9742 .loc 1 5885 5 is_stmt 1 view .LVU3468
5885:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9743 .loc 1 5885 25 is_stmt 0 view .LVU3469
9744 001e 0025 movs r5, #0
9745 0020 4563 str r5, [r0, #52]
5888:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9746 .loc 1 5888 5 is_stmt 1 view .LVU3470
9747 0022 0221 movs r1, #2
ARM GAS /tmp/ccNVyn8W.s page 357
9748 0024 FFF7FEFF bl I2C_Disable_IRQ
9749 .LVL668:
5891:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9750 .loc 1 5891 5 view .LVU3471
5891:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9751 .loc 1 5891 5 view .LVU3472
9752 0028 84F84050 strb r5, [r4, #64]
5891:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9753 .loc 1 5891 5 view .LVU3473
5897:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
9754 .loc 1 5897 5 view .LVU3474
9755 002c 2046 mov r0, r4
9756 002e FFF7FEFF bl HAL_I2C_MasterRxCpltCallback
9757 .LVL669:
9758 .L631:
5900:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9759 .loc 1 5900 1 is_stmt 0 view .LVU3475
9760 0032 38BD pop {r3, r4, r5, pc}
9761 .LVL670:
9762 .L635:
5863:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_TX;
9763 .loc 1 5863 5 is_stmt 1 view .LVU3476
5863:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_TX;
9764 .loc 1 5863 25 is_stmt 0 view .LVU3477
9765 0034 2023 movs r3, #32
9766 0036 80F84130 strb r3, [r0, #65]
5864:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL;
9767 .loc 1 5864 5 is_stmt 1 view .LVU3478
5864:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL;
9768 .loc 1 5864 25 is_stmt 0 view .LVU3479
9769 003a 1123 movs r3, #17
9770 003c 0363 str r3, [r0, #48]
5865:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9771 .loc 1 5865 5 is_stmt 1 view .LVU3480
5865:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9772 .loc 1 5865 25 is_stmt 0 view .LVU3481
9773 003e 0025 movs r5, #0
9774 0040 4563 str r5, [r0, #52]
5868:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9775 .loc 1 5868 5 is_stmt 1 view .LVU3482
9776 0042 0121 movs r1, #1
9777 0044 FFF7FEFF bl I2C_Disable_IRQ
9778 .LVL671:
5871:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9779 .loc 1 5871 5 view .LVU3483
5871:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9780 .loc 1 5871 5 view .LVU3484
9781 0048 84F84050 strb r5, [r4, #64]
5871:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9782 .loc 1 5871 5 view .LVU3485
5877:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
9783 .loc 1 5877 5 view .LVU3486
9784 004c 2046 mov r0, r4
9785 004e FFF7FEFF bl HAL_I2C_MasterTxCpltCallback
9786 .LVL672:
9787 0052 EEE7 b .L631
9788 .cfi_endproc
ARM GAS /tmp/ccNVyn8W.s page 358
9789 .LFE188:
9791 .section .text.HAL_I2C_SlaveTxCpltCallback,"ax",%progbits
9792 .align 1
9793 .weak HAL_I2C_SlaveTxCpltCallback
9794 .syntax unified
9795 .thumb
9796 .thumb_func
9798 HAL_I2C_SlaveTxCpltCallback:
9799 .LVL673:
9800 .LFB168:
4609:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
9801 .loc 1 4609 1 view -0
9802 .cfi_startproc
9803 @ args = 0, pretend = 0, frame = 0
9804 @ frame_needed = 0, uses_anonymous_args = 0
9805 @ link register save eliminated.
4611:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9806 .loc 1 4611 3 view .LVU3488
4616:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9807 .loc 1 4616 1 is_stmt 0 view .LVU3489
9808 0000 7047 bx lr
9809 .cfi_endproc
9810 .LFE168:
9812 .section .text.HAL_I2C_SlaveRxCpltCallback,"ax",%progbits
9813 .align 1
9814 .weak HAL_I2C_SlaveRxCpltCallback
9815 .syntax unified
9816 .thumb
9817 .thumb_func
9819 HAL_I2C_SlaveRxCpltCallback:
9820 .LVL674:
9821 .LFB169:
4625:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
9822 .loc 1 4625 1 is_stmt 1 view -0
9823 .cfi_startproc
9824 @ args = 0, pretend = 0, frame = 0
9825 @ frame_needed = 0, uses_anonymous_args = 0
9826 @ link register save eliminated.
4627:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9827 .loc 1 4627 3 view .LVU3491
4632:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9828 .loc 1 4632 1 is_stmt 0 view .LVU3492
9829 0000 7047 bx lr
9830 .cfi_endproc
9831 .LFE169:
9833 .section .text.I2C_ITSlaveSeqCplt,"ax",%progbits
9834 .align 1
9835 .syntax unified
9836 .thumb
9837 .thumb_func
9839 I2C_ITSlaveSeqCplt:
9840 .LVL675:
9841 .LFB189:
5908:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpcr1value = READ_REG(hi2c->Instance->CR1);
9842 .loc 1 5908 1 is_stmt 1 view -0
9843 .cfi_startproc
9844 @ args = 0, pretend = 0, frame = 0
ARM GAS /tmp/ccNVyn8W.s page 359
9845 @ frame_needed = 0, uses_anonymous_args = 0
5908:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpcr1value = READ_REG(hi2c->Instance->CR1);
9846 .loc 1 5908 1 is_stmt 0 view .LVU3494
9847 0000 10B5 push {r4, lr}
9848 .cfi_def_cfa_offset 8
9849 .cfi_offset 4, -8
9850 .cfi_offset 14, -4
9851 0002 0446 mov r4, r0
5909:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9852 .loc 1 5909 3 is_stmt 1 view .LVU3495
5909:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9853 .loc 1 5909 26 is_stmt 0 view .LVU3496
9854 0004 0368 ldr r3, [r0]
5909:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9855 .loc 1 5909 12 view .LVU3497
9856 0006 1A68 ldr r2, [r3]
9857 .LVL676:
5912:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9858 .loc 1 5912 3 is_stmt 1 view .LVU3498
5912:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9859 .loc 1 5912 14 is_stmt 0 view .LVU3499
9860 0008 0021 movs r1, #0
9861 000a 80F84210 strb r1, [r0, #66]
5915:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
9862 .loc 1 5915 3 is_stmt 1 view .LVU3500
5915:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
9863 .loc 1 5915 6 is_stmt 0 view .LVU3501
9864 000e 12F4804F tst r2, #16384
9865 0012 0ED0 beq .L639
5918:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
9866 .loc 1 5918 5 is_stmt 1 view .LVU3502
5918:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
9867 .loc 1 5918 19 is_stmt 0 view .LVU3503
9868 0014 1A68 ldr r2, [r3]
9869 .LVL677:
5918:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
9870 .loc 1 5918 25 view .LVU3504
9871 0016 22F48042 bic r2, r2, #16384
9872 001a 1A60 str r2, [r3]
9873 .L640:
5928:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9874 .loc 1 5928 3 is_stmt 1 view .LVU3505
5930:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
9875 .loc 1 5930 3 view .LVU3506
5930:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
9876 .loc 1 5930 11 is_stmt 0 view .LVU3507
9877 001c 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2
9878 0020 DBB2 uxtb r3, r3
5930:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
9879 .loc 1 5930 6 view .LVU3508
9880 0022 292B cmp r3, #41
9881 0024 0DD0 beq .L644
5950:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
9882 .loc 1 5950 8 is_stmt 1 view .LVU3509
5950:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
9883 .loc 1 5950 16 is_stmt 0 view .LVU3510
9884 0026 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2
ARM GAS /tmp/ccNVyn8W.s page 360
9885 002a DBB2 uxtb r3, r3
5950:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
9886 .loc 1 5950 11 view .LVU3511
9887 002c 2A2B cmp r3, #42
9888 002e 18D0 beq .L645
9889 .LVL678:
9890 .L638:
5973:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9891 .loc 1 5973 1 view .LVU3512
9892 0030 10BD pop {r4, pc}
9893 .LVL679:
9894 .L639:
5920:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
9895 .loc 1 5920 8 is_stmt 1 view .LVU3513
5920:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
9896 .loc 1 5920 11 is_stmt 0 view .LVU3514
9897 0032 12F4004F tst r2, #32768
9898 0036 F1D0 beq .L640
5923:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
9899 .loc 1 5923 5 is_stmt 1 view .LVU3515
5923:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
9900 .loc 1 5923 19 is_stmt 0 view .LVU3516
9901 0038 1A68 ldr r2, [r3]
9902 .LVL680:
5923:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
9903 .loc 1 5923 25 view .LVU3517
9904 003a 22F40042 bic r2, r2, #32768
9905 003e 1A60 str r2, [r3]
9906 0040 ECE7 b .L640
9907 .L644:
5933:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_TX;
9908 .loc 1 5933 5 is_stmt 1 view .LVU3518
5933:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_TX;
9909 .loc 1 5933 25 is_stmt 0 view .LVU3519
9910 0042 2823 movs r3, #40
9911 0044 84F84130 strb r3, [r4, #65]
5934:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9912 .loc 1 5934 5 is_stmt 1 view .LVU3520
5934:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9913 .loc 1 5934 25 is_stmt 0 view .LVU3521
9914 0048 2123 movs r3, #33
9915 004a 2363 str r3, [r4, #48]
5937:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9916 .loc 1 5937 5 is_stmt 1 view .LVU3522
9917 004c 0121 movs r1, #1
9918 004e 2046 mov r0, r4
9919 .LVL681:
5937:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9920 .loc 1 5937 5 is_stmt 0 view .LVU3523
9921 0050 FFF7FEFF bl I2C_Disable_IRQ
9922 .LVL682:
5940:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9923 .loc 1 5940 5 is_stmt 1 view .LVU3524
5940:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9924 .loc 1 5940 5 view .LVU3525
9925 0054 0023 movs r3, #0
9926 0056 84F84030 strb r3, [r4, #64]
ARM GAS /tmp/ccNVyn8W.s page 361
5940:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9927 .loc 1 5940 5 view .LVU3526
5946:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
9928 .loc 1 5946 5 view .LVU3527
9929 005a 2046 mov r0, r4
9930 005c FFF7FEFF bl HAL_I2C_SlaveTxCpltCallback
9931 .LVL683:
9932 0060 E6E7 b .L638
9933 .LVL684:
9934 .L645:
5953:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_RX;
9935 .loc 1 5953 5 view .LVU3528
5953:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_RX;
9936 .loc 1 5953 25 is_stmt 0 view .LVU3529
9937 0062 2823 movs r3, #40
9938 0064 84F84130 strb r3, [r4, #65]
5954:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9939 .loc 1 5954 5 is_stmt 1 view .LVU3530
5954:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9940 .loc 1 5954 25 is_stmt 0 view .LVU3531
9941 0068 2223 movs r3, #34
9942 006a 2363 str r3, [r4, #48]
5957:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9943 .loc 1 5957 5 is_stmt 1 view .LVU3532
9944 006c 0221 movs r1, #2
9945 006e 2046 mov r0, r4
9946 .LVL685:
5957:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9947 .loc 1 5957 5 is_stmt 0 view .LVU3533
9948 0070 FFF7FEFF bl I2C_Disable_IRQ
9949 .LVL686:
5960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9950 .loc 1 5960 5 is_stmt 1 view .LVU3534
5960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9951 .loc 1 5960 5 view .LVU3535
9952 0074 0023 movs r3, #0
9953 0076 84F84030 strb r3, [r4, #64]
5960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9954 .loc 1 5960 5 view .LVU3536
5966:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
9955 .loc 1 5966 5 view .LVU3537
9956 007a 2046 mov r0, r4
9957 007c FFF7FEFF bl HAL_I2C_SlaveRxCpltCallback
9958 .LVL687:
5972:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
9959 .loc 1 5972 3 view .LVU3538
5973:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9960 .loc 1 5973 1 is_stmt 0 view .LVU3539
9961 0080 D6E7 b .L638
9962 .cfi_endproc
9963 .LFE189:
9965 .section .text.I2C_DMASlaveTransmitCplt,"ax",%progbits
9966 .align 1
9967 .syntax unified
9968 .thumb
9969 .thumb_func
9971 I2C_DMASlaveTransmitCplt:
ARM GAS /tmp/ccNVyn8W.s page 362
9972 .LVL688:
9973 .LFB197:
6576:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Derogation MISRAC2012-Rule-11.5 */
9974 .loc 1 6576 1 is_stmt 1 view -0
9975 .cfi_startproc
9976 @ args = 0, pretend = 0, frame = 0
9977 @ frame_needed = 0, uses_anonymous_args = 0
6576:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Derogation MISRAC2012-Rule-11.5 */
9978 .loc 1 6576 1 is_stmt 0 view .LVU3541
9979 0000 08B5 push {r3, lr}
9980 .cfi_def_cfa_offset 8
9981 .cfi_offset 3, -8
9982 .cfi_offset 14, -4
6578:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpoptions = hi2c->XferOptions;
9983 .loc 1 6578 3 is_stmt 1 view .LVU3542
6578:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpoptions = hi2c->XferOptions;
9984 .loc 1 6578 22 is_stmt 0 view .LVU3543
9985 0002 406A ldr r0, [r0, #36]
9986 .LVL689:
6579:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9987 .loc 1 6579 3 is_stmt 1 view .LVU3544
6579:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9988 .loc 1 6579 12 is_stmt 0 view .LVU3545
9989 0004 C36A ldr r3, [r0, #44]
9990 .LVL690:
6581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
9991 .loc 1 6581 3 is_stmt 1 view .LVU3546
6581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
9992 .loc 1 6581 6 is_stmt 0 view .LVU3547
9993 0006 B3F1807F cmp r3, #16777216
9994 000a 00D0 beq .L647
6581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
9995 .loc 1 6581 38 discriminator 1 view .LVU3548
9996 000c 33B9 cbnz r3, .L646
9997 .L647:
6584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9998 .loc 1 6584 5 is_stmt 1 view .LVU3549
6584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
9999 .loc 1 6584 9 is_stmt 0 view .LVU3550
10000 000e 0268 ldr r2, [r0]
6584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10001 .loc 1 6584 19 view .LVU3551
10002 0010 1368 ldr r3, [r2]
10003 .LVL691:
6584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10004 .loc 1 6584 25 view .LVU3552
10005 0012 23F48043 bic r3, r3, #16384
10006 0016 1360 str r3, [r2]
6588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
10007 .loc 1 6588 5 is_stmt 1 view .LVU3553
10008 0018 FFF7FEFF bl I2C_ITSlaveSeqCplt
10009 .LVL692:
10010 .L646:
6596:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10011 .loc 1 6596 1 is_stmt 0 view .LVU3554
10012 001c 08BD pop {r3, pc}
10013 .cfi_endproc
ARM GAS /tmp/ccNVyn8W.s page 363
10014 .LFE197:
10016 .section .text.I2C_DMASlaveReceiveCplt,"ax",%progbits
10017 .align 1
10018 .syntax unified
10019 .thumb
10020 .thumb_func
10022 I2C_DMASlaveReceiveCplt:
10023 .LVL693:
10024 .LFB199:
6656:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Derogation MISRAC2012-Rule-11.5 */
10025 .loc 1 6656 1 is_stmt 1 view -0
10026 .cfi_startproc
10027 @ args = 0, pretend = 0, frame = 0
10028 @ frame_needed = 0, uses_anonymous_args = 0
6656:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Derogation MISRAC2012-Rule-11.5 */
10029 .loc 1 6656 1 is_stmt 0 view .LVU3556
10030 0000 08B5 push {r3, lr}
10031 .cfi_def_cfa_offset 8
10032 .cfi_offset 3, -8
10033 .cfi_offset 14, -4
6658:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpoptions = hi2c->XferOptions;
10034 .loc 1 6658 3 is_stmt 1 view .LVU3557
6658:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpoptions = hi2c->XferOptions;
10035 .loc 1 6658 22 is_stmt 0 view .LVU3558
10036 0002 406A ldr r0, [r0, #36]
10037 .LVL694:
6659:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10038 .loc 1 6659 3 is_stmt 1 view .LVU3559
6659:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10039 .loc 1 6659 12 is_stmt 0 view .LVU3560
10040 0004 C26A ldr r2, [r0, #44]
10041 .LVL695:
6661:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmpoptions != I2C_NO_OPTION_FRAME))
10042 .loc 1 6661 3 is_stmt 1 view .LVU3561
6661:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmpoptions != I2C_NO_OPTION_FRAME))
10043 .loc 1 6661 8 is_stmt 0 view .LVU3562
10044 0006 C36B ldr r3, [r0, #60]
10045 0008 1B68 ldr r3, [r3]
10046 000a 5B68 ldr r3, [r3, #4]
6661:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmpoptions != I2C_NO_OPTION_FRAME))
10047 .loc 1 6661 6 view .LVU3563
10048 000c 13B9 cbnz r3, .L650
6661:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmpoptions != I2C_NO_OPTION_FRAME))
10049 .loc 1 6661 53 discriminator 1 view .LVU3564
10050 000e 12F5803F cmn r2, #65536
10051 0012 00D1 bne .L653
10052 .LVL696:
10053 .L650:
6676:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10054 .loc 1 6676 1 view .LVU3565
10055 0014 08BD pop {r3, pc}
10056 .LVL697:
10057 .L653:
6665:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10058 .loc 1 6665 5 is_stmt 1 view .LVU3566
6665:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10059 .loc 1 6665 9 is_stmt 0 view .LVU3567
ARM GAS /tmp/ccNVyn8W.s page 364
10060 0016 0268 ldr r2, [r0]
10061 .LVL698:
6665:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10062 .loc 1 6665 19 view .LVU3568
10063 0018 1368 ldr r3, [r2]
6665:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10064 .loc 1 6665 25 view .LVU3569
10065 001a 23F40043 bic r3, r3, #32768
10066 001e 1360 str r3, [r2]
6668:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
10067 .loc 1 6668 5 is_stmt 1 view .LVU3570
10068 0020 FFF7FEFF bl I2C_ITSlaveSeqCplt
10069 .LVL699:
6675:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
10070 .loc 1 6675 3 view .LVU3571
6676:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10071 .loc 1 6676 1 is_stmt 0 view .LVU3572
10072 0024 F6E7 b .L650
10073 .cfi_endproc
10074 .LFE199:
10076 .section .text.HAL_I2C_AddrCallback,"ax",%progbits
10077 .align 1
10078 .weak HAL_I2C_AddrCallback
10079 .syntax unified
10080 .thumb
10081 .thumb_func
10083 HAL_I2C_AddrCallback:
10084 .LVL700:
10085 .LFB170:
4643:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
10086 .loc 1 4643 1 is_stmt 1 view -0
10087 .cfi_startproc
10088 @ args = 0, pretend = 0, frame = 0
10089 @ frame_needed = 0, uses_anonymous_args = 0
10090 @ link register save eliminated.
4645:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** UNUSED(TransferDirection);
10091 .loc 1 4645 3 view .LVU3574
4646:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** UNUSED(AddrMatchCode);
10092 .loc 1 4646 3 view .LVU3575
4647:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10093 .loc 1 4647 3 view .LVU3576
4652:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10094 .loc 1 4652 1 is_stmt 0 view .LVU3577
10095 0000 7047 bx lr
10096 .cfi_endproc
10097 .LFE170:
10099 .section .text.I2C_ITAddrCplt,"ax",%progbits
10100 .align 1
10101 .syntax unified
10102 .thumb
10103 .thumb_func
10105 I2C_ITAddrCplt:
10106 .LVL701:
10107 .LFB187:
5760:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint8_t transferdirection;
10108 .loc 1 5760 1 is_stmt 1 view -0
10109 .cfi_startproc
ARM GAS /tmp/ccNVyn8W.s page 365
10110 @ args = 0, pretend = 0, frame = 0
10111 @ frame_needed = 0, uses_anonymous_args = 0
5760:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint8_t transferdirection;
10112 .loc 1 5760 1 is_stmt 0 view .LVU3579
10113 0000 F8B5 push {r3, r4, r5, r6, r7, lr}
10114 .cfi_def_cfa_offset 24
10115 .cfi_offset 3, -24
10116 .cfi_offset 4, -20
10117 .cfi_offset 5, -16
10118 .cfi_offset 6, -12
10119 .cfi_offset 7, -8
10120 .cfi_offset 14, -4
10121 0002 0446 mov r4, r0
5761:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t slaveaddrcode;
10122 .loc 1 5761 3 is_stmt 1 view .LVU3580
5762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t ownadd1code;
10123 .loc 1 5762 3 view .LVU3581
5763:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t ownadd2code;
10124 .loc 1 5763 3 view .LVU3582
5764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10125 .loc 1 5764 3 view .LVU3583
5767:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10126 .loc 1 5767 3 view .LVU3584
5770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
10127 .loc 1 5770 3 view .LVU3585
5770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
10128 .loc 1 5770 22 is_stmt 0 view .LVU3586
10129 0004 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2
5770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
10130 .loc 1 5770 6 view .LVU3587
10131 0008 03F02803 and r3, r3, #40
10132 000c 282B cmp r3, #40
10133 000e 06D0 beq .L661
5842:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10134 .loc 1 5842 5 is_stmt 1 view .LVU3588
10135 0010 0368 ldr r3, [r0]
10136 0012 0822 movs r2, #8
10137 0014 DA61 str r2, [r3, #28]
5845:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
10138 .loc 1 5845 5 view .LVU3589
5845:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
10139 .loc 1 5845 5 view .LVU3590
10140 0016 0023 movs r3, #0
10141 0018 80F84030 strb r3, [r0, #64]
5845:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
10142 .loc 1 5845 5 discriminator 1 view .LVU3591
10143 .LVL702:
10144 .L655:
5847:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10145 .loc 1 5847 1 is_stmt 0 view .LVU3592
10146 001c F8BD pop {r3, r4, r5, r6, r7, pc}
10147 .LVL703:
10148 .L661:
5772:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** slaveaddrcode = I2C_GET_ADDR_MATCH(hi2c);
10149 .loc 1 5772 5 is_stmt 1 view .LVU3593
5772:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** slaveaddrcode = I2C_GET_ADDR_MATCH(hi2c);
10150 .loc 1 5772 25 is_stmt 0 view .LVU3594
ARM GAS /tmp/ccNVyn8W.s page 366
10151 001e 0368 ldr r3, [r0]
10152 0020 9E69 ldr r6, [r3, #24]
5772:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** slaveaddrcode = I2C_GET_ADDR_MATCH(hi2c);
10153 .loc 1 5772 23 view .LVU3595
10154 0022 C6F30046 ubfx r6, r6, #16, #1
10155 .LVL704:
5773:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ownadd1code = I2C_GET_OWN_ADDRESS1(hi2c);
10156 .loc 1 5773 5 is_stmt 1 view .LVU3596
5773:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ownadd1code = I2C_GET_OWN_ADDRESS1(hi2c);
10157 .loc 1 5773 25 is_stmt 0 view .LVU3597
10158 0026 9A69 ldr r2, [r3, #24]
10159 0028 120C lsrs r2, r2, #16
5773:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ownadd1code = I2C_GET_OWN_ADDRESS1(hi2c);
10160 .loc 1 5773 23 view .LVU3598
10161 002a 02F0FE05 and r5, r2, #254
10162 .LVL705:
5774:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ownadd2code = I2C_GET_OWN_ADDRESS2(hi2c);
10163 .loc 1 5774 5 is_stmt 1 view .LVU3599
5774:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ownadd2code = I2C_GET_OWN_ADDRESS2(hi2c);
10164 .loc 1 5774 25 is_stmt 0 view .LVU3600
10165 002e 9A68 ldr r2, [r3, #8]
5774:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ownadd2code = I2C_GET_OWN_ADDRESS2(hi2c);
10166 .loc 1 5774 23 view .LVU3601
10167 0030 C2F30902 ubfx r2, r2, #0, #10
10168 .LVL706:
5775:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10169 .loc 1 5775 5 is_stmt 1 view .LVU3602
5775:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10170 .loc 1 5775 25 is_stmt 0 view .LVU3603
10171 0034 DF68 ldr r7, [r3, #12]
5775:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10172 .loc 1 5775 23 view .LVU3604
10173 0036 07F0FE07 and r7, r7, #254
10174 .LVL707:
5778:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
10175 .loc 1 5778 5 is_stmt 1 view .LVU3605
5778:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
10176 .loc 1 5778 19 is_stmt 0 view .LVU3606
10177 003a C168 ldr r1, [r0, #12]
10178 .LVL708:
5778:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
10179 .loc 1 5778 8 view .LVU3607
10180 003c 0229 cmp r1, #2
10181 003e 22D1 bne .L657
5780:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
10182 .loc 1 5780 7 is_stmt 1 view .LVU3608
5780:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
10183 .loc 1 5780 44 is_stmt 0 view .LVU3609
10184 0040 85EAD215 eor r5, r5, r2, lsr #7
10185 .LVL709:
5780:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
10186 .loc 1 5780 10 view .LVU3610
10187 0044 15F0060F tst r5, #6
10188 0048 10D1 bne .L658
5782:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->AddrEventCount++;
10189 .loc 1 5782 9 is_stmt 1 view .LVU3611
10190 .LVL710:
ARM GAS /tmp/ccNVyn8W.s page 367
5783:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->AddrEventCount == 2U)
10191 .loc 1 5783 9 view .LVU3612
5783:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->AddrEventCount == 2U)
10192 .loc 1 5783 13 is_stmt 0 view .LVU3613
10193 004a 816C ldr r1, [r0, #72]
5783:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->AddrEventCount == 2U)
10194 .loc 1 5783 29 view .LVU3614
10195 004c 0131 adds r1, r1, #1
10196 004e 8164 str r1, [r0, #72]
5784:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
10197 .loc 1 5784 9 is_stmt 1 view .LVU3615
5784:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
10198 .loc 1 5784 17 is_stmt 0 view .LVU3616
10199 0050 816C ldr r1, [r0, #72]
5784:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
10200 .loc 1 5784 12 view .LVU3617
10201 0052 0229 cmp r1, #2
10202 0054 E2D1 bne .L655
5787:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10203 .loc 1 5787 11 is_stmt 1 view .LVU3618
5787:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10204 .loc 1 5787 32 is_stmt 0 view .LVU3619
10205 0056 0021 movs r1, #0
10206 0058 8164 str r1, [r0, #72]
5790:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10207 .loc 1 5790 11 is_stmt 1 view .LVU3620
10208 005a 0820 movs r0, #8
10209 .LVL711:
5790:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10210 .loc 1 5790 11 is_stmt 0 view .LVU3621
10211 005c D861 str r0, [r3, #28]
5793:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10212 .loc 1 5793 11 is_stmt 1 view .LVU3622
5793:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10213 .loc 1 5793 11 view .LVU3623
10214 005e 84F84010 strb r1, [r4, #64]
5793:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10215 .loc 1 5793 11 view .LVU3624
5799:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
10216 .loc 1 5799 11 view .LVU3625
10217 0062 3146 mov r1, r6
10218 0064 2046 mov r0, r4
10219 0066 FFF7FEFF bl HAL_I2C_AddrCallback
10220 .LVL712:
5799:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
10221 .loc 1 5799 11 is_stmt 0 view .LVU3626
10222 006a D7E7 b .L655
10223 .LVL713:
10224 .L658:
5805:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10225 .loc 1 5805 9 is_stmt 1 view .LVU3627
5808:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10226 .loc 1 5808 9 view .LVU3628
10227 006c 4FF40041 mov r1, #32768
10228 0070 FFF7FEFF bl I2C_Disable_IRQ
10229 .LVL714:
5811:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
ARM GAS /tmp/ccNVyn8W.s page 368
10230 .loc 1 5811 9 view .LVU3629
5811:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10231 .loc 1 5811 9 view .LVU3630
10232 0074 0023 movs r3, #0
10233 0076 84F84030 strb r3, [r4, #64]
5811:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10234 .loc 1 5811 9 view .LVU3631
5817:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
10235 .loc 1 5817 9 view .LVU3632
10236 007a 3A46 mov r2, r7
10237 007c 3146 mov r1, r6
10238 007e 2046 mov r0, r4
10239 0080 FFF7FEFF bl HAL_I2C_AddrCallback
10240 .LVL715:
10241 0084 CAE7 b .L655
10242 .LVL716:
10243 .L657:
5825:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10244 .loc 1 5825 7 view .LVU3633
10245 0086 4FF40041 mov r1, #32768
10246 008a FFF7FEFF bl I2C_Disable_IRQ
10247 .LVL717:
5828:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10248 .loc 1 5828 7 view .LVU3634
5828:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10249 .loc 1 5828 7 view .LVU3635
10250 008e 0023 movs r3, #0
10251 0090 84F84030 strb r3, [r4, #64]
5828:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10252 .loc 1 5828 7 view .LVU3636
5834:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
10253 .loc 1 5834 7 view .LVU3637
10254 0094 2A46 mov r2, r5
10255 0096 3146 mov r1, r6
10256 0098 2046 mov r0, r4
10257 009a FFF7FEFF bl HAL_I2C_AddrCallback
10258 .LVL718:
10259 009e BDE7 b .L655
10260 .cfi_endproc
10261 .LFE187:
10263 .section .text.HAL_I2C_ListenCpltCallback,"ax",%progbits
10264 .align 1
10265 .weak HAL_I2C_ListenCpltCallback
10266 .syntax unified
10267 .thumb
10268 .thumb_func
10270 HAL_I2C_ListenCpltCallback:
10271 .LVL719:
10272 .LFB171:
4661:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
10273 .loc 1 4661 1 view -0
10274 .cfi_startproc
10275 @ args = 0, pretend = 0, frame = 0
10276 @ frame_needed = 0, uses_anonymous_args = 0
10277 @ link register save eliminated.
4663:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10278 .loc 1 4663 3 view .LVU3639
ARM GAS /tmp/ccNVyn8W.s page 369
4668:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10279 .loc 1 4668 1 is_stmt 0 view .LVU3640
10280 0000 7047 bx lr
10281 .cfi_endproc
10282 .LFE171:
10284 .section .text.I2C_ITListenCplt,"ax",%progbits
10285 .align 1
10286 .syntax unified
10287 .thumb
10288 .thumb_func
10290 I2C_ITListenCplt:
10291 .LVL720:
10292 .LFB192:
6284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Reset handle parameters */
10293 .loc 1 6284 1 is_stmt 1 view -0
10294 .cfi_startproc
10295 @ args = 0, pretend = 0, frame = 0
10296 @ frame_needed = 0, uses_anonymous_args = 0
6284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Reset handle parameters */
10297 .loc 1 6284 1 is_stmt 0 view .LVU3642
10298 0000 10B5 push {r4, lr}
10299 .cfi_def_cfa_offset 8
10300 .cfi_offset 4, -8
10301 .cfi_offset 14, -4
10302 0002 0446 mov r4, r0
6286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
10303 .loc 1 6286 3 is_stmt 1 view .LVU3643
6286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
10304 .loc 1 6286 21 is_stmt 0 view .LVU3644
10305 0004 174B ldr r3, .L666
10306 0006 C362 str r3, [r0, #44]
6287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
10307 .loc 1 6287 3 is_stmt 1 view .LVU3645
6287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
10308 .loc 1 6287 23 is_stmt 0 view .LVU3646
10309 0008 0023 movs r3, #0
10310 000a 0363 str r3, [r0, #48]
6288:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
10311 .loc 1 6288 3 is_stmt 1 view .LVU3647
6288:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
10312 .loc 1 6288 15 is_stmt 0 view .LVU3648
10313 000c 2022 movs r2, #32
10314 000e 80F84120 strb r2, [r0, #65]
6289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL;
10315 .loc 1 6289 3 is_stmt 1 view .LVU3649
6289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL;
10316 .loc 1 6289 14 is_stmt 0 view .LVU3650
10317 0012 80F84230 strb r3, [r0, #66]
6290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10318 .loc 1 6290 3 is_stmt 1 view .LVU3651
6290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10319 .loc 1 6290 17 is_stmt 0 view .LVU3652
10320 0016 4363 str r3, [r0, #52]
6293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
10321 .loc 1 6293 3 is_stmt 1 view .LVU3653
6293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
10322 .loc 1 6293 6 is_stmt 0 view .LVU3654
ARM GAS /tmp/ccNVyn8W.s page 370
10323 0018 11F0040F tst r1, #4
10324 001c 13D0 beq .L664
6296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10325 .loc 1 6296 5 is_stmt 1 view .LVU3655
6296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10326 .loc 1 6296 36 is_stmt 0 view .LVU3656
10327 001e 0368 ldr r3, [r0]
6296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10328 .loc 1 6296 46 view .LVU3657
10329 0020 5A6A ldr r2, [r3, #36]
6296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10330 .loc 1 6296 10 view .LVU3658
10331 0022 436A ldr r3, [r0, #36]
6296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10332 .loc 1 6296 21 view .LVU3659
10333 0024 1A70 strb r2, [r3]
6299:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10334 .loc 1 6299 5 is_stmt 1 view .LVU3660
6299:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10335 .loc 1 6299 9 is_stmt 0 view .LVU3661
10336 0026 436A ldr r3, [r0, #36]
6299:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10337 .loc 1 6299 19 view .LVU3662
10338 0028 0133 adds r3, r3, #1
10339 002a 4362 str r3, [r0, #36]
6301:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
10340 .loc 1 6301 5 is_stmt 1 view .LVU3663
6301:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
10341 .loc 1 6301 14 is_stmt 0 view .LVU3664
10342 002c 038D ldrh r3, [r0, #40]
6301:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
10343 .loc 1 6301 8 view .LVU3665
10344 002e 53B1 cbz r3, .L664
6303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--;
10345 .loc 1 6303 7 is_stmt 1 view .LVU3666
6303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--;
10346 .loc 1 6303 21 is_stmt 0 view .LVU3667
10347 0030 013B subs r3, r3, #1
10348 0032 0385 strh r3, [r0, #40] @ movhi
6304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10349 .loc 1 6304 7 is_stmt 1 view .LVU3668
6304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10350 .loc 1 6304 11 is_stmt 0 view .LVU3669
10351 0034 438D ldrh r3, [r0, #42]
10352 0036 9BB2 uxth r3, r3
6304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10353 .loc 1 6304 22 view .LVU3670
10354 0038 013B subs r3, r3, #1
10355 003a 9BB2 uxth r3, r3
10356 003c 4385 strh r3, [r0, #42] @ movhi
6307:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
10357 .loc 1 6307 7 is_stmt 1 view .LVU3671
6307:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
10358 .loc 1 6307 11 is_stmt 0 view .LVU3672
10359 003e 436C ldr r3, [r0, #68]
6307:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
10360 .loc 1 6307 23 view .LVU3673
ARM GAS /tmp/ccNVyn8W.s page 371
10361 0040 43F00403 orr r3, r3, #4
10362 0044 4364 str r3, [r0, #68]
10363 .L664:
6312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10364 .loc 1 6312 3 is_stmt 1 view .LVU3674
10365 0046 48F20301 movw r1, #32771
10366 .LVL721:
6312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10367 .loc 1 6312 3 is_stmt 0 view .LVU3675
10368 004a 2046 mov r0, r4
10369 .LVL722:
6312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10370 .loc 1 6312 3 view .LVU3676
10371 004c FFF7FEFF bl I2C_Disable_IRQ
10372 .LVL723:
6315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10373 .loc 1 6315 3 is_stmt 1 view .LVU3677
10374 0050 2368 ldr r3, [r4]
10375 0052 1022 movs r2, #16
10376 0054 DA61 str r2, [r3, #28]
6318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10377 .loc 1 6318 3 view .LVU3678
6318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10378 .loc 1 6318 3 view .LVU3679
10379 0056 0023 movs r3, #0
10380 0058 84F84030 strb r3, [r4, #64]
6318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10381 .loc 1 6318 3 view .LVU3680
6324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
10382 .loc 1 6324 3 view .LVU3681
10383 005c 2046 mov r0, r4
10384 005e FFF7FEFF bl HAL_I2C_ListenCpltCallback
10385 .LVL724:
6326:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10386 .loc 1 6326 1 is_stmt 0 view .LVU3682
10387 0062 10BD pop {r4, pc}
10388 .LVL725:
10389 .L667:
6326:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10390 .loc 1 6326 1 view .LVU3683
10391 .align 2
10392 .L666:
10393 0064 0000FFFF .word -65536
10394 .cfi_endproc
10395 .LFE192:
10397 .section .text.HAL_I2C_MemTxCpltCallback,"ax",%progbits
10398 .align 1
10399 .weak HAL_I2C_MemTxCpltCallback
10400 .syntax unified
10401 .thumb
10402 .thumb_func
10404 HAL_I2C_MemTxCpltCallback:
10405 .LVL726:
10406 .LFB172:
4677:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
10407 .loc 1 4677 1 is_stmt 1 view -0
10408 .cfi_startproc
ARM GAS /tmp/ccNVyn8W.s page 372
10409 @ args = 0, pretend = 0, frame = 0
10410 @ frame_needed = 0, uses_anonymous_args = 0
10411 @ link register save eliminated.
4679:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10412 .loc 1 4679 3 view .LVU3685
4684:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10413 .loc 1 4684 1 is_stmt 0 view .LVU3686
10414 0000 7047 bx lr
10415 .cfi_endproc
10416 .LFE172:
10418 .section .text.HAL_I2C_MemRxCpltCallback,"ax",%progbits
10419 .align 1
10420 .weak HAL_I2C_MemRxCpltCallback
10421 .syntax unified
10422 .thumb
10423 .thumb_func
10425 HAL_I2C_MemRxCpltCallback:
10426 .LVL727:
10427 .LFB173:
4693:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
10428 .loc 1 4693 1 is_stmt 1 view -0
10429 .cfi_startproc
10430 @ args = 0, pretend = 0, frame = 0
10431 @ frame_needed = 0, uses_anonymous_args = 0
10432 @ link register save eliminated.
4695:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10433 .loc 1 4695 3 view .LVU3688
4700:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10434 .loc 1 4700 1 is_stmt 0 view .LVU3689
10435 0000 7047 bx lr
10436 .cfi_endproc
10437 .LFE173:
10439 .section .text.HAL_I2C_ErrorCallback,"ax",%progbits
10440 .align 1
10441 .weak HAL_I2C_ErrorCallback
10442 .syntax unified
10443 .thumb
10444 .thumb_func
10446 HAL_I2C_ErrorCallback:
10447 .LVL728:
10448 .LFB174:
4709:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
10449 .loc 1 4709 1 is_stmt 1 view -0
10450 .cfi_startproc
10451 @ args = 0, pretend = 0, frame = 0
10452 @ frame_needed = 0, uses_anonymous_args = 0
10453 @ link register save eliminated.
4711:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10454 .loc 1 4711 3 view .LVU3691
4716:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10455 .loc 1 4716 1 is_stmt 0 view .LVU3692
10456 0000 7047 bx lr
10457 .cfi_endproc
10458 .LFE174:
10460 .section .text.HAL_I2C_AbortCpltCallback,"ax",%progbits
10461 .align 1
10462 .weak HAL_I2C_AbortCpltCallback
ARM GAS /tmp/ccNVyn8W.s page 373
10463 .syntax unified
10464 .thumb
10465 .thumb_func
10467 HAL_I2C_AbortCpltCallback:
10468 .LVL729:
10469 .LFB175:
4725:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
10470 .loc 1 4725 1 is_stmt 1 view -0
10471 .cfi_startproc
10472 @ args = 0, pretend = 0, frame = 0
10473 @ frame_needed = 0, uses_anonymous_args = 0
10474 @ link register save eliminated.
4727:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10475 .loc 1 4727 3 view .LVU3694
4732:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10476 .loc 1 4732 1 is_stmt 0 view .LVU3695
10477 0000 7047 bx lr
10478 .cfi_endproc
10479 .LFE175:
10481 .section .text.I2C_TreatErrorCallback,"ax",%progbits
10482 .align 1
10483 .syntax unified
10484 .thumb
10485 .thumb_func
10487 I2C_TreatErrorCallback:
10488 .LVL730:
10489 .LFB194:
6466:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_ABORT)
10490 .loc 1 6466 1 is_stmt 1 view -0
10491 .cfi_startproc
10492 @ args = 0, pretend = 0, frame = 0
10493 @ frame_needed = 0, uses_anonymous_args = 0
6466:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_ABORT)
10494 .loc 1 6466 1 is_stmt 0 view .LVU3697
10495 0000 08B5 push {r3, lr}
10496 .cfi_def_cfa_offset 8
10497 .cfi_offset 3, -8
10498 .cfi_offset 14, -4
6467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
10499 .loc 1 6467 3 is_stmt 1 view .LVU3698
6467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
10500 .loc 1 6467 11 is_stmt 0 view .LVU3699
10501 0002 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2
10502 0006 DBB2 uxtb r3, r3
6467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
10503 .loc 1 6467 6 view .LVU3700
10504 0008 602B cmp r3, #96
10505 000a 06D0 beq .L676
6484:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10506 .loc 1 6484 5 is_stmt 1 view .LVU3701
6484:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10507 .loc 1 6484 25 is_stmt 0 view .LVU3702
10508 000c 0023 movs r3, #0
10509 000e 0363 str r3, [r0, #48]
6487:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10510 .loc 1 6487 5 is_stmt 1 view .LVU3703
6487:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
ARM GAS /tmp/ccNVyn8W.s page 374
10511 .loc 1 6487 5 view .LVU3704
10512 0010 80F84030 strb r3, [r0, #64]
6487:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10513 .loc 1 6487 5 view .LVU3705
6493:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
10514 .loc 1 6493 5 view .LVU3706
10515 0014 FFF7FEFF bl HAL_I2C_ErrorCallback
10516 .LVL731:
10517 .L672:
6496:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10518 .loc 1 6496 1 is_stmt 0 view .LVU3707
10519 0018 08BD pop {r3, pc}
10520 .LVL732:
10521 .L676:
6469:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
10522 .loc 1 6469 5 is_stmt 1 view .LVU3708
6469:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
10523 .loc 1 6469 17 is_stmt 0 view .LVU3709
10524 001a 2023 movs r3, #32
10525 001c 80F84130 strb r3, [r0, #65]
6470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10526 .loc 1 6470 5 is_stmt 1 view .LVU3710
6470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10527 .loc 1 6470 25 is_stmt 0 view .LVU3711
10528 0020 0023 movs r3, #0
10529 0022 0363 str r3, [r0, #48]
6473:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10530 .loc 1 6473 5 is_stmt 1 view .LVU3712
6473:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10531 .loc 1 6473 5 view .LVU3713
10532 0024 80F84030 strb r3, [r0, #64]
6473:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10533 .loc 1 6473 5 view .LVU3714
6479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
10534 .loc 1 6479 5 view .LVU3715
10535 0028 FFF7FEFF bl HAL_I2C_AbortCpltCallback
10536 .LVL733:
6479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
10537 .loc 1 6479 5 is_stmt 0 view .LVU3716
10538 002c F4E7 b .L672
10539 .cfi_endproc
10540 .LFE194:
10542 .section .text.I2C_ITError,"ax",%progbits
10543 .align 1
10544 .syntax unified
10545 .thumb
10546 .thumb_func
10548 I2C_ITError:
10549 .LVL734:
10550 .LFB193:
6335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_StateTypeDef tmpstate = hi2c->State;
10551 .loc 1 6335 1 is_stmt 1 view -0
10552 .cfi_startproc
10553 @ args = 0, pretend = 0, frame = 0
10554 @ frame_needed = 0, uses_anonymous_args = 0
6335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_StateTypeDef tmpstate = hi2c->State;
10555 .loc 1 6335 1 is_stmt 0 view .LVU3718
ARM GAS /tmp/ccNVyn8W.s page 375
10556 0000 10B5 push {r4, lr}
10557 .cfi_def_cfa_offset 8
10558 .cfi_offset 4, -8
10559 .cfi_offset 14, -4
10560 0002 0446 mov r4, r0
6336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10561 .loc 1 6336 3 is_stmt 1 view .LVU3719
6336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10562 .loc 1 6336 24 is_stmt 0 view .LVU3720
10563 0004 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2
10564 .LVL735:
6338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10565 .loc 1 6338 3 is_stmt 1 view .LVU3721
6341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
10566 .loc 1 6341 3 view .LVU3722
6341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
10567 .loc 1 6341 23 is_stmt 0 view .LVU3723
10568 0008 0022 movs r2, #0
10569 000a 80F84220 strb r2, [r0, #66]
6342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = 0U;
10570 .loc 1 6342 3 is_stmt 1 view .LVU3724
6342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = 0U;
10571 .loc 1 6342 23 is_stmt 0 view .LVU3725
10572 000e 4548 ldr r0, .L692
10573 .LVL736:
6342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = 0U;
10574 .loc 1 6342 23 view .LVU3726
10575 0010 E062 str r0, [r4, #44]
6343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10576 .loc 1 6343 3 is_stmt 1 view .LVU3727
6343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10577 .loc 1 6343 23 is_stmt 0 view .LVU3728
10578 0012 6285 strh r2, [r4, #42] @ movhi
6346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10579 .loc 1 6346 3 is_stmt 1 view .LVU3729
6346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10580 .loc 1 6346 7 is_stmt 0 view .LVU3730
10581 0014 626C ldr r2, [r4, #68]
6346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10582 .loc 1 6346 19 view .LVU3731
10583 0016 0A43 orrs r2, r2, r1
10584 0018 6264 str r2, [r4, #68]
6349:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmpstate == HAL_I2C_STATE_BUSY_TX_LISTEN) ||
10585 .loc 1 6349 3 is_stmt 1 view .LVU3732
6350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmpstate == HAL_I2C_STATE_BUSY_RX_LISTEN))
10586 .loc 1 6350 50 is_stmt 0 view .LVU3733
10587 001a 283B subs r3, r3, #40
10588 .LVL737:
6350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmpstate == HAL_I2C_STATE_BUSY_RX_LISTEN))
10589 .loc 1 6350 50 view .LVU3734
10590 001c DBB2 uxtb r3, r3
10591 .LVL738:
6349:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmpstate == HAL_I2C_STATE_BUSY_TX_LISTEN) ||
10592 .loc 1 6349 6 view .LVU3735
10593 001e 022B cmp r3, #2
10594 0020 19D8 bhi .L678
6354:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
ARM GAS /tmp/ccNVyn8W.s page 376
10595 .loc 1 6354 5 is_stmt 1 view .LVU3736
10596 0022 0321 movs r1, #3
10597 .LVL739:
6354:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10598 .loc 1 6354 5 is_stmt 0 view .LVU3737
10599 0024 2046 mov r0, r4
10600 0026 FFF7FEFF bl I2C_Disable_IRQ
10601 .LVL740:
6357:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
10602 .loc 1 6357 5 is_stmt 1 view .LVU3738
6357:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
10603 .loc 1 6357 25 is_stmt 0 view .LVU3739
10604 002a 2823 movs r3, #40
10605 002c 84F84130 strb r3, [r4, #65]
6358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
10606 .loc 1 6358 5 is_stmt 1 view .LVU3740
6358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
10607 .loc 1 6358 25 is_stmt 0 view .LVU3741
10608 0030 3D4B ldr r3, .L692+4
10609 0032 6363 str r3, [r4, #52]
10610 .L679:
6393:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10611 .loc 1 6393 3 is_stmt 1 view .LVU3742
6393:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10612 .loc 1 6393 20 is_stmt 0 view .LVU3743
10613 0034 236B ldr r3, [r4, #48]
10614 .LVL741:
6395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmppreviousstate == I2C_STATE_SLAVE_BUSY_TX)))
10615 .loc 1 6395 3 is_stmt 1 view .LVU3744
6395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmppreviousstate == I2C_STATE_SLAVE_BUSY_TX)))
10616 .loc 1 6395 12 is_stmt 0 view .LVU3745
10617 0036 A26B ldr r2, [r4, #56]
6395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmppreviousstate == I2C_STATE_SLAVE_BUSY_TX)))
10618 .loc 1 6395 6 view .LVU3746
10619 0038 1AB1 cbz r2, .L682
6395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmppreviousstate == I2C_STATE_SLAVE_BUSY_TX)))
10620 .loc 1 6395 30 discriminator 1 view .LVU3747
10621 003a 112B cmp r3, #17
10622 003c 30D0 beq .L683
6395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmppreviousstate == I2C_STATE_SLAVE_BUSY_TX)))
10623 .loc 1 6395 81 discriminator 2 view .LVU3748
10624 003e 212B cmp r3, #33
10625 0040 2ED0 beq .L683
10626 .L682:
6425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmppreviousstate == I2C_STATE_SLAVE_BUSY_RX)))
10627 .loc 1 6425 8 is_stmt 1 view .LVU3749
6425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmppreviousstate == I2C_STATE_SLAVE_BUSY_RX)))
10628 .loc 1 6425 17 is_stmt 0 view .LVU3750
10629 0042 E26B ldr r2, [r4, #60]
6425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmppreviousstate == I2C_STATE_SLAVE_BUSY_RX)))
10630 .loc 1 6425 11 view .LVU3751
10631 0044 1AB1 cbz r2, .L687
6425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmppreviousstate == I2C_STATE_SLAVE_BUSY_RX)))
10632 .loc 1 6425 35 discriminator 1 view .LVU3752
10633 0046 122B cmp r3, #18
10634 0048 4BD0 beq .L688
6425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmppreviousstate == I2C_STATE_SLAVE_BUSY_RX)))
ARM GAS /tmp/ccNVyn8W.s page 377
10635 .loc 1 6425 86 discriminator 2 view .LVU3753
10636 004a 222B cmp r3, #34
10637 004c 49D0 beq .L688
10638 .L687:
6456:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
10639 .loc 1 6456 5 is_stmt 1 view .LVU3754
10640 004e 2046 mov r0, r4
10641 0050 FFF7FEFF bl I2C_TreatErrorCallback
10642 .LVL742:
10643 .L677:
6458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10644 .loc 1 6458 1 is_stmt 0 view .LVU3755
10645 0054 10BD pop {r4, pc}
10646 .LVL743:
10647 .L678:
6363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10648 .loc 1 6363 5 is_stmt 1 view .LVU3756
10649 0056 48F20301 movw r1, #32771
10650 .LVL744:
6363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10651 .loc 1 6363 5 is_stmt 0 view .LVU3757
10652 005a 2046 mov r0, r4
10653 005c FFF7FEFF bl I2C_Disable_IRQ
10654 .LVL745:
6366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10655 .loc 1 6366 5 is_stmt 1 view .LVU3758
10656 0060 2046 mov r0, r4
10657 0062 FFF7FEFF bl I2C_Flush_TXDR
10658 .LVL746:
6370:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
10659 .loc 1 6370 5 view .LVU3759
6370:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
10660 .loc 1 6370 13 is_stmt 0 view .LVU3760
10661 0066 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2
10662 006a DBB2 uxtb r3, r3
6370:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
10663 .loc 1 6370 8 view .LVU3761
10664 006c 602B cmp r3, #96
10665 006e 14D0 beq .L680
6373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10666 .loc 1 6373 7 is_stmt 1 view .LVU3762
6373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10667 .loc 1 6373 27 is_stmt 0 view .LVU3763
10668 0070 2023 movs r3, #32
10669 0072 84F84130 strb r3, [r4, #65]
6376:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
10670 .loc 1 6376 7 is_stmt 1 view .LVU3764
6376:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
10671 .loc 1 6376 11 is_stmt 0 view .LVU3765
10672 0076 2368 ldr r3, [r4]
10673 0078 9A69 ldr r2, [r3, #24]
6376:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
10674 .loc 1 6376 10 view .LVU3766
10675 007a 12F0200F tst r2, #32
10676 007e 0CD0 beq .L680
6378:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
10677 .loc 1 6378 9 is_stmt 1 view .LVU3767
ARM GAS /tmp/ccNVyn8W.s page 378
6378:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
10678 .loc 1 6378 13 is_stmt 0 view .LVU3768
10679 0080 9A69 ldr r2, [r3, #24]
6378:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
10680 .loc 1 6378 12 view .LVU3769
10681 0082 12F0100F tst r2, #16
10682 0086 05D0 beq .L681
6380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_AF;
10683 .loc 1 6380 11 is_stmt 1 view .LVU3770
10684 0088 1022 movs r2, #16
10685 008a DA61 str r2, [r3, #28]
6381:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
10686 .loc 1 6381 11 view .LVU3771
6381:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
10687 .loc 1 6381 15 is_stmt 0 view .LVU3772
10688 008c 636C ldr r3, [r4, #68]
6381:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
10689 .loc 1 6381 27 view .LVU3773
10690 008e 43F00403 orr r3, r3, #4
10691 0092 6364 str r3, [r4, #68]
10692 .L681:
6385:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
10693 .loc 1 6385 9 is_stmt 1 view .LVU3774
10694 0094 2368 ldr r3, [r4]
10695 0096 2022 movs r2, #32
10696 0098 DA61 str r2, [r3, #28]
10697 .L680:
6389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
10698 .loc 1 6389 5 view .LVU3775
6389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
10699 .loc 1 6389 25 is_stmt 0 view .LVU3776
10700 009a 0023 movs r3, #0
10701 009c 6363 str r3, [r4, #52]
10702 009e C9E7 b .L679
10703 .LVL747:
10704 .L683:
6398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
10705 .loc 1 6398 5 is_stmt 1 view .LVU3777
6398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
10706 .loc 1 6398 14 is_stmt 0 view .LVU3778
10707 00a0 2368 ldr r3, [r4]
10708 .LVL748:
6398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
10709 .loc 1 6398 24 view .LVU3779
10710 00a2 1A68 ldr r2, [r3]
6398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
10711 .loc 1 6398 8 view .LVU3780
10712 00a4 12F4804F tst r2, #16384
10713 00a8 03D0 beq .L684
6400:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
10714 .loc 1 6400 7 is_stmt 1 view .LVU3781
6400:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
10715 .loc 1 6400 21 is_stmt 0 view .LVU3782
10716 00aa 1A68 ldr r2, [r3]
6400:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
10717 .loc 1 6400 27 view .LVU3783
10718 00ac 22F48042 bic r2, r2, #16384
ARM GAS /tmp/ccNVyn8W.s page 379
10719 00b0 1A60 str r2, [r3]
10720 .L684:
6403:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
10721 .loc 1 6403 5 is_stmt 1 view .LVU3784
6403:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
10722 .loc 1 6403 9 is_stmt 0 view .LVU3785
10723 00b2 A06B ldr r0, [r4, #56]
10724 00b4 FFF7FEFF bl HAL_DMA_GetState
10725 .LVL749:
6403:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
10726 .loc 1 6403 8 discriminator 1 view .LVU3786
10727 00b8 0128 cmp r0, #1
10728 00ba 0ED0 beq .L685
6407:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10729 .loc 1 6407 7 is_stmt 1 view .LVU3787
6407:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10730 .loc 1 6407 11 is_stmt 0 view .LVU3788
10731 00bc A36B ldr r3, [r4, #56]
6407:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10732 .loc 1 6407 39 view .LVU3789
10733 00be 1B4A ldr r2, .L692+8
10734 00c0 5A63 str r2, [r3, #52]
6410:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10735 .loc 1 6410 7 is_stmt 1 view .LVU3790
6410:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10736 .loc 1 6410 7 view .LVU3791
10737 00c2 0023 movs r3, #0
10738 00c4 84F84030 strb r3, [r4, #64]
6410:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10739 .loc 1 6410 7 view .LVU3792
6413:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
10740 .loc 1 6413 7 view .LVU3793
6413:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
10741 .loc 1 6413 11 is_stmt 0 view .LVU3794
10742 00c8 A06B ldr r0, [r4, #56]
10743 00ca FFF7FEFF bl HAL_DMA_Abort_IT
10744 .LVL750:
6413:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
10745 .loc 1 6413 10 discriminator 1 view .LVU3795
10746 00ce 0028 cmp r0, #0
10747 00d0 C0D0 beq .L677
6416:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
10748 .loc 1 6416 9 is_stmt 1 view .LVU3796
6416:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
10749 .loc 1 6416 13 is_stmt 0 view .LVU3797
10750 00d2 A06B ldr r0, [r4, #56]
6416:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
10751 .loc 1 6416 21 view .LVU3798
10752 00d4 436B ldr r3, [r0, #52]
6416:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
10753 .loc 1 6416 9 view .LVU3799
10754 00d6 9847 blx r3
10755 .LVL751:
10756 00d8 BCE7 b .L677
10757 .L685:
6421:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
10758 .loc 1 6421 7 is_stmt 1 view .LVU3800
ARM GAS /tmp/ccNVyn8W.s page 380
10759 00da 2046 mov r0, r4
10760 00dc FFF7FEFF bl I2C_TreatErrorCallback
10761 .LVL752:
10762 00e0 B8E7 b .L677
10763 .LVL753:
10764 .L688:
6428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
10765 .loc 1 6428 5 view .LVU3801
6428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
10766 .loc 1 6428 14 is_stmt 0 view .LVU3802
10767 00e2 2368 ldr r3, [r4]
10768 .LVL754:
6428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
10769 .loc 1 6428 24 view .LVU3803
10770 00e4 1A68 ldr r2, [r3]
6428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
10771 .loc 1 6428 8 view .LVU3804
10772 00e6 12F4004F tst r2, #32768
10773 00ea 03D0 beq .L689
6430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
10774 .loc 1 6430 7 is_stmt 1 view .LVU3805
6430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
10775 .loc 1 6430 21 is_stmt 0 view .LVU3806
10776 00ec 1A68 ldr r2, [r3]
6430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
10777 .loc 1 6430 27 view .LVU3807
10778 00ee 22F40042 bic r2, r2, #32768
10779 00f2 1A60 str r2, [r3]
10780 .L689:
6433:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
10781 .loc 1 6433 5 is_stmt 1 view .LVU3808
6433:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
10782 .loc 1 6433 9 is_stmt 0 view .LVU3809
10783 00f4 E06B ldr r0, [r4, #60]
10784 00f6 FFF7FEFF bl HAL_DMA_GetState
10785 .LVL755:
6433:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
10786 .loc 1 6433 8 discriminator 1 view .LVU3810
10787 00fa 0128 cmp r0, #1
10788 00fc 0ED0 beq .L690
6437:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10789 .loc 1 6437 7 is_stmt 1 view .LVU3811
6437:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10790 .loc 1 6437 11 is_stmt 0 view .LVU3812
10791 00fe E36B ldr r3, [r4, #60]
6437:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10792 .loc 1 6437 39 view .LVU3813
10793 0100 0A4A ldr r2, .L692+8
10794 0102 5A63 str r2, [r3, #52]
6440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10795 .loc 1 6440 7 is_stmt 1 view .LVU3814
6440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10796 .loc 1 6440 7 view .LVU3815
10797 0104 0023 movs r3, #0
10798 0106 84F84030 strb r3, [r4, #64]
6440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10799 .loc 1 6440 7 view .LVU3816
ARM GAS /tmp/ccNVyn8W.s page 381
6443:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
10800 .loc 1 6443 7 view .LVU3817
6443:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
10801 .loc 1 6443 11 is_stmt 0 view .LVU3818
10802 010a E06B ldr r0, [r4, #60]
10803 010c FFF7FEFF bl HAL_DMA_Abort_IT
10804 .LVL756:
6443:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
10805 .loc 1 6443 10 discriminator 1 view .LVU3819
10806 0110 0028 cmp r0, #0
10807 0112 9FD0 beq .L677
6446:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
10808 .loc 1 6446 9 is_stmt 1 view .LVU3820
6446:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
10809 .loc 1 6446 13 is_stmt 0 view .LVU3821
10810 0114 E06B ldr r0, [r4, #60]
6446:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
10811 .loc 1 6446 21 view .LVU3822
10812 0116 436B ldr r3, [r0, #52]
6446:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
10813 .loc 1 6446 9 view .LVU3823
10814 0118 9847 blx r3
10815 .LVL757:
10816 011a 9BE7 b .L677
10817 .L690:
6451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
10818 .loc 1 6451 7 is_stmt 1 view .LVU3824
10819 011c 2046 mov r0, r4
10820 011e FFF7FEFF bl I2C_TreatErrorCallback
10821 .LVL758:
10822 0122 97E7 b .L677
10823 .L693:
10824 .align 2
10825 .L692:
10826 0124 0000FFFF .word -65536
10827 0128 00000000 .word I2C_Slave_ISR_IT
10828 012c 00000000 .word I2C_DMAAbort
10829 .cfi_endproc
10830 .LFE193:
10832 .section .text.I2C_ITSlaveCplt,"ax",%progbits
10833 .align 1
10834 .syntax unified
10835 .thumb
10836 .thumb_func
10838 I2C_ITSlaveCplt:
10839 .LVL759:
10840 .LFB191:
6125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpcr1value = READ_REG(hi2c->Instance->CR1);
10841 .loc 1 6125 1 view -0
10842 .cfi_startproc
10843 @ args = 0, pretend = 0, frame = 0
10844 @ frame_needed = 0, uses_anonymous_args = 0
6125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpcr1value = READ_REG(hi2c->Instance->CR1);
10845 .loc 1 6125 1 is_stmt 0 view .LVU3826
10846 0000 70B5 push {r4, r5, r6, lr}
10847 .cfi_def_cfa_offset 16
10848 .cfi_offset 4, -16
ARM GAS /tmp/ccNVyn8W.s page 382
10849 .cfi_offset 5, -12
10850 .cfi_offset 6, -8
10851 .cfi_offset 14, -4
10852 0002 0446 mov r4, r0
10853 0004 0D46 mov r5, r1
6126:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpITFlags = ITFlags;
10854 .loc 1 6126 3 is_stmt 1 view .LVU3827
6126:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpITFlags = ITFlags;
10855 .loc 1 6126 26 is_stmt 0 view .LVU3828
10856 0006 0268 ldr r2, [r0]
6126:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpITFlags = ITFlags;
10857 .loc 1 6126 12 view .LVU3829
10858 0008 1668 ldr r6, [r2]
10859 .LVL760:
6127:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_StateTypeDef tmpstate = hi2c->State;
10860 .loc 1 6127 3 is_stmt 1 view .LVU3830
6128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10861 .loc 1 6128 3 view .LVU3831
6128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10862 .loc 1 6128 24 is_stmt 0 view .LVU3832
10863 000a 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2
10864 .LVL761:
6131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10865 .loc 1 6131 3 is_stmt 1 view .LVU3833
10866 000e 2021 movs r1, #32
10867 .LVL762:
6131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10868 .loc 1 6131 3 is_stmt 0 view .LVU3834
10869 0010 D161 str r1, [r2, #28]
6134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
10870 .loc 1 6134 3 is_stmt 1 view .LVU3835
10871 0012 213B subs r3, r3, #33
10872 .LVL763:
6134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
10873 .loc 1 6134 3 is_stmt 0 view .LVU3836
10874 0014 092B cmp r3, #9
10875 0016 0CD8 bhi .L695
10876 0018 DFE803F0 tbb [pc, r3]
10877 .L697:
10878 001c 05 .byte (.L698-.L697)/2
10879 001d 62 .byte (.L696-.L697)/2
10880 001e 0B .byte (.L695-.L697)/2
10881 001f 0B .byte (.L695-.L697)/2
10882 0020 0B .byte (.L695-.L697)/2
10883 0021 0B .byte (.L695-.L697)/2
10884 0022 0B .byte (.L695-.L697)/2
10885 0023 0B .byte (.L695-.L697)/2
10886 0024 05 .byte (.L698-.L697)/2
10887 0025 62 .byte (.L696-.L697)/2
10888 .p2align 1
10889 .L698:
6136:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_TX;
10890 .loc 1 6136 5 is_stmt 1 view .LVU3837
10891 0026 48F20101 movw r1, #32769
10892 002a FFF7FEFF bl I2C_Disable_IRQ
10893 .LVL764:
6137:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
ARM GAS /tmp/ccNVyn8W.s page 383
10894 .loc 1 6137 5 view .LVU3838
6137:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
10895 .loc 1 6137 25 is_stmt 0 view .LVU3839
10896 002e 2123 movs r3, #33
10897 0030 2363 str r3, [r4, #48]
10898 .L695:
6150:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10899 .loc 1 6150 3 is_stmt 1 view .LVU3840
6150:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10900 .loc 1 6150 7 is_stmt 0 view .LVU3841
10901 0032 2268 ldr r2, [r4]
6150:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10902 .loc 1 6150 17 view .LVU3842
10903 0034 5368 ldr r3, [r2, #4]
6150:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10904 .loc 1 6150 23 view .LVU3843
10905 0036 43F40043 orr r3, r3, #32768
10906 003a 5360 str r3, [r2, #4]
6153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10907 .loc 1 6153 3 is_stmt 1 view .LVU3844
10908 003c 2268 ldr r2, [r4]
10909 003e 5368 ldr r3, [r2, #4]
10910 0040 23F0FF73 bic r3, r3, #33423360
10911 0044 23F48B33 bic r3, r3, #71168
10912 0048 23F4FF73 bic r3, r3, #510
10913 004c 23F00103 bic r3, r3, #1
10914 0050 5360 str r3, [r2, #4]
6156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10915 .loc 1 6156 3 view .LVU3845
10916 0052 2046 mov r0, r4
10917 0054 FFF7FEFF bl I2C_Flush_TXDR
10918 .LVL765:
6159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
10919 .loc 1 6159 3 view .LVU3846
6159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
10920 .loc 1 6159 6 is_stmt 0 view .LVU3847
10921 0058 16F4804F tst r6, #16384
10922 005c 47D0 beq .L699
6162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10923 .loc 1 6162 5 is_stmt 1 view .LVU3848
6162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10924 .loc 1 6162 9 is_stmt 0 view .LVU3849
10925 005e 2268 ldr r2, [r4]
6162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10926 .loc 1 6162 19 view .LVU3850
10927 0060 1368 ldr r3, [r2]
6162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10928 .loc 1 6162 25 view .LVU3851
10929 0062 23F48043 bic r3, r3, #16384
10930 0066 1360 str r3, [r2]
6164:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
10931 .loc 1 6164 5 is_stmt 1 view .LVU3852
6164:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
10932 .loc 1 6164 13 is_stmt 0 view .LVU3853
10933 0068 A36B ldr r3, [r4, #56]
6164:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
10934 .loc 1 6164 8 view .LVU3854
ARM GAS /tmp/ccNVyn8W.s page 384
10935 006a 1BB1 cbz r3, .L700
6166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
10936 .loc 1 6166 7 is_stmt 1 view .LVU3855
6166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
10937 .loc 1 6166 35 is_stmt 0 view .LVU3856
10938 006c 1B68 ldr r3, [r3]
10939 006e 5B68 ldr r3, [r3, #4]
6166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
10940 .loc 1 6166 25 view .LVU3857
10941 0070 9BB2 uxth r3, r3
6166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
10942 .loc 1 6166 23 view .LVU3858
10943 0072 6385 strh r3, [r4, #42] @ movhi
10944 .L700:
6182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10945 .loc 1 6182 3 is_stmt 1 view .LVU3859
6185:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
10946 .loc 1 6185 3 view .LVU3860
6185:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
10947 .loc 1 6185 6 is_stmt 0 view .LVU3861
10948 0074 15F0040F tst r5, #4
10949 0078 11D0 beq .L701
6188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10950 .loc 1 6188 5 is_stmt 1 view .LVU3862
6188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10951 .loc 1 6188 16 is_stmt 0 view .LVU3863
10952 007a 25F00405 bic r5, r5, #4
10953 .LVL766:
6191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10954 .loc 1 6191 5 is_stmt 1 view .LVU3864
6191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10955 .loc 1 6191 36 is_stmt 0 view .LVU3865
10956 007e 2368 ldr r3, [r4]
6191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10957 .loc 1 6191 46 view .LVU3866
10958 0080 5A6A ldr r2, [r3, #36]
6191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10959 .loc 1 6191 10 view .LVU3867
10960 0082 636A ldr r3, [r4, #36]
6191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10961 .loc 1 6191 21 view .LVU3868
10962 0084 1A70 strb r2, [r3]
6194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10963 .loc 1 6194 5 is_stmt 1 view .LVU3869
6194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10964 .loc 1 6194 9 is_stmt 0 view .LVU3870
10965 0086 636A ldr r3, [r4, #36]
6194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
10966 .loc 1 6194 19 view .LVU3871
10967 0088 0133 adds r3, r3, #1
10968 008a 6362 str r3, [r4, #36]
6196:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
10969 .loc 1 6196 5 is_stmt 1 view .LVU3872
6196:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
10970 .loc 1 6196 14 is_stmt 0 view .LVU3873
10971 008c 238D ldrh r3, [r4, #40]
6196:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
ARM GAS /tmp/ccNVyn8W.s page 385
10972 .loc 1 6196 8 view .LVU3874
10973 008e 33B1 cbz r3, .L701
6198:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--;
10974 .loc 1 6198 7 is_stmt 1 view .LVU3875
6198:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--;
10975 .loc 1 6198 21 is_stmt 0 view .LVU3876
10976 0090 013B subs r3, r3, #1
10977 0092 2385 strh r3, [r4, #40] @ movhi
6199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
10978 .loc 1 6199 7 is_stmt 1 view .LVU3877
6199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
10979 .loc 1 6199 11 is_stmt 0 view .LVU3878
10980 0094 638D ldrh r3, [r4, #42]
10981 0096 9BB2 uxth r3, r3
6199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
10982 .loc 1 6199 22 view .LVU3879
10983 0098 013B subs r3, r3, #1
10984 009a 9BB2 uxth r3, r3
10985 009c 6385 strh r3, [r4, #42] @ movhi
10986 .L701:
6204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
10987 .loc 1 6204 3 is_stmt 1 view .LVU3880
6204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
10988 .loc 1 6204 11 is_stmt 0 view .LVU3881
10989 009e 638D ldrh r3, [r4, #42]
10990 00a0 9BB2 uxth r3, r3
6204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
10991 .loc 1 6204 6 view .LVU3882
10992 00a2 1BB1 cbz r3, .L702
6207:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
10993 .loc 1 6207 5 is_stmt 1 view .LVU3883
6207:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
10994 .loc 1 6207 9 is_stmt 0 view .LVU3884
10995 00a4 636C ldr r3, [r4, #68]
6207:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
10996 .loc 1 6207 21 view .LVU3885
10997 00a6 43F00403 orr r3, r3, #4
10998 00aa 6364 str r3, [r4, #68]
10999 .L702:
6210:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL;
11000 .loc 1 6210 3 is_stmt 1 view .LVU3886
6210:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL;
11001 .loc 1 6210 14 is_stmt 0 view .LVU3887
11002 00ac 0023 movs r3, #0
11003 00ae 84F84230 strb r3, [r4, #66]
6211:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11004 .loc 1 6211 3 is_stmt 1 view .LVU3888
6211:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11005 .loc 1 6211 17 is_stmt 0 view .LVU3889
11006 00b2 6363 str r3, [r4, #52]
6213:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
11007 .loc 1 6213 3 is_stmt 1 view .LVU3890
6213:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
11008 .loc 1 6213 11 is_stmt 0 view .LVU3891
11009 00b4 636C ldr r3, [r4, #68]
6213:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
11010 .loc 1 6213 6 view .LVU3892
ARM GAS /tmp/ccNVyn8W.s page 386
11011 00b6 53BB cbnz r3, .L709
6225:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
11012 .loc 1 6225 8 is_stmt 1 view .LVU3893
6225:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
11013 .loc 1 6225 16 is_stmt 0 view .LVU3894
11014 00b8 E36A ldr r3, [r4, #44]
6225:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
11015 .loc 1 6225 11 view .LVU3895
11016 00ba 13F5803F cmn r3, #65536
11017 00be 34D1 bne .L710
6245:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
11018 .loc 1 6245 8 is_stmt 1 view .LVU3896
6245:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
11019 .loc 1 6245 16 is_stmt 0 view .LVU3897
11020 00c0 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2
11021 00c4 DBB2 uxtb r3, r3
6245:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
11022 .loc 1 6245 11 view .LVU3898
11023 00c6 222B cmp r3, #34
11024 00c8 3FD0 beq .L711
6262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
11025 .loc 1 6262 5 is_stmt 1 view .LVU3899
6262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
11026 .loc 1 6262 17 is_stmt 0 view .LVU3900
11027 00ca 2023 movs r3, #32
11028 00cc 84F84130 strb r3, [r4, #65]
6263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11029 .loc 1 6263 5 is_stmt 1 view .LVU3901
6263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11030 .loc 1 6263 25 is_stmt 0 view .LVU3902
11031 00d0 0023 movs r3, #0
11032 00d2 2363 str r3, [r4, #48]
6266:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11033 .loc 1 6266 5 is_stmt 1 view .LVU3903
6266:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11034 .loc 1 6266 5 view .LVU3904
11035 00d4 84F84030 strb r3, [r4, #64]
6266:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11036 .loc 1 6266 5 view .LVU3905
6272:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
11037 .loc 1 6272 5 view .LVU3906
11038 00d8 2046 mov r0, r4
11039 00da FFF7FEFF bl HAL_I2C_SlaveTxCpltCallback
11040 .LVL767:
6275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11041 .loc 1 6275 1 is_stmt 0 view .LVU3907
11042 00de 33E0 b .L694
11043 .LVL768:
11044 .L696:
6141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_RX;
11045 .loc 1 6141 5 is_stmt 1 view .LVU3908
11046 00e0 48F20201 movw r1, #32770
11047 00e4 FFF7FEFF bl I2C_Disable_IRQ
11048 .LVL769:
6142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
11049 .loc 1 6142 5 view .LVU3909
6142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
ARM GAS /tmp/ccNVyn8W.s page 387
11050 .loc 1 6142 25 is_stmt 0 view .LVU3910
11051 00e8 2223 movs r3, #34
11052 00ea 2363 str r3, [r4, #48]
11053 00ec A1E7 b .L695
11054 .L699:
6169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
11055 .loc 1 6169 8 is_stmt 1 view .LVU3911
6169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
11056 .loc 1 6169 11 is_stmt 0 view .LVU3912
11057 00ee 16F4004F tst r6, #32768
11058 00f2 BFD0 beq .L700
6172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11059 .loc 1 6172 5 is_stmt 1 view .LVU3913
6172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11060 .loc 1 6172 9 is_stmt 0 view .LVU3914
11061 00f4 2268 ldr r2, [r4]
6172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11062 .loc 1 6172 19 view .LVU3915
11063 00f6 1368 ldr r3, [r2]
6172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11064 .loc 1 6172 25 view .LVU3916
11065 00f8 23F40043 bic r3, r3, #32768
11066 00fc 1360 str r3, [r2]
6174:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
11067 .loc 1 6174 5 is_stmt 1 view .LVU3917
6174:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
11068 .loc 1 6174 13 is_stmt 0 view .LVU3918
11069 00fe E36B ldr r3, [r4, #60]
6174:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
11070 .loc 1 6174 8 view .LVU3919
11071 0100 002B cmp r3, #0
11072 0102 B7D0 beq .L700
6176:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
11073 .loc 1 6176 7 is_stmt 1 view .LVU3920
6176:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
11074 .loc 1 6176 35 is_stmt 0 view .LVU3921
11075 0104 1B68 ldr r3, [r3]
11076 0106 5B68 ldr r3, [r3, #4]
6176:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
11077 .loc 1 6176 25 view .LVU3922
11078 0108 9BB2 uxth r3, r3
6176:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
11079 .loc 1 6176 23 view .LVU3923
11080 010a 6385 strh r3, [r4, #42] @ movhi
11081 010c B2E7 b .L700
11082 .LVL770:
11083 .L709:
6216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11084 .loc 1 6216 5 is_stmt 1 view .LVU3924
6216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11085 .loc 1 6216 27 is_stmt 0 view .LVU3925
11086 010e 616C ldr r1, [r4, #68]
6216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11087 .loc 1 6216 5 view .LVU3926
11088 0110 2046 mov r0, r4
11089 0112 FFF7FEFF bl I2C_ITError
11090 .LVL771:
ARM GAS /tmp/ccNVyn8W.s page 388
6219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
11091 .loc 1 6219 5 is_stmt 1 view .LVU3927
6219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
11092 .loc 1 6219 13 is_stmt 0 view .LVU3928
11093 0116 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2
11094 011a DBB2 uxtb r3, r3
6219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
11095 .loc 1 6219 8 view .LVU3929
11096 011c 282B cmp r3, #40
11097 011e 13D1 bne .L694
6222:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
11098 .loc 1 6222 7 is_stmt 1 view .LVU3930
11099 0120 2946 mov r1, r5
11100 0122 2046 mov r0, r4
11101 0124 FFF7FEFF bl I2C_ITListenCplt
11102 .LVL772:
11103 0128 0EE0 b .L694
11104 .L710:
6228:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11105 .loc 1 6228 5 view .LVU3931
11106 012a 2046 mov r0, r4
11107 012c FFF7FEFF bl I2C_ITSlaveSeqCplt
11108 .LVL773:
6230:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
11109 .loc 1 6230 5 view .LVU3932
6230:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
11110 .loc 1 6230 23 is_stmt 0 view .LVU3933
11111 0130 0B4B ldr r3, .L712
11112 0132 E362 str r3, [r4, #44]
6231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
11113 .loc 1 6231 5 is_stmt 1 view .LVU3934
6231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
11114 .loc 1 6231 17 is_stmt 0 view .LVU3935
11115 0134 2023 movs r3, #32
11116 0136 84F84130 strb r3, [r4, #65]
6232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11117 .loc 1 6232 5 is_stmt 1 view .LVU3936
6232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11118 .loc 1 6232 25 is_stmt 0 view .LVU3937
11119 013a 0023 movs r3, #0
11120 013c 2363 str r3, [r4, #48]
6235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11121 .loc 1 6235 5 is_stmt 1 view .LVU3938
6235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11122 .loc 1 6235 5 view .LVU3939
11123 013e 84F84030 strb r3, [r4, #64]
6235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11124 .loc 1 6235 5 view .LVU3940
6241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
11125 .loc 1 6241 5 view .LVU3941
11126 0142 2046 mov r0, r4
11127 0144 FFF7FEFF bl HAL_I2C_ListenCpltCallback
11128 .LVL774:
11129 .L694:
6275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11130 .loc 1 6275 1 is_stmt 0 view .LVU3942
11131 0148 70BD pop {r4, r5, r6, pc}
ARM GAS /tmp/ccNVyn8W.s page 389
11132 .LVL775:
11133 .L711:
6247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
11134 .loc 1 6247 5 is_stmt 1 view .LVU3943
6247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
11135 .loc 1 6247 17 is_stmt 0 view .LVU3944
11136 014a 2023 movs r3, #32
11137 014c 84F84130 strb r3, [r4, #65]
6248:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11138 .loc 1 6248 5 is_stmt 1 view .LVU3945
6248:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11139 .loc 1 6248 25 is_stmt 0 view .LVU3946
11140 0150 0023 movs r3, #0
11141 0152 2363 str r3, [r4, #48]
6251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11142 .loc 1 6251 5 is_stmt 1 view .LVU3947
6251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11143 .loc 1 6251 5 view .LVU3948
11144 0154 84F84030 strb r3, [r4, #64]
6251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11145 .loc 1 6251 5 view .LVU3949
6257:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
11146 .loc 1 6257 5 view .LVU3950
11147 0158 2046 mov r0, r4
11148 015a FFF7FEFF bl HAL_I2C_SlaveRxCpltCallback
11149 .LVL776:
11150 015e F3E7 b .L694
11151 .L713:
11152 .align 2
11153 .L712:
11154 0160 0000FFFF .word -65536
11155 .cfi_endproc
11156 .LFE191:
11158 .section .text.I2C_Slave_ISR_IT,"ax",%progbits
11159 .align 1
11160 .syntax unified
11161 .thumb
11162 .thumb_func
11164 I2C_Slave_ISR_IT:
11165 .LVL777:
11166 .LFB181:
5092:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpoptions = hi2c->XferOptions;
11167 .loc 1 5092 1 view -0
11168 .cfi_startproc
11169 @ args = 0, pretend = 0, frame = 0
11170 @ frame_needed = 0, uses_anonymous_args = 0
5092:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpoptions = hi2c->XferOptions;
11171 .loc 1 5092 1 is_stmt 0 view .LVU3952
11172 0000 F8B5 push {r3, r4, r5, r6, r7, lr}
11173 .cfi_def_cfa_offset 24
11174 .cfi_offset 3, -24
11175 .cfi_offset 4, -20
11176 .cfi_offset 5, -16
11177 .cfi_offset 6, -12
11178 .cfi_offset 7, -8
11179 .cfi_offset 14, -4
5093:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpITFlags = ITFlags;
ARM GAS /tmp/ccNVyn8W.s page 390
11180 .loc 1 5093 3 is_stmt 1 view .LVU3953
5093:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpITFlags = ITFlags;
11181 .loc 1 5093 12 is_stmt 0 view .LVU3954
11182 0002 C76A ldr r7, [r0, #44]
11183 .LVL778:
5094:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11184 .loc 1 5094 3 is_stmt 1 view .LVU3955
5097:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11185 .loc 1 5097 3 view .LVU3956
5097:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11186 .loc 1 5097 3 view .LVU3957
11187 0004 90F84030 ldrb r3, [r0, #64] @ zero_extendqisi2
11188 0008 012B cmp r3, #1
11189 000a 00F09E80 beq .L728
11190 000e 0446 mov r4, r0
11191 0010 0D46 mov r5, r1
11192 0012 1646 mov r6, r2
5097:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11193 .loc 1 5097 3 discriminator 2 view .LVU3958
11194 0014 0123 movs r3, #1
11195 0016 80F84030 strb r3, [r0, #64]
5097:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11196 .loc 1 5097 3 discriminator 2 view .LVU3959
5100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
11197 .loc 1 5100 3 view .LVU3960
5100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
11198 .loc 1 5100 6 is_stmt 0 view .LVU3961
11199 001a 11F0200F tst r1, #32
11200 001e 02D0 beq .L716
5100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
11201 .loc 1 5100 61 discriminator 1 view .LVU3962
11202 0020 12F0200F tst r2, #32
11203 0024 19D1 bne .L730
11204 .LVL779:
11205 .L716:
5107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
11206 .loc 1 5107 3 is_stmt 1 view .LVU3963
5107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
11207 .loc 1 5107 6 is_stmt 0 view .LVU3964
11208 0026 15F0100F tst r5, #16
11209 002a 3ED0 beq .L717
5107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
11210 .loc 1 5107 58 discriminator 1 view .LVU3965
11211 002c 16F0100F tst r6, #16
11212 0030 3BD0 beq .L717
5114:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
11213 .loc 1 5114 5 is_stmt 1 view .LVU3966
5114:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
11214 .loc 1 5114 13 is_stmt 0 view .LVU3967
11215 0032 638D ldrh r3, [r4, #42]
11216 0034 9BB2 uxth r3, r3
5114:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
11217 .loc 1 5114 8 view .LVU3968
11218 0036 43BB cbnz r3, .L718
5116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Same action must be done for (tmpoptions == I2C_LAST_FRAME) which removed for
11219 .loc 1 5116 7 is_stmt 1 view .LVU3969
5116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Same action must be done for (tmpoptions == I2C_LAST_FRAME) which removed for
ARM GAS /tmp/ccNVyn8W.s page 391
11220 .loc 1 5116 16 is_stmt 0 view .LVU3970
11221 0038 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2
11222 003c DBB2 uxtb r3, r3
5116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Same action must be done for (tmpoptions == I2C_LAST_FRAME) which removed for
11223 .loc 1 5116 10 view .LVU3971
11224 003e 282B cmp r3, #40
11225 0040 0ED0 beq .L731
11226 .L719:
5123:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
11227 .loc 1 5123 12 is_stmt 1 view .LVU3972
5123:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
11228 .loc 1 5123 21 is_stmt 0 view .LVU3973
11229 0042 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2
11230 0046 DBB2 uxtb r3, r3
5123:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
11231 .loc 1 5123 15 view .LVU3974
11232 0048 292B cmp r3, #41
11233 004a 11D0 beq .L732
11234 .L721:
5138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
11235 .loc 1 5138 9 is_stmt 1 view .LVU3975
11236 004c 2368 ldr r3, [r4]
11237 004e 1022 movs r2, #16
11238 0050 DA61 str r2, [r3, #28]
11239 .L720:
5215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11240 .loc 1 5215 3 view .LVU3976
5218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11241 .loc 1 5218 3 view .LVU3977
5218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11242 .loc 1 5218 3 view .LVU3978
11243 0052 0020 movs r0, #0
11244 0054 84F84000 strb r0, [r4, #64]
5218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11245 .loc 1 5218 3 view .LVU3979
5220:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
11246 .loc 1 5220 3 view .LVU3980
11247 .LVL780:
11248 .L715:
5221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11249 .loc 1 5221 1 is_stmt 0 view .LVU3981
11250 0058 F8BD pop {r3, r4, r5, r6, r7, pc}
11251 .LVL781:
11252 .L730:
5104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
11253 .loc 1 5104 5 is_stmt 1 view .LVU3982
11254 005a FFF7FEFF bl I2C_ITSlaveCplt
11255 .LVL782:
5104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
11256 .loc 1 5104 5 is_stmt 0 view .LVU3983
11257 005e E2E7 b .L716
11258 .L731:
5116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Same action must be done for (tmpoptions == I2C_LAST_FRAME) which removed for
11259 .loc 1 5116 49 discriminator 1 view .LVU3984
11260 0060 B7F1007F cmp r7, #33554432
11261 0064 EDD1 bne .L719
5121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
ARM GAS /tmp/ccNVyn8W.s page 392
11262 .loc 1 5121 9 is_stmt 1 view .LVU3985
11263 0066 2946 mov r1, r5
11264 0068 2046 mov r0, r4
11265 006a FFF7FEFF bl I2C_ITListenCplt
11266 .LVL783:
11267 006e F0E7 b .L720
11268 .L732:
5123:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
11269 .loc 1 5123 62 is_stmt 0 discriminator 1 view .LVU3986
11270 0070 17F5803F cmn r7, #65536
11271 0074 EAD0 beq .L721
5126:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11272 .loc 1 5126 9 is_stmt 1 view .LVU3987
11273 0076 2368 ldr r3, [r4]
11274 0078 1022 movs r2, #16
11275 007a DA61 str r2, [r3, #28]
5129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11276 .loc 1 5129 9 view .LVU3988
11277 007c 2046 mov r0, r4
11278 007e FFF7FEFF bl I2C_Flush_TXDR
11279 .LVL784:
5133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
11280 .loc 1 5133 9 view .LVU3989
11281 0082 2046 mov r0, r4
11282 0084 FFF7FEFF bl I2C_ITSlaveSeqCplt
11283 .LVL785:
11284 0088 E3E7 b .L720
11285 .L718:
5145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11286 .loc 1 5145 7 view .LVU3990
11287 008a 2368 ldr r3, [r4]
11288 008c 1022 movs r2, #16
11289 008e DA61 str r2, [r3, #28]
5148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11290 .loc 1 5148 7 view .LVU3991
5148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11291 .loc 1 5148 11 is_stmt 0 view .LVU3992
11292 0090 636C ldr r3, [r4, #68]
5148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11293 .loc 1 5148 23 view .LVU3993
11294 0092 43F00403 orr r3, r3, #4
11295 0096 6364 str r3, [r4, #68]
5150:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
11296 .loc 1 5150 7 is_stmt 1 view .LVU3994
5150:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
11297 .loc 1 5150 10 is_stmt 0 view .LVU3995
11298 0098 17B1 cbz r7, .L722
5150:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
11299 .loc 1 5150 43 discriminator 1 view .LVU3996
11300 009a B7F1807F cmp r7, #16777216
11301 009e D8D1 bne .L720
11302 .L722:
5153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
11303 .loc 1 5153 9 is_stmt 1 view .LVU3997
5153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
11304 .loc 1 5153 31 is_stmt 0 view .LVU3998
11305 00a0 616C ldr r1, [r4, #68]
ARM GAS /tmp/ccNVyn8W.s page 393
5153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
11306 .loc 1 5153 9 view .LVU3999
11307 00a2 2046 mov r0, r4
11308 00a4 FFF7FEFF bl I2C_ITError
11309 .LVL786:
11310 00a8 D3E7 b .L720
11311 .L717:
5157:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_RXI) != RESET))
11312 .loc 1 5157 8 is_stmt 1 view .LVU4000
5157:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_RXI) != RESET))
11313 .loc 1 5157 11 is_stmt 0 view .LVU4001
11314 00aa 15F0040F tst r5, #4
11315 00ae 1FD0 beq .L723
5157:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_RXI) != RESET))
11316 .loc 1 5157 65 discriminator 1 view .LVU4002
11317 00b0 16F0040F tst r6, #4
11318 00b4 1CD0 beq .L723
5160:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
11319 .loc 1 5160 5 is_stmt 1 view .LVU4003
5160:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
11320 .loc 1 5160 13 is_stmt 0 view .LVU4004
11321 00b6 638D ldrh r3, [r4, #42]
11322 00b8 9BB2 uxth r3, r3
5160:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
11323 .loc 1 5160 8 view .LVU4005
11324 00ba 73B1 cbz r3, .L724
5163:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11325 .loc 1 5163 7 is_stmt 1 view .LVU4006
5163:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11326 .loc 1 5163 38 is_stmt 0 view .LVU4007
11327 00bc 2368 ldr r3, [r4]
5163:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11328 .loc 1 5163 48 view .LVU4008
11329 00be 5A6A ldr r2, [r3, #36]
5163:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11330 .loc 1 5163 12 view .LVU4009
11331 00c0 636A ldr r3, [r4, #36]
5163:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11332 .loc 1 5163 23 view .LVU4010
11333 00c2 1A70 strb r2, [r3]
5166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11334 .loc 1 5166 7 is_stmt 1 view .LVU4011
5166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11335 .loc 1 5166 11 is_stmt 0 view .LVU4012
11336 00c4 636A ldr r3, [r4, #36]
5166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11337 .loc 1 5166 21 view .LVU4013
11338 00c6 0133 adds r3, r3, #1
11339 00c8 6362 str r3, [r4, #36]
5168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--;
11340 .loc 1 5168 7 is_stmt 1 view .LVU4014
5168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--;
11341 .loc 1 5168 11 is_stmt 0 view .LVU4015
11342 00ca 238D ldrh r3, [r4, #40]
5168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--;
11343 .loc 1 5168 21 view .LVU4016
11344 00cc 013B subs r3, r3, #1
ARM GAS /tmp/ccNVyn8W.s page 394
11345 00ce 2385 strh r3, [r4, #40] @ movhi
5169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
11346 .loc 1 5169 7 is_stmt 1 view .LVU4017
5169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
11347 .loc 1 5169 11 is_stmt 0 view .LVU4018
11348 00d0 638D ldrh r3, [r4, #42]
11349 00d2 9BB2 uxth r3, r3
5169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
11350 .loc 1 5169 22 view .LVU4019
11351 00d4 013B subs r3, r3, #1
11352 00d6 9BB2 uxth r3, r3
11353 00d8 6385 strh r3, [r4, #42] @ movhi
11354 .L724:
5172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmpoptions != I2C_NO_OPTION_FRAME))
11355 .loc 1 5172 5 is_stmt 1 view .LVU4020
5172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmpoptions != I2C_NO_OPTION_FRAME))
11356 .loc 1 5172 14 is_stmt 0 view .LVU4021
11357 00da 638D ldrh r3, [r4, #42]
11358 00dc 9BB2 uxth r3, r3
5172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmpoptions != I2C_NO_OPTION_FRAME))
11359 .loc 1 5172 8 view .LVU4022
11360 00de 002B cmp r3, #0
11361 00e0 B7D1 bne .L720
5172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmpoptions != I2C_NO_OPTION_FRAME))
11362 .loc 1 5172 33 discriminator 1 view .LVU4023
11363 00e2 17F5803F cmn r7, #65536
11364 00e6 B4D0 beq .L720
5176:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
11365 .loc 1 5176 7 is_stmt 1 view .LVU4024
11366 00e8 2046 mov r0, r4
11367 00ea FFF7FEFF bl I2C_ITSlaveSeqCplt
11368 .LVL787:
11369 00ee B0E7 b .L720
11370 .L723:
5179:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_ADDRI) != RESET))
11371 .loc 1 5179 8 view .LVU4025
5179:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_ADDRI) != RESET))
11372 .loc 1 5179 11 is_stmt 0 view .LVU4026
11373 00f0 15F0080F tst r5, #8
11374 00f4 02D0 beq .L725
5179:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_ADDRI) != RESET))
11375 .loc 1 5179 65 discriminator 1 view .LVU4027
11376 00f6 16F0080F tst r6, #8
11377 00fa 18D1 bne .L733
11378 .L725:
5184:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TXI) != RESET))
11379 .loc 1 5184 8 is_stmt 1 view .LVU4028
5184:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TXI) != RESET))
11380 .loc 1 5184 11 is_stmt 0 view .LVU4029
11381 00fc 15F0020F tst r5, #2
11382 0100 A7D0 beq .L720
5184:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TXI) != RESET))
11383 .loc 1 5184 65 discriminator 1 view .LVU4030
11384 0102 16F0020F tst r6, #2
11385 0106 A4D0 beq .L720
5191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
11386 .loc 1 5191 5 is_stmt 1 view .LVU4031
ARM GAS /tmp/ccNVyn8W.s page 395
5191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
11387 .loc 1 5191 13 is_stmt 0 view .LVU4032
11388 0108 638D ldrh r3, [r4, #42]
11389 010a 9BB2 uxth r3, r3
5191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
11390 .loc 1 5191 8 view .LVU4033
11391 010c A3B1 cbz r3, .L726
5194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11392 .loc 1 5194 7 is_stmt 1 view .LVU4034
5194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11393 .loc 1 5194 35 is_stmt 0 view .LVU4035
11394 010e 626A ldr r2, [r4, #36]
5194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11395 .loc 1 5194 11 view .LVU4036
11396 0110 2368 ldr r3, [r4]
5194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11397 .loc 1 5194 30 view .LVU4037
11398 0112 1278 ldrb r2, [r2] @ zero_extendqisi2
5194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11399 .loc 1 5194 28 view .LVU4038
11400 0114 9A62 str r2, [r3, #40]
5197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11401 .loc 1 5197 7 is_stmt 1 view .LVU4039
5197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11402 .loc 1 5197 11 is_stmt 0 view .LVU4040
11403 0116 636A ldr r3, [r4, #36]
5197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11404 .loc 1 5197 21 view .LVU4041
11405 0118 0133 adds r3, r3, #1
11406 011a 6362 str r3, [r4, #36]
5199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--;
11407 .loc 1 5199 7 is_stmt 1 view .LVU4042
5199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--;
11408 .loc 1 5199 11 is_stmt 0 view .LVU4043
11409 011c 638D ldrh r3, [r4, #42]
11410 011e 9BB2 uxth r3, r3
5199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--;
11411 .loc 1 5199 22 view .LVU4044
11412 0120 013B subs r3, r3, #1
11413 0122 9BB2 uxth r3, r3
11414 0124 6385 strh r3, [r4, #42] @ movhi
5200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
11415 .loc 1 5200 7 is_stmt 1 view .LVU4045
5200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
11416 .loc 1 5200 11 is_stmt 0 view .LVU4046
11417 0126 238D ldrh r3, [r4, #40]
5200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
11418 .loc 1 5200 21 view .LVU4047
11419 0128 013B subs r3, r3, #1
11420 012a 2385 strh r3, [r4, #40] @ movhi
11421 012c 91E7 b .L720
11422 .L733:
5182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
11423 .loc 1 5182 5 is_stmt 1 view .LVU4048
11424 012e 2946 mov r1, r5
11425 0130 2046 mov r0, r4
11426 0132 FFF7FEFF bl I2C_ITAddrCplt
ARM GAS /tmp/ccNVyn8W.s page 396
11427 .LVL788:
11428 0136 8CE7 b .L720
11429 .L726:
5204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
11430 .loc 1 5204 7 view .LVU4049
5204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
11431 .loc 1 5204 10 is_stmt 0 view .LVU4050
11432 0138 B7F1807F cmp r7, #16777216
11433 013c 01D0 beq .L727
5204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
11434 .loc 1 5204 42 discriminator 1 view .LVU4051
11435 013e 002F cmp r7, #0
11436 0140 87D1 bne .L720
11437 .L727:
5208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
11438 .loc 1 5208 9 is_stmt 1 view .LVU4052
11439 0142 2046 mov r0, r4
11440 0144 FFF7FEFF bl I2C_ITSlaveSeqCplt
11441 .LVL789:
11442 0148 83E7 b .L720
11443 .LVL790:
11444 .L728:
5097:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11445 .loc 1 5097 3 is_stmt 0 discriminator 1 view .LVU4053
11446 014a 0220 movs r0, #2
11447 .LVL791:
5097:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11448 .loc 1 5097 3 discriminator 1 view .LVU4054
11449 014c 84E7 b .L715
11450 .cfi_endproc
11451 .LFE181:
11453 .section .text.I2C_ITMasterCplt,"ax",%progbits
11454 .align 1
11455 .syntax unified
11456 .thumb
11457 .thumb_func
11459 I2C_ITMasterCplt:
11460 .LVL792:
11461 .LFB190:
5982:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmperror;
11462 .loc 1 5982 1 is_stmt 1 view -0
11463 .cfi_startproc
11464 @ args = 0, pretend = 0, frame = 8
11465 @ frame_needed = 0, uses_anonymous_args = 0
5982:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmperror;
11466 .loc 1 5982 1 is_stmt 0 view .LVU4056
11467 0000 30B5 push {r4, r5, lr}
11468 .cfi_def_cfa_offset 12
11469 .cfi_offset 4, -12
11470 .cfi_offset 5, -8
11471 .cfi_offset 14, -4
11472 0002 83B0 sub sp, sp, #12
11473 .cfi_def_cfa_offset 24
11474 0004 0446 mov r4, r0
11475 0006 0D46 mov r5, r1
5983:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpITFlags = ITFlags;
11476 .loc 1 5983 3 is_stmt 1 view .LVU4057
ARM GAS /tmp/ccNVyn8W.s page 397
5984:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __IO uint32_t tmpreg;
11477 .loc 1 5984 3 view .LVU4058
11478 .LVL793:
5985:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11479 .loc 1 5985 3 view .LVU4059
5988:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11480 .loc 1 5988 3 view .LVU4060
11481 0008 0368 ldr r3, [r0]
11482 000a 2022 movs r2, #32
11483 000c DA61 str r2, [r3, #28]
5991:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
11484 .loc 1 5991 3 view .LVU4061
5991:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
11485 .loc 1 5991 11 is_stmt 0 view .LVU4062
11486 000e 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2
11487 0012 DBB2 uxtb r3, r3
5991:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
11488 .loc 1 5991 6 view .LVU4063
11489 0014 212B cmp r3, #33
11490 0016 33D0 beq .L746
5996:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
11491 .loc 1 5996 8 is_stmt 1 view .LVU4064
5996:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
11492 .loc 1 5996 16 is_stmt 0 view .LVU4065
11493 0018 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2
11494 001c DBB2 uxtb r3, r3
5996:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
11495 .loc 1 5996 11 view .LVU4066
11496 001e 222B cmp r3, #34
11497 0020 34D0 beq .L747
11498 .LVL794:
11499 .L736:
6004:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11500 .loc 1 6004 3 is_stmt 1 view .LVU4067
6007:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11501 .loc 1 6007 3 view .LVU4068
11502 0022 2268 ldr r2, [r4]
11503 0024 5368 ldr r3, [r2, #4]
11504 0026 23F0FF73 bic r3, r3, #33423360
11505 002a 23F48B33 bic r3, r3, #71168
11506 002e 23F4FF73 bic r3, r3, #510
11507 0032 23F00103 bic r3, r3, #1
11508 0036 5360 str r3, [r2, #4]
6010:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
11509 .loc 1 6010 3 view .LVU4069
6010:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
11510 .loc 1 6010 23 is_stmt 0 view .LVU4070
11511 0038 0023 movs r3, #0
11512 003a 6363 str r3, [r4, #52]
6011:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11513 .loc 1 6011 3 is_stmt 1 view .LVU4071
6011:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11514 .loc 1 6011 23 is_stmt 0 view .LVU4072
11515 003c A3F58033 sub r3, r3, #65536
11516 0040 E362 str r3, [r4, #44]
6013:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
11517 .loc 1 6013 3 is_stmt 1 view .LVU4073
ARM GAS /tmp/ccNVyn8W.s page 398
6013:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
11518 .loc 1 6013 6 is_stmt 0 view .LVU4074
11519 0042 15F0100F tst r5, #16
11520 0046 06D0 beq .L737
6016:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11521 .loc 1 6016 5 is_stmt 1 view .LVU4075
11522 0048 2368 ldr r3, [r4]
11523 004a 1022 movs r2, #16
11524 004c DA61 str r2, [r3, #28]
6019:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
11525 .loc 1 6019 5 view .LVU4076
6019:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
11526 .loc 1 6019 9 is_stmt 0 view .LVU4077
11527 004e 636C ldr r3, [r4, #68]
6019:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
11528 .loc 1 6019 21 view .LVU4078
11529 0050 43F00403 orr r3, r3, #4
11530 0054 6364 str r3, [r4, #68]
11531 .L737:
6023:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
11532 .loc 1 6023 3 is_stmt 1 view .LVU4079
6023:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
11533 .loc 1 6023 12 is_stmt 0 view .LVU4080
11534 0056 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2
11535 005a DBB2 uxtb r3, r3
6023:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
11536 .loc 1 6023 6 view .LVU4081
11537 005c 602B cmp r3, #96
11538 005e 1BD0 beq .L748
11539 .L738:
6031:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11540 .loc 1 6031 3 is_stmt 1 view .LVU4082
11541 0060 2046 mov r0, r4
11542 0062 FFF7FEFF bl I2C_Flush_TXDR
11543 .LVL795:
6034:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11544 .loc 1 6034 3 view .LVU4083
6034:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11545 .loc 1 6034 12 is_stmt 0 view .LVU4084
11546 0066 626C ldr r2, [r4, #68]
11547 .LVL796:
6037:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
11548 .loc 1 6037 3 is_stmt 1 view .LVU4085
6037:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
11549 .loc 1 6037 12 is_stmt 0 view .LVU4086
11550 0068 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2
11551 006c DBB2 uxtb r3, r3
6037:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
11552 .loc 1 6037 6 view .LVU4087
11553 006e 602B cmp r3, #96
11554 0070 00D0 beq .L739
6037:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
11555 .loc 1 6037 44 discriminator 1 view .LVU4088
11556 0072 D2B1 cbz r2, .L740
11557 .L739:
6040:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
11558 .loc 1 6040 5 is_stmt 1 view .LVU4089
ARM GAS /tmp/ccNVyn8W.s page 399
6040:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
11559 .loc 1 6040 27 is_stmt 0 view .LVU4090
11560 0074 616C ldr r1, [r4, #68]
6040:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
11561 .loc 1 6040 5 view .LVU4091
11562 0076 2046 mov r0, r4
11563 0078 FFF7FEFF bl I2C_ITError
11564 .LVL797:
11565 .L734:
6116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11566 .loc 1 6116 1 view .LVU4092
11567 007c 03B0 add sp, sp, #12
11568 .cfi_remember_state
11569 .cfi_def_cfa_offset 12
11570 @ sp needed
11571 007e 30BD pop {r4, r5, pc}
11572 .LVL798:
11573 .L746:
11574 .cfi_restore_state
5993:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_TX;
11575 .loc 1 5993 5 is_stmt 1 view .LVU4093
11576 0080 0121 movs r1, #1
11577 .LVL799:
5993:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_TX;
11578 .loc 1 5993 5 is_stmt 0 view .LVU4094
11579 0082 FFF7FEFF bl I2C_Disable_IRQ
11580 .LVL800:
5994:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
11581 .loc 1 5994 5 is_stmt 1 view .LVU4095
5994:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
11582 .loc 1 5994 25 is_stmt 0 view .LVU4096
11583 0086 1123 movs r3, #17
11584 0088 2363 str r3, [r4, #48]
11585 008a CAE7 b .L736
11586 .LVL801:
11587 .L747:
5998:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_RX;
11588 .loc 1 5998 5 is_stmt 1 view .LVU4097
11589 008c 0221 movs r1, #2
11590 .LVL802:
5998:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_RX;
11591 .loc 1 5998 5 is_stmt 0 view .LVU4098
11592 008e FFF7FEFF bl I2C_Disable_IRQ
11593 .LVL803:
5999:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
11594 .loc 1 5999 5 is_stmt 1 view .LVU4099
5999:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
11595 .loc 1 5999 25 is_stmt 0 view .LVU4100
11596 0092 1223 movs r3, #18
11597 0094 2363 str r3, [r4, #48]
11598 0096 C4E7 b .L736
11599 .L748:
6023:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
11600 .loc 1 6023 44 discriminator 1 view .LVU4101
11601 0098 15F0040F tst r5, #4
11602 009c E0D0 beq .L738
6026:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** UNUSED(tmpreg);
ARM GAS /tmp/ccNVyn8W.s page 400
11603 .loc 1 6026 5 is_stmt 1 view .LVU4102
6026:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** UNUSED(tmpreg);
11604 .loc 1 6026 27 is_stmt 0 view .LVU4103
11605 009e 2368 ldr r3, [r4]
6026:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** UNUSED(tmpreg);
11606 .loc 1 6026 37 view .LVU4104
11607 00a0 5B6A ldr r3, [r3, #36]
11608 00a2 DBB2 uxtb r3, r3
6026:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** UNUSED(tmpreg);
11609 .loc 1 6026 12 view .LVU4105
11610 00a4 0193 str r3, [sp, #4]
6027:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
11611 .loc 1 6027 5 is_stmt 1 view .LVU4106
11612 00a6 019B ldr r3, [sp, #4]
11613 00a8 DAE7 b .L738
11614 .LVL804:
11615 .L740:
6043:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
11616 .loc 1 6043 8 view .LVU4107
6043:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
11617 .loc 1 6043 16 is_stmt 0 view .LVU4108
11618 00aa 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2
11619 00ae DBB2 uxtb r3, r3
6043:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
11620 .loc 1 6043 11 view .LVU4109
11621 00b0 212B cmp r3, #33
11622 00b2 17D0 beq .L749
6078:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
11623 .loc 1 6078 8 is_stmt 1 view .LVU4110
6078:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
11624 .loc 1 6078 16 is_stmt 0 view .LVU4111
11625 00b4 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2
11626 00b8 DBB2 uxtb r3, r3
6078:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
11627 .loc 1 6078 11 view .LVU4112
11628 00ba 222B cmp r3, #34
11629 00bc DED1 bne .L734
6080:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
11630 .loc 1 6080 5 is_stmt 1 view .LVU4113
6080:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
11631 .loc 1 6080 17 is_stmt 0 view .LVU4114
11632 00be 2023 movs r3, #32
11633 00c0 84F84130 strb r3, [r4, #65]
6081:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11634 .loc 1 6081 5 is_stmt 1 view .LVU4115
6081:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11635 .loc 1 6081 25 is_stmt 0 view .LVU4116
11636 00c4 0023 movs r3, #0
11637 00c6 2363 str r3, [r4, #48]
6083:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
11638 .loc 1 6083 5 is_stmt 1 view .LVU4117
6083:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
11639 .loc 1 6083 13 is_stmt 0 view .LVU4118
11640 00c8 94F84230 ldrb r3, [r4, #66] @ zero_extendqisi2
11641 00cc DBB2 uxtb r3, r3
6083:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
11642 .loc 1 6083 8 view .LVU4119
ARM GAS /tmp/ccNVyn8W.s page 401
11643 00ce 402B cmp r3, #64
11644 00d0 24D0 beq .L750
6099:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11645 .loc 1 6099 7 is_stmt 1 view .LVU4120
6099:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11646 .loc 1 6099 18 is_stmt 0 view .LVU4121
11647 00d2 0023 movs r3, #0
11648 00d4 84F84230 strb r3, [r4, #66]
6102:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11649 .loc 1 6102 7 is_stmt 1 view .LVU4122
6102:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11650 .loc 1 6102 7 view .LVU4123
11651 00d8 84F84030 strb r3, [r4, #64]
6102:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11652 .loc 1 6102 7 view .LVU4124
6108:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
11653 .loc 1 6108 7 view .LVU4125
11654 00dc 2046 mov r0, r4
11655 00de FFF7FEFF bl HAL_I2C_MasterRxCpltCallback
11656 .LVL805:
6115:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
11657 .loc 1 6115 3 view .LVU4126
6116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11658 .loc 1 6116 1 is_stmt 0 view .LVU4127
11659 00e2 CBE7 b .L734
11660 .LVL806:
11661 .L749:
6045:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
11662 .loc 1 6045 5 is_stmt 1 view .LVU4128
6045:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
11663 .loc 1 6045 17 is_stmt 0 view .LVU4129
11664 00e4 2023 movs r3, #32
11665 00e6 84F84130 strb r3, [r4, #65]
6046:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11666 .loc 1 6046 5 is_stmt 1 view .LVU4130
6046:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11667 .loc 1 6046 25 is_stmt 0 view .LVU4131
11668 00ea 0023 movs r3, #0
11669 00ec 2363 str r3, [r4, #48]
6048:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
11670 .loc 1 6048 5 is_stmt 1 view .LVU4132
6048:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
11671 .loc 1 6048 13 is_stmt 0 view .LVU4133
11672 00ee 94F84230 ldrb r3, [r4, #66] @ zero_extendqisi2
11673 00f2 DBB2 uxtb r3, r3
6048:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
11674 .loc 1 6048 8 view .LVU4134
11675 00f4 402B cmp r3, #64
11676 00f6 08D0 beq .L751
6064:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11677 .loc 1 6064 7 is_stmt 1 view .LVU4135
6064:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11678 .loc 1 6064 18 is_stmt 0 view .LVU4136
11679 00f8 0023 movs r3, #0
11680 00fa 84F84230 strb r3, [r4, #66]
6067:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11681 .loc 1 6067 7 is_stmt 1 view .LVU4137
ARM GAS /tmp/ccNVyn8W.s page 402
6067:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11682 .loc 1 6067 7 view .LVU4138
11683 00fe 84F84030 strb r3, [r4, #64]
6067:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11684 .loc 1 6067 7 view .LVU4139
6073:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
11685 .loc 1 6073 7 view .LVU4140
11686 0102 2046 mov r0, r4
11687 0104 FFF7FEFF bl HAL_I2C_MasterTxCpltCallback
11688 .LVL807:
6073:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
11689 .loc 1 6073 7 is_stmt 0 view .LVU4141
11690 0108 B8E7 b .L734
11691 .LVL808:
11692 .L751:
6050:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11693 .loc 1 6050 7 is_stmt 1 view .LVU4142
6050:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11694 .loc 1 6050 18 is_stmt 0 view .LVU4143
11695 010a 0023 movs r3, #0
11696 010c 84F84230 strb r3, [r4, #66]
6053:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11697 .loc 1 6053 7 is_stmt 1 view .LVU4144
6053:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11698 .loc 1 6053 7 view .LVU4145
11699 0110 84F84030 strb r3, [r4, #64]
6053:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11700 .loc 1 6053 7 view .LVU4146
6059:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
11701 .loc 1 6059 7 view .LVU4147
11702 0114 2046 mov r0, r4
11703 0116 FFF7FEFF bl HAL_I2C_MemTxCpltCallback
11704 .LVL809:
6059:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
11705 .loc 1 6059 7 is_stmt 0 view .LVU4148
11706 011a AFE7 b .L734
11707 .LVL810:
11708 .L750:
6085:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11709 .loc 1 6085 7 is_stmt 1 view .LVU4149
6085:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11710 .loc 1 6085 18 is_stmt 0 view .LVU4150
11711 011c 0023 movs r3, #0
11712 011e 84F84230 strb r3, [r4, #66]
6088:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11713 .loc 1 6088 7 is_stmt 1 view .LVU4151
6088:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11714 .loc 1 6088 7 view .LVU4152
11715 0122 84F84030 strb r3, [r4, #64]
6088:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11716 .loc 1 6088 7 view .LVU4153
6094:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
11717 .loc 1 6094 7 view .LVU4154
11718 0126 2046 mov r0, r4
11719 0128 FFF7FEFF bl HAL_I2C_MemRxCpltCallback
11720 .LVL811:
6094:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
ARM GAS /tmp/ccNVyn8W.s page 403
11721 .loc 1 6094 7 is_stmt 0 view .LVU4155
11722 012c A6E7 b .L734
11723 .cfi_endproc
11724 .LFE190:
11726 .section .text.I2C_Master_ISR_IT,"ax",%progbits
11727 .align 1
11728 .syntax unified
11729 .thumb
11730 .thumb_func
11732 I2C_Master_ISR_IT:
11733 .LVL812:
11734 .LFB179:
4809:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t devaddress;
11735 .loc 1 4809 1 is_stmt 1 view -0
11736 .cfi_startproc
11737 @ args = 0, pretend = 0, frame = 0
11738 @ frame_needed = 0, uses_anonymous_args = 0
4810:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpITFlags = ITFlags;
11739 .loc 1 4810 3 view .LVU4157
4811:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11740 .loc 1 4811 3 view .LVU4158
4814:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11741 .loc 1 4814 3 view .LVU4159
4814:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11742 .loc 1 4814 3 view .LVU4160
11743 0000 90F84030 ldrb r3, [r0, #64] @ zero_extendqisi2
11744 0004 012B cmp r3, #1
11745 0006 00F0B980 beq .L766
4809:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t devaddress;
11746 .loc 1 4809 1 is_stmt 0 view .LVU4161
11747 000a 70B5 push {r4, r5, r6, lr}
11748 .cfi_def_cfa_offset 16
11749 .cfi_offset 4, -16
11750 .cfi_offset 5, -12
11751 .cfi_offset 6, -8
11752 .cfi_offset 14, -4
11753 000c 82B0 sub sp, sp, #8
11754 .cfi_def_cfa_offset 24
11755 000e 0446 mov r4, r0
11756 0010 0D46 mov r5, r1
11757 0012 1646 mov r6, r2
4814:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11758 .loc 1 4814 3 is_stmt 1 discriminator 2 view .LVU4162
11759 0014 0123 movs r3, #1
11760 0016 80F84030 strb r3, [r0, #64]
4814:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11761 .loc 1 4814 3 discriminator 2 view .LVU4163
4816:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
11762 .loc 1 4816 3 view .LVU4164
4816:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
11763 .loc 1 4816 6 is_stmt 0 view .LVU4165
11764 001a 11F0100F tst r1, #16
11765 001e 02D0 beq .L754
4816:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
11766 .loc 1 4816 58 discriminator 1 view .LVU4166
11767 0020 12F0100F tst r2, #16
11768 0024 22D1 bne .L771
ARM GAS /tmp/ccNVyn8W.s page 404
11769 .L754:
4830:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_RXI) != RESET))
11770 .loc 1 4830 8 is_stmt 1 view .LVU4167
4830:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_RXI) != RESET))
11771 .loc 1 4830 11 is_stmt 0 view .LVU4168
11772 0026 15F0040F tst r5, #4
11773 002a 29D0 beq .L756
4830:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_RXI) != RESET))
11774 .loc 1 4830 65 discriminator 1 view .LVU4169
11775 002c 16F0040F tst r6, #4
11776 0030 26D0 beq .L756
4834:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11777 .loc 1 4834 5 is_stmt 1 view .LVU4170
4834:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11778 .loc 1 4834 16 is_stmt 0 view .LVU4171
11779 0032 25F00405 bic r5, r5, #4
11780 .LVL813:
4837:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11781 .loc 1 4837 5 is_stmt 1 view .LVU4172
4837:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11782 .loc 1 4837 36 is_stmt 0 view .LVU4173
11783 0036 2368 ldr r3, [r4]
4837:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11784 .loc 1 4837 46 view .LVU4174
11785 0038 5A6A ldr r2, [r3, #36]
11786 .LVL814:
4837:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11787 .loc 1 4837 10 view .LVU4175
11788 003a 636A ldr r3, [r4, #36]
4837:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11789 .loc 1 4837 21 view .LVU4176
11790 003c 1A70 strb r2, [r3]
4840:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11791 .loc 1 4840 5 is_stmt 1 view .LVU4177
4840:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11792 .loc 1 4840 9 is_stmt 0 view .LVU4178
11793 003e 636A ldr r3, [r4, #36]
4840:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11794 .loc 1 4840 19 view .LVU4179
11795 0040 0133 adds r3, r3, #1
11796 0042 6362 str r3, [r4, #36]
4842:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--;
11797 .loc 1 4842 5 is_stmt 1 view .LVU4180
4842:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--;
11798 .loc 1 4842 9 is_stmt 0 view .LVU4181
11799 0044 238D ldrh r3, [r4, #40]
4842:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--;
11800 .loc 1 4842 19 view .LVU4182
11801 0046 013B subs r3, r3, #1
11802 0048 2385 strh r3, [r4, #40] @ movhi
4843:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
11803 .loc 1 4843 5 is_stmt 1 view .LVU4183
4843:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
11804 .loc 1 4843 9 is_stmt 0 view .LVU4184
11805 004a 638D ldrh r3, [r4, #42]
11806 004c 9BB2 uxth r3, r3
4843:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
ARM GAS /tmp/ccNVyn8W.s page 405
11807 .loc 1 4843 20 view .LVU4185
11808 004e 013B subs r3, r3, #1
11809 0050 9BB2 uxth r3, r3
11810 0052 6385 strh r3, [r4, #42] @ movhi
11811 .LVL815:
11812 .L755:
4930:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11813 .loc 1 4930 3 is_stmt 1 view .LVU4186
4932:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
11814 .loc 1 4932 3 view .LVU4187
4932:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
11815 .loc 1 4932 6 is_stmt 0 view .LVU4188
11816 0054 15F0200F tst r5, #32
11817 0058 03D0 beq .L765
4932:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
11818 .loc 1 4932 61 discriminator 1 view .LVU4189
11819 005a 16F0200F tst r6, #32
11820 005e 40F08880 bne .L772
11821 .L765:
4940:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11822 .loc 1 4940 3 is_stmt 1 view .LVU4190
4940:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11823 .loc 1 4940 3 view .LVU4191
11824 0062 0020 movs r0, #0
11825 0064 84F84000 strb r0, [r4, #64]
4940:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11826 .loc 1 4940 3 view .LVU4192
4942:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
11827 .loc 1 4942 3 view .LVU4193
4943:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11828 .loc 1 4943 1 is_stmt 0 view .LVU4194
11829 0068 02B0 add sp, sp, #8
11830 .cfi_remember_state
11831 .cfi_def_cfa_offset 16
11832 @ sp needed
11833 006a 70BD pop {r4, r5, r6, pc}
11834 .LVL816:
11835 .L771:
11836 .cfi_restore_state
4820:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11837 .loc 1 4820 5 is_stmt 1 view .LVU4195
11838 006c 0368 ldr r3, [r0]
11839 006e 1022 movs r2, #16
11840 .LVL817:
4820:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11841 .loc 1 4820 5 is_stmt 0 view .LVU4196
11842 0070 DA61 str r2, [r3, #28]
4825:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11843 .loc 1 4825 5 is_stmt 1 view .LVU4197
4825:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11844 .loc 1 4825 9 is_stmt 0 view .LVU4198
11845 0072 436C ldr r3, [r0, #68]
4825:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11846 .loc 1 4825 21 view .LVU4199
11847 0074 43F00403 orr r3, r3, #4
11848 0078 4364 str r3, [r0, #68]
4828:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
ARM GAS /tmp/ccNVyn8W.s page 406
11849 .loc 1 4828 5 is_stmt 1 view .LVU4200
11850 007a FFF7FEFF bl I2C_Flush_TXDR
11851 .LVL818:
4828:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
11852 .loc 1 4828 5 is_stmt 0 view .LVU4201
11853 007e E9E7 b .L755
11854 .LVL819:
11855 .L756:
4845:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TXI) != RESET))
11856 .loc 1 4845 8 is_stmt 1 view .LVU4202
4845:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TXI) != RESET))
11857 .loc 1 4845 11 is_stmt 0 view .LVU4203
11858 0080 15F0020F tst r5, #2
11859 0084 12D0 beq .L757
4845:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TXI) != RESET))
11860 .loc 1 4845 65 discriminator 1 view .LVU4204
11861 0086 16F0020F tst r6, #2
11862 008a 0FD0 beq .L757
4849:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11863 .loc 1 4849 5 is_stmt 1 view .LVU4205
4849:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11864 .loc 1 4849 33 is_stmt 0 view .LVU4206
11865 008c 626A ldr r2, [r4, #36]
11866 .LVL820:
4849:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11867 .loc 1 4849 9 view .LVU4207
11868 008e 2368 ldr r3, [r4]
4849:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11869 .loc 1 4849 28 view .LVU4208
11870 0090 1278 ldrb r2, [r2] @ zero_extendqisi2
4849:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11871 .loc 1 4849 26 view .LVU4209
11872 0092 9A62 str r2, [r3, #40]
4852:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11873 .loc 1 4852 5 is_stmt 1 view .LVU4210
4852:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11874 .loc 1 4852 9 is_stmt 0 view .LVU4211
11875 0094 636A ldr r3, [r4, #36]
4852:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11876 .loc 1 4852 19 view .LVU4212
11877 0096 0133 adds r3, r3, #1
11878 0098 6362 str r3, [r4, #36]
4854:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--;
11879 .loc 1 4854 5 is_stmt 1 view .LVU4213
4854:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--;
11880 .loc 1 4854 9 is_stmt 0 view .LVU4214
11881 009a 238D ldrh r3, [r4, #40]
4854:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--;
11882 .loc 1 4854 19 view .LVU4215
11883 009c 013B subs r3, r3, #1
11884 009e 2385 strh r3, [r4, #40] @ movhi
4855:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
11885 .loc 1 4855 5 is_stmt 1 view .LVU4216
4855:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
11886 .loc 1 4855 9 is_stmt 0 view .LVU4217
11887 00a0 638D ldrh r3, [r4, #42]
11888 00a2 9BB2 uxth r3, r3
ARM GAS /tmp/ccNVyn8W.s page 407
4855:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
11889 .loc 1 4855 20 view .LVU4218
11890 00a4 013B subs r3, r3, #1
11891 00a6 9BB2 uxth r3, r3
11892 00a8 6385 strh r3, [r4, #42] @ movhi
11893 00aa D3E7 b .L755
11894 .LVL821:
11895 .L757:
4857:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
11896 .loc 1 4857 8 is_stmt 1 view .LVU4219
4857:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
11897 .loc 1 4857 11 is_stmt 0 view .LVU4220
11898 00ac 15F0800F tst r5, #128
11899 00b0 3FD0 beq .L758
4857:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
11900 .loc 1 4857 64 discriminator 1 view .LVU4221
11901 00b2 16F0400F tst r6, #64
11902 00b6 3CD0 beq .L758
4860:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
11903 .loc 1 4860 5 is_stmt 1 view .LVU4222
4860:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
11904 .loc 1 4860 14 is_stmt 0 view .LVU4223
11905 00b8 638D ldrh r3, [r4, #42]
11906 00ba 9BB2 uxth r3, r3
4860:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
11907 .loc 1 4860 8 view .LVU4224
11908 00bc 5BB3 cbz r3, .L759
4860:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
11909 .loc 1 4860 41 discriminator 1 view .LVU4225
11910 00be 238D ldrh r3, [r4, #40]
4860:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
11911 .loc 1 4860 33 discriminator 1 view .LVU4226
11912 00c0 4BBB cbnz r3, .L759
4862:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11913 .loc 1 4862 7 is_stmt 1 view .LVU4227
4862:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11914 .loc 1 4862 35 is_stmt 0 view .LVU4228
11915 00c2 2368 ldr r3, [r4]
4862:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11916 .loc 1 4862 45 view .LVU4229
11917 00c4 5968 ldr r1, [r3, #4]
11918 .LVL822:
4862:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
11919 .loc 1 4862 18 view .LVU4230
11920 00c6 C1F30901 ubfx r1, r1, #0, #10
11921 .LVL823:
4864:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
11922 .loc 1 4864 7 is_stmt 1 view .LVU4231
4864:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
11923 .loc 1 4864 15 is_stmt 0 view .LVU4232
11924 00ca 638D ldrh r3, [r4, #42]
11925 00cc 9BB2 uxth r3, r3
4864:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
11926 .loc 1 4864 10 view .LVU4233
11927 00ce FF2B cmp r3, #255
11928 00d0 0ED8 bhi .L773
4871:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferOptions != I2C_NO_OPTION_FRAME)
ARM GAS /tmp/ccNVyn8W.s page 408
11929 .loc 1 4871 9 is_stmt 1 view .LVU4234
4871:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferOptions != I2C_NO_OPTION_FRAME)
11930 .loc 1 4871 30 is_stmt 0 view .LVU4235
11931 00d2 628D ldrh r2, [r4, #42]
11932 .LVL824:
4871:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferOptions != I2C_NO_OPTION_FRAME)
11933 .loc 1 4871 30 view .LVU4236
11934 00d4 92B2 uxth r2, r2
4871:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferOptions != I2C_NO_OPTION_FRAME)
11935 .loc 1 4871 24 view .LVU4237
11936 00d6 2285 strh r2, [r4, #40] @ movhi
4872:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
11937 .loc 1 4872 9 is_stmt 1 view .LVU4238
4872:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
11938 .loc 1 4872 17 is_stmt 0 view .LVU4239
11939 00d8 E36A ldr r3, [r4, #44]
4872:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
11940 .loc 1 4872 12 view .LVU4240
11941 00da 13F5803F cmn r3, #65536
11942 00de 11D0 beq .L761
4874:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions, I2C_NO_STARTSTOP);
11943 .loc 1 4874 11 is_stmt 1 view .LVU4241
4875:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
11944 .loc 1 4875 34 is_stmt 0 view .LVU4242
11945 00e0 E36A ldr r3, [r4, #44]
4874:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions, I2C_NO_STARTSTOP);
11946 .loc 1 4874 11 view .LVU4243
11947 00e2 0020 movs r0, #0
11948 .LVL825:
4874:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions, I2C_NO_STARTSTOP);
11949 .loc 1 4874 11 view .LVU4244
11950 00e4 0090 str r0, [sp]
11951 00e6 D2B2 uxtb r2, r2
11952 00e8 2046 mov r0, r4
11953 00ea FFF7FEFF bl I2C_TransferConfig
11954 .LVL826:
4874:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions, I2C_NO_STARTSTOP);
11955 .loc 1 4874 11 view .LVU4245
11956 00ee B1E7 b .L755
11957 .LVL827:
11958 .L773:
4866:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, devaddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, I2C_NO_START
11959 .loc 1 4866 9 is_stmt 1 view .LVU4246
4866:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, devaddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, I2C_NO_START
11960 .loc 1 4866 24 is_stmt 0 view .LVU4247
11961 00f0 FF22 movs r2, #255
11962 .LVL828:
4866:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, devaddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, I2C_NO_START
11963 .loc 1 4866 24 view .LVU4248
11964 00f2 2285 strh r2, [r4, #40] @ movhi
4867:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
11965 .loc 1 4867 9 is_stmt 1 view .LVU4249
11966 00f4 0023 movs r3, #0
11967 00f6 0093 str r3, [sp]
11968 00f8 4FF08073 mov r3, #16777216
11969 00fc 2046 mov r0, r4
11970 .LVL829:
ARM GAS /tmp/ccNVyn8W.s page 409
4867:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
11971 .loc 1 4867 9 is_stmt 0 view .LVU4250
11972 00fe FFF7FEFF bl I2C_TransferConfig
11973 .LVL830:
4867:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
11974 .loc 1 4867 9 view .LVU4251
11975 0102 A7E7 b .L755
11976 .LVL831:
11977 .L761:
4879:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_AUTOEND_MODE, I2C_NO_STARTSTOP);
11978 .loc 1 4879 11 is_stmt 1 view .LVU4252
11979 0104 0023 movs r3, #0
11980 0106 0093 str r3, [sp]
11981 0108 4FF00073 mov r3, #33554432
11982 010c D2B2 uxtb r2, r2
11983 010e 2046 mov r0, r4
11984 .LVL832:
4879:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_AUTOEND_MODE, I2C_NO_STARTSTOP);
11985 .loc 1 4879 11 is_stmt 0 view .LVU4253
11986 0110 FFF7FEFF bl I2C_TransferConfig
11987 .LVL833:
4879:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_AUTOEND_MODE, I2C_NO_STARTSTOP);
11988 .loc 1 4879 11 view .LVU4254
11989 0114 9EE7 b .L755
11990 .LVL834:
11991 .L759:
4887:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
11992 .loc 1 4887 7 is_stmt 1 view .LVU4255
4887:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
11993 .loc 1 4887 11 is_stmt 0 view .LVU4256
11994 0116 2368 ldr r3, [r4]
11995 0118 5B68 ldr r3, [r3, #4]
4887:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
11996 .loc 1 4887 10 view .LVU4257
11997 011a 13F0007F tst r3, #33554432
11998 011e 03D1 bne .L762
4890:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
11999 .loc 1 4890 9 is_stmt 1 view .LVU4258
12000 0120 2046 mov r0, r4
12001 .LVL835:
4890:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
12002 .loc 1 4890 9 is_stmt 0 view .LVU4259
12003 0122 FFF7FEFF bl I2C_ITMasterSeqCplt
12004 .LVL836:
4890:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
12005 .loc 1 4890 9 view .LVU4260
12006 0126 95E7 b .L755
12007 .LVL837:
12008 .L762:
4896:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
12009 .loc 1 4896 9 is_stmt 1 view .LVU4261
12010 0128 4021 movs r1, #64
12011 .LVL838:
4896:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
12012 .loc 1 4896 9 is_stmt 0 view .LVU4262
12013 012a 2046 mov r0, r4
12014 .LVL839:
ARM GAS /tmp/ccNVyn8W.s page 410
4896:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
12015 .loc 1 4896 9 view .LVU4263
12016 012c FFF7FEFF bl I2C_ITError
12017 .LVL840:
4896:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
12018 .loc 1 4896 9 view .LVU4264
12019 0130 90E7 b .L755
12020 .LVL841:
12021 .L758:
4900:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
12022 .loc 1 4900 8 is_stmt 1 view .LVU4265
4900:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
12023 .loc 1 4900 11 is_stmt 0 view .LVU4266
12024 0132 15F0400F tst r5, #64
12025 0136 8DD0 beq .L755
4900:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
12026 .loc 1 4900 63 discriminator 1 view .LVU4267
12027 0138 16F0400F tst r6, #64
12028 013c 8AD0 beq .L755
4903:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
12029 .loc 1 4903 5 is_stmt 1 view .LVU4268
4903:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
12030 .loc 1 4903 13 is_stmt 0 view .LVU4269
12031 013e 638D ldrh r3, [r4, #42]
12032 0140 9BB2 uxth r3, r3
4903:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
12033 .loc 1 4903 8 view .LVU4270
12034 0142 8BB9 cbnz r3, .L763
4905:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
12035 .loc 1 4905 7 is_stmt 1 view .LVU4271
4905:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
12036 .loc 1 4905 11 is_stmt 0 view .LVU4272
12037 0144 2368 ldr r3, [r4]
12038 0146 5A68 ldr r2, [r3, #4]
12039 .LVL842:
4905:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
12040 .loc 1 4905 10 view .LVU4273
12041 0148 12F0007F tst r2, #33554432
12042 014c 82D1 bne .L755
4908:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
12043 .loc 1 4908 9 is_stmt 1 view .LVU4274
4908:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
12044 .loc 1 4908 17 is_stmt 0 view .LVU4275
12045 014e E26A ldr r2, [r4, #44]
4908:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
12046 .loc 1 4908 12 view .LVU4276
12047 0150 12F5803F cmn r2, #65536
12048 0154 04D1 bne .L764
4911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
12049 .loc 1 4911 11 is_stmt 1 view .LVU4277
4911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
12050 .loc 1 4911 25 is_stmt 0 view .LVU4278
12051 0156 5A68 ldr r2, [r3, #4]
4911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
12052 .loc 1 4911 31 view .LVU4279
12053 0158 42F48042 orr r2, r2, #16384
12054 015c 5A60 str r2, [r3, #4]
ARM GAS /tmp/ccNVyn8W.s page 411
12055 015e 79E7 b .L755
12056 .L764:
4916:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
12057 .loc 1 4916 11 is_stmt 1 view .LVU4280
12058 0160 2046 mov r0, r4
12059 .LVL843:
4916:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
12060 .loc 1 4916 11 is_stmt 0 view .LVU4281
12061 0162 FFF7FEFF bl I2C_ITMasterSeqCplt
12062 .LVL844:
4916:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
12063 .loc 1 4916 11 view .LVU4282
12064 0166 75E7 b .L755
12065 .LVL845:
12066 .L763:
4924:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
12067 .loc 1 4924 7 is_stmt 1 view .LVU4283
12068 0168 4021 movs r1, #64
12069 .LVL846:
4924:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
12070 .loc 1 4924 7 is_stmt 0 view .LVU4284
12071 016a 2046 mov r0, r4
12072 .LVL847:
4924:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
12073 .loc 1 4924 7 view .LVU4285
12074 016c FFF7FEFF bl I2C_ITError
12075 .LVL848:
4924:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
12076 .loc 1 4924 7 view .LVU4286
12077 0170 70E7 b .L755
12078 .LVL849:
12079 .L772:
4936:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
12080 .loc 1 4936 5 is_stmt 1 view .LVU4287
12081 0172 2946 mov r1, r5
12082 0174 2046 mov r0, r4
12083 0176 FFF7FEFF bl I2C_ITMasterCplt
12084 .LVL850:
12085 017a 72E7 b .L765
12086 .LVL851:
12087 .L766:
12088 .cfi_def_cfa_offset 0
12089 .cfi_restore 4
12090 .cfi_restore 5
12091 .cfi_restore 6
12092 .cfi_restore 14
4814:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
12093 .loc 1 4814 3 is_stmt 0 discriminator 1 view .LVU4288
12094 017c 0220 movs r0, #2
12095 .LVL852:
4943:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
12096 .loc 1 4943 1 view .LVU4289
12097 017e 7047 bx lr
12098 .cfi_endproc
12099 .LFE179:
12101 .section .text.I2C_Mem_ISR_DMA,"ax",%progbits
12102 .align 1
ARM GAS /tmp/ccNVyn8W.s page 412
12103 .syntax unified
12104 .thumb
12105 .thumb_func
12107 I2C_Mem_ISR_DMA:
12108 .LVL853:
12109 .LFB183:
5373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t direction = I2C_GENERATE_START_WRITE;
12110 .loc 1 5373 1 is_stmt 1 view -0
12111 .cfi_startproc
12112 @ args = 0, pretend = 0, frame = 0
12113 @ frame_needed = 0, uses_anonymous_args = 0
5374:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
12114 .loc 1 5374 3 view .LVU4291
5377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
12115 .loc 1 5377 3 view .LVU4292
5377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
12116 .loc 1 5377 3 view .LVU4293
12117 0000 90F84030 ldrb r3, [r0, #64] @ zero_extendqisi2
12118 0004 012B cmp r3, #1
12119 0006 00F0BE80 beq .L789
5373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t direction = I2C_GENERATE_START_WRITE;
12120 .loc 1 5373 1 is_stmt 0 view .LVU4294
12121 000a 10B5 push {r4, lr}
12122 .cfi_def_cfa_offset 8
12123 .cfi_offset 4, -8
12124 .cfi_offset 14, -4
12125 000c 82B0 sub sp, sp, #8
12126 .cfi_def_cfa_offset 16
12127 000e 0446 mov r4, r0
5377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
12128 .loc 1 5377 3 is_stmt 1 discriminator 2 view .LVU4295
12129 0010 0123 movs r3, #1
12130 0012 80F84030 strb r3, [r0, #64]
5377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
12131 .loc 1 5377 3 discriminator 2 view .LVU4296
5379:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
12132 .loc 1 5379 3 view .LVU4297
5379:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
12133 .loc 1 5379 6 is_stmt 0 view .LVU4298
12134 0016 11F0100F tst r1, #16
12135 001a 02D0 beq .L776
5379:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
12136 .loc 1 5379 55 discriminator 1 view .LVU4299
12137 001c 12F0100F tst r2, #16
12138 0020 10D1 bne .L795
12139 .L776:
5396:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TXI) != RESET))
12140 .loc 1 5396 8 is_stmt 1 view .LVU4300
5396:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TXI) != RESET))
12141 .loc 1 5396 11 is_stmt 0 view .LVU4301
12142 0022 11F0020F tst r1, #2
12143 0026 1BD0 beq .L778
5396:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TXI) != RESET))
12144 .loc 1 5396 62 discriminator 1 view .LVU4302
12145 0028 12F0020F tst r2, #2
12146 002c 18D0 beq .L778
5400:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
ARM GAS /tmp/ccNVyn8W.s page 413
12147 .loc 1 5400 5 is_stmt 1 view .LVU4303
5400:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
12148 .loc 1 5400 9 is_stmt 0 view .LVU4304
12149 002e 2368 ldr r3, [r4]
5400:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
12150 .loc 1 5400 32 view .LVU4305
12151 0030 226D ldr r2, [r4, #80]
12152 .LVL854:
5400:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
12153 .loc 1 5400 26 view .LVU4306
12154 0032 9A62 str r2, [r3, #40]
5403:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
12155 .loc 1 5403 5 is_stmt 1 view .LVU4307
5403:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
12156 .loc 1 5403 22 is_stmt 0 view .LVU4308
12157 0034 4FF0FF33 mov r3, #-1
12158 0038 2365 str r3, [r4, #80]
12159 .LVL855:
12160 .L777:
5494:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
12161 .loc 1 5494 3 is_stmt 1 view .LVU4309
5497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
12162 .loc 1 5497 3 view .LVU4310
5497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
12163 .loc 1 5497 3 view .LVU4311
12164 003a 0020 movs r0, #0
12165 003c 84F84000 strb r0, [r4, #64]
5497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
12166 .loc 1 5497 3 view .LVU4312
5499:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
12167 .loc 1 5499 3 view .LVU4313
5500:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
12168 .loc 1 5500 1 is_stmt 0 view .LVU4314
12169 0040 02B0 add sp, sp, #8
12170 .cfi_remember_state
12171 .cfi_def_cfa_offset 8
12172 @ sp needed
12173 0042 10BD pop {r4, pc}
12174 .LVL856:
12175 .L795:
12176 .cfi_restore_state
5383:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
12177 .loc 1 5383 5 is_stmt 1 view .LVU4315
12178 0044 0368 ldr r3, [r0]
12179 0046 1022 movs r2, #16
12180 .LVL857:
5383:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
12181 .loc 1 5383 5 is_stmt 0 view .LVU4316
12182 0048 DA61 str r2, [r3, #28]
5386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
12183 .loc 1 5386 5 is_stmt 1 view .LVU4317
5386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
12184 .loc 1 5386 9 is_stmt 0 view .LVU4318
12185 004a 436C ldr r3, [r0, #68]
5386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
12186 .loc 1 5386 21 view .LVU4319
12187 004c 43F00403 orr r3, r3, #4
ARM GAS /tmp/ccNVyn8W.s page 414
12188 0050 4364 str r3, [r0, #68]
5391:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
12189 .loc 1 5391 5 is_stmt 1 view .LVU4320
12190 0052 2021 movs r1, #32
12191 .LVL858:
5391:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
12192 .loc 1 5391 5 is_stmt 0 view .LVU4321
12193 0054 FFF7FEFF bl I2C_Enable_IRQ
12194 .LVL859:
5394:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
12195 .loc 1 5394 5 is_stmt 1 view .LVU4322
12196 0058 2046 mov r0, r4
12197 005a FFF7FEFF bl I2C_Flush_TXDR
12198 .LVL860:
12199 005e ECE7 b .L777
12200 .LVL861:
12201 .L778:
5405:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
12202 .loc 1 5405 8 view .LVU4323
5405:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
12203 .loc 1 5405 11 is_stmt 0 view .LVU4324
12204 0060 11F0800F tst r1, #128
12205 0064 02D0 beq .L779
5405:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
12206 .loc 1 5405 61 discriminator 1 view .LVU4325
12207 0066 12F0400F tst r2, #64
12208 006a 2AD1 bne .L796
12209 .L779:
5447:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
12210 .loc 1 5447 8 is_stmt 1 view .LVU4326
5447:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
12211 .loc 1 5447 11 is_stmt 0 view .LVU4327
12212 006c 11F0400F tst r1, #64
12213 0070 7DD0 beq .L784
5447:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
12214 .loc 1 5447 60 discriminator 1 view .LVU4328
12215 0072 12F0400F tst r2, #64
12216 0076 7AD0 beq .L784
5450:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
12217 .loc 1 5450 5 is_stmt 1 view .LVU4329
5450:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
12218 .loc 1 5450 13 is_stmt 0 view .LVU4330
12219 0078 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2
12220 007c DBB2 uxtb r3, r3
5450:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
12221 .loc 1 5450 8 view .LVU4331
12222 007e 222B cmp r3, #34
12223 0080 60D0 beq .L790
5374:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
12224 .loc 1 5374 12 view .LVU4332
12225 0082 4248 ldr r0, .L799
12226 .LVL862:
12227 .L785:
5455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
12228 .loc 1 5455 5 is_stmt 1 view .LVU4333
5455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
12229 .loc 1 5455 13 is_stmt 0 view .LVU4334
ARM GAS /tmp/ccNVyn8W.s page 415
12230 0084 638D ldrh r3, [r4, #42]
12231 0086 9BB2 uxth r3, r3
5455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
12232 .loc 1 5455 8 view .LVU4335
12233 0088 FF2B cmp r3, #255
12234 008a 5DD9 bls .L786
5457:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
12235 .loc 1 5457 7 is_stmt 1 view .LVU4336
5457:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
12236 .loc 1 5457 22 is_stmt 0 view .LVU4337
12237 008c FF22 movs r2, #255
12238 .LVL863:
5457:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
12239 .loc 1 5457 22 view .LVU4338
12240 008e 2285 strh r2, [r4, #40] @ movhi
5460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_RELOAD_MODE, direction);
12241 .loc 1 5460 7 is_stmt 1 view .LVU4339
5460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_RELOAD_MODE, direction);
12242 .loc 1 5460 46 is_stmt 0 view .LVU4340
12243 0090 E16C ldr r1, [r4, #76]
12244 .LVL864:
5460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_RELOAD_MODE, direction);
12245 .loc 1 5460 7 view .LVU4341
12246 0092 0090 str r0, [sp]
12247 0094 4FF08073 mov r3, #16777216
12248 0098 89B2 uxth r1, r1
12249 009a 2046 mov r0, r4
12250 .LVL865:
5460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_RELOAD_MODE, direction);
12251 .loc 1 5460 7 view .LVU4342
12252 009c FFF7FEFF bl I2C_TransferConfig
12253 .LVL866:
12254 .L787:
5473:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
12255 .loc 1 5473 5 is_stmt 1 view .LVU4343
5473:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
12256 .loc 1 5473 9 is_stmt 0 view .LVU4344
12257 00a0 638D ldrh r3, [r4, #42]
12258 00a2 9BB2 uxth r3, r3
5473:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
12259 .loc 1 5473 28 view .LVU4345
12260 00a4 228D ldrh r2, [r4, #40]
5473:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
12261 .loc 1 5473 21 view .LVU4346
12262 00a6 9B1A subs r3, r3, r2
12263 00a8 9BB2 uxth r3, r3
12264 00aa 6385 strh r3, [r4, #42] @ movhi
5476:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
12265 .loc 1 5476 5 is_stmt 1 view .LVU4347
5476:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
12266 .loc 1 5476 13 is_stmt 0 view .LVU4348
12267 00ac 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2
12268 00b0 DBB2 uxtb r3, r3
5476:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
12269 .loc 1 5476 8 view .LVU4349
12270 00b2 222B cmp r3, #34
12271 00b4 55D0 beq .L797
ARM GAS /tmp/ccNVyn8W.s page 416
5482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
12272 .loc 1 5482 7 is_stmt 1 view .LVU4350
5482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
12273 .loc 1 5482 11 is_stmt 0 view .LVU4351
12274 00b6 2268 ldr r2, [r4]
5482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
12275 .loc 1 5482 21 view .LVU4352
12276 00b8 1368 ldr r3, [r2]
5482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
12277 .loc 1 5482 27 view .LVU4353
12278 00ba 43F48043 orr r3, r3, #16384
12279 00be 1360 str r3, [r2]
12280 00c0 BBE7 b .L777
12281 .LVL867:
12282 .L796:
5409:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
12283 .loc 1 5409 5 is_stmt 1 view .LVU4354
12284 00c2 1021 movs r1, #16
12285 .LVL868:
5409:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
12286 .loc 1 5409 5 is_stmt 0 view .LVU4355
12287 00c4 2046 mov r0, r4
12288 .LVL869:
5409:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
12289 .loc 1 5409 5 view .LVU4356
12290 00c6 FFF7FEFF bl I2C_Enable_IRQ
12291 .LVL870:
5411:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
12292 .loc 1 5411 5 is_stmt 1 view .LVU4357
5411:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
12293 .loc 1 5411 13 is_stmt 0 view .LVU4358
12294 00ca 638D ldrh r3, [r4, #42]
12295 00cc 9BB2 uxth r3, r3
5411:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
12296 .loc 1 5411 8 view .LVU4359
12297 00ce 002B cmp r3, #0
12298 00d0 33D0 beq .L780
5414:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
12299 .loc 1 5414 7 is_stmt 1 view .LVU4360
5414:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
12300 .loc 1 5414 15 is_stmt 0 view .LVU4361
12301 00d2 638D ldrh r3, [r4, #42]
12302 00d4 9BB2 uxth r3, r3
5414:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
12303 .loc 1 5414 10 view .LVU4362
12304 00d6 FF2B cmp r3, #255
12305 00d8 1BD9 bls .L781
5416:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, (uint16_t)hi2c->Devaddress, (uint8_t)hi2c->XferSize,
12306 .loc 1 5416 9 is_stmt 1 view .LVU4363
5416:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, (uint16_t)hi2c->Devaddress, (uint8_t)hi2c->XferSize,
12307 .loc 1 5416 24 is_stmt 0 view .LVU4364
12308 00da FF22 movs r2, #255
12309 00dc 2285 strh r2, [r4, #40] @ movhi
5417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_RELOAD_MODE, I2C_NO_STARTSTOP);
12310 .loc 1 5417 9 is_stmt 1 view .LVU4365
5417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_RELOAD_MODE, I2C_NO_STARTSTOP);
12311 .loc 1 5417 48 is_stmt 0 view .LVU4366
ARM GAS /tmp/ccNVyn8W.s page 417
12312 00de E16C ldr r1, [r4, #76]
5417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_RELOAD_MODE, I2C_NO_STARTSTOP);
12313 .loc 1 5417 9 view .LVU4367
12314 00e0 0023 movs r3, #0
12315 00e2 0093 str r3, [sp]
12316 00e4 4FF08073 mov r3, #16777216
12317 00e8 89B2 uxth r1, r1
12318 00ea 2046 mov r0, r4
12319 00ec FFF7FEFF bl I2C_TransferConfig
12320 .LVL871:
12321 .L782:
5428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
12322 .loc 1 5428 7 is_stmt 1 view .LVU4368
5428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
12323 .loc 1 5428 11 is_stmt 0 view .LVU4369
12324 00f0 638D ldrh r3, [r4, #42]
12325 00f2 9BB2 uxth r3, r3
5428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
12326 .loc 1 5428 30 view .LVU4370
12327 00f4 228D ldrh r2, [r4, #40]
5428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
12328 .loc 1 5428 23 view .LVU4371
12329 00f6 9B1A subs r3, r3, r2
12330 00f8 9BB2 uxth r3, r3
12331 00fa 6385 strh r3, [r4, #42] @ movhi
5431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
12332 .loc 1 5431 7 is_stmt 1 view .LVU4372
5431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
12333 .loc 1 5431 15 is_stmt 0 view .LVU4373
12334 00fc 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2
12335 0100 DBB2 uxtb r3, r3
5431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
12336 .loc 1 5431 10 view .LVU4374
12337 0102 222B cmp r3, #34
12338 0104 13D0 beq .L798
5437:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
12339 .loc 1 5437 9 is_stmt 1 view .LVU4375
5437:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
12340 .loc 1 5437 13 is_stmt 0 view .LVU4376
12341 0106 2268 ldr r2, [r4]
5437:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
12342 .loc 1 5437 23 view .LVU4377
12343 0108 1368 ldr r3, [r2]
5437:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
12344 .loc 1 5437 29 view .LVU4378
12345 010a 43F48043 orr r3, r3, #16384
12346 010e 1360 str r3, [r2]
12347 0110 93E7 b .L777
12348 .L781:
5422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, (uint16_t)hi2c->Devaddress, (uint8_t)hi2c->XferSize,
12349 .loc 1 5422 9 is_stmt 1 view .LVU4379
5422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, (uint16_t)hi2c->Devaddress, (uint8_t)hi2c->XferSize,
12350 .loc 1 5422 30 is_stmt 0 view .LVU4380
12351 0112 628D ldrh r2, [r4, #42]
12352 0114 92B2 uxth r2, r2
5422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, (uint16_t)hi2c->Devaddress, (uint8_t)hi2c->XferSize,
12353 .loc 1 5422 24 view .LVU4381
ARM GAS /tmp/ccNVyn8W.s page 418
12354 0116 2285 strh r2, [r4, #40] @ movhi
5423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_AUTOEND_MODE, I2C_NO_STARTSTOP);
12355 .loc 1 5423 9 is_stmt 1 view .LVU4382
5423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_AUTOEND_MODE, I2C_NO_STARTSTOP);
12356 .loc 1 5423 48 is_stmt 0 view .LVU4383
12357 0118 E16C ldr r1, [r4, #76]
5423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_AUTOEND_MODE, I2C_NO_STARTSTOP);
12358 .loc 1 5423 9 view .LVU4384
12359 011a 0023 movs r3, #0
12360 011c 0093 str r3, [sp]
12361 011e 4FF00073 mov r3, #33554432
12362 0122 D2B2 uxtb r2, r2
12363 0124 89B2 uxth r1, r1
12364 0126 2046 mov r0, r4
12365 0128 FFF7FEFF bl I2C_TransferConfig
12366 .LVL872:
12367 012c E0E7 b .L782
12368 .L798:
5433:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
12369 .loc 1 5433 9 is_stmt 1 view .LVU4385
5433:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
12370 .loc 1 5433 13 is_stmt 0 view .LVU4386
12371 012e 2268 ldr r2, [r4]
5433:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
12372 .loc 1 5433 23 view .LVU4387
12373 0130 1368 ldr r3, [r2]
5433:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
12374 .loc 1 5433 29 view .LVU4388
12375 0132 43F40043 orr r3, r3, #32768
12376 0136 1360 str r3, [r2]
12377 0138 7FE7 b .L777
12378 .L780:
5444:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
12379 .loc 1 5444 7 is_stmt 1 view .LVU4389
12380 013a 4021 movs r1, #64
12381 013c 2046 mov r0, r4
12382 013e FFF7FEFF bl I2C_ITError
12383 .LVL873:
12384 0142 7AE7 b .L777
12385 .LVL874:
12386 .L790:
5452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
12387 .loc 1 5452 17 is_stmt 0 view .LVU4390
12388 0144 1248 ldr r0, .L799+4
12389 .LVL875:
5452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
12390 .loc 1 5452 17 view .LVU4391
12391 0146 9DE7 b .L785
12392 .LVL876:
12393 .L786:
5465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
12394 .loc 1 5465 7 is_stmt 1 view .LVU4392
5465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
12395 .loc 1 5465 28 is_stmt 0 view .LVU4393
12396 0148 628D ldrh r2, [r4, #42]
12397 .LVL877:
5465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
ARM GAS /tmp/ccNVyn8W.s page 419
12398 .loc 1 5465 28 view .LVU4394
12399 014a 92B2 uxth r2, r2
5465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
12400 .loc 1 5465 22 view .LVU4395
12401 014c 2285 strh r2, [r4, #40] @ movhi
5468:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_AUTOEND_MODE, direction);
12402 .loc 1 5468 7 is_stmt 1 view .LVU4396
5468:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_AUTOEND_MODE, direction);
12403 .loc 1 5468 46 is_stmt 0 view .LVU4397
12404 014e E16C ldr r1, [r4, #76]
12405 .LVL878:
5468:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_AUTOEND_MODE, direction);
12406 .loc 1 5468 7 view .LVU4398
12407 0150 0090 str r0, [sp]
12408 0152 4FF00073 mov r3, #33554432
12409 0156 D2B2 uxtb r2, r2
12410 0158 89B2 uxth r1, r1
12411 015a 2046 mov r0, r4
12412 .LVL879:
5468:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_AUTOEND_MODE, direction);
12413 .loc 1 5468 7 view .LVU4399
12414 015c FFF7FEFF bl I2C_TransferConfig
12415 .LVL880:
5468:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_AUTOEND_MODE, direction);
12416 .loc 1 5468 7 view .LVU4400
12417 0160 9EE7 b .L787
12418 .L797:
5478:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
12419 .loc 1 5478 7 is_stmt 1 view .LVU4401
5478:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
12420 .loc 1 5478 11 is_stmt 0 view .LVU4402
12421 0162 2268 ldr r2, [r4]
5478:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
12422 .loc 1 5478 21 view .LVU4403
12423 0164 1368 ldr r3, [r2]
5478:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
12424 .loc 1 5478 27 view .LVU4404
12425 0166 43F40043 orr r3, r3, #32768
12426 016a 1360 str r3, [r2]
12427 016c 65E7 b .L777
12428 .LVL881:
12429 .L784:
5485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
12430 .loc 1 5485 8 is_stmt 1 view .LVU4405
5485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
12431 .loc 1 5485 11 is_stmt 0 view .LVU4406
12432 016e 11F0200F tst r1, #32
12433 0172 3FF462AF beq .L777
5485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
12434 .loc 1 5485 63 discriminator 1 view .LVU4407
12435 0176 12F0200F tst r2, #32
12436 017a 3FF45EAF beq .L777
5489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
12437 .loc 1 5489 5 is_stmt 1 view .LVU4408
12438 017e 2046 mov r0, r4
12439 .LVL882:
5489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
ARM GAS /tmp/ccNVyn8W.s page 420
12440 .loc 1 5489 5 is_stmt 0 view .LVU4409
12441 0180 FFF7FEFF bl I2C_ITMasterCplt
12442 .LVL883:
5489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
12443 .loc 1 5489 5 view .LVU4410
12444 0184 59E7 b .L777
12445 .LVL884:
12446 .L789:
12447 .cfi_def_cfa_offset 0
12448 .cfi_restore 4
12449 .cfi_restore 14
5377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
12450 .loc 1 5377 3 discriminator 1 view .LVU4411
12451 0186 0220 movs r0, #2
12452 .LVL885:
5500:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
12453 .loc 1 5500 1 view .LVU4412
12454 0188 7047 bx lr
12455 .L800:
12456 018a 00BF .align 2
12457 .L799:
12458 018c 00200080 .word -2147475456
12459 0190 00240080 .word -2147474432
12460 .cfi_endproc
12461 .LFE183:
12463 .section .text.I2C_Slave_ISR_DMA,"ax",%progbits
12464 .align 1
12465 .syntax unified
12466 .thumb
12467 .thumb_func
12469 I2C_Slave_ISR_DMA:
12470 .LVL886:
12471 .LFB184:
5512:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpoptions = hi2c->XferOptions;
12472 .loc 1 5512 1 is_stmt 1 view -0
12473 .cfi_startproc
12474 @ args = 0, pretend = 0, frame = 0
12475 @ frame_needed = 0, uses_anonymous_args = 0
5512:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpoptions = hi2c->XferOptions;
12476 .loc 1 5512 1 is_stmt 0 view .LVU4414
12477 0000 F8B5 push {r3, r4, r5, r6, r7, lr}
12478 .cfi_def_cfa_offset 24
12479 .cfi_offset 3, -24
12480 .cfi_offset 4, -20
12481 .cfi_offset 5, -16
12482 .cfi_offset 6, -12
12483 .cfi_offset 7, -8
12484 .cfi_offset 14, -4
5513:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t treatdmanack = 0U;
12485 .loc 1 5513 3 is_stmt 1 view .LVU4415
5513:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t treatdmanack = 0U;
12486 .loc 1 5513 12 is_stmt 0 view .LVU4416
12487 0002 C76A ldr r7, [r0, #44]
12488 .LVL887:
5514:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_StateTypeDef tmpstate;
12489 .loc 1 5514 3 is_stmt 1 view .LVU4417
5515:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
ARM GAS /tmp/ccNVyn8W.s page 421
12490 .loc 1 5515 3 view .LVU4418
5518:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
12491 .loc 1 5518 3 view .LVU4419
5518:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
12492 .loc 1 5518 3 view .LVU4420
12493 0004 90F84030 ldrb r3, [r0, #64] @ zero_extendqisi2
12494 0008 012B cmp r3, #1
12495 000a 00F08B80 beq .L819
12496 000e 0446 mov r4, r0
12497 0010 0D46 mov r5, r1
12498 0012 1646 mov r6, r2
5518:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
12499 .loc 1 5518 3 discriminator 2 view .LVU4421
12500 0014 0123 movs r3, #1
12501 0016 80F84030 strb r3, [r0, #64]
5518:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
12502 .loc 1 5518 3 discriminator 2 view .LVU4422
5521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
12503 .loc 1 5521 3 view .LVU4423
5521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
12504 .loc 1 5521 6 is_stmt 0 view .LVU4424
12505 001a 11F0200F tst r1, #32
12506 001e 02D0 beq .L803
5521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
12507 .loc 1 5521 58 discriminator 1 view .LVU4425
12508 0020 12F0200F tst r2, #32
12509 0024 19D1 bne .L824
12510 .LVL888:
12511 .L803:
5528:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
12512 .loc 1 5528 3 is_stmt 1 view .LVU4426
5528:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
12513 .loc 1 5528 6 is_stmt 0 view .LVU4427
12514 0026 15F0100F tst r5, #16
12515 002a 6CD0 beq .L804
5528:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
12516 .loc 1 5528 55 discriminator 1 view .LVU4428
12517 002c 16F0100F tst r6, #16
12518 0030 69D0 beq .L804
5535:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_CR1_RXDMAEN) != RESET))
12519 .loc 1 5535 5 is_stmt 1 view .LVU4429
12520 0032 C6F38031 ubfx r1, r6, #14, #1
5535:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_CR1_RXDMAEN) != RESET))
12521 .loc 1 5535 8 is_stmt 0 view .LVU4430
12522 0036 16F4804F tst r6, #16384
12523 003a 02D1 bne .L805
5535:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_CR1_RXDMAEN) != RESET))
12524 .loc 1 5535 68 discriminator 1 view .LVU4431
12525 003c 16F4004F tst r6, #32768
12526 0040 5DD0 beq .L806
12527 .L805:
5539:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
12528 .loc 1 5539 7 is_stmt 1 view .LVU4432
5539:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
12529 .loc 1 5539 15 is_stmt 0 view .LVU4433
12530 0042 E36B ldr r3, [r4, #60]
5539:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
ARM GAS /tmp/ccNVyn8W.s page 422
12531 .loc 1 5539 10 view .LVU4434
12532 0044 63B1 cbz r3, .L820
5541:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
12533 .loc 1 5541 9 is_stmt 1 view .LVU4435
12534 0046 C6F3C032 ubfx r2, r6, #15, #1
5541:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
12535 .loc 1 5541 12 is_stmt 0 view .LVU4436
12536 004a 16F4004F tst r6, #32768
12537 004e 08D0 beq .L807
5543:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
12538 .loc 1 5543 11 is_stmt 1 view .LVU4437
5543:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
12539 .loc 1 5543 15 is_stmt 0 view .LVU4438
12540 0050 1B68 ldr r3, [r3]
12541 0052 5B68 ldr r3, [r3, #4]
5543:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
12542 .loc 1 5543 14 view .LVU4439
12543 0054 23B3 cbz r3, .L821
5514:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_StateTypeDef tmpstate;
12544 .loc 1 5514 12 view .LVU4440
12545 0056 0022 movs r2, #0
12546 0058 03E0 b .L807
12547 .LVL889:
12548 .L824:
5525:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
12549 .loc 1 5525 5 is_stmt 1 view .LVU4441
12550 005a FFF7FEFF bl I2C_ITSlaveCplt
12551 .LVL890:
5525:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
12552 .loc 1 5525 5 is_stmt 0 view .LVU4442
12553 005e E2E7 b .L803
12554 .L820:
5514:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_StateTypeDef tmpstate;
12555 .loc 1 5514 12 view .LVU4443
12556 0060 0022 movs r2, #0
12557 .L807:
12558 .LVL891:
5551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
12559 .loc 1 5551 7 is_stmt 1 view .LVU4444
5551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
12560 .loc 1 5551 15 is_stmt 0 view .LVU4445
12561 0062 A36B ldr r3, [r4, #56]
5551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
12562 .loc 1 5551 10 view .LVU4446
12563 0064 1BB1 cbz r3, .L808
5553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
12564 .loc 1 5553 9 is_stmt 1 view .LVU4447
5553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
12565 .loc 1 5553 12 is_stmt 0 view .LVU4448
12566 0066 11B1 cbz r1, .L808
5555:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
12567 .loc 1 5555 11 is_stmt 1 view .LVU4449
5555:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
12568 .loc 1 5555 15 is_stmt 0 view .LVU4450
12569 0068 1B68 ldr r3, [r3]
12570 006a 5B68 ldr r3, [r3, #4]
5555:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
ARM GAS /tmp/ccNVyn8W.s page 423
12571 .loc 1 5555 14 view .LVU4451
12572 006c D3B1 cbz r3, .L809
12573 .L808:
5562:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
12574 .loc 1 5562 7 is_stmt 1 view .LVU4452
5562:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
12575 .loc 1 5562 10 is_stmt 0 view .LVU4453
12576 006e CAB9 cbnz r2, .L809
5593:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
12577 .loc 1 5593 9 is_stmt 1 view .LVU4454
12578 0070 2368 ldr r3, [r4]
12579 0072 1022 movs r2, #16
12580 .LVL892:
5593:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
12581 .loc 1 5593 9 is_stmt 0 view .LVU4455
12582 0074 DA61 str r2, [r3, #28]
5596:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
12583 .loc 1 5596 9 is_stmt 1 view .LVU4456
5596:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
12584 .loc 1 5596 13 is_stmt 0 view .LVU4457
12585 0076 636C ldr r3, [r4, #68]
5596:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
12586 .loc 1 5596 25 view .LVU4458
12587 0078 43F00403 orr r3, r3, #4
12588 007c 6364 str r3, [r4, #68]
5599:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
12589 .loc 1 5599 9 is_stmt 1 view .LVU4459
5599:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
12590 .loc 1 5599 18 is_stmt 0 view .LVU4460
12591 007e 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2
12592 0082 DBB2 uxtb r3, r3
12593 .LVL893:
5601:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
12594 .loc 1 5601 9 is_stmt 1 view .LVU4461
5601:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
12595 .loc 1 5601 12 is_stmt 0 view .LVU4462
12596 0084 17B1 cbz r7, .L814
5601:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
12597 .loc 1 5601 45 discriminator 1 view .LVU4463
12598 0086 B7F1807F cmp r7, #16777216
12599 008a 42D1 bne .L812
12600 .L814:
5603:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
12601 .loc 1 5603 11 is_stmt 1 view .LVU4464
12602 008c 213B subs r3, r3, #33
12603 .LVL894:
5603:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
12604 .loc 1 5603 11 is_stmt 0 view .LVU4465
12605 008e 092B cmp r3, #9
12606 0090 2DD8 bhi .L815
12607 0092 DFE803F0 tbb [pc, r3]
12608 .L817:
12609 0096 2A .byte (.L818-.L817)/2
12610 0097 31 .byte (.L816-.L817)/2
12611 0098 2C .byte (.L815-.L817)/2
12612 0099 2C .byte (.L815-.L817)/2
12613 009a 2C .byte (.L815-.L817)/2
ARM GAS /tmp/ccNVyn8W.s page 424
12614 009b 2C .byte (.L815-.L817)/2
12615 009c 2C .byte (.L815-.L817)/2
12616 009d 2C .byte (.L815-.L817)/2
12617 009e 2A .byte (.L818-.L817)/2
12618 009f 31 .byte (.L816-.L817)/2
12619 .LVL895:
12620 .p2align 1
12621 .L821:
5545:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
12622 .loc 1 5545 26 view .LVU4466
12623 00a0 0122 movs r2, #1
12624 00a2 DEE7 b .L807
12625 .LVL896:
12626 .L809:
5564:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Same action must be done for (tmpoptions == I2C_LAST_FRAME) which removed for
12627 .loc 1 5564 9 is_stmt 1 view .LVU4467
5564:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Same action must be done for (tmpoptions == I2C_LAST_FRAME) which removed for
12628 .loc 1 5564 18 is_stmt 0 view .LVU4468
12629 00a4 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2
12630 00a8 DBB2 uxtb r3, r3
5564:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Same action must be done for (tmpoptions == I2C_LAST_FRAME) which removed for
12631 .loc 1 5564 12 view .LVU4469
12632 00aa 282B cmp r3, #40
12633 00ac 08D0 beq .L825
12634 .L811:
5571:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
12635 .loc 1 5571 14 is_stmt 1 view .LVU4470
5571:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
12636 .loc 1 5571 23 is_stmt 0 view .LVU4471
12637 00ae 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2
12638 00b2 DBB2 uxtb r3, r3
5571:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
12639 .loc 1 5571 17 view .LVU4472
12640 00b4 292B cmp r3, #41
12641 00b6 0BD0 beq .L826
12642 .L813:
5586:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
12643 .loc 1 5586 11 is_stmt 1 view .LVU4473
12644 00b8 2368 ldr r3, [r4]
12645 00ba 1022 movs r2, #16
12646 00bc DA61 str r2, [r3, #28]
12647 00be 28E0 b .L812
12648 .L825:
5564:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Same action must be done for (tmpoptions == I2C_LAST_FRAME) which removed for
12649 .loc 1 5564 51 is_stmt 0 discriminator 1 view .LVU4474
12650 00c0 B7F1007F cmp r7, #33554432
12651 00c4 F3D1 bne .L811
5569:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
12652 .loc 1 5569 11 is_stmt 1 view .LVU4475
12653 00c6 2946 mov r1, r5
12654 00c8 2046 mov r0, r4
12655 00ca FFF7FEFF bl I2C_ITListenCplt
12656 .LVL897:
12657 00ce 20E0 b .L812
12658 .L826:
5571:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
12659 .loc 1 5571 64 is_stmt 0 discriminator 1 view .LVU4476
ARM GAS /tmp/ccNVyn8W.s page 425
12660 00d0 17F5803F cmn r7, #65536
12661 00d4 F0D0 beq .L813
5574:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
12662 .loc 1 5574 11 is_stmt 1 view .LVU4477
12663 00d6 2368 ldr r3, [r4]
12664 00d8 1022 movs r2, #16
12665 00da DA61 str r2, [r3, #28]
5577:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
12666 .loc 1 5577 11 view .LVU4478
12667 00dc 2046 mov r0, r4
12668 00de FFF7FEFF bl I2C_Flush_TXDR
12669 .LVL898:
5581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
12670 .loc 1 5581 11 view .LVU4479
12671 00e2 2046 mov r0, r4
12672 00e4 FFF7FEFF bl I2C_ITSlaveSeqCplt
12673 .LVL899:
12674 00e8 13E0 b .L812
12675 .LVL900:
12676 .L818:
5605:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
12677 .loc 1 5605 13 view .LVU4480
5605:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
12678 .loc 1 5605 33 is_stmt 0 view .LVU4481
12679 00ea 2123 movs r3, #33
12680 .LVL901:
5605:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
12681 .loc 1 5605 33 view .LVU4482
12682 00ec 2363 str r3, [r4, #48]
12683 .L815:
5617:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
12684 .loc 1 5617 11 is_stmt 1 view .LVU4483
5617:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
12685 .loc 1 5617 33 is_stmt 0 view .LVU4484
12686 00ee 616C ldr r1, [r4, #68]
5617:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
12687 .loc 1 5617 11 view .LVU4485
12688 00f0 2046 mov r0, r4
12689 00f2 FFF7FEFF bl I2C_ITError
12690 .LVL902:
12691 00f6 0CE0 b .L812
12692 .LVL903:
12693 .L816:
5609:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
12694 .loc 1 5609 13 is_stmt 1 view .LVU4486
5609:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
12695 .loc 1 5609 33 is_stmt 0 view .LVU4487
12696 00f8 2223 movs r3, #34
12697 .LVL904:
5609:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
12698 .loc 1 5609 33 view .LVU4488
12699 00fa 2363 str r3, [r4, #48]
12700 00fc F7E7 b .L815
12701 .LVL905:
12702 .L806:
5624:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
12703 .loc 1 5624 7 is_stmt 1 view .LVU4489
ARM GAS /tmp/ccNVyn8W.s page 426
12704 00fe 2368 ldr r3, [r4]
12705 0100 1022 movs r2, #16
12706 0102 DA61 str r2, [r3, #28]
12707 0104 05E0 b .L812
12708 .L804:
5627:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_ADDRI) != RESET))
12709 .loc 1 5627 8 view .LVU4490
5627:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_ADDRI) != RESET))
12710 .loc 1 5627 11 is_stmt 0 view .LVU4491
12711 0106 15F0080F tst r5, #8
12712 010a 02D0 beq .L812
5627:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_ADDRI) != RESET))
12713 .loc 1 5627 62 discriminator 1 view .LVU4492
12714 010c 16F0080F tst r6, #8
12715 0110 03D1 bne .L827
12716 .LVL906:
12717 .L812:
5635:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
12718 .loc 1 5635 3 is_stmt 1 view .LVU4493
5638:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
12719 .loc 1 5638 3 view .LVU4494
5638:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
12720 .loc 1 5638 3 view .LVU4495
12721 0112 0020 movs r0, #0
12722 0114 84F84000 strb r0, [r4, #64]
5638:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
12723 .loc 1 5638 3 view .LVU4496
5640:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
12724 .loc 1 5640 3 view .LVU4497
12725 .LVL907:
12726 .L802:
5641:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
12727 .loc 1 5641 1 is_stmt 0 view .LVU4498
12728 0118 F8BD pop {r3, r4, r5, r6, r7, pc}
12729 .LVL908:
12730 .L827:
5630:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
12731 .loc 1 5630 5 is_stmt 1 view .LVU4499
12732 011a 2946 mov r1, r5
12733 011c 2046 mov r0, r4
12734 011e FFF7FEFF bl I2C_ITAddrCplt
12735 .LVL909:
12736 0122 F6E7 b .L812
12737 .LVL910:
12738 .L819:
5518:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
12739 .loc 1 5518 3 is_stmt 0 discriminator 1 view .LVU4500
12740 0124 0220 movs r0, #2
12741 .LVL911:
5518:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
12742 .loc 1 5518 3 discriminator 1 view .LVU4501
12743 0126 F7E7 b .L802
12744 .cfi_endproc
12745 .LFE184:
12747 .section .text.I2C_Master_ISR_DMA,"ax",%progbits
12748 .align 1
12749 .syntax unified
ARM GAS /tmp/ccNVyn8W.s page 427
12750 .thumb
12751 .thumb_func
12753 I2C_Master_ISR_DMA:
12754 .LVL912:
12755 .LFB182:
5233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t devaddress;
12756 .loc 1 5233 1 is_stmt 1 view -0
12757 .cfi_startproc
12758 @ args = 0, pretend = 0, frame = 0
12759 @ frame_needed = 0, uses_anonymous_args = 0
5234:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode;
12760 .loc 1 5234 3 view .LVU4503
5235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
12761 .loc 1 5235 3 view .LVU4504
5238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
12762 .loc 1 5238 3 view .LVU4505
5238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
12763 .loc 1 5238 3 view .LVU4506
12764 0000 90F84030 ldrb r3, [r0, #64] @ zero_extendqisi2
12765 0004 012B cmp r3, #1
12766 0006 00F09A80 beq .L841
5233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t devaddress;
12767 .loc 1 5233 1 is_stmt 0 view .LVU4507
12768 000a 10B5 push {r4, lr}
12769 .cfi_def_cfa_offset 8
12770 .cfi_offset 4, -8
12771 .cfi_offset 14, -4
12772 000c 82B0 sub sp, sp, #8
12773 .cfi_def_cfa_offset 16
12774 000e 0446 mov r4, r0
5238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
12775 .loc 1 5238 3 is_stmt 1 discriminator 2 view .LVU4508
12776 0010 0123 movs r3, #1
12777 0012 80F84030 strb r3, [r0, #64]
5238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
12778 .loc 1 5238 3 discriminator 2 view .LVU4509
5240:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
12779 .loc 1 5240 3 view .LVU4510
5240:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
12780 .loc 1 5240 6 is_stmt 0 view .LVU4511
12781 0016 11F0100F tst r1, #16
12782 001a 02D0 beq .L830
5240:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
12783 .loc 1 5240 55 discriminator 1 view .LVU4512
12784 001c 12F0100F tst r2, #16
12785 0020 32D1 bne .L847
12786 .L830:
5257:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
12787 .loc 1 5257 8 is_stmt 1 view .LVU4513
5257:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
12788 .loc 1 5257 11 is_stmt 0 view .LVU4514
12789 0022 11F0800F tst r1, #128
12790 0026 60D0 beq .L832
5257:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
12791 .loc 1 5257 61 discriminator 1 view .LVU4515
12792 0028 12F0400F tst r2, #64
12793 002c 5DD0 beq .L832
ARM GAS /tmp/ccNVyn8W.s page 428
5261:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
12794 .loc 1 5261 5 is_stmt 1 view .LVU4516
12795 002e 2268 ldr r2, [r4]
12796 .LVL913:
5261:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
12797 .loc 1 5261 5 is_stmt 0 view .LVU4517
12798 0030 1368 ldr r3, [r2]
12799 0032 23F04003 bic r3, r3, #64
12800 0036 1360 str r3, [r2]
5263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
12801 .loc 1 5263 5 is_stmt 1 view .LVU4518
5263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
12802 .loc 1 5263 13 is_stmt 0 view .LVU4519
12803 0038 638D ldrh r3, [r4, #42]
12804 003a 9BB2 uxth r3, r3
5263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
12805 .loc 1 5263 8 view .LVU4520
12806 003c 002B cmp r3, #0
12807 003e 46D0 beq .L833
5266:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
12808 .loc 1 5266 7 is_stmt 1 view .LVU4521
5266:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
12809 .loc 1 5266 35 is_stmt 0 view .LVU4522
12810 0040 2368 ldr r3, [r4]
5266:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
12811 .loc 1 5266 45 view .LVU4523
12812 0042 5968 ldr r1, [r3, #4]
12813 .LVL914:
5266:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
12814 .loc 1 5266 18 view .LVU4524
12815 0044 C1F30901 ubfx r1, r1, #0, #10
12816 .LVL915:
5269:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
12817 .loc 1 5269 7 is_stmt 1 view .LVU4525
5269:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
12818 .loc 1 5269 15 is_stmt 0 view .LVU4526
12819 0048 638D ldrh r3, [r4, #42]
12820 004a 9BB2 uxth r3, r3
5269:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
12821 .loc 1 5269 10 view .LVU4527
12822 004c FF2B cmp r3, #255
12823 004e 2DD9 bls .L834
5271:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
12824 .loc 1 5271 9 is_stmt 1 view .LVU4528
5271:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
12825 .loc 1 5271 24 is_stmt 0 view .LVU4529
12826 0050 FF23 movs r3, #255
12827 0052 2385 strh r3, [r4, #40] @ movhi
5272:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
12828 .loc 1 5272 9 is_stmt 1 view .LVU4530
12829 .LVL916:
5272:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
12830 .loc 1 5272 18 is_stmt 0 view .LVU4531
12831 0054 4FF08073 mov r3, #16777216
12832 .LVL917:
12833 .L835:
5288:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
ARM GAS /tmp/ccNVyn8W.s page 429
12834 .loc 1 5288 7 is_stmt 1 view .LVU4532
12835 0058 0022 movs r2, #0
12836 005a 0092 str r2, [sp]
12837 005c 94F82820 ldrb r2, [r4, #40] @ zero_extendqisi2
12838 0060 2046 mov r0, r4
12839 .LVL918:
5288:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
12840 .loc 1 5288 7 is_stmt 0 view .LVU4533
12841 0062 FFF7FEFF bl I2C_TransferConfig
12842 .LVL919:
5291:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
12843 .loc 1 5291 7 is_stmt 1 view .LVU4534
5291:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
12844 .loc 1 5291 11 is_stmt 0 view .LVU4535
12845 0066 638D ldrh r3, [r4, #42]
12846 0068 9BB2 uxth r3, r3
5291:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
12847 .loc 1 5291 30 view .LVU4536
12848 006a 228D ldrh r2, [r4, #40]
5291:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
12849 .loc 1 5291 23 view .LVU4537
12850 006c 9B1A subs r3, r3, r2
12851 006e 9BB2 uxth r3, r3
12852 0070 6385 strh r3, [r4, #42] @ movhi
5294:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
12853 .loc 1 5294 7 is_stmt 1 view .LVU4538
5294:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
12854 .loc 1 5294 15 is_stmt 0 view .LVU4539
12855 0072 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2
12856 0076 DBB2 uxtb r3, r3
5294:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
12857 .loc 1 5294 10 view .LVU4540
12858 0078 222B cmp r3, #34
12859 007a 22D0 beq .L848
5300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
12860 .loc 1 5300 9 is_stmt 1 view .LVU4541
5300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
12861 .loc 1 5300 13 is_stmt 0 view .LVU4542
12862 007c 2268 ldr r2, [r4]
5300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
12863 .loc 1 5300 23 view .LVU4543
12864 007e 1368 ldr r3, [r2]
5300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
12865 .loc 1 5300 29 view .LVU4544
12866 0080 43F48043 orr r3, r3, #16384
12867 0084 1360 str r3, [r2]
12868 0086 0CE0 b .L831
12869 .LVL920:
12870 .L847:
5244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
12871 .loc 1 5244 5 is_stmt 1 view .LVU4545
12872 0088 0368 ldr r3, [r0]
12873 008a 1022 movs r2, #16
12874 .LVL921:
5244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
12875 .loc 1 5244 5 is_stmt 0 view .LVU4546
12876 008c DA61 str r2, [r3, #28]
ARM GAS /tmp/ccNVyn8W.s page 430
5247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
12877 .loc 1 5247 5 is_stmt 1 view .LVU4547
5247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
12878 .loc 1 5247 9 is_stmt 0 view .LVU4548
12879 008e 436C ldr r3, [r0, #68]
5247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
12880 .loc 1 5247 21 view .LVU4549
12881 0090 43F00403 orr r3, r3, #4
12882 0094 4364 str r3, [r0, #68]
5252:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
12883 .loc 1 5252 5 is_stmt 1 view .LVU4550
12884 0096 2021 movs r1, #32
12885 .LVL922:
5252:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
12886 .loc 1 5252 5 is_stmt 0 view .LVU4551
12887 0098 FFF7FEFF bl I2C_Enable_IRQ
12888 .LVL923:
5255:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
12889 .loc 1 5255 5 is_stmt 1 view .LVU4552
12890 009c 2046 mov r0, r4
12891 009e FFF7FEFF bl I2C_Flush_TXDR
12892 .LVL924:
12893 .L831:
5355:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
12894 .loc 1 5355 3 view .LVU4553
5358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
12895 .loc 1 5358 3 view .LVU4554
5358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
12896 .loc 1 5358 3 view .LVU4555
12897 00a2 0020 movs r0, #0
12898 00a4 84F84000 strb r0, [r4, #64]
5358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
12899 .loc 1 5358 3 view .LVU4556
5360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
12900 .loc 1 5360 3 view .LVU4557
5361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
12901 .loc 1 5361 1 is_stmt 0 view .LVU4558
12902 00a8 02B0 add sp, sp, #8
12903 .cfi_remember_state
12904 .cfi_def_cfa_offset 8
12905 @ sp needed
12906 00aa 10BD pop {r4, pc}
12907 .LVL925:
12908 .L834:
12909 .cfi_restore_state
5276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferOptions != I2C_NO_OPTION_FRAME)
12910 .loc 1 5276 9 is_stmt 1 view .LVU4559
5276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferOptions != I2C_NO_OPTION_FRAME)
12911 .loc 1 5276 30 is_stmt 0 view .LVU4560
12912 00ac 638D ldrh r3, [r4, #42]
5276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferOptions != I2C_NO_OPTION_FRAME)
12913 .loc 1 5276 24 view .LVU4561
12914 00ae 2385 strh r3, [r4, #40] @ movhi
5277:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
12915 .loc 1 5277 9 is_stmt 1 view .LVU4562
5277:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
12916 .loc 1 5277 17 is_stmt 0 view .LVU4563
ARM GAS /tmp/ccNVyn8W.s page 431
12917 00b0 E36A ldr r3, [r4, #44]
5277:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
12918 .loc 1 5277 12 view .LVU4564
12919 00b2 13F5803F cmn r3, #65536
12920 00b6 01D0 beq .L842
5279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
12921 .loc 1 5279 11 is_stmt 1 view .LVU4565
5279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
12922 .loc 1 5279 20 is_stmt 0 view .LVU4566
12923 00b8 E36A ldr r3, [r4, #44]
12924 .LVL926:
5279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
12925 .loc 1 5279 20 view .LVU4567
12926 00ba CDE7 b .L835
12927 .LVL927:
12928 .L842:
5283:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
12929 .loc 1 5283 20 view .LVU4568
12930 00bc 4FF00073 mov r3, #33554432
12931 00c0 CAE7 b .L835
12932 .LVL928:
12933 .L848:
5296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
12934 .loc 1 5296 9 is_stmt 1 view .LVU4569
5296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
12935 .loc 1 5296 13 is_stmt 0 view .LVU4570
12936 00c2 2268 ldr r2, [r4]
5296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
12937 .loc 1 5296 23 view .LVU4571
12938 00c4 1368 ldr r3, [r2]
5296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
12939 .loc 1 5296 29 view .LVU4572
12940 00c6 43F40043 orr r3, r3, #32768
12941 00ca 1360 str r3, [r2]
12942 00cc E9E7 b .L831
12943 .LVL929:
12944 .L833:
5306:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
12945 .loc 1 5306 7 is_stmt 1 view .LVU4573
5306:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
12946 .loc 1 5306 11 is_stmt 0 view .LVU4574
12947 00ce 2368 ldr r3, [r4]
12948 00d0 5B68 ldr r3, [r3, #4]
5306:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
12949 .loc 1 5306 10 view .LVU4575
12950 00d2 13F0007F tst r3, #33554432
12951 00d6 03D1 bne .L837
5309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
12952 .loc 1 5309 9 is_stmt 1 view .LVU4576
12953 00d8 2046 mov r0, r4
12954 .LVL930:
5309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
12955 .loc 1 5309 9 is_stmt 0 view .LVU4577
12956 00da FFF7FEFF bl I2C_ITMasterSeqCplt
12957 .LVL931:
5309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
12958 .loc 1 5309 9 view .LVU4578
ARM GAS /tmp/ccNVyn8W.s page 432
12959 00de E0E7 b .L831
12960 .LVL932:
12961 .L837:
5315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
12962 .loc 1 5315 9 is_stmt 1 view .LVU4579
12963 00e0 4021 movs r1, #64
12964 .LVL933:
5315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
12965 .loc 1 5315 9 is_stmt 0 view .LVU4580
12966 00e2 2046 mov r0, r4
12967 .LVL934:
5315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
12968 .loc 1 5315 9 view .LVU4581
12969 00e4 FFF7FEFF bl I2C_ITError
12970 .LVL935:
12971 00e8 DBE7 b .L831
12972 .LVL936:
12973 .L832:
5319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
12974 .loc 1 5319 8 is_stmt 1 view .LVU4582
5319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
12975 .loc 1 5319 11 is_stmt 0 view .LVU4583
12976 00ea 11F0400F tst r1, #64
12977 00ee 1CD0 beq .L838
5319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
12978 .loc 1 5319 60 discriminator 1 view .LVU4584
12979 00f0 12F0400F tst r2, #64
12980 00f4 19D0 beq .L838
5322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
12981 .loc 1 5322 5 is_stmt 1 view .LVU4585
5322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
12982 .loc 1 5322 13 is_stmt 0 view .LVU4586
12983 00f6 638D ldrh r3, [r4, #42]
12984 00f8 9BB2 uxth r3, r3
5322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
12985 .loc 1 5322 8 view .LVU4587
12986 00fa 8BB9 cbnz r3, .L839
5324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
12987 .loc 1 5324 7 is_stmt 1 view .LVU4588
5324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
12988 .loc 1 5324 11 is_stmt 0 view .LVU4589
12989 00fc 2368 ldr r3, [r4]
12990 00fe 5A68 ldr r2, [r3, #4]
12991 .LVL937:
5324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
12992 .loc 1 5324 10 view .LVU4590
12993 0100 12F0007F tst r2, #33554432
12994 0104 CDD1 bne .L831
5327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
12995 .loc 1 5327 9 is_stmt 1 view .LVU4591
5327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
12996 .loc 1 5327 17 is_stmt 0 view .LVU4592
12997 0106 E26A ldr r2, [r4, #44]
5327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
12998 .loc 1 5327 12 view .LVU4593
12999 0108 12F5803F cmn r2, #65536
13000 010c 04D1 bne .L840
ARM GAS /tmp/ccNVyn8W.s page 433
5330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
13001 .loc 1 5330 11 is_stmt 1 view .LVU4594
5330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
13002 .loc 1 5330 25 is_stmt 0 view .LVU4595
13003 010e 5A68 ldr r2, [r3, #4]
5330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
13004 .loc 1 5330 31 view .LVU4596
13005 0110 42F48042 orr r2, r2, #16384
13006 0114 5A60 str r2, [r3, #4]
13007 0116 C4E7 b .L831
13008 .L840:
5335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
13009 .loc 1 5335 11 is_stmt 1 view .LVU4597
13010 0118 2046 mov r0, r4
13011 .LVL938:
5335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
13012 .loc 1 5335 11 is_stmt 0 view .LVU4598
13013 011a FFF7FEFF bl I2C_ITMasterSeqCplt
13014 .LVL939:
5335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
13015 .loc 1 5335 11 view .LVU4599
13016 011e C0E7 b .L831
13017 .LVL940:
13018 .L839:
5343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
13019 .loc 1 5343 7 is_stmt 1 view .LVU4600
13020 0120 4021 movs r1, #64
13021 .LVL941:
5343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
13022 .loc 1 5343 7 is_stmt 0 view .LVU4601
13023 0122 2046 mov r0, r4
13024 .LVL942:
5343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
13025 .loc 1 5343 7 view .LVU4602
13026 0124 FFF7FEFF bl I2C_ITError
13027 .LVL943:
5343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
13028 .loc 1 5343 7 view .LVU4603
13029 0128 BBE7 b .L831
13030 .LVL944:
13031 .L838:
5346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
13032 .loc 1 5346 8 is_stmt 1 view .LVU4604
5346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
13033 .loc 1 5346 11 is_stmt 0 view .LVU4605
13034 012a 11F0200F tst r1, #32
13035 012e B8D0 beq .L831
5346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
13036 .loc 1 5346 63 discriminator 1 view .LVU4606
13037 0130 12F0200F tst r2, #32
13038 0134 B5D0 beq .L831
5350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
13039 .loc 1 5350 5 is_stmt 1 view .LVU4607
13040 0136 2046 mov r0, r4
13041 .LVL945:
5350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
13042 .loc 1 5350 5 is_stmt 0 view .LVU4608
ARM GAS /tmp/ccNVyn8W.s page 434
13043 0138 FFF7FEFF bl I2C_ITMasterCplt
13044 .LVL946:
5350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
13045 .loc 1 5350 5 view .LVU4609
13046 013c B1E7 b .L831
13047 .LVL947:
13048 .L841:
13049 .cfi_def_cfa_offset 0
13050 .cfi_restore 4
13051 .cfi_restore 14
5238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
13052 .loc 1 5238 3 discriminator 1 view .LVU4610
13053 013e 0220 movs r0, #2
13054 .LVL948:
5361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
13055 .loc 1 5361 1 view .LVU4611
13056 0140 7047 bx lr
13057 .cfi_endproc
13058 .LFE182:
13060 .section .text.I2C_DMAError,"ax",%progbits
13061 .align 1
13062 .syntax unified
13063 .thumb
13064 .thumb_func
13066 I2C_DMAError:
13067 .LVL949:
13068 .LFB200:
6685:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Derogation MISRAC2012-Rule-11.5 */
13069 .loc 1 6685 1 is_stmt 1 view -0
13070 .cfi_startproc
13071 @ args = 0, pretend = 0, frame = 0
13072 @ frame_needed = 0, uses_anonymous_args = 0
6685:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Derogation MISRAC2012-Rule-11.5 */
13073 .loc 1 6685 1 is_stmt 0 view .LVU4613
13074 0000 08B5 push {r3, lr}
13075 .cfi_def_cfa_offset 8
13076 .cfi_offset 3, -8
13077 .cfi_offset 14, -4
6687:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
13078 .loc 1 6687 3 is_stmt 1 view .LVU4614
6687:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
13079 .loc 1 6687 22 is_stmt 0 view .LVU4615
13080 0002 406A ldr r0, [r0, #36]
13081 .LVL950:
6690:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
13082 .loc 1 6690 3 is_stmt 1 view .LVU4616
6690:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
13083 .loc 1 6690 7 is_stmt 0 view .LVU4617
13084 0004 0268 ldr r2, [r0]
6690:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
13085 .loc 1 6690 17 view .LVU4618
13086 0006 5368 ldr r3, [r2, #4]
6690:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
13087 .loc 1 6690 23 view .LVU4619
13088 0008 43F40043 orr r3, r3, #32768
13089 000c 5360 str r3, [r2, #4]
6693:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
ARM GAS /tmp/ccNVyn8W.s page 435
13090 .loc 1 6693 3 is_stmt 1 view .LVU4620
13091 000e 1021 movs r1, #16
13092 0010 FFF7FEFF bl I2C_ITError
13093 .LVL951:
6694:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
13094 .loc 1 6694 1 is_stmt 0 view .LVU4621
13095 0014 08BD pop {r3, pc}
13096 .cfi_endproc
13097 .LFE200:
13099 .section .text.I2C_DMAMasterTransmitCplt,"ax",%progbits
13100 .align 1
13101 .syntax unified
13102 .thumb
13103 .thumb_func
13105 I2C_DMAMasterTransmitCplt:
13106 .LVL952:
13107 .LFB196:
6525:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Derogation MISRAC2012-Rule-11.5 */
13108 .loc 1 6525 1 is_stmt 1 view -0
13109 .cfi_startproc
13110 @ args = 0, pretend = 0, frame = 0
13111 @ frame_needed = 0, uses_anonymous_args = 0
6525:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Derogation MISRAC2012-Rule-11.5 */
13112 .loc 1 6525 1 is_stmt 0 view .LVU4623
13113 0000 10B5 push {r4, lr}
13114 .cfi_def_cfa_offset 8
13115 .cfi_offset 4, -8
13116 .cfi_offset 14, -4
6527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
13117 .loc 1 6527 3 is_stmt 1 view .LVU4624
6527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
13118 .loc 1 6527 22 is_stmt 0 view .LVU4625
13119 0002 446A ldr r4, [r0, #36]
13120 .LVL953:
6530:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
13121 .loc 1 6530 3 is_stmt 1 view .LVU4626
6530:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
13122 .loc 1 6530 7 is_stmt 0 view .LVU4627
13123 0004 2268 ldr r2, [r4]
6530:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
13124 .loc 1 6530 17 view .LVU4628
13125 0006 1368 ldr r3, [r2]
6530:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
13126 .loc 1 6530 23 view .LVU4629
13127 0008 23F48043 bic r3, r3, #16384
13128 000c 1360 str r3, [r2]
6533:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
13129 .loc 1 6533 3 is_stmt 1 view .LVU4630
6533:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
13130 .loc 1 6533 11 is_stmt 0 view .LVU4631
13131 000e 638D ldrh r3, [r4, #42]
13132 0010 9BB2 uxth r3, r3
6533:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
13133 .loc 1 6533 6 view .LVU4632
13134 0012 ABB1 cbz r3, .L858
6542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
13135 .loc 1 6542 5 is_stmt 1 view .LVU4633
ARM GAS /tmp/ccNVyn8W.s page 436
6542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
13136 .loc 1 6542 9 is_stmt 0 view .LVU4634
13137 0014 616A ldr r1, [r4, #36]
6542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
13138 .loc 1 6542 27 view .LVU4635
13139 0016 238D ldrh r3, [r4, #40]
6542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
13140 .loc 1 6542 20 view .LVU4636
13141 0018 1944 add r1, r1, r3
13142 001a 6162 str r1, [r4, #36]
6545:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
13143 .loc 1 6545 5 is_stmt 1 view .LVU4637
6545:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
13144 .loc 1 6545 13 is_stmt 0 view .LVU4638
13145 001c 638D ldrh r3, [r4, #42]
13146 001e 9BB2 uxth r3, r3
6545:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
13147 .loc 1 6545 8 view .LVU4639
13148 0020 FF2B cmp r3, #255
13149 0022 12D9 bls .L854
6547:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
13150 .loc 1 6547 7 is_stmt 1 view .LVU4640
6547:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
13151 .loc 1 6547 22 is_stmt 0 view .LVU4641
13152 0024 FF23 movs r3, #255
13153 0026 2385 strh r3, [r4, #40] @ movhi
13154 .L855:
6555:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize) != HAL_OK)
13155 .loc 1 6555 5 is_stmt 1 view .LVU4642
6555:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize) != HAL_OK)
13156 .loc 1 6555 81 is_stmt 0 view .LVU4643
13157 0028 2268 ldr r2, [r4]
6555:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize) != HAL_OK)
13158 .loc 1 6555 9 view .LVU4644
13159 002a 238D ldrh r3, [r4, #40]
13160 002c 2832 adds r2, r2, #40
13161 002e A06B ldr r0, [r4, #56]
13162 .LVL954:
6555:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize) != HAL_OK)
13163 .loc 1 6555 9 view .LVU4645
13164 0030 FFF7FEFF bl HAL_DMA_Start_IT
13165 .LVL955:
6555:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize) != HAL_OK)
13166 .loc 1 6555 8 discriminator 1 view .LVU4646
13167 0034 60B1 cbz r0, .L856
6559:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
13168 .loc 1 6559 7 is_stmt 1 view .LVU4647
13169 0036 1021 movs r1, #16
13170 0038 2046 mov r0, r4
13171 003a FFF7FEFF bl I2C_ITError
13172 .LVL956:
13173 .L851:
6567:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
13174 .loc 1 6567 1 is_stmt 0 view .LVU4648
13175 003e 10BD pop {r4, pc}
13176 .LVL957:
13177 .L858:
ARM GAS /tmp/ccNVyn8W.s page 437
6536:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
13178 .loc 1 6536 5 is_stmt 1 view .LVU4649
13179 0040 2021 movs r1, #32
13180 0042 2046 mov r0, r4
13181 .LVL958:
6536:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
13182 .loc 1 6536 5 is_stmt 0 view .LVU4650
13183 0044 FFF7FEFF bl I2C_Enable_IRQ
13184 .LVL959:
13185 0048 F9E7 b .L851
13186 .LVL960:
13187 .L854:
6551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
13188 .loc 1 6551 7 is_stmt 1 view .LVU4651
6551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
13189 .loc 1 6551 28 is_stmt 0 view .LVU4652
13190 004a 638D ldrh r3, [r4, #42]
6551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
13191 .loc 1 6551 22 view .LVU4653
13192 004c 2385 strh r3, [r4, #40] @ movhi
13193 004e EBE7 b .L855
13194 .LVL961:
13195 .L856:
6564:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
13196 .loc 1 6564 7 is_stmt 1 view .LVU4654
13197 0050 4021 movs r1, #64
13198 0052 2046 mov r0, r4
13199 0054 FFF7FEFF bl I2C_Enable_IRQ
13200 .LVL962:
6567:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
13201 .loc 1 6567 1 is_stmt 0 view .LVU4655
13202 0058 F1E7 b .L851
13203 .cfi_endproc
13204 .LFE196:
13206 .section .text.I2C_DMAMasterReceiveCplt,"ax",%progbits
13207 .align 1
13208 .syntax unified
13209 .thumb
13210 .thumb_func
13212 I2C_DMAMasterReceiveCplt:
13213 .LVL963:
13214 .LFB198:
6605:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Derogation MISRAC2012-Rule-11.5 */
13215 .loc 1 6605 1 is_stmt 1 view -0
13216 .cfi_startproc
13217 @ args = 0, pretend = 0, frame = 0
13218 @ frame_needed = 0, uses_anonymous_args = 0
6605:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Derogation MISRAC2012-Rule-11.5 */
13219 .loc 1 6605 1 is_stmt 0 view .LVU4657
13220 0000 10B5 push {r4, lr}
13221 .cfi_def_cfa_offset 8
13222 .cfi_offset 4, -8
13223 .cfi_offset 14, -4
6607:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
13224 .loc 1 6607 3 is_stmt 1 view .LVU4658
6607:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
13225 .loc 1 6607 22 is_stmt 0 view .LVU4659
ARM GAS /tmp/ccNVyn8W.s page 438
13226 0002 446A ldr r4, [r0, #36]
13227 .LVL964:
6610:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
13228 .loc 1 6610 3 is_stmt 1 view .LVU4660
6610:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
13229 .loc 1 6610 7 is_stmt 0 view .LVU4661
13230 0004 2268 ldr r2, [r4]
6610:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
13231 .loc 1 6610 17 view .LVU4662
13232 0006 1368 ldr r3, [r2]
6610:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
13233 .loc 1 6610 23 view .LVU4663
13234 0008 23F40043 bic r3, r3, #32768
13235 000c 1360 str r3, [r2]
6613:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
13236 .loc 1 6613 3 is_stmt 1 view .LVU4664
6613:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
13237 .loc 1 6613 11 is_stmt 0 view .LVU4665
13238 000e 638D ldrh r3, [r4, #42]
13239 0010 9BB2 uxth r3, r3
6613:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
13240 .loc 1 6613 6 view .LVU4666
13241 0012 ABB1 cbz r3, .L866
6622:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
13242 .loc 1 6622 5 is_stmt 1 view .LVU4667
6622:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
13243 .loc 1 6622 9 is_stmt 0 view .LVU4668
13244 0014 626A ldr r2, [r4, #36]
6622:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
13245 .loc 1 6622 27 view .LVU4669
13246 0016 238D ldrh r3, [r4, #40]
6622:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
13247 .loc 1 6622 20 view .LVU4670
13248 0018 1A44 add r2, r2, r3
13249 001a 6262 str r2, [r4, #36]
6625:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
13250 .loc 1 6625 5 is_stmt 1 view .LVU4671
6625:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
13251 .loc 1 6625 13 is_stmt 0 view .LVU4672
13252 001c 638D ldrh r3, [r4, #42]
13253 001e 9BB2 uxth r3, r3
6625:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
13254 .loc 1 6625 8 view .LVU4673
13255 0020 FF2B cmp r3, #255
13256 0022 12D9 bls .L862
6627:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
13257 .loc 1 6627 7 is_stmt 1 view .LVU4674
6627:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
13258 .loc 1 6627 22 is_stmt 0 view .LVU4675
13259 0024 FF23 movs r3, #255
13260 0026 2385 strh r3, [r4, #40] @ movhi
13261 .L863:
6635:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize) != HAL_OK)
13262 .loc 1 6635 5 is_stmt 1 view .LVU4676
6635:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize) != HAL_OK)
13263 .loc 1 6635 55 is_stmt 0 view .LVU4677
13264 0028 2168 ldr r1, [r4]
ARM GAS /tmp/ccNVyn8W.s page 439
6635:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize) != HAL_OK)
13265 .loc 1 6635 9 view .LVU4678
13266 002a 238D ldrh r3, [r4, #40]
13267 002c 2431 adds r1, r1, #36
13268 002e E06B ldr r0, [r4, #60]
13269 .LVL965:
6635:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize) != HAL_OK)
13270 .loc 1 6635 9 view .LVU4679
13271 0030 FFF7FEFF bl HAL_DMA_Start_IT
13272 .LVL966:
6635:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize) != HAL_OK)
13273 .loc 1 6635 8 discriminator 1 view .LVU4680
13274 0034 60B1 cbz r0, .L864
6639:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
13275 .loc 1 6639 7 is_stmt 1 view .LVU4681
13276 0036 1021 movs r1, #16
13277 0038 2046 mov r0, r4
13278 003a FFF7FEFF bl I2C_ITError
13279 .LVL967:
13280 .L859:
6647:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
13281 .loc 1 6647 1 is_stmt 0 view .LVU4682
13282 003e 10BD pop {r4, pc}
13283 .LVL968:
13284 .L866:
6616:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
13285 .loc 1 6616 5 is_stmt 1 view .LVU4683
13286 0040 2021 movs r1, #32
13287 0042 2046 mov r0, r4
13288 .LVL969:
6616:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
13289 .loc 1 6616 5 is_stmt 0 view .LVU4684
13290 0044 FFF7FEFF bl I2C_Enable_IRQ
13291 .LVL970:
13292 0048 F9E7 b .L859
13293 .LVL971:
13294 .L862:
6631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
13295 .loc 1 6631 7 is_stmt 1 view .LVU4685
6631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
13296 .loc 1 6631 28 is_stmt 0 view .LVU4686
13297 004a 638D ldrh r3, [r4, #42]
6631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
13298 .loc 1 6631 22 view .LVU4687
13299 004c 2385 strh r3, [r4, #40] @ movhi
13300 004e EBE7 b .L863
13301 .LVL972:
13302 .L864:
6644:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
13303 .loc 1 6644 7 is_stmt 1 view .LVU4688
13304 0050 4021 movs r1, #64
13305 0052 2046 mov r0, r4
13306 0054 FFF7FEFF bl I2C_Enable_IRQ
13307 .LVL973:
6647:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
13308 .loc 1 6647 1 is_stmt 0 view .LVU4689
13309 0058 F1E7 b .L859
ARM GAS /tmp/ccNVyn8W.s page 440
13310 .cfi_endproc
13311 .LFE198:
13313 .section .text.I2C_Mem_ISR_IT,"ax",%progbits
13314 .align 1
13315 .syntax unified
13316 .thumb
13317 .thumb_func
13319 I2C_Mem_ISR_IT:
13320 .LVL974:
13321 .LFB180:
4955:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t direction = I2C_GENERATE_START_WRITE;
13322 .loc 1 4955 1 is_stmt 1 view -0
13323 .cfi_startproc
13324 @ args = 0, pretend = 0, frame = 0
13325 @ frame_needed = 0, uses_anonymous_args = 0
4956:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpITFlags = ITFlags;
13326 .loc 1 4956 3 view .LVU4691
4957:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
13327 .loc 1 4957 3 view .LVU4692
4960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
13328 .loc 1 4960 3 view .LVU4693
4960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
13329 .loc 1 4960 3 view .LVU4694
13330 0000 90F84030 ldrb r3, [r0, #64] @ zero_extendqisi2
13331 0004 012B cmp r3, #1
13332 0006 00F0B980 beq .L880
4955:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t direction = I2C_GENERATE_START_WRITE;
13333 .loc 1 4955 1 is_stmt 0 view .LVU4695
13334 000a 70B5 push {r4, r5, r6, lr}
13335 .cfi_def_cfa_offset 16
13336 .cfi_offset 4, -16
13337 .cfi_offset 5, -12
13338 .cfi_offset 6, -8
13339 .cfi_offset 14, -4
13340 000c 82B0 sub sp, sp, #8
13341 .cfi_def_cfa_offset 24
13342 000e 0446 mov r4, r0
13343 0010 0D46 mov r5, r1
13344 0012 1646 mov r6, r2
4960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
13345 .loc 1 4960 3 is_stmt 1 discriminator 2 view .LVU4696
13346 0014 0123 movs r3, #1
13347 0016 80F84030 strb r3, [r0, #64]
4960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
13348 .loc 1 4960 3 discriminator 2 view .LVU4697
4962:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
13349 .loc 1 4962 3 view .LVU4698
4962:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
13350 .loc 1 4962 6 is_stmt 0 view .LVU4699
13351 001a 11F0100F tst r1, #16
13352 001e 02D0 beq .L869
4962:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
13353 .loc 1 4962 58 discriminator 1 view .LVU4700
13354 0020 12F0100F tst r2, #16
13355 0024 22D1 bne .L886
13356 .L869:
4976:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_RXI) != RESET))
ARM GAS /tmp/ccNVyn8W.s page 441
13357 .loc 1 4976 8 is_stmt 1 view .LVU4701
4976:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_RXI) != RESET))
13358 .loc 1 4976 11 is_stmt 0 view .LVU4702
13359 0026 15F0040F tst r5, #4
13360 002a 29D0 beq .L871
4976:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_RXI) != RESET))
13361 .loc 1 4976 65 discriminator 1 view .LVU4703
13362 002c 16F0040F tst r6, #4
13363 0030 26D0 beq .L871
4980:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
13364 .loc 1 4980 5 is_stmt 1 view .LVU4704
4980:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
13365 .loc 1 4980 16 is_stmt 0 view .LVU4705
13366 0032 25F00405 bic r5, r5, #4
13367 .LVL975:
4983:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
13368 .loc 1 4983 5 is_stmt 1 view .LVU4706
4983:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
13369 .loc 1 4983 36 is_stmt 0 view .LVU4707
13370 0036 2368 ldr r3, [r4]
4983:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
13371 .loc 1 4983 46 view .LVU4708
13372 0038 5A6A ldr r2, [r3, #36]
13373 .LVL976:
4983:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
13374 .loc 1 4983 10 view .LVU4709
13375 003a 636A ldr r3, [r4, #36]
4983:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
13376 .loc 1 4983 21 view .LVU4710
13377 003c 1A70 strb r2, [r3]
4986:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
13378 .loc 1 4986 5 is_stmt 1 view .LVU4711
4986:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
13379 .loc 1 4986 9 is_stmt 0 view .LVU4712
13380 003e 636A ldr r3, [r4, #36]
4986:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
13381 .loc 1 4986 19 view .LVU4713
13382 0040 0133 adds r3, r3, #1
13383 0042 6362 str r3, [r4, #36]
4988:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--;
13384 .loc 1 4988 5 is_stmt 1 view .LVU4714
4988:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--;
13385 .loc 1 4988 9 is_stmt 0 view .LVU4715
13386 0044 238D ldrh r3, [r4, #40]
4988:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--;
13387 .loc 1 4988 19 view .LVU4716
13388 0046 013B subs r3, r3, #1
13389 0048 2385 strh r3, [r4, #40] @ movhi
4989:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
13390 .loc 1 4989 5 is_stmt 1 view .LVU4717
4989:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
13391 .loc 1 4989 9 is_stmt 0 view .LVU4718
13392 004a 638D ldrh r3, [r4, #42]
13393 004c 9BB2 uxth r3, r3
4989:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
13394 .loc 1 4989 20 view .LVU4719
13395 004e 013B subs r3, r3, #1
ARM GAS /tmp/ccNVyn8W.s page 442
13396 0050 9BB2 uxth r3, r3
13397 0052 6385 strh r3, [r4, #42] @ movhi
13398 .LVL977:
13399 .L870:
5067:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
13400 .loc 1 5067 3 is_stmt 1 view .LVU4720
5069:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
13401 .loc 1 5069 3 view .LVU4721
5069:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
13402 .loc 1 5069 6 is_stmt 0 view .LVU4722
13403 0054 15F0200F tst r5, #32
13404 0058 03D0 beq .L879
5069:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
13405 .loc 1 5069 61 discriminator 1 view .LVU4723
13406 005a 16F0200F tst r6, #32
13407 005e 40F08880 bne .L887
13408 .L879:
5077:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
13409 .loc 1 5077 3 is_stmt 1 view .LVU4724
5077:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
13410 .loc 1 5077 3 view .LVU4725
13411 0062 0020 movs r0, #0
13412 0064 84F84000 strb r0, [r4, #64]
5077:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
13413 .loc 1 5077 3 view .LVU4726
5079:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
13414 .loc 1 5079 3 view .LVU4727
5080:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
13415 .loc 1 5080 1 is_stmt 0 view .LVU4728
13416 0068 02B0 add sp, sp, #8
13417 .cfi_remember_state
13418 .cfi_def_cfa_offset 16
13419 @ sp needed
13420 006a 70BD pop {r4, r5, r6, pc}
13421 .LVL978:
13422 .L886:
13423 .cfi_restore_state
4966:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
13424 .loc 1 4966 5 is_stmt 1 view .LVU4729
13425 006c 0368 ldr r3, [r0]
13426 006e 1022 movs r2, #16
13427 .LVL979:
4966:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
13428 .loc 1 4966 5 is_stmt 0 view .LVU4730
13429 0070 DA61 str r2, [r3, #28]
4971:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
13430 .loc 1 4971 5 is_stmt 1 view .LVU4731
4971:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
13431 .loc 1 4971 9 is_stmt 0 view .LVU4732
13432 0072 436C ldr r3, [r0, #68]
4971:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
13433 .loc 1 4971 21 view .LVU4733
13434 0074 43F00403 orr r3, r3, #4
13435 0078 4364 str r3, [r0, #68]
4974:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
13436 .loc 1 4974 5 is_stmt 1 view .LVU4734
13437 007a FFF7FEFF bl I2C_Flush_TXDR
ARM GAS /tmp/ccNVyn8W.s page 443
13438 .LVL980:
4974:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
13439 .loc 1 4974 5 is_stmt 0 view .LVU4735
13440 007e E9E7 b .L870
13441 .LVL981:
13442 .L871:
4991:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TXI) != RESET))
13443 .loc 1 4991 8 is_stmt 1 view .LVU4736
4991:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TXI) != RESET))
13444 .loc 1 4991 11 is_stmt 0 view .LVU4737
13445 0080 15F0020F tst r5, #2
13446 0084 1DD0 beq .L872
4991:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TXI) != RESET))
13447 .loc 1 4991 65 discriminator 1 view .LVU4738
13448 0086 16F0020F tst r6, #2
13449 008a 1AD0 beq .L872
4994:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
13450 .loc 1 4994 5 is_stmt 1 view .LVU4739
4994:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
13451 .loc 1 4994 13 is_stmt 0 view .LVU4740
13452 008c 236D ldr r3, [r4, #80]
4994:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
13453 .loc 1 4994 8 view .LVU4741
13454 008e B3F1FF3F cmp r3, #-1
13455 0092 06D0 beq .L888
5008:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
13456 .loc 1 5008 7 is_stmt 1 view .LVU4742
5008:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
13457 .loc 1 5008 11 is_stmt 0 view .LVU4743
13458 0094 2368 ldr r3, [r4]
5008:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
13459 .loc 1 5008 34 view .LVU4744
13460 0096 226D ldr r2, [r4, #80]
13461 .LVL982:
5008:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
13462 .loc 1 5008 28 view .LVU4745
13463 0098 9A62 str r2, [r3, #40]
5011:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
13464 .loc 1 5011 7 is_stmt 1 view .LVU4746
5011:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
13465 .loc 1 5011 24 is_stmt 0 view .LVU4747
13466 009a 4FF0FF33 mov r3, #-1
13467 009e 2365 str r3, [r4, #80]
13468 00a0 D8E7 b .L870
13469 .LVL983:
13470 .L888:
4997:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
13471 .loc 1 4997 7 is_stmt 1 view .LVU4748
4997:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
13472 .loc 1 4997 35 is_stmt 0 view .LVU4749
13473 00a2 626A ldr r2, [r4, #36]
13474 .LVL984:
4997:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
13475 .loc 1 4997 11 view .LVU4750
13476 00a4 2368 ldr r3, [r4]
4997:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
13477 .loc 1 4997 30 view .LVU4751
ARM GAS /tmp/ccNVyn8W.s page 444
13478 00a6 1278 ldrb r2, [r2] @ zero_extendqisi2
4997:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
13479 .loc 1 4997 28 view .LVU4752
13480 00a8 9A62 str r2, [r3, #40]
5000:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
13481 .loc 1 5000 7 is_stmt 1 view .LVU4753
5000:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
13482 .loc 1 5000 11 is_stmt 0 view .LVU4754
13483 00aa 636A ldr r3, [r4, #36]
5000:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
13484 .loc 1 5000 21 view .LVU4755
13485 00ac 0133 adds r3, r3, #1
13486 00ae 6362 str r3, [r4, #36]
5002:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--;
13487 .loc 1 5002 7 is_stmt 1 view .LVU4756
5002:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--;
13488 .loc 1 5002 11 is_stmt 0 view .LVU4757
13489 00b0 238D ldrh r3, [r4, #40]
5002:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--;
13490 .loc 1 5002 21 view .LVU4758
13491 00b2 013B subs r3, r3, #1
13492 00b4 2385 strh r3, [r4, #40] @ movhi
5003:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
13493 .loc 1 5003 7 is_stmt 1 view .LVU4759
5003:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
13494 .loc 1 5003 11 is_stmt 0 view .LVU4760
13495 00b6 638D ldrh r3, [r4, #42]
13496 00b8 9BB2 uxth r3, r3
5003:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
13497 .loc 1 5003 22 view .LVU4761
13498 00ba 013B subs r3, r3, #1
13499 00bc 9BB2 uxth r3, r3
13500 00be 6385 strh r3, [r4, #42] @ movhi
13501 00c0 C8E7 b .L870
13502 .LVL985:
13503 .L872:
5014:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
13504 .loc 1 5014 8 is_stmt 1 view .LVU4762
5014:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
13505 .loc 1 5014 11 is_stmt 0 view .LVU4763
13506 00c2 15F0800F tst r5, #128
13507 00c6 2AD0 beq .L874
5014:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
13508 .loc 1 5014 64 discriminator 1 view .LVU4764
13509 00c8 16F0400F tst r6, #64
13510 00cc 27D0 beq .L874
5017:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
13511 .loc 1 5017 5 is_stmt 1 view .LVU4765
5017:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
13512 .loc 1 5017 14 is_stmt 0 view .LVU4766
13513 00ce 638D ldrh r3, [r4, #42]
13514 00d0 9BB2 uxth r3, r3
5017:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
13515 .loc 1 5017 8 view .LVU4767
13516 00d2 FBB1 cbz r3, .L875
5017:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
13517 .loc 1 5017 41 discriminator 1 view .LVU4768
ARM GAS /tmp/ccNVyn8W.s page 445
13518 00d4 238D ldrh r3, [r4, #40]
5017:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
13519 .loc 1 5017 33 discriminator 1 view .LVU4769
13520 00d6 EBB9 cbnz r3, .L875
5019:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
13521 .loc 1 5019 7 is_stmt 1 view .LVU4770
5019:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
13522 .loc 1 5019 15 is_stmt 0 view .LVU4771
13523 00d8 638D ldrh r3, [r4, #42]
13524 00da 9BB2 uxth r3, r3
5019:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
13525 .loc 1 5019 10 view .LVU4772
13526 00dc FF2B cmp r3, #255
13527 00de 0BD9 bls .L876
5021:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, (uint16_t)hi2c->Devaddress, (uint8_t)hi2c->XferSize,
13528 .loc 1 5021 9 is_stmt 1 view .LVU4773
5021:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, (uint16_t)hi2c->Devaddress, (uint8_t)hi2c->XferSize,
13529 .loc 1 5021 24 is_stmt 0 view .LVU4774
13530 00e0 FF22 movs r2, #255
13531 .LVL986:
5021:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, (uint16_t)hi2c->Devaddress, (uint8_t)hi2c->XferSize,
13532 .loc 1 5021 24 view .LVU4775
13533 00e2 2285 strh r2, [r4, #40] @ movhi
5022:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_RELOAD_MODE, I2C_NO_STARTSTOP);
13534 .loc 1 5022 9 is_stmt 1 view .LVU4776
5022:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_RELOAD_MODE, I2C_NO_STARTSTOP);
13535 .loc 1 5022 48 is_stmt 0 view .LVU4777
13536 00e4 E16C ldr r1, [r4, #76]
13537 .LVL987:
5022:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_RELOAD_MODE, I2C_NO_STARTSTOP);
13538 .loc 1 5022 9 view .LVU4778
13539 00e6 0023 movs r3, #0
13540 00e8 0093 str r3, [sp]
13541 00ea 4FF08073 mov r3, #16777216
13542 00ee 89B2 uxth r1, r1
13543 00f0 2046 mov r0, r4
13544 .LVL988:
5022:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_RELOAD_MODE, I2C_NO_STARTSTOP);
13545 .loc 1 5022 9 view .LVU4779
13546 00f2 FFF7FEFF bl I2C_TransferConfig
13547 .LVL989:
13548 00f6 ADE7 b .L870
13549 .LVL990:
13550 .L876:
5027:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, (uint16_t)hi2c->Devaddress, (uint8_t)hi2c->XferSize,
13551 .loc 1 5027 9 is_stmt 1 view .LVU4780
5027:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, (uint16_t)hi2c->Devaddress, (uint8_t)hi2c->XferSize,
13552 .loc 1 5027 30 is_stmt 0 view .LVU4781
13553 00f8 628D ldrh r2, [r4, #42]
13554 .LVL991:
5027:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, (uint16_t)hi2c->Devaddress, (uint8_t)hi2c->XferSize,
13555 .loc 1 5027 30 view .LVU4782
13556 00fa 92B2 uxth r2, r2
5027:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, (uint16_t)hi2c->Devaddress, (uint8_t)hi2c->XferSize,
13557 .loc 1 5027 24 view .LVU4783
13558 00fc 2285 strh r2, [r4, #40] @ movhi
5028:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_AUTOEND_MODE, I2C_NO_STARTSTOP);
ARM GAS /tmp/ccNVyn8W.s page 446
13559 .loc 1 5028 9 is_stmt 1 view .LVU4784
5028:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_AUTOEND_MODE, I2C_NO_STARTSTOP);
13560 .loc 1 5028 48 is_stmt 0 view .LVU4785
13561 00fe E16C ldr r1, [r4, #76]
13562 .LVL992:
5028:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_AUTOEND_MODE, I2C_NO_STARTSTOP);
13563 .loc 1 5028 9 view .LVU4786
13564 0100 0023 movs r3, #0
13565 0102 0093 str r3, [sp]
13566 0104 4FF00073 mov r3, #33554432
13567 0108 D2B2 uxtb r2, r2
13568 010a 89B2 uxth r1, r1
13569 010c 2046 mov r0, r4
13570 .LVL993:
5028:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_AUTOEND_MODE, I2C_NO_STARTSTOP);
13571 .loc 1 5028 9 view .LVU4787
13572 010e FFF7FEFF bl I2C_TransferConfig
13573 .LVL994:
13574 0112 9FE7 b .L870
13575 .LVL995:
13576 .L875:
5036:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
13577 .loc 1 5036 7 is_stmt 1 view .LVU4788
13578 0114 4021 movs r1, #64
13579 .LVL996:
5036:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
13580 .loc 1 5036 7 is_stmt 0 view .LVU4789
13581 0116 2046 mov r0, r4
13582 .LVL997:
5036:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
13583 .loc 1 5036 7 view .LVU4790
13584 0118 FFF7FEFF bl I2C_ITError
13585 .LVL998:
5036:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
13586 .loc 1 5036 7 view .LVU4791
13587 011c 9AE7 b .L870
13588 .LVL999:
13589 .L874:
5039:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
13590 .loc 1 5039 8 is_stmt 1 view .LVU4792
5039:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
13591 .loc 1 5039 11 is_stmt 0 view .LVU4793
13592 011e 15F0400F tst r5, #64
13593 0122 97D0 beq .L870
5039:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
13594 .loc 1 5039 63 discriminator 1 view .LVU4794
13595 0124 16F0400F tst r6, #64
13596 0128 94D0 beq .L870
5042:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
13597 .loc 1 5042 5 is_stmt 1 view .LVU4795
5042:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
13598 .loc 1 5042 13 is_stmt 0 view .LVU4796
13599 012a 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2
13600 012e DBB2 uxtb r3, r3
5042:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
13601 .loc 1 5042 8 view .LVU4797
13602 0130 222B cmp r3, #34
ARM GAS /tmp/ccNVyn8W.s page 447
13603 0132 0FD0 beq .L881
4956:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpITFlags = ITFlags;
13604 .loc 1 4956 12 view .LVU4798
13605 0134 1248 ldr r0, .L889
13606 .LVL1000:
13607 .L877:
5047:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
13608 .loc 1 5047 5 is_stmt 1 view .LVU4799
5047:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
13609 .loc 1 5047 13 is_stmt 0 view .LVU4800
13610 0136 638D ldrh r3, [r4, #42]
13611 0138 9BB2 uxth r3, r3
5047:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
13612 .loc 1 5047 8 view .LVU4801
13613 013a FF2B cmp r3, #255
13614 013c 0CD9 bls .L878
5049:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
13615 .loc 1 5049 7 is_stmt 1 view .LVU4802
5049:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
13616 .loc 1 5049 22 is_stmt 0 view .LVU4803
13617 013e FF22 movs r2, #255
13618 .LVL1001:
5049:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
13619 .loc 1 5049 22 view .LVU4804
13620 0140 2285 strh r2, [r4, #40] @ movhi
5052:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_RELOAD_MODE, direction);
13621 .loc 1 5052 7 is_stmt 1 view .LVU4805
5052:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_RELOAD_MODE, direction);
13622 .loc 1 5052 46 is_stmt 0 view .LVU4806
13623 0142 E16C ldr r1, [r4, #76]
13624 .LVL1002:
5052:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_RELOAD_MODE, direction);
13625 .loc 1 5052 7 view .LVU4807
13626 0144 0090 str r0, [sp]
13627 0146 4FF08073 mov r3, #16777216
13628 014a 89B2 uxth r1, r1
13629 014c 2046 mov r0, r4
13630 .LVL1003:
5052:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_RELOAD_MODE, direction);
13631 .loc 1 5052 7 view .LVU4808
13632 014e FFF7FEFF bl I2C_TransferConfig
13633 .LVL1004:
5052:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_RELOAD_MODE, direction);
13634 .loc 1 5052 7 view .LVU4809
13635 0152 7FE7 b .L870
13636 .LVL1005:
13637 .L881:
5044:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
13638 .loc 1 5044 17 view .LVU4810
13639 0154 0B48 ldr r0, .L889+4
13640 .LVL1006:
5044:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
13641 .loc 1 5044 17 view .LVU4811
13642 0156 EEE7 b .L877
13643 .LVL1007:
13644 .L878:
5057:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
ARM GAS /tmp/ccNVyn8W.s page 448
13645 .loc 1 5057 7 is_stmt 1 view .LVU4812
5057:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
13646 .loc 1 5057 28 is_stmt 0 view .LVU4813
13647 0158 628D ldrh r2, [r4, #42]
13648 .LVL1008:
5057:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
13649 .loc 1 5057 28 view .LVU4814
13650 015a 92B2 uxth r2, r2
5057:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
13651 .loc 1 5057 22 view .LVU4815
13652 015c 2285 strh r2, [r4, #40] @ movhi
5060:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_AUTOEND_MODE, direction);
13653 .loc 1 5060 7 is_stmt 1 view .LVU4816
5060:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_AUTOEND_MODE, direction);
13654 .loc 1 5060 46 is_stmt 0 view .LVU4817
13655 015e E16C ldr r1, [r4, #76]
13656 .LVL1009:
5060:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_AUTOEND_MODE, direction);
13657 .loc 1 5060 7 view .LVU4818
13658 0160 0090 str r0, [sp]
13659 0162 4FF00073 mov r3, #33554432
13660 0166 D2B2 uxtb r2, r2
13661 0168 89B2 uxth r1, r1
13662 016a 2046 mov r0, r4
13663 .LVL1010:
5060:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_AUTOEND_MODE, direction);
13664 .loc 1 5060 7 view .LVU4819
13665 016c FFF7FEFF bl I2C_TransferConfig
13666 .LVL1011:
5060:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_AUTOEND_MODE, direction);
13667 .loc 1 5060 7 view .LVU4820
13668 0170 70E7 b .L870
13669 .LVL1012:
13670 .L887:
5073:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
13671 .loc 1 5073 5 is_stmt 1 view .LVU4821
13672 0172 2946 mov r1, r5
13673 0174 2046 mov r0, r4
13674 0176 FFF7FEFF bl I2C_ITMasterCplt
13675 .LVL1013:
13676 017a 72E7 b .L879
13677 .LVL1014:
13678 .L880:
13679 .cfi_def_cfa_offset 0
13680 .cfi_restore 4
13681 .cfi_restore 5
13682 .cfi_restore 6
13683 .cfi_restore 14
4960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
13684 .loc 1 4960 3 is_stmt 0 discriminator 1 view .LVU4822
13685 017c 0220 movs r0, #2
13686 .LVL1015:
5080:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
13687 .loc 1 5080 1 view .LVU4823
13688 017e 7047 bx lr
13689 .L890:
13690 .align 2
ARM GAS /tmp/ccNVyn8W.s page 449
13691 .L889:
13692 0180 00200080 .word -2147475456
13693 0184 00240080 .word -2147474432
13694 .cfi_endproc
13695 .LFE180:
13697 .section .text.HAL_I2C_ER_IRQHandler,"ax",%progbits
13698 .align 1
13699 .global HAL_I2C_ER_IRQHandler
13700 .syntax unified
13701 .thumb
13702 .thumb_func
13704 HAL_I2C_ER_IRQHandler:
13705 .LVL1016:
13706 .LFB165:
4526:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t itflags = READ_REG(hi2c->Instance->ISR);
13707 .loc 1 4526 1 is_stmt 1 view -0
13708 .cfi_startproc
13709 @ args = 0, pretend = 0, frame = 0
13710 @ frame_needed = 0, uses_anonymous_args = 0
4526:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t itflags = READ_REG(hi2c->Instance->ISR);
13711 .loc 1 4526 1 is_stmt 0 view .LVU4825
13712 0000 10B5 push {r4, lr}
13713 .cfi_def_cfa_offset 8
13714 .cfi_offset 4, -8
13715 .cfi_offset 14, -4
4527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t itsources = READ_REG(hi2c->Instance->CR1);
13716 .loc 1 4527 3 is_stmt 1 view .LVU4826
4527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t itsources = READ_REG(hi2c->Instance->CR1);
13717 .loc 1 4527 24 is_stmt 0 view .LVU4827
13718 0002 0268 ldr r2, [r0]
4527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t itsources = READ_REG(hi2c->Instance->CR1);
13719 .loc 1 4527 12 view .LVU4828
13720 0004 9369 ldr r3, [r2, #24]
13721 .LVL1017:
4528:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmperror;
13722 .loc 1 4528 3 is_stmt 1 view .LVU4829
4528:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmperror;
13723 .loc 1 4528 12 is_stmt 0 view .LVU4830
13724 0006 1168 ldr r1, [r2]
13725 .LVL1018:
4529:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
13726 .loc 1 4529 3 is_stmt 1 view .LVU4831
4532:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ERRI) != RESET))
13727 .loc 1 4532 3 view .LVU4832
4532:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ERRI) != RESET))
13728 .loc 1 4532 6 is_stmt 0 view .LVU4833
13729 0008 13F4807F tst r3, #256
13730 000c 09D0 beq .L892
4532:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ERRI) != RESET))
13731 .loc 1 4532 57 discriminator 1 view .LVU4834
13732 000e 11F0800F tst r1, #128
13733 0012 06D0 beq .L892
4535:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
13734 .loc 1 4535 5 is_stmt 1 view .LVU4835
4535:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
13735 .loc 1 4535 9 is_stmt 0 view .LVU4836
13736 0014 446C ldr r4, [r0, #68]
ARM GAS /tmp/ccNVyn8W.s page 450
4535:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
13737 .loc 1 4535 21 view .LVU4837
13738 0016 44F00104 orr r4, r4, #1
13739 001a 4464 str r4, [r0, #68]
4538:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
13740 .loc 1 4538 5 is_stmt 1 view .LVU4838
13741 001c 4FF48074 mov r4, #256
13742 0020 D461 str r4, [r2, #28]
13743 .L892:
4542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ERRI) != RESET))
13744 .loc 1 4542 3 view .LVU4839
4542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ERRI) != RESET))
13745 .loc 1 4542 6 is_stmt 0 view .LVU4840
13746 0022 13F4806F tst r3, #1024
13747 0026 0AD0 beq .L893
4542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ERRI) != RESET))
13748 .loc 1 4542 56 discriminator 1 view .LVU4841
13749 0028 11F0800F tst r1, #128
13750 002c 07D0 beq .L893
4545:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
13751 .loc 1 4545 5 is_stmt 1 view .LVU4842
4545:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
13752 .loc 1 4545 9 is_stmt 0 view .LVU4843
13753 002e 426C ldr r2, [r0, #68]
4545:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
13754 .loc 1 4545 21 view .LVU4844
13755 0030 42F00802 orr r2, r2, #8
13756 0034 4264 str r2, [r0, #68]
4548:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
13757 .loc 1 4548 5 is_stmt 1 view .LVU4845
13758 0036 0268 ldr r2, [r0]
13759 0038 4FF48064 mov r4, #1024
13760 003c D461 str r4, [r2, #28]
13761 .L893:
4552:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ERRI) != RESET))
13762 .loc 1 4552 3 view .LVU4846
4552:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ERRI) != RESET))
13763 .loc 1 4552 6 is_stmt 0 view .LVU4847
13764 003e 13F4007F tst r3, #512
13765 0042 0AD0 beq .L894
4552:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ERRI) != RESET))
13766 .loc 1 4552 57 discriminator 1 view .LVU4848
13767 0044 11F0800F tst r1, #128
13768 0048 07D0 beq .L894
4555:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
13769 .loc 1 4555 5 is_stmt 1 view .LVU4849
4555:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
13770 .loc 1 4555 9 is_stmt 0 view .LVU4850
13771 004a 436C ldr r3, [r0, #68]
13772 .LVL1019:
4555:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
13773 .loc 1 4555 21 view .LVU4851
13774 004c 43F00203 orr r3, r3, #2
13775 0050 4364 str r3, [r0, #68]
4558:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
13776 .loc 1 4558 5 is_stmt 1 view .LVU4852
13777 0052 0368 ldr r3, [r0]
ARM GAS /tmp/ccNVyn8W.s page 451
13778 0054 4FF40072 mov r2, #512
13779 0058 DA61 str r2, [r3, #28]
13780 .L894:
4562:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
13781 .loc 1 4562 3 view .LVU4853
4562:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
13782 .loc 1 4562 12 is_stmt 0 view .LVU4854
13783 005a 416C ldr r1, [r0, #68]
13784 .LVL1020:
4565:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
13785 .loc 1 4565 3 is_stmt 1 view .LVU4855
4565:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
13786 .loc 1 4565 6 is_stmt 0 view .LVU4856
13787 005c 11F00B0F tst r1, #11
13788 0060 00D1 bne .L897
13789 .LVL1021:
13790 .L891:
4569:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
13791 .loc 1 4569 1 view .LVU4857
13792 0062 10BD pop {r4, pc}
13793 .LVL1022:
13794 .L897:
4567:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
13795 .loc 1 4567 5 is_stmt 1 view .LVU4858
13796 0064 FFF7FEFF bl I2C_ITError
13797 .LVL1023:
4569:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
13798 .loc 1 4569 1 is_stmt 0 view .LVU4859
13799 0068 FBE7 b .L891
13800 .cfi_endproc
13801 .LFE165:
13803 .section .text.I2C_DMAAbort,"ax",%progbits
13804 .align 1
13805 .syntax unified
13806 .thumb
13807 .thumb_func
13809 I2C_DMAAbort:
13810 .LVL1024:
13811 .LFB201:
6704:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Derogation MISRAC2012-Rule-11.5 */
13812 .loc 1 6704 1 is_stmt 1 view -0
13813 .cfi_startproc
13814 @ args = 0, pretend = 0, frame = 0
13815 @ frame_needed = 0, uses_anonymous_args = 0
6704:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Derogation MISRAC2012-Rule-11.5 */
13816 .loc 1 6704 1 is_stmt 0 view .LVU4861
13817 0000 08B5 push {r3, lr}
13818 .cfi_def_cfa_offset 8
13819 .cfi_offset 3, -8
13820 .cfi_offset 14, -4
6706:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
13821 .loc 1 6706 3 is_stmt 1 view .LVU4862
6706:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
13822 .loc 1 6706 22 is_stmt 0 view .LVU4863
13823 0002 406A ldr r0, [r0, #36]
13824 .LVL1025:
6709:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
ARM GAS /tmp/ccNVyn8W.s page 452
13825 .loc 1 6709 3 is_stmt 1 view .LVU4864
6709:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
13826 .loc 1 6709 11 is_stmt 0 view .LVU4865
13827 0004 836B ldr r3, [r0, #56]
6709:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
13828 .loc 1 6709 6 view .LVU4866
13829 0006 0BB1 cbz r3, .L899
6711:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
13830 .loc 1 6711 5 is_stmt 1 view .LVU4867
6711:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
13831 .loc 1 6711 37 is_stmt 0 view .LVU4868
13832 0008 0022 movs r2, #0
13833 000a 5A63 str r2, [r3, #52]
13834 .L899:
6713:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
13835 .loc 1 6713 3 is_stmt 1 view .LVU4869
6713:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
13836 .loc 1 6713 11 is_stmt 0 view .LVU4870
13837 000c C36B ldr r3, [r0, #60]
6713:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
13838 .loc 1 6713 6 view .LVU4871
13839 000e 0BB1 cbz r3, .L900
6715:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
13840 .loc 1 6715 5 is_stmt 1 view .LVU4872
6715:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
13841 .loc 1 6715 37 is_stmt 0 view .LVU4873
13842 0010 0022 movs r2, #0
13843 0012 5A63 str r2, [r3, #52]
13844 .L900:
6718:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
13845 .loc 1 6718 3 is_stmt 1 view .LVU4874
13846 0014 FFF7FEFF bl I2C_TreatErrorCallback
13847 .LVL1026:
6719:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
13848 .loc 1 6719 1 is_stmt 0 view .LVU4875
13849 0018 08BD pop {r3, pc}
13850 .cfi_endproc
13851 .LFE201:
13853 .section .text.HAL_I2C_GetState,"ax",%progbits
13854 .align 1
13855 .global HAL_I2C_GetState
13856 .syntax unified
13857 .thumb
13858 .thumb_func
13860 HAL_I2C_GetState:
13861 .LVL1027:
13862 .LFB176:
4760:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Return I2C handle state */
13863 .loc 1 4760 1 is_stmt 1 view -0
13864 .cfi_startproc
13865 @ args = 0, pretend = 0, frame = 0
13866 @ frame_needed = 0, uses_anonymous_args = 0
13867 @ link register save eliminated.
4762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
13868 .loc 1 4762 3 view .LVU4877
4762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
13869 .loc 1 4762 14 is_stmt 0 view .LVU4878
ARM GAS /tmp/ccNVyn8W.s page 453
13870 0000 90F84100 ldrb r0, [r0, #65] @ zero_extendqisi2
13871 .LVL1028:
4763:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
13872 .loc 1 4763 1 view .LVU4879
13873 0004 7047 bx lr
13874 .cfi_endproc
13875 .LFE176:
13877 .section .text.HAL_I2C_GetMode,"ax",%progbits
13878 .align 1
13879 .global HAL_I2C_GetMode
13880 .syntax unified
13881 .thumb
13882 .thumb_func
13884 HAL_I2C_GetMode:
13885 .LVL1029:
13886 .LFB177:
4772:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return hi2c->Mode;
13887 .loc 1 4772 1 is_stmt 1 view -0
13888 .cfi_startproc
13889 @ args = 0, pretend = 0, frame = 0
13890 @ frame_needed = 0, uses_anonymous_args = 0
13891 @ link register save eliminated.
4773:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
13892 .loc 1 4773 3 view .LVU4881
4773:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
13893 .loc 1 4773 14 is_stmt 0 view .LVU4882
13894 0000 90F84200 ldrb r0, [r0, #66] @ zero_extendqisi2
13895 .LVL1030:
4774:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
13896 .loc 1 4774 1 view .LVU4883
13897 0004 7047 bx lr
13898 .cfi_endproc
13899 .LFE177:
13901 .section .text.HAL_I2C_GetError,"ax",%progbits
13902 .align 1
13903 .global HAL_I2C_GetError
13904 .syntax unified
13905 .thumb
13906 .thumb_func
13908 HAL_I2C_GetError:
13909 .LVL1031:
13910 .LFB178:
4783:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return hi2c->ErrorCode;
13911 .loc 1 4783 1 is_stmt 1 view -0
13912 .cfi_startproc
13913 @ args = 0, pretend = 0, frame = 0
13914 @ frame_needed = 0, uses_anonymous_args = 0
13915 @ link register save eliminated.
4784:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
13916 .loc 1 4784 3 view .LVU4885
4784:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
13917 .loc 1 4784 14 is_stmt 0 view .LVU4886
13918 0000 406C ldr r0, [r0, #68]
13919 .LVL1032:
4785:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
13920 .loc 1 4785 1 view .LVU4887
13921 0002 7047 bx lr
ARM GAS /tmp/ccNVyn8W.s page 454
13922 .cfi_endproc
13923 .LFE178:
13925 .text
13926 .Letext0:
13927 .file 2 "/home/h/.var/app/com.visualstudio.code/config/Code/User/globalStorage/bmd.stm32-for-vscod
13928 .file 3 "/home/h/.var/app/com.visualstudio.code/config/Code/User/globalStorage/bmd.stm32-for-vscod
13929 .file 4 "Drivers/CMSIS/Device/ST/STM32F3xx/Include/stm32f302xc.h"
13930 .file 5 "Drivers/CMSIS/Device/ST/STM32F3xx/Include/stm32f3xx.h"
13931 .file 6 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_def.h"
13932 .file 7 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_dma.h"
13933 .file 8 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_i2c.h"
13934 .file 9 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal.h"
ARM GAS /tmp/ccNVyn8W.s page 455
DEFINED SYMBOLS
*ABS*:00000000 stm32f3xx_hal_i2c.c
/tmp/ccNVyn8W.s:21 .text.I2C_Flush_TXDR:00000000 $t
/tmp/ccNVyn8W.s:26 .text.I2C_Flush_TXDR:00000000 I2C_Flush_TXDR
/tmp/ccNVyn8W.s:64 .text.I2C_TransferConfig:00000000 $t
/tmp/ccNVyn8W.s:69 .text.I2C_TransferConfig:00000000 I2C_TransferConfig
/tmp/ccNVyn8W.s:125 .text.I2C_Enable_IRQ:00000000 $t
/tmp/ccNVyn8W.s:130 .text.I2C_Enable_IRQ:00000000 I2C_Enable_IRQ
/tmp/ccNVyn8W.s:317 .text.I2C_Enable_IRQ:000000a8 $d
/tmp/ccNVyn8W.s:12753 .text.I2C_Master_ISR_DMA:00000000 I2C_Master_ISR_DMA
/tmp/ccNVyn8W.s:12469 .text.I2C_Slave_ISR_DMA:00000000 I2C_Slave_ISR_DMA
/tmp/ccNVyn8W.s:12107 .text.I2C_Mem_ISR_DMA:00000000 I2C_Mem_ISR_DMA
/tmp/ccNVyn8W.s:324 .text.I2C_Disable_IRQ:00000000 $t
/tmp/ccNVyn8W.s:329 .text.I2C_Disable_IRQ:00000000 I2C_Disable_IRQ
/tmp/ccNVyn8W.s:453 .text.I2C_ConvertOtherXferOptions:00000000 $t
/tmp/ccNVyn8W.s:458 .text.I2C_ConvertOtherXferOptions:00000000 I2C_ConvertOtherXferOptions
/tmp/ccNVyn8W.s:499 .text.I2C_IsErrorOccurred:00000000 $t
/tmp/ccNVyn8W.s:504 .text.I2C_IsErrorOccurred:00000000 I2C_IsErrorOccurred
/tmp/ccNVyn8W.s:780 .text.I2C_WaitOnTXISFlagUntilTimeout:00000000 $t
/tmp/ccNVyn8W.s:785 .text.I2C_WaitOnTXISFlagUntilTimeout:00000000 I2C_WaitOnTXISFlagUntilTimeout
/tmp/ccNVyn8W.s:882 .text.I2C_WaitOnFlagUntilTimeout:00000000 $t
/tmp/ccNVyn8W.s:887 .text.I2C_WaitOnFlagUntilTimeout:00000000 I2C_WaitOnFlagUntilTimeout
/tmp/ccNVyn8W.s:983 .text.I2C_RequestMemoryWrite:00000000 $t
/tmp/ccNVyn8W.s:988 .text.I2C_RequestMemoryWrite:00000000 I2C_RequestMemoryWrite
/tmp/ccNVyn8W.s:1103 .text.I2C_RequestMemoryWrite:00000078 $d
/tmp/ccNVyn8W.s:1108 .text.I2C_RequestMemoryRead:00000000 $t
/tmp/ccNVyn8W.s:1113 .text.I2C_RequestMemoryRead:00000000 I2C_RequestMemoryRead
/tmp/ccNVyn8W.s:1228 .text.I2C_RequestMemoryRead:00000074 $d
/tmp/ccNVyn8W.s:1233 .text.I2C_WaitOnSTOPFlagUntilTimeout:00000000 $t
/tmp/ccNVyn8W.s:1238 .text.I2C_WaitOnSTOPFlagUntilTimeout:00000000 I2C_WaitOnSTOPFlagUntilTimeout
/tmp/ccNVyn8W.s:1335 .text.I2C_WaitOnRXNEFlagUntilTimeout:00000000 $t
/tmp/ccNVyn8W.s:1340 .text.I2C_WaitOnRXNEFlagUntilTimeout:00000000 I2C_WaitOnRXNEFlagUntilTimeout
/tmp/ccNVyn8W.s:1503 .text.HAL_I2C_MspInit:00000000 $t
/tmp/ccNVyn8W.s:1509 .text.HAL_I2C_MspInit:00000000 HAL_I2C_MspInit
/tmp/ccNVyn8W.s:1524 .text.HAL_I2C_Init:00000000 $t
/tmp/ccNVyn8W.s:1530 .text.HAL_I2C_Init:00000000 HAL_I2C_Init
/tmp/ccNVyn8W.s:1720 .text.HAL_I2C_MspDeInit:00000000 $t
/tmp/ccNVyn8W.s:1726 .text.HAL_I2C_MspDeInit:00000000 HAL_I2C_MspDeInit
/tmp/ccNVyn8W.s:1741 .text.HAL_I2C_DeInit:00000000 $t
/tmp/ccNVyn8W.s:1747 .text.HAL_I2C_DeInit:00000000 HAL_I2C_DeInit
/tmp/ccNVyn8W.s:1810 .text.HAL_I2C_Master_Transmit:00000000 $t
/tmp/ccNVyn8W.s:1816 .text.HAL_I2C_Master_Transmit:00000000 HAL_I2C_Master_Transmit
/tmp/ccNVyn8W.s:2122 .text.HAL_I2C_Master_Transmit:00000178 $d
/tmp/ccNVyn8W.s:2127 .text.HAL_I2C_Master_Receive:00000000 $t
/tmp/ccNVyn8W.s:2133 .text.HAL_I2C_Master_Receive:00000000 HAL_I2C_Master_Receive
/tmp/ccNVyn8W.s:2438 .text.HAL_I2C_Master_Receive:00000178 $d
/tmp/ccNVyn8W.s:2443 .text.HAL_I2C_Slave_Transmit:00000000 $t
/tmp/ccNVyn8W.s:2449 .text.HAL_I2C_Slave_Transmit:00000000 HAL_I2C_Slave_Transmit
/tmp/ccNVyn8W.s:2855 .text.HAL_I2C_Slave_Receive:00000000 $t
/tmp/ccNVyn8W.s:2861 .text.HAL_I2C_Slave_Receive:00000000 HAL_I2C_Slave_Receive
/tmp/ccNVyn8W.s:3205 .text.HAL_I2C_Master_Transmit_IT:00000000 $t
/tmp/ccNVyn8W.s:3211 .text.HAL_I2C_Master_Transmit_IT:00000000 HAL_I2C_Master_Transmit_IT
/tmp/ccNVyn8W.s:3360 .text.HAL_I2C_Master_Transmit_IT:0000008c $d
/tmp/ccNVyn8W.s:11732 .text.I2C_Master_ISR_IT:00000000 I2C_Master_ISR_IT
/tmp/ccNVyn8W.s:3367 .text.HAL_I2C_Master_Receive_IT:00000000 $t
/tmp/ccNVyn8W.s:3373 .text.HAL_I2C_Master_Receive_IT:00000000 HAL_I2C_Master_Receive_IT
/tmp/ccNVyn8W.s:3522 .text.HAL_I2C_Master_Receive_IT:0000008c $d
ARM GAS /tmp/ccNVyn8W.s page 456
/tmp/ccNVyn8W.s:3529 .text.HAL_I2C_Slave_Transmit_IT:00000000 $t
/tmp/ccNVyn8W.s:3535 .text.HAL_I2C_Slave_Transmit_IT:00000000 HAL_I2C_Slave_Transmit_IT
/tmp/ccNVyn8W.s:3677 .text.HAL_I2C_Slave_Transmit_IT:00000084 $d
/tmp/ccNVyn8W.s:11164 .text.I2C_Slave_ISR_IT:00000000 I2C_Slave_ISR_IT
/tmp/ccNVyn8W.s:3683 .text.HAL_I2C_Slave_Receive_IT:00000000 $t
/tmp/ccNVyn8W.s:3689 .text.HAL_I2C_Slave_Receive_IT:00000000 HAL_I2C_Slave_Receive_IT
/tmp/ccNVyn8W.s:3791 .text.HAL_I2C_Slave_Receive_IT:0000005c $d
/tmp/ccNVyn8W.s:3797 .text.HAL_I2C_Master_Transmit_DMA:00000000 $t
/tmp/ccNVyn8W.s:3803 .text.HAL_I2C_Master_Transmit_DMA:00000000 HAL_I2C_Master_Transmit_DMA
/tmp/ccNVyn8W.s:4101 .text.HAL_I2C_Master_Transmit_DMA:0000013c $d
/tmp/ccNVyn8W.s:13105 .text.I2C_DMAMasterTransmitCplt:00000000 I2C_DMAMasterTransmitCplt
/tmp/ccNVyn8W.s:13066 .text.I2C_DMAError:00000000 I2C_DMAError
/tmp/ccNVyn8W.s:4111 .text.HAL_I2C_Master_Receive_DMA:00000000 $t
/tmp/ccNVyn8W.s:4117 .text.HAL_I2C_Master_Receive_DMA:00000000 HAL_I2C_Master_Receive_DMA
/tmp/ccNVyn8W.s:4415 .text.HAL_I2C_Master_Receive_DMA:00000138 $d
/tmp/ccNVyn8W.s:13212 .text.I2C_DMAMasterReceiveCplt:00000000 I2C_DMAMasterReceiveCplt
/tmp/ccNVyn8W.s:4425 .text.HAL_I2C_Slave_Transmit_DMA:00000000 $t
/tmp/ccNVyn8W.s:4431 .text.HAL_I2C_Slave_Transmit_DMA:00000000 HAL_I2C_Slave_Transmit_DMA
/tmp/ccNVyn8W.s:4734 .text.HAL_I2C_Slave_Transmit_DMA:00000130 $d
/tmp/ccNVyn8W.s:9971 .text.I2C_DMASlaveTransmitCplt:00000000 I2C_DMASlaveTransmitCplt
/tmp/ccNVyn8W.s:4742 .text.HAL_I2C_Slave_Receive_DMA:00000000 $t
/tmp/ccNVyn8W.s:4748 .text.HAL_I2C_Slave_Receive_DMA:00000000 HAL_I2C_Slave_Receive_DMA
/tmp/ccNVyn8W.s:4970 .text.HAL_I2C_Slave_Receive_DMA:000000e4 $d
/tmp/ccNVyn8W.s:10022 .text.I2C_DMASlaveReceiveCplt:00000000 I2C_DMASlaveReceiveCplt
/tmp/ccNVyn8W.s:4978 .text.HAL_I2C_Mem_Write:00000000 $t
/tmp/ccNVyn8W.s:4984 .text.HAL_I2C_Mem_Write:00000000 HAL_I2C_Mem_Write
/tmp/ccNVyn8W.s:5338 .text.HAL_I2C_Mem_Read:00000000 $t
/tmp/ccNVyn8W.s:5344 .text.HAL_I2C_Mem_Read:00000000 HAL_I2C_Mem_Read
/tmp/ccNVyn8W.s:5698 .text.HAL_I2C_Mem_Read:000001ac $d
/tmp/ccNVyn8W.s:5703 .text.HAL_I2C_Mem_Write_IT:00000000 $t
/tmp/ccNVyn8W.s:5709 .text.HAL_I2C_Mem_Write_IT:00000000 HAL_I2C_Mem_Write_IT
/tmp/ccNVyn8W.s:5880 .text.HAL_I2C_Mem_Write_IT:000000ac $d
/tmp/ccNVyn8W.s:13319 .text.I2C_Mem_ISR_IT:00000000 I2C_Mem_ISR_IT
/tmp/ccNVyn8W.s:5887 .text.HAL_I2C_Mem_Read_IT:00000000 $t
/tmp/ccNVyn8W.s:5893 .text.HAL_I2C_Mem_Read_IT:00000000 HAL_I2C_Mem_Read_IT
/tmp/ccNVyn8W.s:6064 .text.HAL_I2C_Mem_Read_IT:000000a8 $d
/tmp/ccNVyn8W.s:6071 .text.HAL_I2C_Mem_Write_DMA:00000000 $t
/tmp/ccNVyn8W.s:6077 .text.HAL_I2C_Mem_Write_DMA:00000000 HAL_I2C_Mem_Write_DMA
/tmp/ccNVyn8W.s:6359 .text.HAL_I2C_Mem_Write_DMA:00000120 $d
/tmp/ccNVyn8W.s:6368 .text.HAL_I2C_Mem_Read_DMA:00000000 $t
/tmp/ccNVyn8W.s:6374 .text.HAL_I2C_Mem_Read_DMA:00000000 HAL_I2C_Mem_Read_DMA
/tmp/ccNVyn8W.s:6658 .text.HAL_I2C_Mem_Read_DMA:00000120 $d
/tmp/ccNVyn8W.s:6667 .text.HAL_I2C_IsDeviceReady:00000000 $t
/tmp/ccNVyn8W.s:6673 .text.HAL_I2C_IsDeviceReady:00000000 HAL_I2C_IsDeviceReady
/tmp/ccNVyn8W.s:7003 .text.HAL_I2C_Master_Seq_Transmit_IT:00000000 $t
/tmp/ccNVyn8W.s:7009 .text.HAL_I2C_Master_Seq_Transmit_IT:00000000 HAL_I2C_Master_Seq_Transmit_IT
/tmp/ccNVyn8W.s:7198 .text.HAL_I2C_Master_Seq_Transmit_IT:000000ac $d
/tmp/ccNVyn8W.s:7204 .text.HAL_I2C_Master_Seq_Transmit_DMA:00000000 $t
/tmp/ccNVyn8W.s:7210 .text.HAL_I2C_Master_Seq_Transmit_DMA:00000000 HAL_I2C_Master_Seq_Transmit_DMA
/tmp/ccNVyn8W.s:7539 .text.HAL_I2C_Master_Seq_Transmit_DMA:00000160 $d
/tmp/ccNVyn8W.s:7548 .text.HAL_I2C_Master_Seq_Receive_IT:00000000 $t
/tmp/ccNVyn8W.s:7554 .text.HAL_I2C_Master_Seq_Receive_IT:00000000 HAL_I2C_Master_Seq_Receive_IT
/tmp/ccNVyn8W.s:7743 .text.HAL_I2C_Master_Seq_Receive_IT:000000ac $d
/tmp/ccNVyn8W.s:7749 .text.HAL_I2C_Master_Seq_Receive_DMA:00000000 $t
/tmp/ccNVyn8W.s:7755 .text.HAL_I2C_Master_Seq_Receive_DMA:00000000 HAL_I2C_Master_Seq_Receive_DMA
/tmp/ccNVyn8W.s:8084 .text.HAL_I2C_Master_Seq_Receive_DMA:00000160 $d
/tmp/ccNVyn8W.s:8093 .text.HAL_I2C_Slave_Seq_Transmit_IT:00000000 $t
ARM GAS /tmp/ccNVyn8W.s page 457
/tmp/ccNVyn8W.s:8099 .text.HAL_I2C_Slave_Seq_Transmit_IT:00000000 HAL_I2C_Slave_Seq_Transmit_IT
/tmp/ccNVyn8W.s:8309 .text.HAL_I2C_Slave_Seq_Transmit_IT:000000d8 $d
/tmp/ccNVyn8W.s:13809 .text.I2C_DMAAbort:00000000 I2C_DMAAbort
/tmp/ccNVyn8W.s:8315 .text.HAL_I2C_Slave_Seq_Transmit_DMA:00000000 $t
/tmp/ccNVyn8W.s:8321 .text.HAL_I2C_Slave_Seq_Transmit_DMA:00000000 HAL_I2C_Slave_Seq_Transmit_DMA
/tmp/ccNVyn8W.s:8711 .text.HAL_I2C_Slave_Seq_Transmit_DMA:0000019c $d
/tmp/ccNVyn8W.s:8719 .text.HAL_I2C_Slave_Seq_Receive_IT:00000000 $t
/tmp/ccNVyn8W.s:8725 .text.HAL_I2C_Slave_Seq_Receive_IT:00000000 HAL_I2C_Slave_Seq_Receive_IT
/tmp/ccNVyn8W.s:8935 .text.HAL_I2C_Slave_Seq_Receive_IT:000000d8 $d
/tmp/ccNVyn8W.s:8941 .text.HAL_I2C_Slave_Seq_Receive_DMA:00000000 $t
/tmp/ccNVyn8W.s:8947 .text.HAL_I2C_Slave_Seq_Receive_DMA:00000000 HAL_I2C_Slave_Seq_Receive_DMA
/tmp/ccNVyn8W.s:9334 .text.HAL_I2C_Slave_Seq_Receive_DMA:00000198 $d
/tmp/ccNVyn8W.s:9342 .text.HAL_I2C_EnableListen_IT:00000000 $t
/tmp/ccNVyn8W.s:9348 .text.HAL_I2C_EnableListen_IT:00000000 HAL_I2C_EnableListen_IT
/tmp/ccNVyn8W.s:9394 .text.HAL_I2C_EnableListen_IT:00000028 $d
/tmp/ccNVyn8W.s:9399 .text.HAL_I2C_DisableListen_IT:00000000 $t
/tmp/ccNVyn8W.s:9405 .text.HAL_I2C_DisableListen_IT:00000000 HAL_I2C_DisableListen_IT
/tmp/ccNVyn8W.s:9470 .text.HAL_I2C_Master_Abort_IT:00000000 $t
/tmp/ccNVyn8W.s:9476 .text.HAL_I2C_Master_Abort_IT:00000000 HAL_I2C_Master_Abort_IT
/tmp/ccNVyn8W.s:9613 .text.HAL_I2C_Master_Abort_IT:00000080 $d
/tmp/ccNVyn8W.s:9618 .text.HAL_I2C_EV_IRQHandler:00000000 $t
/tmp/ccNVyn8W.s:9624 .text.HAL_I2C_EV_IRQHandler:00000000 HAL_I2C_EV_IRQHandler
/tmp/ccNVyn8W.s:9661 .text.HAL_I2C_MasterTxCpltCallback:00000000 $t
/tmp/ccNVyn8W.s:9667 .text.HAL_I2C_MasterTxCpltCallback:00000000 HAL_I2C_MasterTxCpltCallback
/tmp/ccNVyn8W.s:9682 .text.HAL_I2C_MasterRxCpltCallback:00000000 $t
/tmp/ccNVyn8W.s:9688 .text.HAL_I2C_MasterRxCpltCallback:00000000 HAL_I2C_MasterRxCpltCallback
/tmp/ccNVyn8W.s:9703 .text.I2C_ITMasterSeqCplt:00000000 $t
/tmp/ccNVyn8W.s:9708 .text.I2C_ITMasterSeqCplt:00000000 I2C_ITMasterSeqCplt
/tmp/ccNVyn8W.s:9792 .text.HAL_I2C_SlaveTxCpltCallback:00000000 $t
/tmp/ccNVyn8W.s:9798 .text.HAL_I2C_SlaveTxCpltCallback:00000000 HAL_I2C_SlaveTxCpltCallback
/tmp/ccNVyn8W.s:9813 .text.HAL_I2C_SlaveRxCpltCallback:00000000 $t
/tmp/ccNVyn8W.s:9819 .text.HAL_I2C_SlaveRxCpltCallback:00000000 HAL_I2C_SlaveRxCpltCallback
/tmp/ccNVyn8W.s:9834 .text.I2C_ITSlaveSeqCplt:00000000 $t
/tmp/ccNVyn8W.s:9839 .text.I2C_ITSlaveSeqCplt:00000000 I2C_ITSlaveSeqCplt
/tmp/ccNVyn8W.s:9966 .text.I2C_DMASlaveTransmitCplt:00000000 $t
/tmp/ccNVyn8W.s:10017 .text.I2C_DMASlaveReceiveCplt:00000000 $t
/tmp/ccNVyn8W.s:10077 .text.HAL_I2C_AddrCallback:00000000 $t
/tmp/ccNVyn8W.s:10083 .text.HAL_I2C_AddrCallback:00000000 HAL_I2C_AddrCallback
/tmp/ccNVyn8W.s:10100 .text.I2C_ITAddrCplt:00000000 $t
/tmp/ccNVyn8W.s:10105 .text.I2C_ITAddrCplt:00000000 I2C_ITAddrCplt
/tmp/ccNVyn8W.s:10264 .text.HAL_I2C_ListenCpltCallback:00000000 $t
/tmp/ccNVyn8W.s:10270 .text.HAL_I2C_ListenCpltCallback:00000000 HAL_I2C_ListenCpltCallback
/tmp/ccNVyn8W.s:10285 .text.I2C_ITListenCplt:00000000 $t
/tmp/ccNVyn8W.s:10290 .text.I2C_ITListenCplt:00000000 I2C_ITListenCplt
/tmp/ccNVyn8W.s:10393 .text.I2C_ITListenCplt:00000064 $d
/tmp/ccNVyn8W.s:10398 .text.HAL_I2C_MemTxCpltCallback:00000000 $t
/tmp/ccNVyn8W.s:10404 .text.HAL_I2C_MemTxCpltCallback:00000000 HAL_I2C_MemTxCpltCallback
/tmp/ccNVyn8W.s:10419 .text.HAL_I2C_MemRxCpltCallback:00000000 $t
/tmp/ccNVyn8W.s:10425 .text.HAL_I2C_MemRxCpltCallback:00000000 HAL_I2C_MemRxCpltCallback
/tmp/ccNVyn8W.s:10440 .text.HAL_I2C_ErrorCallback:00000000 $t
/tmp/ccNVyn8W.s:10446 .text.HAL_I2C_ErrorCallback:00000000 HAL_I2C_ErrorCallback
/tmp/ccNVyn8W.s:10461 .text.HAL_I2C_AbortCpltCallback:00000000 $t
/tmp/ccNVyn8W.s:10467 .text.HAL_I2C_AbortCpltCallback:00000000 HAL_I2C_AbortCpltCallback
/tmp/ccNVyn8W.s:10482 .text.I2C_TreatErrorCallback:00000000 $t
/tmp/ccNVyn8W.s:10487 .text.I2C_TreatErrorCallback:00000000 I2C_TreatErrorCallback
/tmp/ccNVyn8W.s:10543 .text.I2C_ITError:00000000 $t
/tmp/ccNVyn8W.s:10548 .text.I2C_ITError:00000000 I2C_ITError
ARM GAS /tmp/ccNVyn8W.s page 458
/tmp/ccNVyn8W.s:10826 .text.I2C_ITError:00000124 $d
/tmp/ccNVyn8W.s:10833 .text.I2C_ITSlaveCplt:00000000 $t
/tmp/ccNVyn8W.s:10838 .text.I2C_ITSlaveCplt:00000000 I2C_ITSlaveCplt
/tmp/ccNVyn8W.s:10878 .text.I2C_ITSlaveCplt:0000001c $d
/tmp/ccNVyn8W.s:10888 .text.I2C_ITSlaveCplt:00000026 $t
/tmp/ccNVyn8W.s:11154 .text.I2C_ITSlaveCplt:00000160 $d
/tmp/ccNVyn8W.s:11159 .text.I2C_Slave_ISR_IT:00000000 $t
/tmp/ccNVyn8W.s:11454 .text.I2C_ITMasterCplt:00000000 $t
/tmp/ccNVyn8W.s:11459 .text.I2C_ITMasterCplt:00000000 I2C_ITMasterCplt
/tmp/ccNVyn8W.s:11727 .text.I2C_Master_ISR_IT:00000000 $t
/tmp/ccNVyn8W.s:12102 .text.I2C_Mem_ISR_DMA:00000000 $t
/tmp/ccNVyn8W.s:12458 .text.I2C_Mem_ISR_DMA:0000018c $d
/tmp/ccNVyn8W.s:12464 .text.I2C_Slave_ISR_DMA:00000000 $t
/tmp/ccNVyn8W.s:12609 .text.I2C_Slave_ISR_DMA:00000096 $d
/tmp/ccNVyn8W.s:12620 .text.I2C_Slave_ISR_DMA:000000a0 $t
/tmp/ccNVyn8W.s:12748 .text.I2C_Master_ISR_DMA:00000000 $t
/tmp/ccNVyn8W.s:13061 .text.I2C_DMAError:00000000 $t
/tmp/ccNVyn8W.s:13100 .text.I2C_DMAMasterTransmitCplt:00000000 $t
/tmp/ccNVyn8W.s:13207 .text.I2C_DMAMasterReceiveCplt:00000000 $t
/tmp/ccNVyn8W.s:13314 .text.I2C_Mem_ISR_IT:00000000 $t
/tmp/ccNVyn8W.s:13692 .text.I2C_Mem_ISR_IT:00000180 $d
/tmp/ccNVyn8W.s:13698 .text.HAL_I2C_ER_IRQHandler:00000000 $t
/tmp/ccNVyn8W.s:13704 .text.HAL_I2C_ER_IRQHandler:00000000 HAL_I2C_ER_IRQHandler
/tmp/ccNVyn8W.s:13804 .text.I2C_DMAAbort:00000000 $t
/tmp/ccNVyn8W.s:13854 .text.HAL_I2C_GetState:00000000 $t
/tmp/ccNVyn8W.s:13860 .text.HAL_I2C_GetState:00000000 HAL_I2C_GetState
/tmp/ccNVyn8W.s:13878 .text.HAL_I2C_GetMode:00000000 $t
/tmp/ccNVyn8W.s:13884 .text.HAL_I2C_GetMode:00000000 HAL_I2C_GetMode
/tmp/ccNVyn8W.s:13902 .text.HAL_I2C_GetError:00000000 $t
/tmp/ccNVyn8W.s:13908 .text.HAL_I2C_GetError:00000000 HAL_I2C_GetError
UNDEFINED SYMBOLS
HAL_GetTick
HAL_DMA_Start_IT
HAL_DMA_Abort_IT
HAL_DMA_GetState